三层交换原理图解

news/2024/11/16 13:54:54/

(一)大家常常听到的“一次路由,多次交换”,可以简单的理解为:在完成对收到的第一个新数据流进行路由后,产生一个MAC地址与IP地址的映射表,当具有相同地址信息的数据流再次通过时,即根据此表直接在二层完成转发。

 

(二)下面以一个例子,解释三层交换机的转发原理。

 

如图1所示,该组网内,通信的源主机、目的主机连接在同一台三层交换机上,但它们位于不同VLAN(网段)。

 

对于三层交换机来说,这两台主机都位于它的直连网段内,它们的IP对应的路由都是直连路由。

                 

                                    图1    三层转发组网1

 

图1中标明了两台主机(A、B)的MAC、IP地址、网关,以及三层交换机S3600的MAC、不同VLAN配置的三层接口IP。

源主机:    简称PC A        |      MAC地址 简称MAC A    |      IP 1.1.1.2    |      网关1.1.1.1                    

目的主机: 简称PC B        |      MAC地址 简称MAC B    |      IP 2.1.1.2    |      网关2.1.1.1                         

交换机:  简称S3600      |      MAC地址 简称MAC S    |      VLAN2三层接口IP        1.1.1.1

                                                                                             VLAN3三层接口IP        2.1.1.1

 

(三)当 PC A 向 PC B 发起ICMP请求(ping)时,数据交换的过程如下:(假设三层交换机上还未建立任何硬件转发表项,此次交换为首次)

(1) 根据前面的描述,PC A检查出目的IP地址2.1.1.2(PC B)与自己不在同一网段,因此它发出请求:请求网关地址1.1.1.1对应MAC的ARP请求;

(2) 三层交换机S3600收到PC A的ARP请求后,检查请求报文发现被请求IP是自己的三层接口IP,因此发送ARP应答并将自己的三层接口MAC(MAC S)包含在其中。同时它还会把PC A的IP地址与MAC地址对应(1.1.1.2<==>MAC A)关系记录到自己的ARP表项中去(因为ARP请求报文中包含了发送者的IP和MAC);

(3) PC A得到网关(S3600的VLAN2 1.1.1.1)的ARP应答后,组装ICMP请求报文并发送,源MAC=MAC A、源IP=1.1.1.2、报文的目的MAC=MAC S、目的IP=2.1.1.2;

(4) S3600收到报文后,首先根据报文的源MAC+VID(即VLAN ID)更新MAC地址表。然后,根据报文的目的MAC+VID查找MAC地址表,发现匹配了自己三层接口MAC的表项。(这里说明一下,在BCM的chip中,MAC地址条目可以简单分为两种:一种是交换机通过收取报文时源MAC地址的学习。第二种是当为三层交换机为VLAN配置三层接口IP后,会在交换芯片的MAC地址表中添加三层接口MAC+VID的表项,并且为表项的三层转发标志置位。当报文的目的MAC匹配这样的表项以后,说明需要作三层转发,于是继续查找交换芯片的三层表项)

(5) 交换芯片根据报文的目的IP去查找其三层表项,由于之前未建立任何表项,因此查找失败,于是将报文送到CPU去进行软件处理;

(6) CPU根据报文的目的IP去查找其软件路由表,发现匹配了一个直连网段(PC B对应的网段),于是继续查找其软件ARP表,仍然查找失败。然后S3600会在目的网段对应的VLAN 3的所有端口发送请求地址2.1.1.2对应MAC的ARP请求;

(7) PC B收到S3600发送的ARP请求后,检查发现被请求IP是自己的IP,因此发送ARP应答并将自己的MAC(MAC B)包含在其中。同时,将S3600的IP与MAC的对应关系(2.1.1.1<==>MAC S)记录到自己的ARP表中去;

(8) S3600收到PC B的ARP应答后,将其IP和MAC对应关系(2.1.1.2<==>MAC B)记录到自己的ARP表中去,并将PC A的ICMP请求报文发送给PC B,报文的目的MAC修改为PC B的MAC(MAC B),源MAC修改为自己的MAC(MAC S)。同时,在交换芯片的三层表项中根据刚得到的三层转发信息添加表项(内容包括IP、MAC、出口VLAN、出端口),这样后续的PC A发往PC B的报文就可以通过该硬件三层表项直接转发了;

(9) PC B收到S3600转发过来的ICMP请求报文以后,回应ICMP应答给PC A。ICMP应答报文的转发过程与前面类似,只是由于S3600在之前已经得到PC A的IP和MAC对应关系了,也同时在交换芯片中添加了相关三层表项,因此这个报文直接由交换芯片硬件转发给PC A;

(10) 这样,后续的往返报文都经过查MAC表=>查三层转发表的过程由交换芯片直接进行硬件转发了。

从上述流程可以看出,三层交换机正是充分利用了“一次路由(首包CPU转发并建立三层硬件表项)、多次交换(后续包芯片硬件转发)”的原理实现了转发性能与三层交换的完美统一。


http://www.ppmy.cn/news/155434.html

相关文章

华三S3600v2链路聚合兼容性问题

S3600-1702静态汇聚端口的LACP协议为开启状态&#xff0c;禁止用户关闭静态汇聚端口的LACP协议。如果进入成员端口通过undo lacp enable尝试关闭LACP协议会报错。 S3600V2-21XX在静态聚合模式下&#xff0c;聚合组内的成员端口上不启用LACP协议&#xff0c;并且没有相应的命令可…

什么是吞吐量

吞吐量&#xff08;也称为整机包转发率&#xff09;是指网络、设备、端口或其他设施在单位时间内成功地传送数据的数量&#xff08;以比特、字节等为测量单位&#xff09;&#xff0c;也就是说吞吐量是指在没有帧丢失的情况下&#xff0c;设备能够接收并转发的最大数据速率。 …

H3C的发展历史和与华为的关系

H3C是杭州华三通信技术有限公司&#xff0c;也被常常称为华三。H3C的前身是华为3COM&#xff08;华为三康&#xff09;公司&#xff0c;是华为与美国的3COM公司的合资公司。 华为3COM公司的诞生还要和2003年华为公司与cisco公司在美国的一场官司有关&#xff0c;2001年IT泡沫破…

H3C交换机的命名规则

在企业局域网中&#xff0c;根据设备在网络中所处的位置&#xff0c;可以把整个局域网划分为三层&#xff1a;核心层、汇聚层、接入层。 H3C交换机的命名规则 分为8个部分&#xff0c;用一个例子说明&#xff1a; e.g. H3CS5500-28C-EI H3CS5500-28C-EI品牌子产品系列产品子…

68000

架构 [编辑] 地址总线 68000地址总线为24位&#xff0c;故支持16MB最大物理内存。在使用32位长字对地址进行存储和计算时&#xff0c;高位的一个字节会被自动忽略。这种设计使得其具备相当的向前兼容性&#xff0c;可以直接运行为后续的纯32位CPU编写的软件。也因此&#xff…

华三S3600三层交换机和路由的连接

之前有研究&#xff0c;华三S3600三层交换机和普通路由的连接&#xff0c;后来发现是普通路由的问题 http://bbs.51cto.com/thread-731909-1.html 以上用高级路由做连接&#xff0c;也是一样简单成功. 这个连接方法简单&#xff0c;但有个缺点&#xff0c;路由只能管理跟路由同…

H3C交换机、路由器常用配置命令大全

H3C交换机配置命令大全 1、system-view 进入系统视图模式 2、sysname 为设备命名 3、display current-configuration 当前配置情况 4、 language-mode Chinese|English 中英文切换 5、interface Ethernet 1/0/1 进入以太网端口视图 6、 port link-type Access|Trunk|Hybrid 设置…

h3c s3600 配置ssh server

此为一种方法&#xff0c;还有其他的方法&#xff0c;如果已经配置过telnet登录的&#xff0c;我感觉这样简单 1&#xff0c;先创建用户&#xff0c;系统的就好 local-user huawei password huawei service type ssh level 3 2,配置用户接口 user-interface vty 0 4 authentic…