最全的TCP/IP各层PDU结构汇总

TCP/IP模型主要协议

MIME

HTTP

FTP

SMTP

TELNET

BGP

DNS

SNMP

RPC

NFS

TFTP

RIP

TCP

UDP

ICMP IGMP OSPF

IP

ARP RARP

IP数据报的格式

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

版本

报头长度

服务类型(service type

总长度

46

最小5*4最大15*4

优先级

D

T

R

C

未用

2^16-1=65535(整个数据报)

标识(identification)

标志flags

片偏移(fragment offset)

片识别的标记

0

DF

MF

8B计数,分片在整个数据报中相对位置

生存时间(TTL

协议

首部校验和(header checksum)

经过路由器跳步数表示

例:6代表TCP

检验数据报头部的完整性

IP地址(source address)

目的IP地址(destintion address)

长度可变的选项字段

填充

数据

……

备注:1.优先级(Precedence):共分8级,数值越大优先级越大;

2.TOS(type of service)Ddely:延迟)Tthroughput:通信量)Rreliability:可靠性)Ccost:成本)=1,好,四个中最多一个为1,默认0000;)

3.DFdon't fragment=0,表示结点可以对其能分片, MFmore fragment=0,最后一个分片;

TCP数据报格式与伪报头格式

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

伪首部

IP地址(source address)

目的IP地址(destination address)

0

6

TCP长度

TCP数据报

源端口号

目的端口号

序号

本报文段数据第一个字节的序号

确认号

希望接受到的下一个报文段数据的第一个字节的序号

头部长度

保留

URG

ACK

PSH

PST

SYN

FIN

窗口大小

最小5*4,最大15*4

目前全部置0

控制域

最大为2^16-1=65535B

校验和

紧急指针

必选,UDP校验方法一样

URG=1,表示该报文段中有紧急数据(urgentdata),紧急指针指出紧急数据的最后一个字节的序号

选项与填充

选项

单字节选项

选项结束,无操作

多字节选项

最大报文段长度,窗口扩大因子,时间戳

数据

备注:1.控制域:(1时有效)
紧急比特URGurgent):紧急指针(urgentpointer)有效。

确认比特ACKacknowledge):确认序号有效。

紧迫比特PSHpush):接收方应该尽快将这个报文段交给应用层。

复位比特RSTreset) :重建连接。

同步比特SYN():用来发起一个连接。

终止比特FINfinal):发端完成发送任务。

UDP数据报格式与伪报头格式

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

伪首部

IP地址(source address)

目的IP地址(destintion address)

0

17

UDP长度

UDP数据报

源端口号

目的端口号

长度

校验和

数据(必须进行填充使数据是16位的倍数)

备注:1.伪报头中的(UDP长度)和UDP数据报中的(长度)都是UDP数据报的长度;

2.校验和校验的是UDP伪报头和UDP数据报整个数据;校验和是可选的。

3.填充域字段填入0,使伪报头的长度为16b的倍数;

TCP/UDP/IP数据报及相关长度

IP

TCP

UDP

伪首部

12B

数据报首部

基本长度

20B

不分:8B

选项域

最大40B

长度

最大60B

数据报长度

最小

8B

最大

65535B

65535B

附:以太网的最大传输单元MTUmaximum transfer unit)为1500B

帧数据字段:46B-1500B;帧的长度:64B1518BMTU,帧中数据域的最

大字节长度。

OSPF报文用IP数据报传送

IP数据报

IP数据报首部

OSPF报文

OSPF报文首部

类型1-5OSPF报文

20B

20B

ICMP报文用IP数据报传送

IP数据报

IP数据报首部

ICMP报文

类型

代码

校验和

1B

1B

2B(校验整个ICMP报文)

长度可变部分,取决于ICMP的类型

ARP报文结构:

Ethernet帧结构

LLC PDU

前导码

帧前定界符

目的地址DA

源地址SA

长度

LLC数据

FCS

7B

1B

6B

6B

2B

46B1500B

4B

前同步码(8B

MAC64B1618B

1010......1011

FCS的校验范围

实际传输的帧

PPP帧的格式

标志字段(7E

地址字段(FF

控制字段(03

协议字段

信息字段

帧校验字段(FCS

标志字段

0111 1110

8b

8b

16b

长度可变

16b

0111 1110

HDLC帧的结构

标志字段F

地址字段A

控制字段C

信息字段I

帧校验字段FCS

标志字段F

8b

8/16b

8b

长度可变

16/32b

8b

0111 1110

0111 1110

不清楚的:

1标志中的0到底是第一个还是倒数第一个?

服务类型(service type)中的最后一个字节是?

生存时间到底是时间表示还是跳数表示?

2伪报头的,第三行的0到底是?

数据(必须进行填充使数据是16位的倍数)有必要是否IP中也是?

3.同步比特SYN()

4. DNS到底基于哪一层次?

你可能感兴趣的:(TCP/IP)