交换机、路由器工作原理难理解?通过WireShark抓包就搞定了

描述

一、集线器(hub)

1、首先在eNSP下配置环境:

交换机


2、在PC1执行ping命令

 

ping 192.168.1.2 -c 3

 

在抓包点PC3的Ethernet 0/0/1上抓包

交换机


3、由上可以看出,集线器可以看作是一根粗网线,它适用CMSA/CD协议,所有报文通过广播发送。它不划分冲突域和广播域,整个集线器就是一个冲突域、广播域,当PC1发送报文时候,整个网络被PC1占用,PC2与PC3处于等待状态,PC1、PC2、PC3共享hub的总带宽。

二、交换机(switch)

1、在eNSP下配置环境2(点击下载)

交换机


LSW1上执行命令,查看交换机CAM(Content Addressed Memory)表,结果为空。

 

display mac-address

 

2、在LSW1的Ethernet 0/0/3与Ethernet 0/0/2同时抓包,在PC1执行命令

 

ping 192.168.1.22 -c 3

 

Ethernet 0/0/3抓包结果

交换机


Ethernet 0/0/2抓包结果

交换机


3、由此可见,交换机对广播报文有转发功能,当某端口收到广播报文时,交换机会将广播报文转发到每一个端口上。因此,整个交换机是一个广播域,但每个接口划分一个冲突域,因此每个端口的带宽和交换机标示带宽相同。arp中间人攻击发包过程就是利用这个原理,攻击者发送arp响应的广播包,让交换机每个端口上的设备都能收到响应包,从而对局域网中的所有用户进行欺骗和监听。

4、交换机背板带宽,是交换机接口处理器或接口卡和数据总线所能吞吐的最大数据量。背板带宽标志了交换机总的数据交换能力,也叫交换带宽。总带宽=端口数*相应的端口速率*2(全双工模式)。如果背板带宽大于等于总带宽,背板带宽就是就是线速带宽。

5、此时在交换机执行display mac-address查看CAM表,发现交换机已经学习到端口连接设备的mac地址。

 

[Huawei]display mac-address MAC address table of slot 0: ------------------------------------------------------------------------------- MAC Address    VLAN/       PEVLAN CEVLAN Port            Type      LSP/LSR-ID                  VSI/SI                                              MAC-Tunnel   ------------------------------------------------------------------------------- 5489-985d-6c6a 1           -      -      Eth0/0/2        dynamic   0/-          5489-9817-3c65 1           -      -      Eth0/0/1        dynamic   0/-          ------------------------------------------------------------------------------- Total matching items on slot 0 displayed = 2 

 

6、二层交换机的工作流程:

(1)当交换机从某个端口收到一个数据包,它先读取包头中的源MAC地址,这样就知道源MAC地址来自哪个端口。

(2)分析数据包所包含的目的MAC地址,并在地址表中查找是否有相对应的端口。

(3)如果在表中查询到有与这个目的MAC地址对应的端口,把数据包直接复制到这个端口上。

(4)如果未能在表中查到相应的端口,则交换机广播该数据包;如果网络内有该目的主机,则对该包进行回应;而交换机记录该MAC地址对应哪个端口。将来一段时间内,就不需要对此类数据进行广播了。

(5)不断重复上述过程,则全网的MAC信息和端口对应关系就可以建立起来。

三、路由器(router)

1、配置环境2

交换机


在AR1上执行命令查看路由表

 

[Huawei]display ip routing Route Flags: R - relay, D - download to fib ------------------------------------------------------------------------------ Routing Tables: Public          Destinations : 10       Routes : 10        Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface       127.0.0.0/8   Direct  0    0           D   127.0.0.1       InLoopBack0       127.0.0.1/32  Direct  0    0           D   127.0.0.1       InLoopBack0 127.255.255.255/32  Direct  0    0           D   127.0.0.1       InLoopBack0     192.168.1.0/24  Direct  0    0           D   192.168.1.1     GigabitEthernet 0/0/0     192.168.1.1/32  Direct  0    0           D   127.0.0.1       GigabitEthernet 0/0/0   192.168.1.255/32  Direct  0    0           D   127.0.0.1       GigabitEthernet 0/0/0     192.168.2.0/24  Direct  0    0           D   192.168.2.1     GigabitEthernet 0/0/1     192.168.2.1/32  Direct  0    0           D   127.0.0.1       GigabitEthernet 0/0/1   192.168.2.255/32  Direct  0    0           D   127.0.0.1       GigabitEthernet 0/0/1 255.255.255.255/32  Direct  0    0           D   127.0.0.1       InLoopBack0

 

2、在PC1执行命令

 

PC>ping 192.168.2.22 -c 3 Ping 192.168.2.22: 32 data bytes, Press Ctrl_C to break Request timeout! From 192.168.2.22: bytes=32 seq=2 ttl=127 time=78 ms From 192.168.2.22: bytes=32 seq=3 ttl=127 time=78 ms

 

3、在GE0/0/0和GE0/0/1同时抓包
GE0/0/0抓包结果,mac地址为PC1–>GE0/0/0

交换机


GE0/0/1抓包结果,mac地址为GE0/0/1–>PC4

交换机


4、由此可见,数据包在经过路由器后,只是改变了源地址到目的地址的mac地址,ip地址则不变,因此,我们在溯源过程中,一般情况下,在HIDS中查看数据报的mac地址并没有实际意义,其很可能是传输过程中的路由器的端口mac地址。

5、路由器还有一个重要功能,其为了应对各种网络最大数据包大小(如以太网1518字节),对数据包进行“拆打”,即分段和组装。

6、三层交换机与路由器的区别,路由器是无连接的设备,要对数据包进行“拆打”,导致路由器吞吐量有限,容易形成网络瓶颈,路由转发效率要比二层转发效率低。因此三层交换机出现,弥补这一不足,其既利用了二层转发高效的优点,又实现了处理三层ip数据包的能力。只对数据包第一个包进行拆包,即路由一次,多次交换。

来源:公众号【网络技术干货圈】

作者:圈圈

ID:wljsghq

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分