TCPIP报文讲解.docx

上传人:b****8 文档编号:11288293 上传时间:2023-02-26 格式:DOCX 页数:10 大小:138.39KB
下载 相关 举报
TCPIP报文讲解.docx_第1页
第1页 / 共10页
TCPIP报文讲解.docx_第2页
第2页 / 共10页
TCPIP报文讲解.docx_第3页
第3页 / 共10页
TCPIP报文讲解.docx_第4页
第4页 / 共10页
TCPIP报文讲解.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

TCPIP报文讲解.docx

《TCPIP报文讲解.docx》由会员分享,可在线阅读,更多相关《TCPIP报文讲解.docx(10页珍藏版)》请在冰豆网上搜索。

TCPIP报文讲解.docx

TCPIP报文讲解

TCP/IP协议学习理解:

一个完整的数据帧:

利用抓包工具,我们可以从网络中随便抓取一个包,比如抓个ICMP包。

其结构如下:

—Frame3076下是该数据帧里的一些相关信息:

数据帧到达时间/捕捉到数据帧的时间

—?

—?

从抓到第一个包到现在计时

帧序列号:

/抓包工具抓到的第几个包

帧长度:

/该包自己标记的长度

捕捉到的帧长度:

/实际捕捉到的包长

[帧是否被标记]:

/?

[帧里包含的协议:

eth:

ip:

icmp:

data]/包自上往下封装的协议

下面是数据帧里的结构:

—以太网/协议

目的主机硬件地址:

/48bit被发送端主机硬件地址MAC

源主机硬件地址:

/48bit发送端主机硬件地址MAC

包类型:

/16bit(0x0800)所封装包的类型,只识别最外一层IP协议

—IP/协议

版本:

/版本号为4,也称作IPv4

首部长度:

/首部占32bit数目,字段长4比特,所以其最长为:

32/8*15(2进制的1111)=60字节

—服务类型:

/8位

优先权子字段:

/3bit优先权子字段

TOS子字段:

/4bitTOS子字段,分别代表:

最小时延、最大吞吐量、最高可靠性和最小费用,这里全0表一般服务

未用位:

/1bit未用位(必须置0)

总长:

16位/指整个IP数据报的长度,由于该字段长16比特,所以IP数据包最长可达65535字节

标识:

16位/唯一标识主机发送的每一份数据报,通常每发送一份报文它的值就会加1

  标志:

3位/

  片偏移:

13位/

  生存时间:

8位/设置数据报可以经过的最多路由器

  封装协议类型:

/8bit(这里是ICMP,0x01)所封装的协议

  头部检验和:

trueorfalse16位/根据首部计算的检验和码,结果全1为true,否则false

源IP地址:

/发送端主机IP地址

目的IP地址:

32位/接收端主机IP地址

—ICMP/协议

类型:

8位

代码:

8位/类型和代码决定其报文的类型如8和0表示请求报文,0和0表示回应报文

检验和:

16位/作用和算法同IP检验和

标识符:

16位

序列号:

16位/标识符和序列号由发送端任意选择决定,这些值在应答中将被返回,发送端就可以将应答和请求进行匹配。

数据:

围0至1472/发送报文的主要容

下面背景加黑的部分表示相应的值。

这是一个完整的ICMP数据包,由到外封装顺序为:

ICMP→IP→ETH

当接收端主机收到一个报文后,分用过程则和封装相反:

ETH→IP→ICMP

ARP报文:

从相关信息中我们可以看到,ARP的封装格式为:

ETH→ARP。

ETH封装:

发送方式为广播方式,即目的硬件地址全1,这是一个询问硬件地址的报文;如果是回应报文,则以单播的方式发送回一个报文。

ARP报文中的ETH封装比ICMP多一个9个字节的Trailer,一般规定数据帧最小为60字节,ARP请求或应答都是42字节,所以填充18个全0的字节以满足最小60字节的要求。

帧类型:

ARP(ARP请求或应答值都为:

0x0806)

ARP封装下的信息:

硬件类型:

/表示硬件地址的类型,0x0001表示以太网地址

协议类型:

/表示要映射的协议地址类型,0x0800表示IP地址

硬件地址长度:

/1字节,这里值为6,表示硬件地址长度为6字节

协议地址长度:

/1字节,这里值为4

操作字段:

/ARP请求:

1;ARP应答:

2;RARP请求:

3;RARP应答4。

发送端硬件地址:

发送端IP地址:

接收端硬件地址:

接收端IP地址:

RARP报文:

RARP分组格式和ARP基本一致。

它们之间主要差别是RARP请求或应答的帧类型代码为0x8035,RARP请求操作代码为3,应答操作代码为4。

PING程序:

目的:

测试另一台主机是否可以到达。

实验1:

PING10.11.1.1

结果输出如下图:

输出第一行是采用默认的32字节的报文PING目的主机的IP地址(如果输入是服务器的名称,则通过DNS解析成IP地址)。

通过抓包工具抓包分析,我们可以查到发送的报文是包含32字节数据的长74字节的ICMP请求报文。

从第2—5行输出和抓到的数据包可以看到:

从目的主机10.11.1.1收到:

含32字节数据、长74字节的ICMP回应报文;往返时间都是2毫秒(往返时间=接收时间-发送时间),生存时间TTL为255(最大生存时间)。

从第7行可以看到:

发送4个包,接受到4个包,丢失率0%;

从第9行可以看到:

这里最小和最大往返时间都是2毫秒,平均往返时间2毫秒。

实验2:

PING一个不存在的主机10.11.1.2

结果输出如下图:

从图中我们可以看,请求时间超时,发送4个包,收到0个回应,丢失率100%。

多PING几次,即可确定10.11.1.2和我们的主机是不相连的。

上面是在局域网里面操作的,如果在广域网里操作,结果会如何呢?

实验3:

PING.sina.

输出结果如下图:

从图中我们可以看出:

第一行DNS自动把域名解析成IP地址;第2、4、5行往返时间明显比实验1要大很多,甚至超时(如第3行),

以上实验中的一些数值是可以修改的,如传输的数据长度,生存时间等都可以根据需要来修改,但存在一定的围限制,如:

输入PING–i10010.11.1.1/修改TTL值为100;

通过抓包可以看到:

输入PING-i50010.11.1.1/修改TTL值为500;

则在PING命令下显示:

PING实现过程:

1、生成ICMP请求报文。

2、将ICMP报文、发送端和目的端的主机IP地址封装在IP报文中,并发给ETH协议层。

3、通过ARP缓存查询目的IP地址相对应的硬件地址。

如果不存在,则执行4;如果存在,则执行6。

4、发送ARP请求报文,以广播方式发送出去,询问对应目的IP地址的硬件地址。

5、如果接到ARP请求回应,则执行6,否则超时,按异常处理,输出请求超时。

6、ETH协议层将收到的IP报文、源主机和目的主机的硬件地址。

7、将封装好的报文通过媒介端口发送出去。

8、目的主机接收到发来的ICMP请求数据包,采用自上往下的方式分用报文。

9、ETH协议层查看发来的目的硬件地址是否和本地主机硬件地址相同?

相同,则提取IP数据包发送给IP协议层处理;否则丢弃。

10、IP协议层接收后,检查目的IP地址是否和本地IP地址相同?

相同,则提取ICMP数据包给ICMP协议层,否则丢弃。

11、ICMP协议层接收处理后,马上构建一个ICMP回应给发送端主机,过程和发送请求一样,只是不需要再回应。

Traceroute程序:

作用:

可以查看IP数据报从一台主机传到另一台主机所经过的路由。

在PING过程中,我们知道采用-r可以记录路由选项。

但其受到一些限制,无法通用:

1、并不是所有的路由器都支持这个记录路由选项。

见实验1;

2、记录路由一般都是单向的选项,会受到一些限制(后面讨论);3、IP首部中留给选项空间有限,不能存放太多的路径。

实验1:

PING–r910.11.3.36、PING–r910.11.1.1

输出结果:

PING–r910.11.3.36:

PING–r910.11.1.1:

由上可见,通过交换机连接的路由是记录的,但网关路由器是不支持这记录路由选项的。

实验2:

Tracert10.11.1.1(记录局域网里的路由)

输出结果如下图:

实验3:

Tracert.sina.(记录广域网里的路由)

Traceroute过程:

Traceroute发送一份TTL为1(UDP报文,端口值为主机任何应用程序皆不可用)的IP数据报(从上面的实验可以看到:

每一行里有三个往返时间值,即一般每次都是发送三份相同的报文)给目的主机,处理这份报文的第一个路由器将TTL值减1,丢弃该数据报,并发回一份ICMP超时报文,这样发送端主机就得到路径中的第一个路由地址。

然后Traceroute程序再发送一份TTL值为2的IP数据报,这样就可以得到第2个路由地址,依此类推得到后面的路由地址。

当目的端主机收到一份TTL为1的报文时,发现端口不可用,即产生一份“端口不可达”错误的ICMP报文(以区分ICMP超时报文)告诉发送端主机程序应该结束了,这样即可得到了整个路由过程的路由地址。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1