day14、2 - 路由原理

一、路由基本原理

1.网络拓扑图

  • 现在有一台MAC地址为AA、IP为10.1.1.1的PC,向MAC地址为II、IP为40.1.1.1通信
image-20211102135755489

能配IP的接口才有MAC地址,所以交换机是没有MAC地址的,而路由器和PC的接口有MAC地址

2.AA向II通信过程说明

1)AA主机发送ARP请求报文
  • AA将发送的信息从应用层发到传输层,传输层添加TCP/UDP头封装好传输到网络层;网络层将10.1.1.1作为源IP、40.1.1.1作为目标IP,为数据段封装好IP包头,再传输到数据链路层;数据链路层收到报文后先判断目标IP与自己的IP是否在同一网段:如果在同一网段,则第三层会直接发送ARP请求报文,直接询问目标IP主机的MAC地址;如果不在同一网段,则需要请求网关。而此时在封装帧头时,以网关的MAC地址(未知)作为目标MAC,以AA作为源MAC地址。此时会先查看本机的ARP缓存中是否有网关的MAC地址:如果有则将缓存中的网关MAC地址作为目标MAC地址;如果没有则第三层会通过ARP协议生成ARP请求报文:我是10.1,我的MAC为AA,谁是10.254,你的MAC地址为?然后发送到第二层,以FF-FF-FF-FF-FF-FF作为目标MAC地址,AA为源MAC地址,封装好由网卡发送出去,经过交换机
2)交换机将帧广播
  • 交换机收到后先根据帧中的源MAC地址形成或更新自己的MAC地址表(学习),此处假设交换机已经学习完成,MAC地址表已经完整,那么则会根据目标MAC为广播MAC地址将此帧向除AA方向以外的所有端口转发此帧
3)网关发送ARP单播应答
  • 当网关收到此帧后,查看目标MAC地址是广播MAC,则会(贪婪的)将帧解封装送到第三层通过ARP解析到报文内容中的IP是自己,于是会通过ARP协议生成ARP单播应答,内容为:我是10.254,我的MAC地址为CC。然后将报文传送到第二层封装成帧,目标MAC地址为AA,源MAC地址为CC,再经过交换机,交换机做同样的工作,再传送给AA主机
4)AA主机将信息发送给网关
  • AA主机收到ARP应答后,查看目标MAC地址自己,于是解封装送到第三层,通过ARP协议将报文解析,获取得到网关的MAC地址,然后存放到ARP缓存中。此后将收到的网关的MAC地址作为目标MAC地址封装到帧头中,那么完整的帧就形成了:目标MAC为CC,源MAC为AA,源IP为10.1,目标IP为40.1…。于是将帧从网卡发出,听过交换机传送到网关。
5)路由原理
  • 当网关收到帧后,先看目标MAC地址是否为自己:不是且不是广播地址则丢弃;是则解封装将数据送到路由器内部,路由器根据路由表匹配,如果匹配失败则丢弃,并向源IP回馈错误信息(这个功能可给路由器设置);如果匹配成功,匹配到40.1.1.0网段应该从DD接口转发,于是将报文路由到DD接口封装帧头帧尾,源MAC为DD,目标MAC为下一跳IP端口的MAC,也是先查看ARP缓存表中是否有20.2端口的MAC地址:如果有则直接将缓存中的MAC地址作为目标MAC地址转发出去;如果没有则会先发送ARP请求广播,内容为:我是20.1,我的MAC地址为DD,谁是20.2,你的MAC地址为?在由端口封装好帧头帧尾,以FF-FF-FF-FF-FF-FF作为目标MAC地址,源MAC地址为DD,将帧从DD端口发送出去

  • EE端口收到后会解封装通过ARP协议解析到ARP请求广播报文中的内容,于是会生成ARP单播应答报文,封装好后发送给DD端口

  • DD端口收到后,匹配目标MAC地址是自己,则会解封装,再通过ARP协议解析ARP单播应答报文中的内容,得到20.2端口的MAC地址为EE形成ARP缓存,接着将EE作为目标MAC地址,DD为源MAC,帧的其他内容不变,源IP还为10.1,目标IP为40.1,然后将帧转发到EE端口。

    后面途径的一个路由器路由原理同上


  • 接着当OO端口收到帧后,发现目标MAC地址为自己,则会解封装,将报文送到路由器内部,通过匹配路由表,恰好目标IP的40.1的网段就与自己的HH端口直连,于是将报文路由到HH端口进行封装,由于还没有40.1主机的MAC地址,所以也是先要发送ARP广播请求,封装好后发送到交换机,交换机再根据MAC地址表广播帧

  • II主机收到此帧解封装后会发送ARP单播应答,于是再途径交换机将帧转发到网关40.254

  • 网关得到40.1主机的MAC地址后会形成ARP缓存,再将得到的MAC地址II做为目标MAC地址,HH为源MAC地址,帧的其他内容还是保持不变(与最初AA主机封装好的一致):源IP为10.1,目标IP为40.1…封装好后从HH端口发送出去

6)II收到消息
  • 途径交换机根据MAC地址表将信息转发到II主机,主机收到后查看MAC地址是自己,于是解封装送到第三层,第三层通过IP协议再得到目标IP为自己,于是依次再向上解封装,最终得到AA发给II的信息

二、为何广播只能在局域网内传播

  • 根据广播的内容和路由器的路由原理来理解:比如我们学过的ARP广播,它是由三层的ARP协议生成的一个广播报文,ARP请求广播报文的内容为:我是10.1.1.1,我的MAC为AA,谁是10.1.1.2,你的MAC地址为;ARP单播应答报文为:我是10.1.1.2,我的MAC地址为BB。然后报文再送到第四层,封装帧头帧尾,形成一个完整的帧。
  • 由于路由器的路由原理是将收到的帧解封装得到第三层的IP包头中的源IP和目标IP,由目标IP根据路由表将帧转发。而ARP广播报文中没有目标IP和源IP的结构,即路由器无法得知你要去哪里,自然就无法将广播路由到外网。
  • 所以广播只能在局域网内传播,无法出外网
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值