九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
【TCP/IP 協(xié)議】 TCP/IP 基礎(chǔ)


總結(jié)

通過學(xué)習(xí) TCP/IP 基礎(chǔ), 并總結(jié)相關(guān)筆記 和 繪制思維導(dǎo)圖 到博客上, 對(duì) TCP/IP 框架有了大致了解, 之后開始詳細(xì)學(xué)習(xí)數(shù)據(jù)鏈路層的各種細(xì)節(jié)協(xié)議, 并作出筆記;


博客地址http://blog.csdn.net/shulianghan/article/details/40045487



一. TCP/IP 分層



思維導(dǎo)圖



TCP / IP 四層簡(jiǎn)介

-- 應(yīng)用層 : Telnet, FTP, SMTP, SNMP, DNS, URI, HTML, HTTP 等協(xié)議;

-- 運(yùn)輸層 : TCP, UDP, SCTP, DCCP, UDP-Lite 協(xié)議;

-- 網(wǎng)絡(luò)層 : IP, ICMP, IGMP, ARP 協(xié)議;

-- 鏈路層 : 設(shè)備驅(qū)動(dòng)程序 與 網(wǎng)絡(luò)接口 (網(wǎng)卡);



1. 鏈路層 (數(shù)據(jù)鏈路層 / 網(wǎng)絡(luò)接口層)


鏈路層 (數(shù)據(jù)鏈路層 / 網(wǎng)絡(luò)接口層) 簡(jiǎn)介

-- 驅(qū)動(dòng)程序 : 鏈路層包括 網(wǎng)絡(luò)相關(guān)的設(shè)備 的驅(qū)動(dòng)程序, 驅(qū)動(dòng)程序是操作系統(tǒng)與硬件之間進(jìn)行交互的軟件, 相當(dāng)與橋梁;  

-- 網(wǎng)卡 : 一臺(tái)計(jì)算機(jī)有多個(gè)網(wǎng)卡 例如 eth0, wlan0 等;  

-- 作用 : 該層主要處理與物理傳輸介質(zhì) (電纜, 光線, 無(wú)線) 相關(guān)的 物理接口細(xì)節(jié)相關(guān)問題;  

-- 鏈路層提供者 : 鏈路層功能一般由 硬件 (網(wǎng)絡(luò)設(shè)備) 及其 驅(qū)動(dòng)程序 提供;



2. 網(wǎng)絡(luò)層 (互聯(lián)網(wǎng)層)



(1) 網(wǎng)絡(luò)層簡(jiǎn)介


網(wǎng)絡(luò)層 (互聯(lián)網(wǎng)層) 簡(jiǎn)介

-- 作用 : 處理分組在網(wǎng)絡(luò)中的活動(dòng), 如包傳輸?shù)南嚓P(guān)活動(dòng) 分組選路, 通過該層, 傳輸層及以上的層次可以抽象甚至忽略網(wǎng)絡(luò)結(jié)構(gòu)細(xì)節(jié);

-- 包含的協(xié)議 : IP協(xié)議 (網(wǎng)際協(xié)議), ICMP 協(xié)議 (Internet 互聯(lián)網(wǎng)控制報(bào)文協(xié)議), IGMP 協(xié)議 (Internet 組管理協(xié)議);

-- 網(wǎng)絡(luò)層提供者 : 網(wǎng)絡(luò)層 和 傳輸層的功能 一般由 操作系統(tǒng) 提供;


網(wǎng)絡(luò)層相關(guān)設(shè)備分析 : 

-- 實(shí)現(xiàn)網(wǎng)絡(luò)層的設(shè)備 : 互聯(lián)網(wǎng) 就是 實(shí)現(xiàn)了 網(wǎng)絡(luò)層 功能的網(wǎng)絡(luò), 互聯(lián)網(wǎng)的所有 主機(jī)路由器 必須實(shí)現(xiàn) IP 功能, 路由器 必須實(shí)現(xiàn)通過互聯(lián)網(wǎng)層 轉(zhuǎn)發(fā)分組數(shù)據(jù)包的功能;

-- 無(wú)須實(shí)現(xiàn)網(wǎng)絡(luò)層設(shè)備 : 對(duì)于其它的網(wǎng)絡(luò)設(shè)備 網(wǎng)橋, 中繼器, 集線器 就不用實(shí)現(xiàn) IP 或者  TCP 功能;



(2) IP 協(xié)議


IP 協(xié)議 : 該協(xié)議 基于 IP 地址 轉(zhuǎn)發(fā)分包數(shù)據(jù);

-- 使用 IP 地址標(biāo)識(shí) : 該協(xié)議 跨網(wǎng)絡(luò)傳送數(shù)據(jù)包, 整個(gè)互聯(lián)網(wǎng)可以通過 IP 地址作為主機(jī)的標(biāo)識(shí), 能夠發(fā)送接收數(shù)據(jù);

-- IP 協(xié)議隱含功能 : IP 協(xié)議對(duì)上層透明, 該協(xié)議隱含 數(shù)據(jù)鏈路層 功能, 相互通信的主機(jī) 不管經(jīng)過了 什么種類的數(shù)據(jù)鏈路層, 都可以進(jìn)行通信;

-- 協(xié)議可靠性 : IP 協(xié)議是分組交換協(xié)議, 但是不具備重發(fā)機(jī)制, 分組數(shù)據(jù)包未打到目的主機(jī)也不會(huì)重發(fā), 該協(xié)議屬于非可靠性傳輸協(xié)議;



(3) ICMP 協(xié)議


ICMP 協(xié)議 : IP 協(xié)議附屬協(xié)議, 用于主機(jī) 和 路由器間交換錯(cuò)誤報(bào)文其它重要信息;

-- 作用 : 當(dāng) IP 數(shù)據(jù)包在發(fā)送過程中無(wú)法到達(dá)目標(biāo)主機(jī)時(shí), 需要給發(fā)送端發(fā)一個(gè)異常通知, 就是 ICMP 數(shù)據(jù)包;

-- 使用場(chǎng)景 : 診斷網(wǎng)絡(luò)的健康狀況;



(4) ARP 協(xié)議 和 RARP 協(xié)議


ARP 協(xié)議

-- 作用 : 從分組數(shù)據(jù)包 IP 地址解析物理地址 (MAC 地址) 協(xié)議;


RARP 協(xié)議 : 逆地址解析協(xié)議;



(5) IGMP 協(xié)議


IGMP 協(xié)議 (Internet 組網(wǎng)管理協(xié)議) : 把一個(gè) UDP 數(shù)據(jù)報(bào)多播到多個(gè)主機(jī);




3. 運(yùn)輸層



(1) 運(yùn)輸層簡(jiǎn)介


運(yùn)輸層簡(jiǎn)介

-- 作用 : 為兩臺(tái)主機(jī)上的應(yīng)用程序提供端到端的通信, 通過 端口號(hào) 識(shí)別兩臺(tái)主機(jī)上哪些程序在跟哪些程序進(jìn)行通信; 

-- 包含的協(xié)議 : TCP 協(xié)議 (傳輸控制協(xié)議), UDP 協(xié)議 (用戶數(shù)據(jù)報(bào)協(xié)議); 



(2) TCP 協(xié)議


TCP 協(xié)議 (傳輸控制協(xié)議) : 面向鏈接協(xié)議, 該協(xié)議為兩臺(tái)主機(jī)提供可靠的數(shù)據(jù)通信; 

-- 分塊傳網(wǎng)絡(luò)層 : 在 運(yùn)輸層 中將 應(yīng)用層 傳下來(lái)的數(shù)據(jù)分成數(shù)據(jù)塊; 

-- 確認(rèn)分組 : 確認(rèn)接收到數(shù)據(jù)的分組; 

-- 設(shè)置超時(shí)時(shí)間 : 為數(shù)據(jù)塊設(shè)置超時(shí)時(shí)間, 一旦超過超時(shí)時(shí)間就重新發(fā)送; 


TCP 協(xié)議優(yōu)點(diǎn) 和 局限性

-- 優(yōu)點(diǎn) : 保證兩個(gè)主機(jī)間通信可達(dá), 能正確處理在傳輸過程中丟包, 亂序等異常情況, 其能夠有效利用帶寬, 緩解網(wǎng)絡(luò)擁堵;

-- 局限 : TCP 連接建立 和 斷開 至少需要 7次發(fā)包 和 收包, 導(dǎo)致流量浪費(fèi), TCP 中定義的各種為了提高網(wǎng)絡(luò)效率的規(guī)范 不理于視頻, 音頻傳輸;



(3) UDP 協(xié)議


UDP 協(xié)議 (用戶數(shù)據(jù)報(bào)協(xié)議) : 無(wú)連接協(xié)議;

-- 作用 : 提供服務(wù)簡(jiǎn)單, 只將數(shù)據(jù)報(bào)分組發(fā)送到另一臺(tái)主機(jī), 不關(guān)心數(shù)據(jù)報(bào)能否到達(dá); 

-- 使用場(chǎng)景 : 分組數(shù)據(jù)較少, 多播, 廣播, 多媒體領(lǐng)域;



(4) TCP 與 UDP 比較


TCP 和 UDP 比較

-- TCP : TCP 協(xié)議提供了高可靠性的數(shù)據(jù)通信, 應(yīng)用層可以忽略數(shù)據(jù)傳輸可靠性的細(xì)節(jié); 

-- UDP : 使用該協(xié)議 必須在應(yīng)用層考慮數(shù)據(jù)可靠性; 



4. 應(yīng)用層



(1) 應(yīng)用層簡(jiǎn)介


應(yīng)用層簡(jiǎn)介

-- 作用 : 處理應(yīng)用程序中的細(xì)節(jié); 

-- 包含的協(xié)議 : Telnet 遠(yuǎn)程登錄, FTP 文件傳輸協(xié)議, SMTP 簡(jiǎn)單郵件傳輸協(xié)議, SNMP 簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議



(2) HTTP 協(xié)議 


HTTP 協(xié)議 : 該協(xié)議是 WEB 通信中的 瀏覽器 與 服務(wù)器 端通信所用的協(xié)議, 傳輸數(shù)據(jù)的格式是 HTML;

-- 協(xié)議所在層 : HTTP 屬于 WWW 協(xié)議中的一種, HTTP 協(xié)議對(duì)應(yīng) OSI 七層協(xié)議中的 表示層協(xié)議, 在 TCP/IP 協(xié)議中屬于 應(yīng)用層協(xié)議;



(3) FTP 協(xié)議 (文件傳輸協(xié)議)


FTP 協(xié)議簡(jiǎn)介

-- 傳輸過程 : FTP 協(xié)議文件傳輸會(huì)建立兩個(gè) TCP 連接, 一個(gè)是 傳輸請(qǐng)求時(shí)需要的控制連接, 一個(gè)是傳輸實(shí)際文件數(shù)據(jù)用的數(shù)據(jù)連接;



(4) TELNET 和 SSH 協(xié)議 (遠(yuǎn)程登錄協(xié)議)


TELNET 協(xié)議 和 SSH 協(xié)議 : 這兩種協(xié)議是 TCP/IP 網(wǎng)絡(luò)中常用的兩種遠(yuǎn)程登錄協(xié)議;



(5) SNMP 協(xié)議 (網(wǎng)絡(luò)管理協(xié)議)


SNMP 協(xié)議介紹

-- 具體的管理過程 : 通過 網(wǎng)絡(luò)管理終端 (SNMP 管理器) 管理 服務(wù)器, 路由器 交換機(jī)等, 管理內(nèi)容有 信息通知, 故障通知, 通知設(shè)置, 操作檢查, 配置變化 等;

-- 主要作用 : SNMP 協(xié)議可以對(duì)網(wǎng)絡(luò)上的設(shè)備進(jìn)行遠(yuǎn)程修改配置, 可以對(duì)大范圍復(fù)雜網(wǎng)絡(luò)進(jìn)行有效管理, 檢查 SNMP 代理 是否正常運(yùn)行, 可以讓管理員及時(shí)發(fā)現(xiàn)故障;


SNMP 協(xié)議組成

-- SNMP 代理 (Agent) : SNMP 管理的 路由器, 服務(wù)器, 交換機(jī), PC機(jī) 等設(shè)備叫做 SNMP 代理;

-- 管理器 (Manager) : SNMP 中進(jìn)行管理的那部分, 即網(wǎng)絡(luò)管理終端;


MIB 協(xié)議 (Manager Infomation Base) : SNMP 代理端 (即 主機(jī), 路由器, 交換機(jī)) 保存 網(wǎng)絡(luò)接口信息, 通信數(shù)據(jù)量, 異常數(shù)據(jù)量 以及 設(shè)備溫度 等信息, 訪問這些數(shù)據(jù)的協(xié)議是 MIB 協(xié)議;



5. 每層之間的關(guān)系


示例 : 網(wǎng)頁(yè)瀏覽, 在瀏覽器端瀏覽網(wǎng)頁(yè);

-- 應(yīng)用層 : 使用 HTTP 協(xié)議;

-- 運(yùn)輸層 : 使用 TCP 協(xié)議;

-- 網(wǎng)絡(luò)層 : 使用 IP 協(xié)議;

-- 鏈路層 : 網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)程序, 和網(wǎng)卡物理接口;


協(xié)議執(zhí)行位置

-- 用戶空間 : 應(yīng)用層協(xié)議 一般是在用戶進(jìn)行中處理, 運(yùn)行在用戶空間;

-- 內(nèi)核空間 : 運(yùn)輸層 網(wǎng)絡(luò)層 鏈路層 一般運(yùn)行在內(nèi)核空間中;


下層協(xié)議對(duì)上層透明 : 高層的協(xié)議不關(guān)心 也不處理 低層協(xié)議 相關(guān)數(shù)據(jù), 對(duì)下層協(xié)議一無(wú)所知;



5. 網(wǎng)絡(luò)層 和 運(yùn)輸層的區(qū)別


TCP/IP 四層協(xié)議的作用 和 區(qū)別

-- 鏈路層 和 應(yīng)用層 的明顯作用鏈路層處理物理介質(zhì)相關(guān)的傳輸媒介 以及物理設(shè)備相關(guān)的細(xì)節(jié), 應(yīng)用層 處理與應(yīng)用程序相關(guān)的數(shù)據(jù);

-- 網(wǎng)絡(luò)層 和 運(yùn)輸層 區(qū)別不明顯 : 兩層主要是網(wǎng)絡(luò)傳輸相關(guān), 這兩層區(qū)分并不是很明確;


不同類型網(wǎng)絡(luò)連接 : 以太網(wǎng), 令牌環(huán)網(wǎng), FDDI (光線分布式數(shù)據(jù)接口), 點(diǎn)對(duì)點(diǎn)鏈接, 這些網(wǎng)絡(luò)中的主機(jī)互相都可以通信;

-- 路由器 : 路由器可以將多個(gè)不同類型的網(wǎng)絡(luò)連接起來(lái);

-- 路由器接口 : 路由器必須有多個(gè)網(wǎng)絡(luò)接口


網(wǎng)橋與路由器區(qū)別

-- 網(wǎng)橋 : 網(wǎng)橋 在鏈路層 連接網(wǎng)絡(luò); 

-- 路由器 : 路由器 是在網(wǎng)絡(luò)層連接網(wǎng)絡(luò);


端系統(tǒng) 和 中間系統(tǒng) : 網(wǎng)絡(luò)層是個(gè)中間系統(tǒng), 傳輸層是個(gè)端系統(tǒng);

-- 端系統(tǒng) (End System) : 應(yīng)用層 和 傳輸層 使用端到端 (End-to-end) 協(xié)議;

-- 中間系統(tǒng) (Intermediate System) : 網(wǎng)絡(luò)層 使用逐跳 (Hop-by-hop) 協(xié)議;


網(wǎng)絡(luò)層 和 運(yùn)輸層作用 : 傳輸層 和 網(wǎng)絡(luò)層負(fù)責(zé)的功能不同;

-- 網(wǎng)絡(luò)層 : IP 協(xié)議提供不可靠服務(wù), 將分組從源節(jié)點(diǎn) 送到 目的節(jié)點(diǎn);

-- 傳輸層 : TCP 協(xié)議采用超時(shí)重傳 和 端到端分組確認(rèn)等機(jī)制, 保證可靠性;



二. TCP / IP 相關(guān)網(wǎng)絡(luò)知識(shí)



1. 互聯(lián)網(wǎng)地址



(1) 按照 IP 地址格式分類


IP 地址分類 : IP 地址長(zhǎng)度 32bit, 4 個(gè)字節(jié), 每個(gè) IP 地址都由 標(biāo)識(shí)位, 網(wǎng)絡(luò)號(hào), 和 主機(jī)號(hào)三部分組成;

-- 點(diǎn)分十進(jìn)制 : 32 位二進(jìn)制數(shù), 每個(gè)十進(jìn)制整數(shù)對(duì)應(yīng)一個(gè)字節(jié);

-- 網(wǎng)絡(luò)區(qū)分 : 第一個(gè)十進(jìn)制整數(shù)即可區(qū)分 IP 地址類型, 0 ~ 127 A類, 128 ~ 191 B類, 192 ~ 223 C類, 224 ~ 239 D類, 240 ~ 225 E類


A類地址

-- 組成 : 標(biāo)識(shí)位 0, 網(wǎng)絡(luò)號(hào) 7 位, 主機(jī)號(hào) 24 位, 

-- 十進(jìn)制取值范圍 : 0.0.0.0 ~ 127.255.255.255; 

-- 二進(jìn)制取值范圍 : 0(標(biāo)識(shí)位) 0000000(網(wǎng)絡(luò)號(hào)) 00000000 00000000 00000000(主機(jī)號(hào)) ~ 0(標(biāo)識(shí)位) 1111111(網(wǎng)絡(luò)號(hào)) 11111111 11111111 11111111(主機(jī)號(hào));


B類地址

-- 組成 : 標(biāo)識(shí)位 10, 網(wǎng)絡(luò)號(hào) 14 位, 主機(jī)號(hào) 16 位;

-- 十進(jìn)制取值范圍 : 128.0.0.0 ~ 191.255.255.255;

-- 二進(jìn)制取值范圍 : 10(標(biāo)識(shí)位) 000000 00000000(網(wǎng)絡(luò)號(hào)) 00000000 00000000(主機(jī)號(hào)) ~ 10(標(biāo)識(shí)位) 111111(網(wǎng)絡(luò)號(hào)) 11111111 11111111 11111111(主機(jī)號(hào));


C類地址

-- 組成 : 標(biāo)識(shí)位 110, 網(wǎng)絡(luò)號(hào) 21位, 主機(jī)號(hào) 8位;

-- 十進(jìn)制取值范圍 : 192.0.0.0 ~ 223.255.255.255;

-- 二進(jìn)制取值范圍 : 110(標(biāo)識(shí)位) 00000 00000000 00000000(網(wǎng)絡(luò)號(hào)) 00000000(主機(jī)號(hào)) ~ 110(標(biāo)識(shí)位) 11111 11111111 11111111(網(wǎng)絡(luò)號(hào)) 11111111(主機(jī)號(hào))


D類地址

-- 組成 : 標(biāo)識(shí)位 1110, 多播組號(hào) 28 位;

-- 十進(jìn)制取值范圍 : 224.0.0.0 ~ 239.255.255.255;

-- 二進(jìn)制取值范圍 : 1110(標(biāo)識(shí)位) 0000 00000000 00000000 00000000 00000000(多播組號(hào)) ~ 1110(標(biāo)識(shí)位) 1111 11111111 11111111 11111111(多播組號(hào));


E類地址

-- 組成 : 標(biāo)識(shí)位 11110, 保留 27 位;

-- 十進(jìn)制取值范圍 : 240.0.0.0 ~ 255.255.255.255;

-- 二進(jìn)制取值范圍 : 11110(標(biāo)識(shí)位) 000 00000000 00000000 00000000(保留位) ~ 11110(標(biāo)識(shí)位) 111 11111111 11111111 11111111(保留位);



(2) 按照 目的地址 分類


按目的地址分類 IP 地址

-- 單播地址 : 目的端為單個(gè)主機(jī);

-- 廣播地址 : 目的端是給定網(wǎng)絡(luò)的所有主機(jī);

-- 多播地址 : 目的端是同一組的所有主機(jī);



(3) IP 地址管理機(jī)構(gòu)


互聯(lián)網(wǎng)絡(luò)信息中心 (Internet Network Information Center) 簡(jiǎn)稱 InterNIC, 職責(zé)是 分配網(wǎng)絡(luò)號(hào);



2. 域名


DNS (域名系統(tǒng)) : DNS 是一個(gè)分布式數(shù)據(jù)庫(kù), 提供 IP 地址 和 主機(jī)名之間的映射;


地址解析函數(shù)

-- 正函數(shù) : 給定主機(jī)名, 查詢主機(jī) IP 地址;

-- 逆函數(shù) : 給定主機(jī) IP 地址, 查詢主機(jī)名;



3. 端口號(hào)


端口號(hào)簡(jiǎn)介 : 端口號(hào)是 TCP UDP 協(xié)議識(shí)別主機(jī)上的應(yīng)用程序用的;

-- 端口號(hào)位數(shù) : 端口號(hào)是 16 bit 的數(shù)字, 取值范圍 1 ~ 65535;

-- 端口號(hào)所在層 : 端口號(hào)是 運(yùn)輸層 使用的, 主要配合 TCP UDP 使用, 脫離這兩個(gè)協(xié)議端口號(hào)將毫無(wú)用處;


客戶端口號(hào) (臨時(shí)端口號(hào)) : TCP/IP 提供給客戶端的臨時(shí)端口號(hào)是 1024 ~ 5000;

-- 臨時(shí)端口不重要 : 客戶端對(duì)臨時(shí)端口號(hào)不關(guān)心, 保證端口號(hào)唯一即可;


服務(wù)端口號(hào)

-- 端口號(hào)定義位置 : 在 UNIX 系統(tǒng)的文件的 /etc/services 包含了系統(tǒng)服務(wù)的端口號(hào), 使用 sudo vim /etc/services 命令查看 Ubuntu 系統(tǒng)的端口號(hào);

-- 服務(wù)端口號(hào)規(guī)律 : TCP/IP 提供的服務(wù)端口號(hào)都使用的 知名端口號(hào), 即 1 ~ 1023 之間;

-- 服務(wù)端口號(hào)示例 :  FTP 服務(wù) TCP 端口號(hào) : 21, Telnet 服務(wù) TCP 端口號(hào) : 23, TFTP 服務(wù) UDP 端口號(hào) : 69;

[plain] view plain copy
  1. tcpmux      1/tcp               # TCP port service multiplexer  
  2. echo        7/tcp  
  3. echo        7/udp  
  4. discard     9/tcp       sink null  
  5. discard     9/udp       sink null  
  6. systat      11/tcp      users  
  7. daytime     13/tcp  
  8. daytime     13/udp  
  9. netstat     15/tcp  
  10. qotd        17/tcp      quote  
  11. msp     18/tcp              # message send protocol  
  12. msp     18/udp  
  13. chargen     19/tcp      ttytst source  
  14. chargen     19/udp      ttytst source  
  15. ftp-data    20/tcp  
  16. ftp     21/tcp  
  17. fsp     21/udp      fspd  
  18. ssh     22/tcp              # SSH Remote Login Protocol  
  19. ssh     22/udp  
  20. telnet      23/tcp  
  21. smtp        25/tcp      mail  



三. TCP/IP 分層通信處理過程



1. 數(shù)據(jù)包首部信息



(1) 首部信息結(jié)構(gòu)


首部信息結(jié)構(gòu) : TCP/IP 中每個(gè)分層都會(huì)對(duì)數(shù)據(jù)附加一個(gè)首部, 首部包含了該層的相關(guān)信息;

-- 傳輸層 : (TCP 包首部)(TCP 中的數(shù)據(jù)) ;

-- 網(wǎng)絡(luò)層 : (IP 包首部)( IP 數(shù)據(jù) : (TCP 包首部)(TCP 中的數(shù)據(jù))) ;

-- 鏈路層 : (以太網(wǎng) 包首部) ( 以太網(wǎng)數(shù)據(jù) : (IP 包首部)( IP 數(shù)據(jù) : (TCP 包首部)(TCP 中的數(shù)據(jù)))) ;



(2) TCP/IP 數(shù)據(jù)相關(guān)概念


: TCP / IP 協(xié)議中, 每一層的數(shù)據(jù)都可以成為包, 是一個(gè)全能術(shù)語(yǔ);

幀 (以太網(wǎng)數(shù)據(jù)幀) : 鏈路層包的單位;

數(shù)據(jù)包 (IP數(shù)據(jù)報(bào)) : 網(wǎng)絡(luò)層以上包的單位, IP 給 鏈路層的數(shù)據(jù)包稱為 IP 數(shù)據(jù)報(bào) (IP datagram);

段 (TCP 報(bào)文段) : TCP 數(shù)據(jù)包, TCP 傳遞給 IP 的數(shù)據(jù)包成為 TCP 報(bào)文段 (TCP segment);

消息 : 應(yīng)用層的數(shù)據(jù)包;



2. 封裝 和 分用



(1) 封裝


以太網(wǎng)數(shù)據(jù)幀 : 鏈路層的 數(shù)據(jù)幀長(zhǎng)度在 46 ~ 1500 字節(jié)之間;


每個(gè)首部的大小 : 以太網(wǎng)首部 | IP 首部 | TCP 首部 | 應(yīng)用數(shù)據(jù)(Appl | 用戶數(shù)據(jù)) | 以太網(wǎng)尾部 ;

-- 以太網(wǎng)首部 : 14字節(jié), 需要發(fā)送 接收 IP ARP RARP 數(shù)據(jù), 上面三種數(shù)據(jù)包需要標(biāo)識(shí);

-- IP 首部 : 20字節(jié), 該首部 有一個(gè) 8bit 的數(shù)值, 用于標(biāo)識(shí) TCP(標(biāo)識(shí)6) UDP(標(biāo)識(shí)17) ICMP(標(biāo)識(shí)1) IGMP(標(biāo)識(shí)2) 協(xié)議; 

-- TCP 首部 : 20字節(jié), 這里也可以是 UDP 首部, 由于 UDP 首部是不可靠的, 數(shù)據(jù)量比較少, 只有 8字節(jié), TCP 和 UDP 需要 16bit 的端口號(hào)標(biāo)識(shí)應(yīng)用程序;



(2) 分用


分用定義 : 主機(jī)在鏈路層接收到 以太網(wǎng)數(shù)據(jù)幀, 該數(shù)據(jù)會(huì)逐層上升, 在每層都去掉該層的首部信息, 并校驗(yàn)首部信息是否正確, 該過程就是分用;



(3) 封裝 和 分用 總結(jié)


封裝分用總結(jié) : 發(fā)送數(shù)據(jù) 從應(yīng)用層到鏈路層 逐層加數(shù)據(jù)包 是封裝, 接收數(shù)據(jù) 從鏈路層到應(yīng)用層 逐層解包 是分用;




四. TCP / IP 通信示例



1. 數(shù)據(jù)包發(fā)送過程



(1) 應(yīng)用層處理


準(zhǔn)備數(shù)據(jù) : 應(yīng)用層經(jīng)過用戶應(yīng)用程序處理, 準(zhǔn)備要發(fā)送的信息;



(2) 傳輸層處理 (TCP模塊)


TCP 連接管理 : 應(yīng)用層發(fā)送數(shù)據(jù)時(shí), TCP 模塊建立連接, 使用這個(gè)連接發(fā)送數(shù)據(jù), 發(fā)送完畢之后斷開連接;


封裝 TCP 首部 : 為了實(shí)現(xiàn)可靠的 TCP 傳輸, 需要在應(yīng)用層的信息的前端附加一個(gè) TCP 首部;

-- TCP 首部組成 : 源端口號(hào), 目的端口號(hào), 序號(hào), 校驗(yàn)和;



(3) 網(wǎng)絡(luò)層處理 (IP 模塊)


封裝 IP 首部 : TCP 模塊將 TCP首部 和 TCP 數(shù)據(jù)合成 TCP 報(bào)文段, 傳入到 IP 模塊, IP 模塊在 TCP 報(bào)文段前端加上 IP 首部;

-- IP 首部組成 : 接收端 IP 地址, 發(fā)送端 IP 地址, 緊隨其后的是 UDP/TCP 協(xié)議識(shí)別標(biāo)識(shí);


送到鏈路層

-- 查找路徑 : IP 數(shù)據(jù)報(bào) 生成后, 參考路由控制表決定該 IP 數(shù)據(jù)報(bào)的 路由 或 主機(jī) 路徑;

-- 查詢 MAC 地址 : 利用 ARP 查找 MAC 地址;

-- 提交到鏈路層 : IP 數(shù)據(jù)報(bào)提交給鏈路層 需要將 MAC 地址 和 IP 地址一起提交到下一層;



(4) 鏈路層處理


封裝 以太網(wǎng) 首部 : 網(wǎng)絡(luò)層傳遞 IP 數(shù)據(jù)報(bào)到鏈路層, 在該層給 IP 數(shù)據(jù)報(bào)附加 以太網(wǎng)首部 并發(fā)送出去;

-- 以太網(wǎng)首部組成 : 發(fā)送端 MAC 地址, 接收端 MAC 地址, 標(biāo)識(shí)以太網(wǎng)類型(PPP, 令牌環(huán)等)的以太網(wǎng)數(shù)據(jù)協(xié)議;


封裝 以太網(wǎng) 尾部 : 封裝完首部之后, 還需要加上一個(gè) FCS 尾部, 該 FCS 由硬件計(jì)算生成, 判斷是否因?yàn)槲锢斫橘|(zhì)干擾而導(dǎo)致數(shù)據(jù)被破壞;



(5) 包首部添加流程


添加流程 : 應(yīng)用層信息 -> TCP (UDP) 包首部 -> IP 包首部 -> 以太網(wǎng)包首部 -> 以太網(wǎng)包尾部;


包首部信息規(guī)律 : 每層添加的包首部 一般都包含 發(fā)送 和 接收 地址信息, 上一層的協(xié)議類型;

-- 鏈路層 : 使用 發(fā)送端 和 接收端的 MAC 地址;

-- 網(wǎng)絡(luò)層 : 使用 發(fā)送段 和 接收端的 IP 地址, 該層還需要一個(gè) 協(xié)議類型, 說(shuō)明在傳輸層使用的是 TCP 還是 UDP 協(xié)議;

-- 傳輸層 : 使用 發(fā)送段 和 接收端的 端口號(hào);



2. 數(shù)據(jù)包接收過程



(1) 鏈路層處理


鏈路層處理流程 : 判定地址有效行 -> 確定上層協(xié)議類型 -> 傳遞給上層對(duì)應(yīng)協(xié)議處理模塊;

-- 判定地址有效性 : 主機(jī)收到 以太網(wǎng)數(shù)據(jù)幀后, 解析以太網(wǎng)包頭, 查看 目的端 MAC 地址是否為本機(jī)地址, 如果不是丟棄該 幀;

-- 判定協(xié)議類型 : 查找 以太網(wǎng)數(shù)據(jù)包首部中的 類型域, 確定該數(shù)據(jù)包是 IP 數(shù)據(jù)報(bào), 還是 ARP 協(xié)議, 如果無(wú)法識(shí)別協(xié)議類型, 丟棄;

-- 傳遞給對(duì)應(yīng)模塊處理 : 如果是 IP 數(shù)據(jù)報(bào), 傳遞給 IP 模塊處理, 如果是 ARP 協(xié)議, 就傳遞給 ARP 模塊處理;



(2) 網(wǎng)絡(luò)層處理 (IP 模塊)


IP 模塊處理流程 (沒有路由器的情況) : 判定 IP 地址 -> 判定協(xié)議;

-- 判定 IP : 分析 IP 包首部的 目的 IP 地址, 如果 IP 地址是本機(jī)地址, 就進(jìn)行下面的操作;

-- 判定協(xié)議 : 判定 上層協(xié)議是 TCP 還是 UDP,  交給對(duì)應(yīng)模塊處理;


有路由器的情況 : 如果有路由器, 接收端地址一般是 路由器的 IP 地址, 需要查詢路由表, 查詢到 目的主機(jī) 或 路由器 后在轉(zhuǎn)發(fā)數(shù)據(jù)包;



(3) 傳輸層處理 (TCP 模塊)


傳輸層處理流程 : 校驗(yàn)數(shù)據(jù)完整性 -> 校驗(yàn)數(shù)據(jù)次序 -> 校驗(yàn)程序端口 -> 發(fā)送回執(zhí) -> 送到應(yīng)用層;

-- 校驗(yàn)完整性 : TCP 模塊接收到數(shù)據(jù)包后, 首先計(jì)算校驗(yàn)和, 判斷數(shù)據(jù)是否被破壞;

-- 校驗(yàn)次序 : 檢查數(shù)據(jù)包的序號(hào), 查看是否在按照次序接收數(shù)據(jù);

-- 校驗(yàn)端口號(hào) : 通過端口號(hào)獲取具體的應(yīng)用程序;

-- 發(fā)送回執(zhí) : 數(shù)據(jù)接收完畢后, 發(fā)送一個(gè)回執(zhí)給發(fā)送端, 如果發(fā)送端未收到回執(zhí), 發(fā)送端會(huì)一直發(fā)送數(shù)據(jù)給接收端;

-- 傳遞給應(yīng)用層 : 數(shù)據(jù)被接收以后, 會(huì)根據(jù)端口號(hào)識(shí)別應(yīng)用程序, 將數(shù)據(jù)傳遞給那個(gè)應(yīng)用程序;




博客地址 : http://blog.csdn.net/shulianghan/article/details/40045487

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
TCP/IP 協(xié)議的結(jié)構(gòu)與運(yùn)行原理[圖]
通俗易懂網(wǎng)絡(luò)協(xié)議(TCP/IP概述)
一個(gè)http請(qǐng)求的詳細(xì)過程
TCP/IP協(xié)議的概念
TCP/IP協(xié)議(零)TCP/IP參考模型
你們最關(guān)心的42個(gè)計(jì)算機(jī)網(wǎng)絡(luò)基礎(chǔ)問答
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服