成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

IP協(xié)議頭格式的詳細(xì)分析

網(wǎng)絡(luò) 網(wǎng)絡(luò)管理
下面我們主要介紹一下IP協(xié)議頭格式的內(nèi)容。其中包括它的版本信息,包頭長度等相關(guān)結(jié)構(gòu)內(nèi)容。希望大家能夠了解和掌握這部分內(nèi)容。

IP協(xié)議是我們學(xué)習(xí)網(wǎng)絡(luò)協(xié)議最開始,也是最基礎(chǔ)的協(xié)議。那么今天我們主要介紹一下有關(guān)于IP協(xié)議頭格式的基本狀態(tài)。那么就讓我們具體看以下有關(guān)于IP協(xié)議頭格式和Sniiffer Portable的IP頭的相關(guān)內(nèi)容吧。IP(Internet Protocol,因特網(wǎng)協(xié)議)是OSI第三層——網(wǎng)絡(luò)層協(xié)議,本節(jié)僅以IPv4版本為例進(jìn)行介紹。IP協(xié)議也是一個無連接的協(xié)議,主要就是負(fù)責(zé)在主機(jī)間尋址,并為數(shù)據(jù)包設(shè)定路由,在交換數(shù)據(jù)前它并不建立會話。因?yàn)樗槐WC正確傳遞。另一方面,數(shù)據(jù)在被收到時,IP不需要收到確認(rèn),所以它是不可靠的。

IP協(xié)議頭格式

數(shù)據(jù)在經(jīng)過IP網(wǎng)絡(luò)層時,也會對數(shù)據(jù)進(jìn)行封裝,也就有相應(yīng)的IP協(xié)議包頭了。在以太網(wǎng)幀中,IPv4包頭緊跟著以太網(wǎng)幀頭,同時以太網(wǎng)幀頭中的協(xié)議類型值設(shè)置為十六進(jìn)制的0800。

◆版本(Version)

指定IP協(xié)議的版本號。因?yàn)槟壳叭灾饕褂肐Pv4版本,所以這里的值通常是 0x4 (注意封包使用的數(shù)字通常都是十六進(jìn)位的)。占4位。

◆包頭長度(Internet Header Length,IHL)

指明IPv4協(xié)議包頭長度的字節(jié)數(shù)包含多少個32位。由于IPv4的包頭可能包含可變數(shù)量的可選項(xiàng),所以這個字段可以用來確定IPv4數(shù)據(jù)報中數(shù)據(jù)部分的偏移位置。IPv4包頭的最小長度是20個字節(jié),因此IHL這個字段的最小值用十進(jìn)制表示就是5。占4位。由于它是一個4比特字段,因此首部最長為60個字節(jié),但實(shí)際上目前最多仍為24個字節(jié)。

◆服務(wù)類型(Type of Service,TOS)

定義IP封包在傳送過程中要求的服務(wù)類型,共由8個bit組成其中每個bit的組合分別代表不同的意思。4bit中只能置其中1bit。如果所有4bit均為0,那么就意味著是一般服務(wù)。具體如下:

◆000..... (Routine): 過程字段,占3位。設(shè)置了數(shù)據(jù)包的重要性,取值越大數(shù)據(jù)越重要,取值范圍為:0(正常)~ 7(網(wǎng)絡(luò)控制)

◆...0....(Delay):延遲字段 ,占1位,取值:0(正常)、1(期特低的延遲) 

◆....0...(Throughput):流量字段,占1位。取值:0(正常)、1(期特高的流量) 

◆.....0..(Reliability) :可靠性字段,占1位。取值:0(正常)、1(期特高的可靠性)

◆…..0.(ECN-Capable Transport):顯式擁塞指示傳輸字段,占1位。由源端設(shè)置,以顯示源端節(jié)點(diǎn)的傳輸協(xié)議是支持ECN(Explicit Cogestion Notifica tion,顯式擁塞指示)的。取值:0(不支持ECN)、1(支持ECN)

◆.......0(Congestion Experienced):擁塞預(yù)警字段,占1位。取值:0(正常,不擁塞)、1(擁塞)

◆包長度(Total Length,TL)

IP協(xié)議頭格式中指定IP包的總長,通常以byte做單位來表示該封包的總長度此數(shù)值包括標(biāo)頭和數(shù)據(jù)的總和。它以字節(jié)為單位,占16位。利用首部長度字段和總長度字段,就可以知道IP數(shù)據(jù)報中數(shù)據(jù)內(nèi)容的起始位置和長度。

由于該字段長16比特,所以IP數(shù)據(jù)報最長可達(dá)65535字節(jié)。盡管可以傳送一個長達(dá)65535字節(jié)的IP數(shù)據(jù)報,但是大多數(shù)的鏈路層都會對它進(jìn)行分段。而且,主機(jī)也要求不能接收超過576字節(jié)的數(shù)據(jù)報。由于TCP把用戶數(shù)據(jù)分成若干段,因此一般來說這個限制不會影響TCP。UDP的應(yīng)用(如RIP、TFTP、BOOTP、DNS、SNMP等),都限制用戶數(shù)據(jù)報長度為512字節(jié),小于576字節(jié)。但是,事實(shí)上現(xiàn)在大多數(shù)的實(shí)現(xiàn)允許超過8192字節(jié)的IP數(shù)據(jù)報。

總長度字段是IP首部中必要的內(nèi)容,因?yàn)橐恍?shù)據(jù)鏈路(如以太網(wǎng))需要填充一些數(shù)據(jù)以達(dá)到最小長度。盡管以太網(wǎng)的最小幀長為46個字節(jié)(將在本章后面介紹),但是IP數(shù)據(jù)可能會更短。如果沒有總長度字段,那么IP層就不知道46字節(jié)中有多少是IP數(shù)據(jù)報的內(nèi)容。

◆標(biāo)識(Identification)

每一個IP封包都有一個16位的唯一識別碼。當(dāng)程序產(chǎn)生的數(shù)據(jù)要通過網(wǎng)絡(luò)傳送時都會被拆散成封包形式發(fā)送,當(dāng)封包要進(jìn)行重組的時候這個ID就是依據(jù)了。占16位。

標(biāo)識字段唯一地標(biāo)識主機(jī)發(fā)送的每一份數(shù)據(jù)報。通常每發(fā)送一份消息它的值就會加1。RFC791認(rèn)為標(biāo)識字段應(yīng)該由讓IP發(fā)送數(shù)據(jù)報的上層來選擇。假設(shè)有兩個連續(xù)的IP數(shù)據(jù)報,其中一個是由TCP生成的,而另一個是由UDP生成的,那么它們可能具有相同的標(biāo)識字段。盡管這也可以照常工作(由重組算法來處理),但是在大多數(shù)從伯克利派生出來的系統(tǒng)中,每發(fā)送一個IP數(shù)據(jù)報,IP層都要把一個內(nèi)核變量的值加1,不管交給IP的數(shù)據(jù)來自哪一層。內(nèi)核變量的初始值根據(jù)系統(tǒng)引導(dǎo)時的時間來設(shè)置。

◆標(biāo)記(Flags)

這是當(dāng)封包在傳輸過程中進(jìn)行***組合時使用的3個bit的識別記號。占3位。

◆000(Reserved Fragment):保留分段。當(dāng)此值為0的時候表示目前未被使用。

◆.0.(Don't Fragment):不分段。當(dāng)此值為0的時候表示封包可以被分段,如果為1則不能被分割。 

◆..0( More Fragment):更多分段。當(dāng)上一個值為0時,此值為0就示該封包是最後一個封包,如果為1則表示其後還有被分割的封包。

◆分段偏移(Fragment Offset,FO)

IP協(xié)議頭格式規(guī)定當(dāng)封包被分段之后,由于網(wǎng)路情況或其它因素影響其抵達(dá)順序不會和當(dāng)初切割順序一至,所以當(dāng)封包進(jìn)行分段的時候會為各片段做好定位記錄,以便在重組的時候就能夠?qū)μ柸胱?#65377;值為多少個字節(jié),如果封包并沒有被分段,則FO值為“0"。 占13位。  #p#

◆生存時間(Time To Live,TTL)

生存時間字段設(shè)置了數(shù)據(jù)報可以經(jīng)過的最多路由器數(shù),表示數(shù)據(jù)包在網(wǎng)絡(luò)上生存多久。TTL的初始值由源主機(jī)設(shè)置(通常為32或64),一旦經(jīng)過一個處理它的路由器,它的值就減去1。當(dāng)該字段的值為0時,數(shù)據(jù)報就被丟棄,并發(fā)送ICMP消息通知源主機(jī)。這樣當(dāng)封包在傳遞過程中由於某些原因而未能抵達(dá)目的地的時候就可以避免其一直充斥在網(wǎng)路上面。占8位。

◆協(xié)議(Protocol,PROT)

指該封包所使用的網(wǎng)絡(luò)協(xié)議類型,如ICMP、DNS等。占8位。各協(xié)議對應(yīng)的值如表1所示。

表1 協(xié)議號

協(xié)議號

協(xié)議

協(xié)議號

協(xié)議

00

IP

22

XNS-IDP

01

ICMP

27

RDP

02

IGMP

29

ISO-TP4

03

GGP

36

XTP

04

IP-ENCAP

37

DDP

05

ST

39

IDPR-CMTP

06

TCP

73

RSPF

08

EGP

81

VMTP

12

PUP

89

OSPFIGP

17

UDP

94

IPIP

20

HMP

98

ENCAP

◆頭校驗(yàn)和(Header checksum)

指IPv4數(shù)據(jù)報包頭的校驗(yàn)和。這個數(shù)值用來檢錯用的,用以確保封包被正確無誤的接收到。當(dāng)封包開始進(jìn)行傳送后,接收端主機(jī)會利用這個檢驗(yàn)值會來檢驗(yàn)余下的封包,如果一切無誤就會發(fā)出確認(rèn)信息表示接收正常。與UDP和TCP協(xié)議包頭中的校驗(yàn)和作用是一樣的。占16位。

首部檢驗(yàn)和字段是根據(jù)IP首部計(jì)算的檢驗(yàn)和碼,不對首部后面的數(shù)據(jù)進(jìn)行計(jì)算。ICMP、IGMP、UDP和TCP協(xié)議在它們各自的首部中均含有同時覆蓋首部和數(shù)據(jù)檢驗(yàn)和碼。

IP協(xié)議頭格式規(guī)定了:計(jì)算一份數(shù)據(jù)報的IP檢驗(yàn)和,首先把檢驗(yàn)和字段置為0。然后,對首部中每個16位進(jìn)行二進(jìn)制反碼求和(整個首部看成是由一串16位的字組成),結(jié)果存在檢驗(yàn)和字段中。當(dāng)接收端收到一份IP數(shù)據(jù)報后,同樣對首部中每個16 位進(jìn)行二進(jìn)制反碼的求和。由于接收方在計(jì)算過程中包含了發(fā)送方存在首部中的檢驗(yàn)和,因此,如果首部在傳輸過程中沒有發(fā)生任何差錯,那么接收方計(jì)算的結(jié)果應(yīng)該為全1。如果結(jié)果不是全1(即檢驗(yàn)和錯誤),那么IP就丟棄收到的數(shù)據(jù)報。但是不生成差錯消息,由上層去發(fā)現(xiàn)丟失的數(shù)據(jù)報并進(jìn)行重傳。

ICMP、IGMP、UDP和TCP都采用相同的檢驗(yàn)和算法,盡管TCP和UDP除了本身的首部和數(shù)據(jù)外,在IP首部中還包含不同的字段。由于路由器經(jīng)常只修改TTL字段(減1),因此當(dāng)路由器轉(zhuǎn)發(fā)一份消息時可以增加它的檢驗(yàn)和,而不需要對IP整個首部進(jìn)行重新計(jì)算。

◆源地址(Source Address,SA)

發(fā)送IP數(shù)據(jù)包的IP地址。占32位。

◆目的地址(Destination Address)

接收IP數(shù)據(jù)包的IP地址。也占32位。

◆選項(xiàng)(Options)+填充(Padding)

這兩個選項(xiàng)較少使用,只有某些特殊的封包需要特定的控制才會利用到。共32位。這些選項(xiàng)通常包括:

◆安全和處理限制:用于軍事領(lǐng)域

◆記錄路徑:讓每個路由器都記下它的IP地址

◆時間戳:讓每個路由器都記下它的IP地址和時間

◆寬松的源站選路:為數(shù)據(jù)報指定一系列必須經(jīng)過的IP地址

◆嚴(yán)格的源站選路:與寬松的源站選路類似,但是要求只能經(jīng)過指定的這些地址,不能經(jīng)過其他的地址。

以上這些選項(xiàng)很少被使用,而且并非所有的主機(jī)和路由器都支持這些選項(xiàng)。選項(xiàng)字段一直都是以32位作為界限,在必要的時候插入值為0的填充字節(jié)。這樣就保證IP首部始終是32位的整數(shù)倍(這是首部長度字段所要求的)。

從以上IP協(xié)議頭格式可以看出,IP協(xié)議包頭大小也有兩種:當(dāng)沒有“選項(xiàng)"這個字段時,為160位,20個字節(jié);當(dāng)有“選項(xiàng)"字段時為192位,24個字節(jié)。它與TCP協(xié)議包頭大小是一樣的。

責(zé)任編輯:佟健 來源: IT168
相關(guān)推薦

2009-06-18 14:00:51

2009-09-25 14:23:39

2009-09-28 10:39:01

Hibernate基礎(chǔ)

2009-12-24 15:26:14

2009-11-11 14:18:00

動態(tài)路由協(xié)議

2010-04-26 18:17:19

Oracle存儲過程

2009-12-03 17:41:40

PHP應(yīng)用發(fā)展

2021-10-25 19:52:52

IntentFilte

2009-09-09 09:48:43

Linq延遲加載

2009-09-14 16:21:34

LINQ To XML

2009-10-10 13:52:57

VB Update方法

2009-09-14 13:50:35

LINQ編程模型

2009-09-08 15:56:50

Linq使用Group

2010-01-06 13:50:37

.NET Framew

2009-11-20 13:11:44

Oracle XML數(shù)

2010-01-06 16:12:52

分析Json stri

2010-03-08 17:18:46

Linux du命令

2010-04-12 10:53:07

Oracle SQL

2010-04-26 14:32:21

Oracle SQL

2009-12-16 14:09:14

Visual Stud
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 最新av在线播放 | 国产一区欧美一区 | 伊人网在线看 | 国产大毛片 | 黄色成人在线网站 | 亚洲国产精品区 | 久久成人av电影 | 91在线影院| av在线播放一区二区 | 涩涩导航 | 综合精品久久久 | 午夜成人在线视频 | 欧美无乱码久久久免费午夜一区 | 青青青伊人 | 99re热精品视频 | 国产一区不卡在线观看 | 一区二区精品 | 成人精品鲁一区一区二区 | 亚洲精彩免费视频 | 久久亚洲国产精品 | 久久99精品国产99久久6男男 | 精品一级 | 九九精品久久久 | 精国产品一区二区三区 | 日日爱av | 亚洲午夜视频在线观看 | 久久99精品久久久97夜夜嗨 | 日韩高清av | 国产精品色婷婷久久58 | 久久精品一区 | 亚洲天堂网站 | 精品国产乱码久久久久久蜜柚 | 91av视频在线免费观看 | 99re6在线视频精品免费 | 麻豆久久久久久久久久 | 91最新入口| 一区二区三区四区国产精品 | 精品久久久网站 | 黄色一级免费观看 | 国产精品久久二区 | 成人免费视频网站 |