1. 協(xié)議的概念和作用
- 為了讓計(jì)算機(jī)能夠通信,計(jì)算機(jī)需要定義通信規(guī)則,這些規(guī)則就是協(xié)議
- 規(guī)則是多種,協(xié)議也有多種
- 協(xié)議就是數(shù)據(jù)封裝格式+傳輸
1.1 服務(wù)+協(xié)議實(shí)現(xiàn)數(shù)據(jù)傳輸
2. OSI七層模型
Open System Interconnection,適用于所有的網(wǎng)絡(luò)
- 分工帶來效能
- 將復(fù)雜的流程分解為幾個(gè)功能相對(duì)單一的子進(jìn)程
- 整個(gè)流程更加清晰,復(fù)雜問題簡(jiǎn)單化
- 更容易發(fā)現(xiàn)問題并針對(duì)性的解決問題
- 應(yīng)用層(Application) 提供網(wǎng)絡(luò)與用戶應(yīng)用軟件之間的接口服務(wù)
- 表示層(Presentation) 提供格式化的表示和轉(zhuǎn)換數(shù)據(jù)服務(wù),如加密和壓縮
- 會(huì)話層(Session) 提供包括訪問驗(yàn)證和會(huì)話管理在內(nèi)的建立和維護(hù)應(yīng)用之間通信的機(jī)制
- 傳輸層(Transimission) 提供建立、維護(hù)和取消傳輸連接功能,負(fù)責(zé)可靠地傳輸數(shù)據(jù)(PC)
- 網(wǎng)絡(luò)層(Network) 處理網(wǎng)絡(luò)間路由,確保數(shù)據(jù)及時(shí)傳送(路由器)
- 數(shù)據(jù)鏈路層(DataLink) 負(fù)責(zé)無錯(cuò)傳輸數(shù)據(jù),確認(rèn)幀、發(fā)錯(cuò)重傳等(交換機(jī))
- 物理層(Physics) 提供機(jī)械、電氣、功能和過程特性(網(wǎng)卡、網(wǎng)線、雙絞線、同軸電纜、中繼器)

3. TCP/IP參考模型
- TCP/IP是傳輸控制協(xié)議/網(wǎng)絡(luò)互聯(lián)協(xié)議的簡(jiǎn)稱
- 早期的TCP/IP模型是一個(gè)四層結(jié)構(gòu),從下往上依次是網(wǎng)絡(luò)接口層、互聯(lián)網(wǎng)層、傳輸層和應(yīng)用層
- 后來在使用過程中,借鑒OSI七層參考模型,將網(wǎng)絡(luò)接口層劃分為了物理層和數(shù)據(jù)鏈路層,形成五層結(jié)構(gòu)

常用協(xié)議
- TCP/IP協(xié)議被稱為傳輸控制協(xié)議/互聯(lián)網(wǎng)協(xié)議,又稱網(wǎng)絡(luò)通訊協(xié)議
- 是由網(wǎng)絡(luò)層的IP協(xié)議和傳輸層的TCP協(xié)議組成,是一個(gè)很大的協(xié)議集合
- 物理層和數(shù)據(jù)鏈路層沒有定義任何特定協(xié)議,支持所有的標(biāo)準(zhǔn)和專用的協(xié)議
- 網(wǎng)絡(luò)層定義了網(wǎng)絡(luò)互聯(lián)也就是IP協(xié)議
- 網(wǎng)際協(xié)議IP(Internet Protocal) 負(fù)責(zé)主機(jī)和網(wǎng)絡(luò)之間尋址和路由數(shù)據(jù)包
- 地址解析協(xié)議ARP(Address Resolution Protocol) 獲得同一物理網(wǎng)絡(luò)中的硬件主機(jī)MAC地址
- 反向地址轉(zhuǎn)換協(xié)議(Reverse Address Resolution Protocol) 允許局域網(wǎng)的物理機(jī)器從網(wǎng)關(guān)服務(wù)器的ARP表或者緩存上請(qǐng)求其IP地址
- 網(wǎng)際控制消息協(xié)議ICMP(Internet Control Message Protocol) 發(fā)送消息,并報(bào)告有關(guān)數(shù)據(jù)包的傳送錯(cuò)誤
- 互聯(lián)組管理協(xié)議IGMP(Internet Group Management Protocol) IP主機(jī)向本地多路廣播路由器報(bào)告主機(jī)組成員
- 傳輸層定義了TCP(傳輸控制協(xié)議)和UDP(用戶數(shù)據(jù)報(bào))協(xié)議
- 應(yīng)用層定義了HTTP(超文本傳輸協(xié)議)、FTP(文件傳輸協(xié)議)、DNS(域名系統(tǒng))等協(xié)議

3.1 網(wǎng)絡(luò)接口層
網(wǎng)絡(luò)接口層是TCP/IP模型的最底層,負(fù)責(zé)接收從上一層交來的數(shù)據(jù)報(bào)并將數(shù)據(jù)報(bào)通過底層的物理網(wǎng)絡(luò)發(fā)送出去,比較常見的就是設(shè)備的驅(qū)動(dòng)程序,此層沒有特定的協(xié)議 網(wǎng)絡(luò)接口層又分為物理層和數(shù)據(jù)鏈路層
3.1.1 物理層
計(jì)算機(jī)在傳遞數(shù)據(jù)的時(shí)候傳遞的都是0和1的數(shù)字,而物理層關(guān)心的是用什么信號(hào)來表示0和1,是否可以雙向通信,最初的連接如何建立以及完成連接如何終止,物理層是為數(shù)據(jù)傳輸提供可靠的環(huán)境。
- 為數(shù)據(jù)端設(shè)備提供傳送數(shù)據(jù)的通路
- 傳輸數(shù)據(jù)
- 激活物理連接,在連接的設(shè)備之間連接起來形成通路
- 傳輸數(shù)據(jù),關(guān)心如何打包數(shù)據(jù)和控制傳輸速度
- 關(guān)閉物理連接

3.1.2 數(shù)據(jù)鏈路層
數(shù)據(jù)鏈路層們于物理層和互聯(lián)網(wǎng)層之間,用來向網(wǎng)絡(luò)層提供數(shù)據(jù),就是把源計(jì)算機(jī)網(wǎng)絡(luò)層傳過來的信息傳遞給目標(biāo)主機(jī)。
- 如何將數(shù)據(jù)組合成數(shù)據(jù)幀(Frame),幀是數(shù)據(jù)鏈路層的傳輸單位
- 數(shù)據(jù)鏈路的建立、維護(hù)和拆除
- 幀包裝、幀傳輸、幀同步
- 幀的差錯(cuò)恢復(fù)
- 流量控制
3.1.3 MAC地址
- 在通信過程中是用內(nèi)置在網(wǎng)卡內(nèi)的地址來標(biāo)識(shí)計(jì)算機(jī)身份的
- 每個(gè)網(wǎng)卡都有一個(gè)全球唯一的地址來標(biāo)識(shí)自己,不會(huì)重復(fù)
- MAC地址48位的二進(jìn)制組成,通常分為6段,用16進(jìn)制表示

3.2 互聯(lián)網(wǎng)層(網(wǎng)絡(luò)層)
- 位于傳輸層和網(wǎng)絡(luò)接口層之間,用于把數(shù)據(jù)從源主機(jī)經(jīng)過若干個(gè)中間節(jié)點(diǎn)傳送到目標(biāo)主機(jī),并向傳輸層提供最基礎(chǔ)的數(shù)據(jù)傳輸服務(wù),它要提供路由和選址的工作

3.2.1 選址
交換機(jī)是靠MAC來尋址的,而因?yàn)镸AC地址是無層次的,所以要靠IP地址來確認(rèn)計(jì)算機(jī)的位置,這就是選址


3.2.2 路由
在能夠選擇的多條道路之間選擇一條最短的路徑就是路由的工作

3.2.3 IP
在網(wǎng)絡(luò)中,每臺(tái)計(jì)算機(jī)都有一個(gè)唯一的地址,方便別人找到它,這個(gè)地址稱為IP地址。
3.2.3.1 IP頭部

- 版本
- 首部長(zhǎng)部
- 優(yōu)先級(jí)與服務(wù)類型
- 總長(zhǎng)度 該字段用以指示整個(gè)IP數(shù)據(jù)包的長(zhǎng)度,最長(zhǎng)為65535字節(jié),包括頭和數(shù)據(jù)
- 標(biāo)識(shí)符 唯一標(biāo)識(shí)主機(jī)發(fā)送的每一份數(shù)據(jù)報(bào)
- 標(biāo)志 分為3個(gè)字段,依次為保留位、不分片位和更多片位
- 保留位:一般被置為0
- 不分片位:表示該數(shù)據(jù)報(bào)是否被分片,如果被置為1,則不能對(duì)數(shù)據(jù)報(bào)進(jìn)行分片,如果要對(duì)其進(jìn)行分片處理,就應(yīng)將其置為0
- 更多片位:除了最后一個(gè)分片,其他每個(gè)組成數(shù)據(jù)報(bào)的片都要將該位置設(shè)置為1.
- 段偏移量 該分片相對(duì)于原始數(shù)據(jù)報(bào)開始處位置的偏移量
- TTL(Time to Live生存時(shí)間) 該字段用于表示IP數(shù)據(jù)包的生命周期,可以防止一個(gè)數(shù)據(jù)包在網(wǎng)絡(luò)中無限循環(huán)地發(fā)下去。TTL的意思是一個(gè)數(shù)據(jù)包在被丟棄之前在網(wǎng)絡(luò)中的最大周轉(zhuǎn)時(shí)間。該數(shù)據(jù)包經(jīng)過的每一個(gè)路由器都會(huì)檢查該字段中的值,當(dāng)TTL的值為0時(shí)此數(shù)據(jù)包會(huì)被丟棄。TTL對(duì)應(yīng)于一個(gè)數(shù)據(jù)包通過路由器的數(shù)目,一個(gè)數(shù)據(jù)包每經(jīng)過一個(gè)路由器,TTL將減去1。
- 協(xié)議號(hào) 用以指示IP數(shù)據(jù)包中封裝的是哪個(gè)協(xié)議
- 首部校驗(yàn)和 檢驗(yàn)和是16位的錯(cuò)誤檢測(cè)字段。目的主機(jī)和網(wǎng)絡(luò)中的每個(gè)網(wǎng)關(guān)都要重新計(jì)算報(bào)頭的校驗(yàn)和,一樣表示沒有改動(dòng)過.
- 源IP地址 該字段用于表示數(shù)據(jù)包的源地址,指的是發(fā)送該數(shù)據(jù)包的設(shè)備的網(wǎng)絡(luò)地址
- 目標(biāo)IP地址 該字段用于表示數(shù)據(jù)包的目標(biāo)的地址,指的是接收節(jié)點(diǎn)的網(wǎng)絡(luò)地址
3.2.3.2 IP地址格式
- IP地址是一個(gè)網(wǎng)絡(luò)編碼,用來確定網(wǎng)絡(luò)中的一個(gè)節(jié)點(diǎn)。
- IP地址是由32位二進(jìn)制(32bit)組成

3.2.3.3 IP地址組成
- 網(wǎng)絡(luò)部分(NETWORK)
- 主機(jī)部分(HOST)

3.2.3.4 IP地址表示

3.2.3.5 IP地址的分類
- IP地址的網(wǎng)絡(luò)部分是由Internet地址分配機(jī)構(gòu)來統(tǒng)一分配的,這樣可以保證IP的唯一性。
- ip地址中全為1的ip即255.255.255.255,它稱為限制廣播地址,如果將其作為數(shù)據(jù)包的目標(biāo)地址可以理解為發(fā)送到所有網(wǎng)絡(luò)的所有主機(jī)
- ip地址中全為0的ip即0.0.0.0,它表示啟動(dòng)時(shí)的ip地址,其含義就是尚未未分配時(shí)的ip地址
- 127是用來進(jìn)行本機(jī)測(cè)試的,除了127.255.255.255外,其它的127開頭的地址都代表本機(jī)

3.2.3.6 公有地址和私有地址
私有IP
- A類私有IP:10.0.0.0 ~ 10.255.255.255
- B類私有IP:172.16.0.0 ~ 172.31.255.255
- C類私有IP:192.168.0.0 ~ 192.168.255.255
其他范圍的IP均為公有IP地址
3.2.3.7 子網(wǎng)掩碼
子網(wǎng)掩碼(subnet mask)又叫子網(wǎng)絡(luò)遮罩,它是一種用來指明一個(gè)IP地址的哪些位標(biāo)識(shí)的是主機(jī)所在的子網(wǎng),以及哪些位標(biāo)識(shí)的是主機(jī)位的掩碼。 子網(wǎng)掩碼不能單獨(dú)存在,它必須結(jié)合IP地址一起使用。 子網(wǎng)掩碼只有一個(gè)作用,就是將某個(gè)IP地址劃分成網(wǎng)絡(luò)地址和主機(jī)地址兩部分。
- 子網(wǎng)掩碼也是32個(gè)二進(jìn)制位
- 對(duì)應(yīng)IP的網(wǎng)絡(luò)部分用1表示
- 對(duì)應(yīng)IP地址的主機(jī)部分用0表示
- IP地址和子網(wǎng)掩碼做邏輯與運(yùn)算得到網(wǎng)絡(luò)地址
- 0和任何數(shù)相與都是0
- 1和任何數(shù)相與都等于任何數(shù)本身
- A B C 三類地址都有自己默認(rèn)的子網(wǎng)掩碼
- A類 255.0.0.0
- B類 255.255.0.0
- C類 255.255.255.0

3.3 傳輸層
位于應(yīng)用層和網(wǎng)絡(luò)接口層之間
- 是面向連接的、可靠的的進(jìn)程到進(jìn)程通信的協(xié)議
- TCP提供全雙工服務(wù),即數(shù)據(jù)可在同一時(shí)間雙向傳播
- TCP將若干個(gè)字節(jié)構(gòu)成一個(gè)分組,此分組稱為報(bào)文段(Segment)

3.3.1 傳輸層的功能
提供了一種端到端的連接

3.3.2 對(duì)可靠性要求高的上層協(xié)議,實(shí)現(xiàn)可靠性的保證 [#](#t223.3.2 對(duì)可靠性要求高的上層協(xié)議,實(shí)現(xiàn)可靠性的保證)
- 如果數(shù)據(jù)丟失、損壞的情況下如何保證可靠性
- 網(wǎng)絡(luò)層只管傳遞數(shù)據(jù),成功與否并不關(guān)心
3.3.3 協(xié)議分類
- TCP(Transimision Control Protocal)
- 傳輸控制協(xié)議
- 可靠的、面向連接的協(xié)議
- 傳輸效率低
- UDP(User Datagram Protocal)
- 用戶數(shù)據(jù)報(bào)協(xié)議
- 不可靠的、無連接的服務(wù)
- 傳輸效率高
3.3.4 TCP功能
- 將數(shù)據(jù)進(jìn)行分段打包傳輸
- 對(duì)每個(gè)數(shù)據(jù)包編號(hào)控制順序
- 運(yùn)輸中丟失、重發(fā)和丟棄處理
- 流量控制避免擁塞
3.3.4.1 TCP數(shù)據(jù)包封裝

- 源端口號(hào)和目標(biāo)端口號(hào),計(jì)算機(jī)通過端口號(hào)識(shí)別訪問哪個(gè)服務(wù),比如http服務(wù)或ftp服務(wù),發(fā)送方端口號(hào)是進(jìn)行隨機(jī)端口,目標(biāo)端口號(hào)決定了接收方哪個(gè)程序來接收

- 32位序列號(hào) TCP用序列號(hào)對(duì)數(shù)據(jù)包進(jìn)行標(biāo)記,以便在到達(dá)目的地后重新重裝,假設(shè)當(dāng)前的序列號(hào)為 s,發(fā)送數(shù)據(jù)長(zhǎng)度為 l,則下次發(fā)送數(shù)據(jù)時(shí)的序列號(hào)為 s + l。在建立連接時(shí)通常由計(jì)算機(jī)生成一個(gè)隨機(jī)數(shù)作為序列號(hào)的初始值

確認(rèn)應(yīng)答號(hào) 它等于下一次應(yīng)該接收到的數(shù)據(jù)的序列號(hào)。假設(shè)發(fā)送端的序列號(hào)為 s,發(fā)送數(shù)據(jù)的長(zhǎng)度為 l,那么接收端返回的確認(rèn)應(yīng)答號(hào)也是 s + l。發(fā)送端接收到這個(gè)確認(rèn)應(yīng)答后,可以認(rèn)為這個(gè)位置以前所有的數(shù)據(jù)都已被正常接收。
首部長(zhǎng)度:TCP 首部的長(zhǎng)度,單位為 4 字節(jié)。如果沒有可選字段,那么這里的值就是 5。表示 TCP 首部的長(zhǎng)度為 20 字節(jié)。

-
控制位 TCP的連接、傳輸和斷開都受這六個(gè)控制位的指揮
- PSH(push急迫位) 緩存區(qū)將滿,立刻傳輸速度
- RST(reset重置位) 連接斷了重新連接
- URG(urgent緊急位) 緊急信號(hào)
緊急指針:盡在 URG(urgent緊急) 控制位為 1 時(shí)有效。表示緊急數(shù)據(jù)的末尾在 TCP 數(shù)據(jù)部分中的位置。通常在暫時(shí)中斷通信時(shí)使用(比如輸入 Ctrl + C)。

- ACK(acknowledgement 確認(rèn))為1表示確認(rèn)號(hào)

-
SYN(synchronous建立聯(lián)機(jī)) 同步序號(hào)位 TCP建立連接時(shí)要將這個(gè)值設(shè)為1
tcpfin.png
- FIN發(fā)送端完成位,提出斷開連接的一方把FIN置為1表示要斷開連接

窗口值 說明本地可接收數(shù)據(jù)段的數(shù)目,這個(gè)值的大小是可變的。當(dāng)網(wǎng)絡(luò)通暢時(shí)將這個(gè)窗口值變大加快傳輸速度,當(dāng)網(wǎng)絡(luò)不穩(wěn)定時(shí)減少這個(gè)值可以保證網(wǎng)絡(luò)數(shù)據(jù)的可靠傳輸。它是來在TCP傳輸中進(jìn)行流量控制的
窗口大?。河糜诒硎緩膽?yīng)答號(hào)開始能夠接受多少個(gè) 8 位字節(jié)。如果窗口大小為 0,可以發(fā)送窗口探測(cè)。

- 用來做差錯(cuò)控制,TCP校驗(yàn)和的計(jì)算包括TCP首部、數(shù)據(jù)和其它填充字節(jié)。在發(fā)送TCP數(shù)據(jù)段時(shí),由發(fā)送端計(jì)算校驗(yàn)和,當(dāng)?shù)竭_(dá)目的地時(shí)又進(jìn)行一次檢驗(yàn)和計(jì)算。如果兩次校驗(yàn) 和一致說明數(shù)據(jù)是正確的,否則 將認(rèn)為數(shù)據(jù)被破壞,接收端將丟棄該數(shù)據(jù)
3.2.4.2 握手和斷開
- TCP是面向連接的協(xié)議,它在源點(diǎn)和終點(diǎn)之間建立虛擬連接,而不是物理連接
- 在數(shù)據(jù)通信之前,發(fā)送端與接收端要先建立連接,等數(shù)據(jù)發(fā)送結(jié)束后,雙方再斷開連接
- TCP連接的每一方都是由一個(gè)IP地址和一個(gè)端口組成

3.2.4.2.1 三次握手
- 第一次握手主機(jī)A通過一個(gè)標(biāo)識(shí)為SYN標(biāo)識(shí)位的數(shù)據(jù)段發(fā)送給主機(jī)B請(qǐng)求連接,通過該數(shù)據(jù)段告訴主機(jī)B希望建立連接,需要B應(yīng)答,并告訴主機(jī)B傳輸?shù)钠鹗夹蛄刑?hào)
- 第二次握手是主機(jī)B用一個(gè)確認(rèn)應(yīng)答ACK和同步序列號(hào)SYNC標(biāo)志位的數(shù)據(jù)段來響應(yīng)主機(jī)A,一是發(fā)送ACK告訴主機(jī)A收到了數(shù)據(jù)段,二是通知主機(jī)A從哪個(gè)序列號(hào)做標(biāo)記。
- 第三次握手是主機(jī)A確認(rèn)收到了主機(jī)B的數(shù)據(jù)段并可以開始傳輸實(shí)際數(shù)據(jù)。
3.2.4.2.2 四次斷開
- 主機(jī)A發(fā)送FIN控制位發(fā)出斷開連接的請(qǐng)求
- 主機(jī)B進(jìn)行響應(yīng),確認(rèn)收到斷開連接請(qǐng)求
- 主機(jī)B提出反方向的關(guān)閉要求
- 主機(jī)A確認(rèn)收到的主機(jī)B的關(guān)閉連接請(qǐng)求
3.2.4.2.3 抓包

3.4 UDP
- UDP是一個(gè)無連接、不保證可靠性的傳輸層協(xié)議,也就是說發(fā)送端不關(guān)心發(fā)送的數(shù)據(jù)是否到達(dá)目標(biāo)主機(jī)、數(shù)據(jù)是否出錯(cuò)等,收到數(shù)據(jù)的主機(jī)也不會(huì)告訴 發(fā)送方是否收到了數(shù)據(jù),它的可靠性由上層協(xié)議來保障
- 首部結(jié)構(gòu)簡(jiǎn)單,在數(shù)據(jù)傳輸時(shí)能實(shí)現(xiàn)最小的開銷,如果進(jìn)程想發(fā)送很短的報(bào)文而對(duì)可靠性要求不高可以使用
3.4.1 UDP的封裝格式



3.4.2 UDP的應(yīng)用
- 視頻軟件
- TFTP 簡(jiǎn)單文件傳輸協(xié)議(短信)
3.4.3 DNS服務(wù)器
3.4.3.1 域名
- 域名空間結(jié)構(gòu)
- 根域
- 頂級(jí)域
- 組織域
- 國(guó)家/地區(qū)域名
- 二級(jí)域名

3.4.3.2 DNS服務(wù)器
DNS是Domain Name Service的縮寫,DNS服務(wù)器進(jìn)行域名和與之對(duì)應(yīng)的IP地址轉(zhuǎn)換的服務(wù)器
- IP地址不易記憶
- 早期使用Hosts文件解析域名
- 主要名稱重復(fù)
- 主機(jī)維護(hù)困難
- DNS(Domain Name System 域名系統(tǒng))
- 分布式
- 層次性
3.4.3.3 查找過程

- 客戶端向本地域名服務(wù)器發(fā)出請(qǐng)求,我要訪問www.163.com,請(qǐng)告訴我它的IP地址
- 本地DNS服務(wù)器向DNS根服務(wù)器發(fā)出請(qǐng)求,根DNS服務(wù)器會(huì)告訴本地服務(wù)器(.com)的服務(wù)器地址
- 本地DNS服務(wù)器會(huì)向(.com域)發(fā)請(qǐng)求,會(huì)得到(163.com)的服務(wù)器地址
- 本地DNS服務(wù)器會(huì)向(163.com)發(fā)請(qǐng)求,會(huì)得到(www.163.com)的IP地址1.1.1.1
- 本地DNS服務(wù)器向客戶端回復(fù)域名(www.163.com)對(duì)應(yīng)的IP地址是1.1.1.1
3.5 應(yīng)用層
3.5.1 協(xié)議

3.5.2 應(yīng)用層常見協(xié)議
- HTTP 超文件傳輸協(xié)議
- FTP 文件傳輸協(xié)議
- SMTP(發(fā)送郵件)和POP3(接收郵件)
3.6 案例
數(shù)據(jù)->傳輸層(包)->網(wǎng)絡(luò)層(段Segment)->數(shù)據(jù)鏈路層(幀)
3.6.1 發(fā)送方是從高層到低層封裝數(shù)據(jù)
- 在應(yīng)用層要把各式各樣的數(shù)據(jù)如字母、數(shù)字、漢字、圖片等轉(zhuǎn)換成二進(jìn)制
- 在TCP傳輸層中,上層的數(shù)據(jù)被分割成小的數(shù)據(jù)段,并為每個(gè)分段后的數(shù)據(jù)封裝TCP報(bào)文頭部
- 在TCP頭部有一個(gè)關(guān)鍵的字段信息端口號(hào),它用于標(biāo)識(shí)上層的協(xié)議或應(yīng)用程序,確保上層數(shù)據(jù)的正常通信
- 計(jì)算機(jī)可以多進(jìn)程并發(fā)運(yùn)行,例如在發(fā)郵件的同時(shí)也可以通過瀏覽器瀏覽網(wǎng)頁(yè),這兩種應(yīng)用通過端口號(hào)進(jìn)行區(qū)分
- 在網(wǎng)絡(luò)層,上層數(shù)據(jù)被封裝上親的報(bào)文頭部(IP頭部),上層的數(shù)據(jù)是包括TCP頭部的。IP地址包括的最關(guān)鍵字段信息就是IP地址,用于標(biāo)識(shí)網(wǎng)絡(luò)的邏輯地址。
- 數(shù)據(jù)鏈路徑層,上層數(shù)據(jù)成一個(gè)MAC頭部,內(nèi)部有最關(guān)鍵的是MAC地址。MAC地址就是固化在硬件設(shè)備內(nèi)部的全球唯一的物理地址。
- 在物理層,無論在之前哪一層封裝的報(bào)文頭和還是上層數(shù)據(jù)都是由二進(jìn)制組成的,物理將這些二進(jìn)制數(shù)字比特流轉(zhuǎn)換成電信號(hào)在網(wǎng)絡(luò)中傳輸

3.6.2 接收方是從低層到高層解封裝
- 數(shù)據(jù)封裝完畢傳輸?shù)浇邮辗胶?,將?shù)據(jù)要進(jìn)行解封裝
- 在物理層,先把電信號(hào)轉(zhuǎn)成二進(jìn)制數(shù)據(jù),并將數(shù)據(jù)傳送至數(shù)據(jù)鏈路層
- 在數(shù)據(jù)鏈路層,把MAC頭部拆掉,并將剩余的數(shù)據(jù)傳送至上一層
- 在網(wǎng)絡(luò)層,數(shù)據(jù)的IP頭部被拆掉,并將剩余的數(shù)據(jù)送至上一層
- 在傳輸層,把TCP頭部拆掉,將真實(shí)的數(shù)據(jù)傳送至應(yīng)用層

3.6.3 真實(shí)網(wǎng)絡(luò)環(huán)境
- 發(fā)送方和接收方中間可能會(huì)有多個(gè)硬件中轉(zhuǎn)設(shè)備
- 中間可能會(huì)增加交換機(jī)和路由器
- 數(shù)據(jù)在傳輸過程中不斷地進(jìn)行封裝和解封裝的過程,每層設(shè)備只能處理哪一層的數(shù)據(jù)
- 交換機(jī)屬于數(shù)據(jù)鏈路層
- 路由器屬于網(wǎng)絡(luò)層

4. 附錄
4.1 不同層中的稱謂:
- 數(shù)據(jù)幀(Frame):是一種信息單位,它的起始點(diǎn)和目的點(diǎn)都是數(shù)據(jù)鏈路層。
- 數(shù)據(jù)包(Packet):也是一種信息單位,它的起始和目的地是網(wǎng)絡(luò)層。
- 段(Segment):通常是指起始點(diǎn)和目的地都是傳輸層的信息單元。
- 消息(message):是指起始點(diǎn)和目的地都在網(wǎng)絡(luò)層以上(經(jīng)常在應(yīng)用層)的信息單元。
4.2 IP頭服務(wù)類型
- IP首部中的服務(wù)類型(TOS)
- TOS包括共8位,包括3 bit的優(yōu)先權(quán)字段(取值可以從000-111所有值),4 bit的TOS子字段和1 bit未用位但必須置0。
- 3bit的8個(gè)優(yōu)先級(jí)的定義如下:
- 111--Network Control(網(wǎng)絡(luò)控制)一般保留給網(wǎng)絡(luò)控制數(shù)據(jù)使用,如路由。
- 110--Internetwork Control(網(wǎng)間控制)
- 101--Critic(關(guān)鍵)語(yǔ)音數(shù)據(jù)使用。
- 100--Flash Override(疾速)視頻會(huì)議和視頻流使用。
- 011--Flash(閃速)語(yǔ)音控制數(shù)據(jù)使用。
- 010--Immediate(快速)數(shù)據(jù)業(yè)務(wù)使用
- 001--Priority(優(yōu)先)數(shù)據(jù)業(yè)務(wù)使用
- 000--Routine(普通)默認(rèn)標(biāo)記值。
- 4 bit的TOS分別代表:最小時(shí)延、最大吞吐量、最高可靠性和最小費(fèi)用。4 bit中只能置其中1 bit。如果所有4 bit均為0,那么就意味著是一般服務(wù)。
- Telnet、Rlogin這兩個(gè)交互應(yīng)用要求最小的傳輸時(shí)延,F(xiàn)TP文件傳輸要求最大吞吐量,最高可靠性是指網(wǎng)絡(luò)管理(SNMP)和路由選擇協(xié)議。用戶網(wǎng)絡(luò)新聞要求最小費(fèi)用
4.3 握手和斷開



