我是靠谱客的博主 淡定睫毛,最近开发中收集的这篇文章主要介绍计算机网络二轮强化(三个重要的表)转发表的建立过程ARP表建立的过程(地址解析协议)路由表的建立过程三张表的串联,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
文章目录
- 转发表的建立过程
- ARP表建立的过程(地址解析协议)
- 路由表的建立过程
- 距离向量算法
- 三张表的串联
转发表的建立过程
转发表中保存的地址是MAC地址
转发表建立的思路:
- 网桥根据发送过来的帧来确定是从我的哪个端口过来的,并且把这个发送过来的帧的地址绑定的写在我这个网桥的转发表中。
- 例如:A给E发送数据,B1网桥的接口1接收到了A发送的数据帧,那么B1就把这个物理地址和接收接口绑定起来,也就是写到转发表当中,便于以后给给发送数据。意思就是说,如果以后有主机要给A发送数据帧,经过了网桥B1,这时网桥B1的转发表中正好有A的地址,那么这个帧通过B1的接口1正确地发送给A
ARP表建立的过程(地址解析协议)
ARP:Address Resolution Protocol
ARP协议解决吓一跳走哪的问题
对于每一个主机or路由器,他们都会有一个ARP高速缓存,可以把他想象成一个仓库,这个仓库中存放着这个局域网内部(路由器分隔区域内)每一个IP地址与MAC地址的映射(自我理解:路由器隔离局域网)
- 主机A向主机B发送一个pdf文件
- 在传输层,要将这个大的报文分段,形成传输层的传输单元
- 在网络层,1号报文段要加两个地址,一个源主机A的IP地址ip1,一个是目的主机的IP地址ip3
其中,源主机的IP地址ip1肯定是知道的,而目的主机的IP地址ip3是根据传输层的DNS得到- 这样在网络层就完成了一个封装,从报文段形成了一个IP数据报,也可以称之为分组
- 分组通常指的是IP数据报分片后的结果,之所以要分片,是因为可能要传输的这个链路,它的链路层协议规定了最大传输单元MTU,要根据这个MTU来决定要不要在网络层进行分片。
- 分组传送到数据链路层,就要加上源主机物理地址MAC1,还要加上一个目的物理地址。
如果这个目的主机在一个网络内的话,就应该将这个目的主机的MAC地址封装到数据链路层的帧内- 但是起初我们并不知道目的主机的MAC地址,这时候,就需要通过ARP协议来找到这个目的MAC地址
- 经过ARP协议,就会知道目的IP地址,那么链路层就加上MAC3,顺便加上帧检验序列FCS,构成一个完整的链路层传输单元
- 接下来这个数据帧就可以放在物理层进行传输
ARP协议的具体过程:
- 首先要广播一个ARP的分组请求,也就是说,源主机要发送一个数据帧,
这个数据帧(ARP请求分组)包括这几个部分:自己的IP、目的IP,自己的MAC以及一个全1的MAC地址(为了广播)。大致意思就是广播一个消息(我的IP地址是IP1,我想要给IP地址为IP3的主机发送一个信息,我的MAC地址是MAC1,请问IP地址为IP3的主机,你的MAC地址是多少呢)- 这个ARP请求分组从源主机发送出去后,经过集线器到了交换机这儿,
这个交换机正常是不会无脑转发任何一个分组的,但如果是广播分组的话, 那么交换机会将这个广播分组从交换机的所有的端口转发出去,主机2号、3号以及路由器的左端口都会收到这个源主机发来的ARP请求分组.- 3号主机接收到这个ARP请求分组之后,知道1号主机要和自己说话,那么3号主机就会返回一个响应分组(单播)。告诉1号主机自己的MAC地址
- 其余两个设备,主机2和路由器,因为知道主机A并不是要和自己说话,所以不做任何响应
对于源主机和目的主机不在一个局域网内(中间有路由器分离)的情况,如何获取MAC地址?
例如,当主机1要给主机5发送信息:
- 主机1的ARP缓冲只能保存自己所在的这个局域网内(就是没有被路由器分隔)的设备的IP地址与MAC地址的映射
- 所以说主机5的IP地址与MAC地址的映射肯定是不在主机1的这个ARP高速缓存当中的
- 那么1号主机就会进行这样一个操作:先用自己的子网掩码与目的IP地址ip5相与一下,看看目的主机是不是在自己的这个网段内,结果1号主机发现主机5和自己不是在一个网段内
- 这时候,1号主机就会寄希望于默认网关IP6,默认网关其实就是这个路由器,就是他与外界进行通信的路由器。这个路由器就像一个关口,每个主机他都清楚自己的默认网关的IP地址,它会发送一个ARP请求分组给IP6,
- 这个分组的大致意思就是说,1号主机发送一个分组说:我的IP地址是IP1,我想要知道IP6的MAC地址,我的MAC地址是MAC1,那请问我的默认网关,你的MAC地址是多少,
- 默认网关知道主机1在和自己说话,就会单播返回一个分组:
告诉1号主机:我的IP地址是IP6,我的MAC地址是MAC6。- 之后链路层就会将MAC6这个物理地址封装进去,同时加上帧检验序列FCS
- 发送到路由器6之后,路由器6和路由器7进行通信,IP地址是始终不变的,但是MAC地址需要变换
路由器7和8在进行通信的时候,应该使用的是点对点式的通信,PPP协议中,目的地址是全1的,也就是说MAC8应该是全1,如果不是点对点,那就应该填路由器8的的MAC地址MAC8- 从路由器9发送到主机5:
- ARP表维护的是IP地址与MAC地址的映射
- ARP表的建立过程
先广播,再单播- ARP表示动态的10-20分钟更新一次
路由表的建立过程
- 默认路由:当我在自己的路由表当中找不到对应的目的网络的时候,我就走默认路由,这个默认路由就把子网掩码和目的网络IP地址全填0。
- 默认路由其实就是一个路由器
距离向量算法
三张表的串联
A:表示主机 B:表示百度的服务器
A如果要访问百度的服务器www.baidu.com
- 在主机A上输入www.baidu.com,这是百度的域名
通过DNS解析到目的IP地址
网络层分组封装上源IP和目的IP地址,传给下一次链路层- 链路层在原本的基础上,附加上链路层的控制信息,主要就是加源MAC和目的MAC地址
通过ARP找到目的IP的MAC地址
同时交换机收到A的信息之后,由于交换机的转发表中没有关于A的信息,转发表中会将主机A与交换机的左接口绑定
当然路由器在给A返回一个单播的响应分组时,也要经过交换机,这时候,还要将路由器的MAC地址与交换机的右接口绑定- 主机A将要传送的数据发给路由器,接下来路由器再将这个信息数据发给B
- 路由器向B发送数据的步骤同上面是一样的
最后
以上就是淡定睫毛为你收集整理的计算机网络二轮强化(三个重要的表)转发表的建立过程ARP表建立的过程(地址解析协议)路由表的建立过程三张表的串联的全部内容,希望文章能够帮你解决计算机网络二轮强化(三个重要的表)转发表的建立过程ARP表建立的过程(地址解析协议)路由表的建立过程三张表的串联所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复