当前位置:文档之家› IP协议和ICMP协议

IP协议和ICMP协议

这是主机B发出的ip数据报

这是E接受到的IP数据报

观察:TTL 128 TTL127

结论:

变化的字段有:“生存时间”和“首部校验和”。原因:主机B为路由器,数据包每经过一路由器“生存时间”字段的值就会减1,并重新计算校验和。

现象:主机E捕获不到

经过路由器“生存时间”字段的值就会减1,当“生存时间”字段的值减至为0时,路由器将该报文丢弃不进行转发。

设置好,并在过滤器面板启用

PC-C、PC-D、Router-A

Router-A

直接广播地址包含一个有效的网络号和一个全“1”的主机号,一个直接广播的单一拷贝被发送到一个指定网段的网络,它被广播到该网络中的所有终端.

路由器会阻断不同分组中直接广播(路由器没有开启定向广播功能)

PC-C、PC-D、Router-A

PC-E,PC-F

受限的广播地址为255.255.255.255.可以用在计算机不知道自己IP地址的时候,比如向DHCP服务器索要地址时、PPPOE拨号时等。在任何情况下,路由器都不转发目的地址为受限地址的数据报。这样的数据报仅出现在本地的网络中。

127.0.0.1称为环回地址,常用于本机上软件测试和本机上网络应用程序之间的通信地址,分组永远不离开这个机器。

此次传输的ip数据报共分为两片,第一个数据报片的信息如下

第二个数据报片如下

分片数情况记录表

0xd 0xd

0x1 0x0

0x0 0x5c8

1500 1040

不同的分片拥有相同的ID标识字段的可以重新还原为原来的数据报

MF=1,表示后面还有分片

片偏移:0x0表示该分片是整个包的起始位置,0x5c8是第二个分片的起始位置原始数据报的首部被复制到个数据报片的首部,会相应更改有关字段的值

分析:主机B:172.16.1.2 主机C:172.16.1.3 主机D:172.16.1.100

主机B的子网掩码255.255.255.0 网络号为172.16.1

主机C与D子网掩码255.255.255.224 即255.255.255.11100000

那么C的网络号为172.16.1

那么D的网络号为172.16.1.96

过程: (1 )当主机B ping 主机C,B 一开始是不知道C的掩码(C的掩码对B来说是透明的),B就拿自己的掩码255.255.255.0去与C的IP,得到的网络号为172.16.1,主观认为C和自己是同一个网段,那么B直接发送ARP请求,ARP请求的目的IP是172.16.1.3,C接受到ARP请求,查看了用自己的掩码与了一下源IP,也就是B的IP,得到的网络号是172.16.1,和自己同处一个网段,就接受了这个arp请求,向主机B返回自己的Mac地址。那么B,C就可以互通了

(2 )当主机B ping 主机D,B 一开始是不知道D的掩码(D的掩码对B来说是透明的),B想当然的认为D和自己同处一个网段,直接发送arp广播,arp广播的目的ip是D,D接受到arp请求,将自己的掩码与了一下来源ip和自己的ip

发现,不对劲!网段不一致,就拒收,arp解析失败。那么B与D就不可以互通

※拓展一下:

如果我们恢复B,C,D的网关172.16.1.1呢,

我们会发现主机B ping C ping的通

需要知道的是B不会请求网关的mac地址,即不会经过路由器

主机B ping D 仍然ping不通

需要知道的是,从上帝视角来看BD的网段不同,数据会提交给网关,但并不是这样的,不会经过路由器!,在B看来D和自己的网段是一样的!直接向D发送arp请求就可以了

但如果是主机D ping B 呢? 答案:还是ping不通

需要知道的是D对比了一下网段,发现不同,就向网关发送arp 请求,将数据包发送给路由器,路由器器解析到B的地址,将数据报发送给了B,可以肯定的是可以B接受到了D的ICMP报文,但是当B想要回复D时,对比了一下D的IP,这不是和自己一个网段,不会向网关发送arp解析,这就无解了,B解析不到D的地址..........

否[有特殊说明的地方]

否[有特殊说明的地方]

分析: 主机B的IP地址为172.16.1.2 网络号为172.16.1

主机E的ip地址为172.16.0.2,与掩码255.255.255.11100000相与得到的网络号为172.16.0

主机F的ip地址为172.16.0.100,与掩码255.255.255.11100000相与得到的网络号为172.16.0.96

过程: (1 )当主机B ping E,ip地址显然不在同一网段,B向网关发送arp 请求,路由器再向E发送arp请求,E主机对比发送来的arp请求ip发现也和自己一个网段,就接受了arp请求,当E主机回复报文时亦如此

(2)当主机B ping F时,网关就开始解析F的mac地址,然而当向F发送arp 请求时,主机F,并不买账,F用自己的掩码去与了一下来源ip即网关的ip,发现和自己不在同一个网段,便丢弃这个arp请求,使得路由器无法解析成功目的ip的主机

特殊说明一、那么问题来了??????

神奇的事情发生了!!!

你发现:主机F ping B ,答案是: ping通了。理由据前面的分析不难得出(当F 请求网关时,自己的ip和mac就被路由记录了下来)

紧接着:主机B 再次ping F,答案是:ping通了

特殊说明二、注意条件:EF主机连接的是集线器(不是交换机!!),还连接路由器

我再分析一下主机E ping F 什么时候可以ping通,什么时候不可以ping 通?

首先,实验一开始是不可以ping通的,因为数据不会经过网关,两个ip不再同一网段。

后来,我们进行了主机F ping 主机B的操作,使得路由器得知局域网存在F这样一个主机。

简述一下E ping F的流程

发送的ICMP :E ---> hub---> F(丢弃,网段不一致)

|----->Router(路由表有记录) ---->hub---->F(接受) 回来的ICMP :F----> hub---> E(丢弃,网段不一致)

|----->Router(路由表有记录) ---->hub---->E(接受)

这需要分情况来讨论

这要理解网络号不同是否意味着‘’网段不同‘’?

有时候

A的IP地址为10.111.1.1,掩码为255.0.0.0

B的IP地址为10.222.2.2,掩码为255.0.0.0

A和B即使根据掩码算出同属一个10.0.0.0的网络中,也ping不通

相关主题