1、IP协议和ICMP协议 这是主机B发出的ip数据报 这是E接受到的IP数据报 观察 :TTL 128 à TTL127 结论 : 变化的字段有:“生存时间”和“首部校验和”。 原因:主机B为路由器,数据包每经过一路由器“生存时间”字段的值就会减1,并重新计算校验和。 现象:主机E捕获不到 经过路由器“生存时间”字段的值就会减1,当“生存时间”字段的值减至为0时,路由器将该报文丢弃不进行转发。 设置好,并在过滤器面板启用 PC-C、PC-D、Ro
2、uter-A Router-A 直接广播地址包含一个有效的网络号和一个全“1”的主机号,一个直接广播的单一拷贝被发送到一个指定网段的网络,它被广播到该网络中的所有终端. 路由器会阻断不同分组中直接广播(路由器没有开启定向广播功能) PC-C、PC-D、Router-A PC-E,PC-F 受限的广播地址为255.255.255.255.可以用在计算机不知道自己IP地址的时候,比如向DHCP服务器索要地址时、PPPOE拨号时等。在任何情况下,路由器都不转发目的地址为受限地址的数据报。这样的数据报仅出现在本地的网络中。
3、 127.0.0.1称为环回地址,常用于本机上软件测试和本机上网络应用程序之间的通信地址,分组永远不离开这个机器。 此次传输的ip数据报共分为两片,第一个数据报片的信息如下 第二个数据报片如下 分片数情况记录表 0xd 0xd 0x1 0x0 0x0 0x5c8 1500 1040 不同的分片拥有相同的ID标识字段的可以重新还原为原来的数据报 MF=1,表示后面还有分片 片偏移:0x0表示该分片
4、是整个包的起始位置,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
5、 )当主机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和自己同处
6、一个网段,直接发送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和自己的网段是一
7、样的! 直接向D发送arp请求就可以了 但如果是主机D ping B 呢 ? 答案:还是ping不通 需要知道的是D对比了一下网段,发现不同,就向网关发送arp请求,将数据包发送给路由器,路由器器解析到B的地址,将数据报发送给了B,可以肯定的是可以B接受到了D的ICMP报文,但是当B想要回复D时,对比了一下D的IP,这不是和自己一个网段,不会向网关发送arp解析,这就无解了,B解析不到D的地址.......... 是 否[有特殊说明的地方] 否[有特殊说明的地方] 是 是 分析: 主机B的IP地址为1
8、72.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时,网关就开始解析
9、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 什么时候可以pi
10、ng通,什么时候不可以ping通? 首先,实验 一开始是不可以ping通的,因为数据不会经过网关,两个ip不再同一网段。 后来,我们进行了主机F ping 主机B的操作,使得路由器得知局域网存在F这样一个主机。 简述一下E ping F的流程 发送的ICMP :E ---> hub---> F(丢弃,网段不一致) |----->Router(路由表有记录) ---->hub---->F(接受) 回来的ICMP :F----> hub---> E(丢弃,网段不一致) |----->Router(路由表有
11、记录) ---->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不通 这时,即使两台主机网络号不同也是可以通信的 注意扩大子网掩码,与缩小子网掩码使用
12、 主机 E F接收到了包, 主机E发送了响应包 Type=0x8表示发送请求的报文,code=0x0 Type=0x0表示回复的报文,code=0x0 标识和序号保证回显请求报文与回显应答报文一一对应 Type=0x3表示目的不可达报文,code=0x1 Type=0xB表示超时报文,cod
13、e=0x0 (1)IP地址放IP数据报的首部,而硬件地址则放在MAC帧的首部;在网络层和网络层以上使用IP地址,数据链路层及以下使用硬件地址。 (2)为什么要使用这两种不同的地址,是因为在因特网上,是使用IP地址独一无二的标识每个主机(或路由器),但在发送数据时,使用IP地址的IP数据报向下要交给数据链路层,被封装成MAC帧,而MAC帧在具体的物理网络(如局域网)中传送时使用的是物理地址。连接在通信链路上的设备(主机或路由器)在接收MAC帧时,其根据是MAC帧首部中的硬件地址。只有在剥去MAC帧首部和尾部后将MAC层的数据上交给网络层,网络层才能在IP数据报中找到源IP地址和目的IP地址。 限制失效报文为了减少网络流量,再产生一个报文一般是报告错误状态,网络管理一般要得到这个参数 12 / 12






