网络技术--交换机原理/ ARP协议

1.交互机原理及用途

 终端的发包原理:IP ,子网掩码,网关

二层设备的发包原理(二层交换机)

三层设备的发包原理(路由,三层交换机,FW)(路由表和网关地址)

 

在同一网络内只通过终端设备自己的网卡,和路由器的三层接口来构造同一网络,网络内放不了几个设备。

交换机的本质是做同一网络的端口扩展,比如说下面的24口交换机

这样网络内就可以放至少20台设备了,而且都在同一网络内。(当然这样会有太多报文,需要使用 vlan做广播隔离,这个就不赘述了)(类似于USB hub 扩展坞)

① 交换机功能:同一网络内的端口数量扩展

② 交换机的工作原理

   交换机的处理内容:数据帧(检查数据的二层头部 ---检查数据的源mac地址和目的mac地址)

 判断数据从 哪里来 到哪里去。

我们用一个普通组网去模拟

 

 注意,我们在使用192.168.1.1 ping 1.2 之前交换机里面的mac地址表是没有内容的。

这里需要补充有关交换机mac地址表的一些相关知识。

mac地址表是缓存表,默认保存5分钟,之后就会被系统删除。

两设备之间ping通过一次后,mac地址表才会将它们的消息写入表中

我们用PC1 ping  PC3,然后在查询结果,就可以看到mac地址表中的mac地址了

mac地址 558a连接的是G0/0/1口,7f2c连接的是G0/0/2口和拓扑图是一致的

mac表的转发 

关于这个mac地址表,它就可以指导交换机的数据转发方向,比如说如果报文显示目的mac地址是5489-9834-7f2c  ,那么数据肯定就会向G0/0/2口转发出去。

这个时候就要考虑另一种情况了,就是表中没有对应mac地址的情况,如果地址中没有,就会将数据包泛洪到相同vlan号的端口(就是发送到所有相同vlan号的端口)。

交换机处理的是报文的数据帧,会根据报文数据帧里面的mac地址进行转发,但是不涉及到IP地址(二层数据,不涉及到三层)

因此,我们可以说大部分交换机转发的问题都是硬件问题,因为理论上所有数据都可以转发出去,配置问题导致的可能性不大

 

我们在考虑一个场景,增加了一台PC后,这个时候查询mac地址表

这个时候再查询,就会发现不仅没有PC4的mac地址,也没有PC1和PC3的。

PC1和PC3的mac地址因为时间过了5分钟后,缓存被清除了。PC4是因为还没有进行过ping操作,没有走过数据

mac表的记录

 那交换机的mac地址表是怎么记录的,这个就和交换机接受的数据有关,以PC1 PING PC3举例,交换机接受到PC1发过来的数据包,它就会记录G0/0/1口收到了来再源MAC地址558a的数据包,那么它就会将其记录到mac表中,其他的类似。

接下来我们讲一下ARP协议

ARP协议 ----地址解析协议

                   通过目的地址的IP解析出目标的MAC地址

为什么要通过IP解析出目标的MAC地址,以下面的操作举例。

我们执行ping的时候,只知道要去目的IP地址是192.168.1.2,但是肯定不知道这个IP地址对应mac地址的。

 一个数据包要发送出去,需要知道四个参数

    源mac  :54-89-98-D5-55-8A

    目的mac : ?

    源IP   : 192.168.1.1

    目的IP :192.168.1.2

当我们执行ping 操作的时候,我们是知道三个数据的,这个时候我们还需要知道目的mac,这种情况下数据包是没法发送出去的。

那怎么搞到目的IP,这个时候就需要使用ARP协议了

 

ARP协议的使用

ARP协议是通过广播数据帧来获取到目标IP的mac地址,它也是通过发送报文来获取的,它发送的报文对应四个参数。MAC地址的广播帧就是 FF-FF-FF-FF-FF-FF

这个发送的报文就是ARP请求报文 arp --- request(请求)

 

    源mac  :54-89-98-D5-55-8A

 

    目的mac : FF-FF-FF-FF-FF-FF

    源IP   : 192.168.1.1

 

    目的IP :192.168.1.2

 

交换机mac地址表中没有全F的mac地址表项,那么它就会泛洪。

 

所有接受到这个报文的PC首先检查二层数据,发现是FF,然后就解析三层数据,和IP地址做对比,192.168.1.2会接收,其他PC都会抛弃。

PC3接受之后就会返回应答包

这个发送的报文就是ARP请求报文 arp --- reply(应答)

因为请求包里面有源mac地址,所以应答包是知道目的mac地址的

    源mac  :54-89-98-34-7F-2C

    目的mac : 54-89-98-D5-55-8A

    源IP   : 192.168.1.2

    目的IP :192.168.1.1

等到PC1接受到PC3返回的arp应答报文之后,PC1就知道了PC3的mac地址了。

 和ARP协议报文是一致的

 

之后我们就可以执行ping操作了,也就是ICMP协议

 

我们通过arp协议获取到对端的mac地址之后,我们会再电脑生成一个ARP表。注意 这个表和二层交换机上的mac地址表不是一个表,它们有个共同点,就都是缓存表,保存一段时间就会清除掉

这个表的作用是,你做了一次ARP解析后,可以保存目标IP的mac地址,减少重复的arp解析操作。长期不使用这个地址,就会把它清除掉

 交互机不作为一个通信的接受或者发送方,那么交换机就不会也没有必要存在arp表,(但是交换机也可以产生arp表,如果我们把交换机作为三层设备去使用,比如说设置vlanif地址之后去ping 其他的电脑,那么在三层,注意是三层交换机上就会产生arp表)

 

posted @ 2024-01-20 17:31  嵌入式新手  阅读(50)  评论(0)    收藏  举报