1. 程式人生 > >Python學習筆記__16.1章網絡編程——TCP/IP簡介

Python學習筆記__16.1章網絡編程——TCP/IP簡介

編程語言 Python

# 這是學習廖雪峰老師python教程的學習筆記


1、概覽

    1)計算機為了聯網,就必須規定通信協議。為了把全世界的所有不同類型的計算機都連接起來,就必須規定一套全球通用的協議,為了實現互聯網這個目標,互聯網協議簇(Internet Protocol Suite)就是通用協議標準,有了Internet,任何私有網絡,只要支持這個協議,就可以聯入互聯網。

    2)因為互聯網協議包含了上百種協議標準,但是最重要的兩個協議是TCP和IP協議,所以,大家把互聯網的協議簡稱TCP/IP協議。

    3)互聯網上每個計算機的唯一標識就是IP地址,類似123.123.123.123。如果一臺機器同時接入到兩個或更多的網絡,比如路由器,它就會有兩個或多個IP地址,所以,

    IP地址對應的實際上是計算機的網絡接口,通常是網卡

    4)IP協議負責把數據從一臺計算機通過網絡發送到另一臺計算機。數據被分割成一小塊一小塊,然後通過IP包發送出去。由於互聯網鏈路復雜,兩臺計算機之間經常有多條線路,因此,路由器就負責決定如何把一個IP包轉發出去。IP包的特點是按塊發送,途徑多個路由,但不保證能到達,也不保證順序到達

    5)IP地址實際上是一個32位整數(稱為IPv4),以字符串表示的IP地址如192.168.0.1實際上是把32位整數按8位分組後的數字表示,目的是便於閱讀。

    6)IPv6地址實際上是一個128位整數,它是目前使用的IPv4的升級版,以字符串表示類似於2001:0db8:85a3:0042:1000:8a2e:0370:7334。

    7)TCP協議則是建立在IP協議之上的。TCP協議負責在兩臺計算機之間建立可靠連接,保證數據包按順序到達。TCP協議會通過握手建立連接,然後,對每個IP包編號,確保對方按順序收到,如果包丟掉了,就自動重發。

    8)許多常用的更高級的協議都是建立在TCP協議基礎上的,比如用於瀏覽器的HTTP協議、發送郵件的SMTP協議等。

    9)一個TCP報文除了包含要傳輸的數據外,還包含源IP地址和目標IP地址,源端口和目標端口。

    10)端口有什麽作用?在兩臺計算機通信時,只發IP地址是不夠的,因為同一臺計算機上跑著多個網絡程序。一個TCP報文來了之後,到底是交給瀏覽器還是QQ,就需要端口號來區分。每個網絡程序都向操作系統申請唯一的端口號,這樣,兩個進程在兩臺計算機之間建立網絡連接就需要各自的IP地址和各自的端口號

    11)一個進程也可能同時與多個計算機建立鏈接,因此它會申請很多端口。



Python學習筆記__16.1章網絡編程——TCP/IP簡介