【計算機網絡】網絡層——IP協議

網絡層的路由主要負責在複雜的網絡環境中,找到從一個主機到另一個主機發送數據時合適的路徑。
確定路徑的方法:先由路由表查找目標網絡,再由ARP協議發現目標主機。
主機:配有IP地址,但是不進行路由控制的設備
路由器:即配有IP地址,又能進行路由控制
節點:主機和路由器的統稱

這裏我們應該理解:網絡層協議中的目的IP負責找到目標主機,傳輸層中的目的端口號負責找到該主機對應程序,從而網絡套接字通過IP+端口號的方式可以實現兩個網絡進程間的通信。

IP協議段格式

在這裏插入圖片描述

  • 8位服務器類型 TOS:2位優先權字段- 已經棄用,4位TOS字段- 最小延時,最大吞吐量,最高可靠性,最小成本 根據需求只能選一個,1位保留字段- 必須置0
  • 3位標誌字段:第一位保留,第二位爲1表示禁止分片(若報文長度超過MTU- 最大傳輸單元會被丟棄),第三位表示更多分片(最後一個分片置爲0,其他分片置爲1)
  • IP的分包和分用:
    通過4位首部長度和16位總長度,可以將IP報頭和有效載荷的分離
    通過8位協議和目的IP地址知道如何分用

關於IP層的分片:
保證IP層對報文分片後能正確組裝:16位標識+3位標誌+13位片偏移

UDP協議對是否分片並不在意;但使用TCP協議時最好避免分片,因爲在按序組裝時如果發現部分分片丟失,則會重新全部再請求一次,這樣很浪費時間和資源。因此在傳輸層TCP建立連接時,通信雙方就應該相互通告MSS=MTU-TCP報頭-IP報頭,避免分片行爲發生。

MTU=1500字節=MSS+TCP報頭(20~60字節)+IP報頭(20 ~60字節)
MTU:最大傳輸單元(不包含自己的報頭長度) - 數據鏈路層最大傳輸單元爲1500字節,網絡層最大傳輸單元爲1480字節
MSS:最大傳輸數據段(不包含所有報頭長度) - 網絡層最大有效載荷爲1460字節(考慮TCP報頭)

思考:3000字節的IP報文至少分爲幾片?
當然是3片,因爲最大傳輸數據報只能1460字節,2片不夠。

網段劃分

IP地址分爲兩部分:網絡號和主機號
網絡號:保證不同的局域網間具有不同的標識。
主機號:同一局域網內的不同主機間具有不同的標識。

  • 不同的子網,就是把網絡號相同的主機放到一起。
  • 如果在子網內新增一臺主機,則這臺主機的網絡號與子網號相同,但不與同一子網內的其他主機重複。
管理子網IP

手動管理IP地址,並保證每個主機的IP不相同是一件很麻煩的事情,所以我們需要使用其他技術。

  1. DHCP技術
    使用DHCP技術能夠自動爲子網新增的主機節點分配IP地址。一般的路由器都帶有此功能,所以也稱路由器爲DHCP服務器。
  2. CIDR方案
    我們曾經將所有的IP地址分爲 A,B,C,D,E五類,但我們發現大多數組織都申請B類網絡地址,導致B類地址很快就分配完了,而A類卻浪費了大量的地址。
    針對上述情況,我們提出了新的劃分方案 - CIDR。此方案是通過引入一個額外的子網掩碼用來區分網絡號和子網號,其中將IP地址和32位的子網掩碼進行“按位與”運算就可以得到網絡號,由此我們便不再需要用A,B類進行劃分。
IP地址
  • 主機位全0時,表示網絡號代表這個局域網。
  • 主機位全1時,表示廣播地址,用於給同一鏈路中相互連接的所有主機發送數據包。
  • 127.*的IP地址用於本機環回測試,通常使用127.0.0.1
  • 私有IP地址

如果一個組織內部組建局域網的IP地址,它只用於局域網內的通信,而不直接連接到Internet上。理論上可以使用任意IP地址,但在RFC 1918中規定了用於組建的私有IP地址主要有以下三類,其餘的稱爲公網IP(全局IP)
一:10.* 只有前8位是網絡號,共有16,777,216個地址
二:192.168.* 前16位是網絡號,共有65,536個地址
三:172.16. 到172.31. 前12位爲網絡號,共有1,048,576個地址

  • 一個路由器可以配置兩個IP地址,WAN口IP和LAN口IP。

其中WAN口IP是對外的IP,LAN口IP是對內的IP。所以同一局域網內不同的路由器,它的WAN口IP不同,但是LAN口IP通常都是192.168.1.1。
同一局域網內的主機的IP地址不能重複,但不同局域網內的主機IP可能相同。

  • NAT 技術
    也叫網絡地址轉換技術,即子網內的主機需要與外網進行通信時,路由器會將主機IP地址替換爲自己的WAN口IP,這樣逐級替換,最終數據包的IP就變成了公網IP。
  • IP地址的數量限制
    大家都知道ipv4是一個4字節32位的正整數,也就只有大約43億的地址,而真正能連接的主機數遠遠少於43億,這對於現在的社會是完全不夠用的。
  1. CIDR劃分方案(子網掩碼)在一定程度上緩解了IP不夠用的問題 - -提高IP地址的利用率從而減少浪費,但並未增加可連接主機的數量。
    解決方法:
  2. 動態分配 - DHCP:只給接入網絡的設備分配IP地址。所以同一個Mac地址的設備(即同一臺主機),在不同的時間接入網絡時會有不同的IP地址。
  3. NAT技術:網絡地址轉換,使得不同局域網內可以有相同 的IP地址。
  4. ipv6:它與ipv4互不相干,彼此也不兼容。而是一種新的地址定義,ipv6用16字節128位來表示一個IP地址,但目前沒有普及。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章