TCPIP 協議的結構與運行原理

本文背景: 安全

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

本文目的: 網絡

鞏固本身這方面的知識,做爲深刻TCP/IP協議族的基礎。 數據結構

本文內容: ui

1. TCP/IP協議族組成 加密

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

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

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

協議:FTPHTTPSNMP(網管)SMTP(Email)等經常使用協議; 進程

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

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

協議:TCP(有鏈接)UDP(無鏈接)

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

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

協議:IPICMP(控制報文協議)IGMP(組管理協議)

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

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

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

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

 

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

網絡層IP協議是不可靠的協議,爲此,若是其上面的層也不作任何特殊處理,也將是不可靠的。因而,運輸層的TCP協議彌補了這個空缺,提供有鏈接的、可校驗的數據傳輸服務。

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

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

 

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

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

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

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

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

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

 

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

傳輸層上造成的是TCPUDP報文段;

網絡層造成的是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(單播)

D類:224.0.0.0——239.255.255.255(多播)

E類:240.0.0.0——247.255.255.255(待用

附加類:255.255.255.255 (傳輸層UDP廣播)

 

MAC地址

每一個網卡的MAC地址世界惟一,不可變;計算機通訊其實靠的是MAC地址,而不是IP地址,請看下面註解。

 

端口

端口在硬件裏的名稱爲接口,跟網卡的入口同樣;在軟件概念裏,能夠理解爲一些數據結構數據緩衝區。

端口可分爲:

知名端口:0001——1023 (例如FTP 20TCP 21UDP 69)

臨時端口:1024——5000

預留端口:5000——65535

假設你的應用程序須要端口,通常是從臨時端口分配,只在應用程序運行時有效,故稱臨時端口。

傳輸層可將進程與端口進行綁定,當數據到來時,其知該往哪一個進程緩衝區裏送。

 

註解:

IPMAC的區別:IP地址是基於網絡拓撲結構的,是動態可變的。MAC地址是由網卡廠商定的,是終身不可變且惟一的。假設應用層利用MAC地址傳輸數據,那麼其是不靈活的,由於它不能變。因此,應用層用IP尋址。

可是,硬件又必須用MAC才能找到機器,爲此引入ARPRARP來作兩地址的查詢與轉換。

3. TCP/IP應用案例分析

場景:左邊用戶利用FTP客戶端與右邊FTP服務器端進行鏈接上傳文件。

數據將從上往下流,每到一層都會加上層頭,數據以類堆棧形式存儲,到目標機器時,底層數據先得,由底向上,符合堆棧先進後出的特性

相關文章
相關標籤/搜索