TCP-IP協議的結構與運行原理(共3頁)_第1頁
TCP-IP協議的結構與運行原理(共3頁)_第2頁
TCP-IP協議的結構與運行原理(共3頁)_第3頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、TCP/IP協議的結構與運行原理 TCP/IP模型很成功,其設計已經經得起多年的磨練。無奈,TCP/IP族是很繁雜的一個模型,為了全面理解它,宜采取先全局后局部的庖丁解牛式。本文從應用的角度試著去理解TCP/IP的全貌,配合例子加以講解。本文目的:鞏固自己這方面的知識,作為深入TCP/IP族的基礎。本文內容:1. TCP/IP族組成從字面上理解,TCP/IP協議族只有TCP、IP協議,其實不然。其真正的名字是Internet協議族 (Internet Protocol Suite) 。和大型軟件一樣,其分為四層:應用層、傳輸層、網絡層、鏈路層。每一層的功能和目的都是不一樣的,每一層上服務的協議

2、也不是有區別的。從上往下看:應用層(產生|利用數據)協議:FTP、HTTP、SNMP(網管)、SMTP(Email)等常用協議;職責:利用應用層協議發送用戶的應用數據,比如利用FTP發送文件,利用SMTP發送Email;由系統調用交給運輸層處理。運輸層(發送|接收數據)協議:TCP(有連接)、UDP(無連接);職責:負責建立連接、將數據分割發送;釋放連接、數據重組或錯誤處理。網絡層(分組|數據)協議:IP、ICMP(控制報文協議)、IGMP(組管理協議);職責:負責數據的路由,即數據往哪個路由器發送。鏈路層(按位發送|接收數據)協議:以太網卡設備驅動、令牌網卡驅動程序、ARP、RARP等;職責

3、:負責傳輸校驗二進制用戶數據。從可靠性角度看各層區別:網絡層IP協議是不可靠的協議,為此,如果其上面的層也不做任何特殊處理,也將是不可靠的。于是,運輸層的TCP協議彌補了這個空缺,提供有連接的、可校驗的數據傳輸服務。應用層的話可對數據進行加密之類的處理,增強的是傳輸數據的性,如https。鏈路層可對數據進行校驗。從運行進程態看各層區別:應用層運行在用戶程序進程中,屬性用戶態;其他層則在系統內核進程運行,屬于核心態;從通信方式上看各層區別:傳輸層是端對端的通信,也就是說,處理的是進程與進程之間的通信,如兩個TCP進程;網絡層是點對點的通信,也就是說,處理的是機器之間的 邏輯連接。從傳輸數據單元上

4、看區別:傳輸層上形成的是TCP或UDP報文段;網絡層形成的是IP數據報;數據鏈路層形成的是幀(Frame)。從尋址方式上看各層區別:網絡層通過IP尋址;鏈路層通過MAC尋址。注解:ICMP: 供IP用于發送錯誤報文,也可由應用層直接調用;IGMP: 用于多播(Multicast),比如,UDP可用多播IP地址往多個目標主機發送數據報,就是依靠它。ARP&RARP: 用戶在IP地址與MAC地址互相轉換。2. TCP/IP模型基礎設施IP地址共分五類地址,分別如下:A類:0. 0. 0. 055(單播)B類:55(單播)C類:1

5、55(單播)D類:55(多播)E類:55(待用)附加類:55 (傳輸層UDP廣播)MAC地址每個網卡的MAC地址世界唯一,不可變;計算機通信其實靠的是MAC地址,而不是IP地址,請看下面注解。端口端口在硬件里的名稱為接口,跟網卡的入口一樣;在軟件概念里,可以理解為一些數據結構數據緩沖區。端口可分為:知名端口:00011023 (例如FTP 20,TCP 21,UDP 69)臨時端口:10245000預留端口:500065535假設你的應用程

6、序需要端口,一般是從臨時端口分配,只在應用程序運行時有效,故稱臨時端口。傳輸層可將進程與端口進行綁定,當數據到來時,其知該往哪個進程緩沖區里送。注解:IP與MAC的區別:IP地址是基于網絡拓撲結構的,是動態可變的。MAC地址是由網卡廠商定的,是終身不可變且唯一的。假設應用層利用MAC地址傳輸數據,那么其是不靈活的,因為它不能變。所以,應用層用IP尋址。但是,硬件又必須用MAC才能找到機器,為此引入ARP及RARP來做兩地址的查詢與轉換。3. TCP/IP應用案例分析場景:左邊用戶利用FTP客戶端與右邊FTP端進行連接上傳文件。數據將從上往下流,每到一層都會加上層頭,數據以類堆棧形式,到目標機器

7、時,底層數據先得,由底向上,符合堆棧先進后出的特性。步驟1:應用層準備好數據文件,調用 API通知傳輸層TCP建立連接,傳輸層加入TCP包頭,其中包含標識應用層協議的標識符端口 21。步驟2:網絡層接收了傳輸層的TCP包,由于IP協議可接收ICMP(1)、IGMP(2)、TCP(6)、UDP(17)來的數據,其需要一個標識域來表明是那個協議發來的數據。此數據域將加于IP包頭中。除此之外,還將賦以IP地址。步驟3:數據鏈路層接收網絡層來的數據后,加之標識域表明數據是從IP、ARP或RARP來。然后,加上MAC地址往外發送。步驟4:將數據由網卡送出,送的過程中,ARP利用目標IP找到最近的路由器MAC地址,然后將包發往它,之后由它找到一個路由器,最終將數據包送到右邊機器的網卡中。步驟5:根據包頭的標識域可知這是一個IP數據包,利用IP協議拆包。步驟6:根據包頭的標識域可知這是一個TCP包,利用TCP協議拆包。步驟7:根據包頭的端口號,將數據直接送入應用層的對應緩沖區中,應用程序負責解析數據包,做相應的業務邏輯處理。注解:RFC(Requ

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論