萬盛學電腦網

 萬盛學電腦網 >> 網絡應用技術 >> 應用教程 >> 簡單介紹TCP/IP協議的運行原理

簡單介紹TCP/IP協議的運行原理

  TCP/IP模型很成功,其設計已經經得起多年的磨練。無奈,TCP/IP協議族是很繁雜的一個模型,為了全面理解它,宜采取先全局後局部的庖丁解牛式。本文從應用的角度試著去理解TCP/IP的全貌,配合例子加以講解。

  本文目的:

  鞏固自己這方面的知識,作為深入TCP/IP協議族的基礎。

  本文內容:

  1. TCP/IP協議族組成

  從字面上理解,TCP/IP協議族只有TCP、IP協議,其實不然。其真正的名字是Internet協議族 (Internet Protocol Suite) 。和大型軟件一樣,其分為四層:應用層、傳輸層、網絡層、鏈路層。

  每一層的功能和目的都是不一樣的,每一層上服務的協議也不是有區別的。從上往下看:

  應用層(產生|利用數據)

  協議:FTP、HTTP、SNMP(網管)、SMTP(Email)等常用協議;

  職責:利用應用層協議發送用戶的應用數據,比如利用FTP發送文件,利用SMTP發送Email;由系統調用交給運輸層處理。

  運輸層(發送|接收數據)

  協議:TCP(有連接)、UDP(無連接);

  職責:負責建立連接、將數據分割發送;釋放連接、數據重組或錯誤處理。

  網絡層(分組|路由數據)

  協議:IP、ICMP(控制報文協議)、IGMP(組管理協議);

  職責:負責數據的路由,即數據往哪個路由器發送。

  鏈路層(按位發送|接收數據)

  協議:以太網卡設備驅動、令牌網卡驅動程序、ARP、RARP等;

  職責:負責傳輸校驗二進制用戶數據。

  從可靠性角度看各層區別:

  網絡層IP協議是不可靠的協議,為此,如果其上面的層也不做任何特殊處理,也將是不可靠的。於是,運輸層的TCP協議彌補了這個空缺,提供有連接的、可校驗的數據傳輸服務。

  應用層的話可對數據進行加密之類的處理,增強的是傳輸數據的安全性,如https。

  鏈路層可對數據進行校驗。

  從運行進程態看各層區別:

  應用層運行在用戶程序進程中,屬性用戶態;

  其他層則在系統內核進程運行,屬於核心態;

  從通信方式上看各層區別:

  傳輸層是端對端的通信,也就是說,處理的是進程與進程之間的通信,如兩個TCP進程;

  網絡層是點對點的通信,也就是說,處理的是機器之間的 邏輯連接。

  從傳輸數據單元上看區別:

  傳輸層上形成的是TCP或UDP報文段;

  網絡層形成的是IP數據報;

  數據鏈路層形成的是幀(Frame)。

  從尋址方式上看各層區別:

  網絡層通過IP尋址;

  鏈路層通過MAC尋址。

  注解:

  ICMP: 供IP用於發送錯誤報文,也可由應用層直接調用;

  IGMP: 用於多播(Multicast),比如,UDP可用多播IP地址往多個目標主機發送數據報,就是依靠它。

  ARP&RARP: 用戶在IP地址與MAC地址互相轉換。

  2. TCP/IP模型基礎設施

  IP地址

  共分五類地址,分別如下:

  A類:0. 0. 0. 0——127.255.255.255(單播)

  B類:128.0.0.0——191.255.255.255(單播)

  C類:192.0.0.0——223.255.255.255(單播)

copyright © 萬盛學電腦網 all rights reserved