http://blog.csdn.net/chenhanzhun/article/details/41408745
2014
TCP/IP 分層
分層結(jié)構(gòu)如下:
- 應用層:負責處理特定的應用程序細節(jié)。包括:Telnet (遠程登錄)、FTP (文件傳輸協(xié)議)、SMTP (簡單郵件傳輸協(xié)議)、SNTP (簡單網(wǎng)絡管理協(xié)議);
- 傳輸層:主要功能為兩臺主機上的應用程序提供端到端的通信,通過端口號識別兩臺主機上相對應程序之間進行通信。主要包括:TCP (傳輸控制協(xié)議)、UDP (用戶數(shù)據(jù)報協(xié)議);
- TCP 協(xié)議:是一種面向連接的傳輸層協(xié)議,確保兩臺主機提供高可靠性的數(shù)據(jù)通信。它的任務是把來自應用程序的數(shù)據(jù)分成合適的小塊交給下面的網(wǎng)絡層,確認接收到數(shù)據(jù)的分組。為數(shù)據(jù)塊設置超時時鐘,一旦超過該時間就重新發(fā)送數(shù)據(jù);
- UDP 協(xié)議:是一種面向無連接的傳輸層協(xié)議,為應用程序發(fā)送和接收數(shù)據(jù)報,只是將數(shù)據(jù)報的分組從一臺主機發(fā)送到另一臺主機,但并不保證數(shù)據(jù)報能夠到達另一端,任何必須的可靠性都由應用程序提供。UDP 協(xié)議常用于分組數(shù)據(jù)較少或多播、廣播通信以及視頻通信等多媒體領(lǐng)域;
- 網(wǎng)絡層:處理分組在網(wǎng)絡中的活動,例如分組的選路。主要包括:IP 協(xié)議(網(wǎng)際協(xié)議)、ICMP 協(xié)議(Internet 互聯(lián)網(wǎng)控制報文協(xié)議)、IGMP 協(xié)議(Internet 組管理協(xié)議);
- IP 協(xié)議:負責基于 IP 地址轉(zhuǎn)發(fā)數(shù)據(jù)包,不具有重發(fā)機制,是一種不可靠、無連接的傳輸協(xié)議,整個互聯(lián)網(wǎng)能夠通過把 IP 地址的作為主機標識,跨越網(wǎng)絡傳送和接收數(shù)據(jù)包;
- ICMP 協(xié)議:是 IP 協(xié)議的附屬協(xié)議,IP 層用它來與其他主機或路由器交換錯誤報文或其他重要信息。IP 數(shù)據(jù)包在發(fā)送過程中發(fā)生異常導致無法到達目的端,則使用 ICMP 協(xié)議給發(fā)送端發(fā)送一個異常消息通知,該協(xié)議也可用來檢查網(wǎng)絡的健康狀態(tài);
- IGMP 協(xié)議:它用來把一個 UDP 數(shù)據(jù)報多播到多個主機;
- 鏈路層:處理與傳輸媒介相關(guān)的物理接口細節(jié)。主要包括:操作系統(tǒng)的設備驅(qū)動程序、計算機中對應的網(wǎng)絡接口卡;
互聯(lián)網(wǎng)的地址
按 IP 地址格式分類
互聯(lián)網(wǎng)上的每個接口必須有一個唯一的 IP 地址, IP 地址長度 32 bit,,即 4 個字節(jié),每個 IP 地址都由 標識位、網(wǎng)絡號 和 主機號三部分組成。32 位二進制數(shù)地址通常寫成四個十進制數(shù), 每個十進制整數(shù)對應一個字節(jié),這就是“點分十進制表示法”。 第一個十進制整數(shù)即可區(qū)分 IP 地址類型:0 ~ 127 A類,128 ~ 191 B類,192 ~ 223 C類, 224 ~ 239 D類, 240 ~ 225 E類;下面是五類不同的 IP 地址的結(jié)構(gòu):
A類地址:
- 十進制取值范圍 :0.0.0.0 ~ 127.255.255.255;
- 二進制取值范圍 :0(標識位) 0000000(網(wǎng)絡號) 00000000 00000000 00000000(主機號) ~ 0(標識位) 1111111(網(wǎng)絡號) 11111111 11111111 11111111(主機號);
B類地址:- 十進制取值范圍 : 128.0.0.0 ~ 191.255.255.255;
- 二進制取值范圍 :10(標識位) 000000 00000000(網(wǎng)絡號) 00000000 00000000(主機號) ~ 10(標識位) 111111(網(wǎng)絡號) 11111111 11111111 11111111(主機號);
C類地址: - 十進制取值范圍 : 192.0.0.0 ~ 223.255.255.255;
- 二進制取值范圍 :110(標識位) 00000 00000000 00000000(網(wǎng)絡號) 00000000(主機號) ~ 110(標識位) 11111 11111111 11111111(網(wǎng)絡號) 11111111(主機號);
D類地址 : - 十進制取值范圍 : 224.0.0.0 ~ 239.255.255.255;
- 二進制取值范圍 : 1110(標識位) 0000 00000000 00000000 00000000 00000000(多播組號) ~ 1110(標識位) 1111 11111111 11111111 11111111(多播組號);
E類地址:- 十進制取值范圍 :240.0.0.0 ~ 255.255.255.255;
- 二進制取值范圍 :11110(標識位) 000 00000000 00000000 00000000(保留位) ~ 11110(標識位) 111 11111111 11111111 11111111(保留位);
按照目的地址分類
IP 地址按目的地址分類:
- 單播地址:目的端為單個主機;
- 廣播地址:目的端是給定網(wǎng)絡的所有主機;
- 多播地址:目的端是同一組的所有主機;
域名系統(tǒng)
盡管可以通過 IP 地址識別主機上的網(wǎng)絡接口,進而訪問主機,但是我們習慣于使用便于記憶的主機名。域名系統(tǒng)(DNS)可以提供 IP 地址和主機名之間的映射信息,它是一個分布的數(shù)據(jù)庫。所以在應用程序中可以調(diào)用系統(tǒng)函數(shù)實現(xiàn) IP 地址和主機名之間的轉(zhuǎn)換。
封裝
當應用程序使用 TCP 傳輸數(shù)據(jù)時,數(shù)據(jù)被送入到協(xié)議棧中,然后逐個通過每一層直到被當作一串比特流送入網(wǎng)絡。其中每一層都要增加一些首部信息,因為方便根據(jù)這些首部信息確認數(shù)據(jù)屬于哪一層或哪個協(xié)議,下面是應用程序使用 TCP 傳輸數(shù)據(jù)的過程:
分用
分用: 目的主機在鏈路層接收到以太網(wǎng)數(shù)據(jù)幀時, 該數(shù)據(jù)就開始從協(xié)議棧中由底向上逐層上升,在每層都去掉該層的首部信息,并校驗首部信息是否正確,該過程就是分用;
發(fā)送數(shù)據(jù):從應用層到鏈路層逐層加數(shù)據(jù)包是封裝;接收數(shù)據(jù):從鏈路層到應用層逐層解包是分用;
端口號
端口號是在運輸層配合 TCP 或 UDP 協(xié)議使用的,使 TCP 或 UDP 能識別主機應用程序,脫離這兩個協(xié)議端口號將毫無用處;
數(shù)據(jù)相關(guān)概念
- 包 :TCP / IP 協(xié)議中,每一層的數(shù)據(jù)都可以成為包;
- 幀 (以太網(wǎng)數(shù)據(jù)幀):鏈路層包的單位;
- 數(shù)據(jù)包 (IP數(shù)據(jù)報):網(wǎng)絡層以上包的單位,IP 給鏈路層的數(shù)據(jù)包稱為 IP 數(shù)據(jù)報 (IP datagram);
- 段 (TCP 報文段) : TCP 數(shù)據(jù)包,TCP 傳遞給 IP 的數(shù)據(jù)包成為 TCP 報文段 (TCP segment);
- 消息: 應用層的數(shù)據(jù)包;
參考資料:
《TCP/IP 詳解》
《圖解 TCP/IP》
本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請
點擊舉報。