交换机基础及二三层转发学习笔记自由飞翔的胖子

是一种用于电(光)信号转发的网络设备。它可以为接入交换机的任意两个网络节点提供独享的电信号通路。常见的交换机是以太网交换机。

在写了一段关于分类什么的,发现这个分类其实不太重要,大概上就时广义上区分以及传输方式、传输速率什么的来分类。

2、主要用途

主要功能就是物理编址、网络拓扑结构、错误校验、帧序及流控、VLAN(虚拟局域网)、链路聚合等功能。

3、转发原理

个人认为交换机中,搞清楚转发原理是十分重要的,后期针对交换机的开发中,你要知道你开发的功能是在那一层工作的,具体是实现什么的。

首先就是知道网络的七层模型。当然有时候也会说是五层模型。他们在本质上就是一样的。只不过七层中有三层对应的是一层

应用层:各协议HTTP、TFTP,FTP,NFS,WAIS、SMTP。同时负责解码和建立连接

传输层:TCP/UDP

网络层:以网络层的地址作为数据包在多个多个端口间交换的依据(HTTP、TFTP,FTP,NFS,WAIS、SMTP)。代表设备是路由器、三层交换机

数据链路层:以数据链路层的地址作为数据帧在多个端口间交换的依据。代表设备是二层交换机

物理层:主要用于电信号放大,以增加传输距离。注意:在一层中不存在交换这概念。代表设备是HUB(集线器,是一个多端口转发器)。

交换机的转发要区分是二层还是三层转发。两者转发依据不同,处理的方式也就有所不一样。

交换机的二层转发

1.查找MAC转发表处理转发

2.对于表中不包含的地址,通过广播的形式转发

3.使用地址自动学习和老化机制进行地址表维护

4.一般不对帧格式将进行修改

二层转发主要是基于MAC地址。就是说交换机会学习并形成一张MAC地址表、然后根据表中数据来建立连接转发。具体如下

TAG包检查------》ingress过滤---------》源MAC检查(包含学习)-------》目的MAC检查

1.从端口进入交换芯片的包首先检查TAG,判断是否带标记,对于untagged或prioritytagged报文,根据系统配置打上tag,VLANID从下列表获取:基于MAC,子网(subnet),协议(protocol),端口(port)的VLAN表(*-basedtable)

2.对于tagged报文,VLANID直接从报文中提取

3.经过以上两步,此时报文已经变成tagged报文,根据文中VLANID查VLAN表,若查到,则进行STP处理,VLANportbitmap处理以及PFM(portfileteringmode)处理;若查不到,报文丢弃或上送CPU

4.进入MAC学习阶段,基于源MAC+VLANID以及查L2表(L2-ENTRY),若找到,表示此信息已经学习到了;若没查到,则将此源MAC+VLANID以及对应的端口写入L2表中(此为MAC地址学习,CML控制是否学习)

5.MAC目的地址查找阶段

①若报文在L2_USER_ENTRY表中找到,报文的转发根据BPDU位设置进行(BPDU是运行STP的交换机之间的消息帧,包含了STP所需要的路径和优先级信息,STP利用这些确定根桥及到根桥的路径),若BPDU=0,根据DST_MODID+DST_PORT转发报文,=1,丢弃或者上传CPU,或在VLAN内广播

②若报文在L2_USER_ENTRY表中找不到,但在L2_ENTRY中找到,则根据DST_MODID+DST_PORT/TGID进行不保温转发,否则,在VLAN内广播

6.若报文为组播包,当在L2_ENTRY表中存在匹配的条目时,根据表项中的L2MX_PTR字段指向L2MC组播表,进行组播处理。

7.若报文为广播包,则在VLAN内广播

总结一下,二层转发就是:

1.接收网段上所有的数据帧

2.利用接收数据帧中的源MAC地址来建立MAC地址表(源地址自学习),使用老化机制维护地址表

3.在MAC地址表中查找数据帧中的目的MAC地址:

找到了:将数据帧发送到相应的端口

没找到:想所有端口广播发送(除源地址外)

三层转发

如果查目的MAC地址表时发现L3Bit置位了,就进入L3转发流程。与L2交换相比,L3交换可以实现跨VLAN转发,而且他的转发依据不是根据目的MAC地址,而是根据目的IP

头部校验-----》源IP查找----------》目的IP查找----------》转发前数据替换

1.首先对L3头部进行校验,校验和错的包直接丢弃

2.源IP查找(查L3_ENTRY表)

若没查到,不更新L3HIT位。并上送CPU,转入步骤3进行目的IP查找。

若查到,更新L3HIT位。若端口发生迁移,上送CPU,由软件更新L3接口表(端口迁移:从port1迁移到

port2,但SIP保持不变),若软件没有更新L3_ENTRY,报文仍然被转往port1

3.目的IP查找根据IP包中的DIP查L3_ENTRY表

若找到,提取出端口(destinationport),下一跳MAC及指向接口表的INDEX(即NEXT_PTR,根据该索

引获取router的MAC地址及出端口的vlan)

若没找到,再去进一步查找LPM表(即L3_DEFIP表),若找到再反向查找L3_ENTRY表(即3.1步骤)

4.再包转发出去的时候,用下一跳的MAC地址替换掉包的目的MAC地址。用接口表中MAC地址和VLAN替换掉包的原MAC地址和VLANID

THE END
1.路由器二层交换机与三层交换机的区别与应用路由器、二层交换机和三层交换机是常见的网络设备,常常协同工作。它们都可以转发数据,但在功能、工作层级以及应用场景上存在差异。 1. 工作层级 三者在OSI模型中的工作层级不同: 路由器: 工作在网络层(第三层),基于IP地址进行数据包的转发,用于不同网络之间的通信。 https://blog.csdn.net/weixin_43993310/article/details/144382525
2.详细讲解三层交换机与路由器的区别,知识全面,建议收藏当交换机包括一个冗余回路时,以太网交换机通过生成树协议避免回路的产生,同时允许存在后备路径。 二、二/三层交换机对比 1、二层交换技术 二层交换技术是发展比较成熟,二层交换机属数据链路层设备,可以识别数据包中的MAC地址信息,根据MAC地址进行转发,并将这些MAC地址与对应的端口记录在自己内部的一个地址表中。 https://zhuanlan.zhihu.com/p/419665016
3.三层交换机和二层交换机有什么区别三层交换机和路由器的区别摘要:三层交换机就是具有部分路由器功能的交换机,三层交换机的最重要目的是加快大型局域网内部的数据交换,所具有的路由功能也是为这目的服务的,能够做到一次路由,多次转发。三层交换机和二层交换机有什么区别?另外,三层交换机与路由器都具有路由功能,两者有什么区别呢? http://product.pconline.com.cn/itbk/wlbg/network/1710/10104148.html
4.交换机怎么区分数据包是二层还是三层根据收到的报文的目的mac地址决定是二层还是三层,如果报文目的mac地址是设备三层接口的mac地址,那么就是https://zhiliao.h3c.com/questions/dispcont/184653
5.网络基础200问laowu2517的技术博客查看本机的ARP缓存内容:arp -a 查看指定端口的缓存:arp -l 18. 如何在windows上静态绑定一个MAC与IP地址对映的关系?这样做有什么用? 在命令使用arp-s IP (物理地址)进行绑定,它是手工设置,通信是可以直接访问那台设备。 19. ARP广播包是三层还是二层? http://laowu2517.blog.51cto.com/1082855/241364
6.FAQS5700系列中如何区分二层交换机和三层交换机发布时间:2016-09-25 浏览次数:10915 下载次数:0 作者:SU1002114911 文档编号:EKB1000292755 目录 问题描述解决方案 问题描述 FAQ---S5700系列中如何区分二层交换机和三层交换机 解决方案 S5700系列中型号带有LI为二层交换机,如S5700-28P-LI-AC,其余的均为三层交换机,如S5700-28C-SIhttps://support.huawei.com/enterprise/zh/knowledge/EKB1000292755
7.交换机配置1——二三层转发二层交换机端口默认是没有MAC的,自然也没有IP;三层格局打开,有自己的专属MAC,根据需要可以配置IP。三层转发,交换机查看源目的IP地址,但会对源目的MAC进行修改!!! 接收时,查看硬件转发表,如果查到,按转发规则进行处理: 1)匹配自身,则交给相应模块处理 https://www.jianshu.com/p/3782aaf9c7a5
8.外网核心交换机价格多少钱(1交换容量≥2Tbps,包转发率≥1200提供第三方测试报告,加盖鲜章;4、 支持VxLAN功能,支持VxLAN二层网关、三层网关,支持BGP EVPN,支持对网络中的流量进行采集,上送网络安全智能分析系统进行威胁分析, 支持融合AC管理功能,整机可管理AP数量≥1K ,支持虚拟技术,把两台物理设备虚拟化为一台逻辑设备,支持将纵向虚拟化,核心、接入虚拟为一台设备,支持https://xunjia.zjtcn.com/askInfo/3768914.html