日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

TCP/IP四层模型及各层协议首部详述(包含IOS7层)

發(fā)布時(shí)間:2025/3/15 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 TCP/IP四层模型及各层协议首部详述(包含IOS7层) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1. OSI七層和TCP/IP四層的關(guān)系

1.1?OSI引入了服務(wù)、接口、協(xié)議、分層的概念,TCP/IP借鑒了OSI的這些概念建立TCP/IP模型。

1.2?OSI先有模型,后有協(xié)議,先有標(biāo)準(zhǔn),后進(jìn)行實(shí)踐;而TCP/IP則相反,先有協(xié)議和應(yīng)用再提出了模型,且是參照的OSI模型。

1.3?OSI是一種理論下的模型,而TCP/IP已被廣泛使用,成為網(wǎng)絡(luò)互聯(lián)事實(shí)上的標(biāo)準(zhǔn)。

TCP:transmission control protocol 傳輸控制協(xié)議

UDP:user data protocol 用戶(hù)數(shù)據(jù)報(bào)協(xié)議

2. OSI七層協(xié)議模型

應(yīng)用層協(xié)議需要掌握的是:HTTP(Hyper text transfer?protocol)、FTP(file transfer?protocol)、SMTP(simple mail transfer rotocol)、POP3(post office protocol 3)、IMAP4(Internet mail access protocol)

3. TCP/IP四層模型

3.1 應(yīng)用層:對(duì)應(yīng)OSI中的應(yīng)用層、表示層、會(huì)話(huà)層

3.2 物理鏈路層:對(duì)應(yīng)OSI中的數(shù)據(jù)鏈路層、物理層(也有叫網(wǎng)絡(luò)接口層)

3.3 數(shù)據(jù)包說(shuō)明:

IP層傳輸單位是IP分組,屬于點(diǎn)到點(diǎn)的傳輸;TCP層傳輸單位是TCP段,屬于端到端的傳輸

UPD首部

UPD首部格式如下:

UDP 是無(wú)連接的,即發(fā)送數(shù)據(jù)之前不需要建立連接。

UDP 使用盡最大努力交付,即不保證可靠交付,同時(shí)也不使用擁塞控制。

UDP 是面向報(bào)文的。UDP 沒(méi)有擁塞控制,很適合多媒體通信的要求。

UDP 支持一對(duì)一、一對(duì)多、多對(duì)一和多對(duì)多的交互通信。

UDP 的首部開(kāi)銷(xiāo)小,只有?8 個(gè)字節(jié)

  • 端口號(hào):用來(lái)表示發(fā)送和接受進(jìn)程。由于 I P層已經(jīng)把I P數(shù)據(jù)報(bào)分配給T C P或U D P(根據(jù)I P首部中協(xié)議字段值),因此T C P端口號(hào)由T C P來(lái)查看,而 U D P端口號(hào)由UDP來(lái)查看。T C P端口號(hào)與UDP端口號(hào)是相互獨(dú)立的。
  • 長(zhǎng)度:UDP長(zhǎng)度字段指的是UDP首部和UDP數(shù)據(jù)的字節(jié)長(zhǎng)度。該字段的最小值為 8字節(jié)(發(fā)送一份0字節(jié)的UDP數(shù)據(jù)報(bào)是 O K)。
  • 檢驗(yàn)和:UDP檢驗(yàn)和是一個(gè)端到端的檢驗(yàn)和。它由發(fā)送端計(jì)算,然后由接收端驗(yàn)證。其目的是為了發(fā)現(xiàn)UDP首部和數(shù)據(jù)在發(fā)送端到接收端之間發(fā)生的任何改動(dòng)

TCP報(bào)文段首部

TCP報(bào)文段首部的前20個(gè)字節(jié)是固定的,后面的字節(jié)是根據(jù)需要增加的。首部格式如下:

TCP 提供可靠交付的服務(wù),保證數(shù)據(jù)無(wú)差錯(cuò)、不丟失、不重復(fù)、按序到達(dá)。

TCP 提供全雙工通信。

TCP雖然是面向字節(jié)流的,但TCP傳送的數(shù)據(jù)單元卻是報(bào)文段。一個(gè)TCP 報(bào)文段分為首部和數(shù)據(jù)兩部分

1、第一個(gè)4字節(jié):?

  • (1)源端口,16位;發(fā)送數(shù)據(jù)的源進(jìn)程端口
  • (2)目的端口,16位;接收數(shù)據(jù)的進(jìn)程端口

2、第二個(gè)4字節(jié)與第三個(gè)4字節(jié)?

  • (1)序號(hào),32位;代表當(dāng)前TCP數(shù)據(jù)段第一個(gè)字節(jié)占整個(gè)字節(jié)流的相對(duì)位置;
  • (2)確認(rèn)號(hào),32位;代表接收端希望接收的數(shù)據(jù)序號(hào),為上次接收到數(shù)據(jù)報(bào)的序號(hào)+1,當(dāng)ACK標(biāo)志位為1時(shí)才生效。

3、第四個(gè)4字節(jié):?

  • (1)數(shù)據(jù)偏移,4位;實(shí)際代表TCP首部長(zhǎng)度,最大為60字節(jié)。
  • (2)6個(gè)標(biāo)志位,每個(gè)標(biāo)志位1位;?

? ? ? ? ? ? SYN,為同步標(biāo)志,用于數(shù)據(jù)同步;?
? ? ? ? ? ? ACK,為確認(rèn)序號(hào),ACK=1時(shí)確認(rèn)號(hào)才有效;?
? ? ? ? ? ? FIN,為結(jié)束序號(hào),用于發(fā)送端提出斷開(kāi)連接;?
? ? ? ? ? ? URG,為緊急序號(hào),URG=1是緊急指針有效;?
? ? ? ? ? ? PSH,指示接收方立即將數(shù)據(jù)提交給應(yīng)用層,而不是等待緩沖區(qū)滿(mǎn);?
? ? ? ? ? ? RST,重置連接。

  • (3)窗口值,16位;標(biāo)識(shí)接收方可接受的數(shù)據(jù)字節(jié)數(shù)。詳解可參看:http://www.cnblogs.com/woaiyy/p/3554182.html

4、第五個(gè)4字節(jié)?

  • (1)校驗(yàn)和,16位;用于檢驗(yàn)數(shù)據(jù)完整性。
  • (2)緊急指針,16位;只有當(dāng)URG標(biāo)識(shí)位為1時(shí),緊急指針才有效。緊急指針的值與序號(hào)的相加值為緊急數(shù)據(jù)的最后一個(gè)字節(jié)位置。用于發(fā)送緊急數(shù)據(jù)。

IP報(bào)文

IP報(bào)文是在網(wǎng)絡(luò)層傳輸?shù)臄?shù)據(jù)單元,也叫IP數(shù)據(jù)報(bào)。IP報(bào)文格式如下圖

1、第一個(gè)4字節(jié)(也就是第一行):

  • (1)版本號(hào)(Version),4位;用于標(biāo)識(shí)IP協(xié)議版本,IPv4是0100,IPv6是0110,也就是二進(jìn)制的4和6。
  • (2)首部長(zhǎng)度(Internet Header Length),4位;用于標(biāo)識(shí)首部的長(zhǎng)度,單位為4字節(jié),所以首部長(zhǎng)度最大值為:(2^4 - 1) * 4 = 60字節(jié),但一般只推薦使用20字節(jié)的固定長(zhǎng)度。
  • (3)服務(wù)類(lèi)型(Type Of Service),8位;用于標(biāo)識(shí)IP包的優(yōu)先級(jí),但現(xiàn)在并未使用。
  • (4)總長(zhǎng)度(Total Length),16位;標(biāo)識(shí)IP數(shù)據(jù)報(bào)的總長(zhǎng)度,最大為:2^16 -1 = 65535字節(jié)。

2、第二個(gè)四字節(jié):

  • (1)標(biāo)識(shí)(Identification),16位;用于標(biāo)識(shí)IP數(shù)據(jù)報(bào),如果因?yàn)閿?shù)據(jù)鏈路層幀數(shù)據(jù)段長(zhǎng)度限制(也就是MTU,支持的最大傳輸單元),IP數(shù)據(jù)報(bào)需要進(jìn)行分片發(fā)送,則每個(gè)分片的IP數(shù)據(jù)報(bào)標(biāo)識(shí)都是一致的。
  • (2)標(biāo)志(Flag),3位,但目前只有2位有意義;最低位為MF,MF=1代表后面還有分片的數(shù)據(jù)報(bào),MF=0代表當(dāng)前數(shù)據(jù)報(bào)已是最后的數(shù)據(jù)報(bào)。次低位為DF,DF=1代表不能分片,DF=0代表可以分片。
  • (3)片偏移(Fragment Offset),13位;代表某個(gè)分片在原始數(shù)據(jù)中的相對(duì)位置。

3、第三個(gè)四字節(jié):

  • (1)生存時(shí)間(TTL),8位;以前代表IP數(shù)據(jù)報(bào)最大的生存時(shí)間,現(xiàn)在標(biāo)識(shí)IP數(shù)據(jù)報(bào)可以經(jīng)過(guò)的路由器數(shù)。
  • (2)協(xié)議(Protocol),8位;代表上層傳輸層協(xié)議的類(lèi)型,1代表ICMP,2代表IGMP,6代表TCP,17代表UDP。
  • (3)校驗(yàn)和(Header Checksum),16位;用于驗(yàn)證數(shù)據(jù)完整性,計(jì)算方法為,首先將校驗(yàn)和位置零,然后將每16位二進(jìn)制反碼求和即為校驗(yàn)和,最后寫(xiě)入校驗(yàn)和位置。

4、第四個(gè)四字節(jié):源IP地址

5、第五個(gè)四字節(jié):目的IP地址

以太網(wǎng)的幀格式如下所示:

在圖中,幀末尾就是CRC校驗(yàn)碼。

此外,對(duì)其他字段解釋如下:

字段Meaning
目的地址MAC地址
源地址MAC地址
類(lèi)型三種值,分別對(duì)應(yīng)IP、ARP、RARP

最常用的 MAC 幀是以太網(wǎng)V2的格式

注:

  • 以太網(wǎng)幀中的數(shù)據(jù)長(zhǎng)度規(guī)定最小46字節(jié),最大1500字節(jié)。ARP和RARP數(shù)據(jù)包的長(zhǎng)度不夠46字節(jié),要在后面補(bǔ)填充位。最大值1500稱(chēng)為以太網(wǎng)的最?大傳輸單元MTU,不同的網(wǎng)絡(luò)類(lèi)型有不同的MTU。如果一個(gè)數(shù)據(jù)包從以太網(wǎng)路由到撥號(hào)鏈路上,數(shù)據(jù)包長(zhǎng)度大于撥號(hào)鏈路的MTU了,則需要對(duì)數(shù)據(jù)包進(jìn)行分片(fragmentation)。
  • ifcon?g命令的輸出中也有“MTU:1500”。注 意,MTU這 個(gè)概念指數(shù)據(jù)幀中有效載荷的最大長(zhǎng)度,不包括幀首部的長(zhǎng)度。
  • MAC地址是指網(wǎng)卡的硬件地址,長(zhǎng)度是48位。是在網(wǎng)卡出廠(chǎng)時(shí)固化的。用ifcon?g命令看一下,“HWaddr 00:15:F2:14:9E:3F”部分就是硬件地址。
  • 總結(jié)

    以上是生活随笔為你收集整理的TCP/IP四层模型及各层协议首部详述(包含IOS7层)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。