几句话就能让你明白:三层交换转发原理和一次路由多次交换的意思

简介:

【三层交换】

作用:三层交换产生的替代单臂路由

原理:一次路由,多次交换


【三层交换不能取代路由器的原因】

a)路由器接口丰富(支持语音口、串口、电口、光口);三层交换接口单一,一般只有电口或光口

b)路由器三层功能强大,交换机一般只具有基本的三层功能。如“nat、bgp”等协议不支持

一、初识三层交换

(1)、单臂路由的缺陷

a)“单臂”本身将成为网络的骨干链路,容易形成网络瓶颈。瓶颈是在“三层路由器功能上形成的,不是在线路上形成的”

b)子接口依然依托于物理接口,就实际应用而言不灵活

c)每次VLAN间转发都需要查看路由表,严重浪费设备资源

(2)、三层交换机的转发原理

Ø三层交换=2层交换+3层转发

Ø三层交换机通过硬件来交换和路由选择数据包

ØCisco  catalyst交换机使用传统的MLS(Multilayer  Switching,多层交换)体系结构或基于CEF(Cisco Express  Forwarding,Cisco快速转发)的MLS结构

1、传统的MLS

ØMLSASICApplication-specific Intergrated  Circuit,应用专用集成电路),能够对被路由器的数据包执行第2层重写操作

Ø2层重写操作包括重写源和目标MAC地址,以及写入重新计算得到的循环冗余校验码(CRC)

Ø支持传统MLSCatalyst交换机使用一种MLS协议从MLS路由器那里获悉第2层重写信息。使用传统MLS时,第3层引擎(路由处理器)和交换ASIC协同工作,在交换机上建立第3层条目

Ø使用传统MLS时,交换机交数据流中的第一个数据包转发给第3层引擎,后者以软件交换的方式对数据包进行处理。对数据流中的第一个数据包进行路由处理后,第3层引擎对硬件交换组件进行程序处理,使之为后续的数据包选择路由

《名词解释》

ASIC:应用专用集成电路(二层处理器)

第3层引擎:路由器处理器(三层处理器)

数据流:一个文件为一个数据流




【传统的MLS发包过程】

1)VLAN 1的主机将数据包发送给默认网关。三层交换机是主机的网关,因此,三层交换机上VLAN 1的端口接收到主机发来的数据包,这个数据帧中,源MAC地址是VLAN 1主机的MAC地址,目标MAC地址是默认网关的MAC地址

2)三层交换机的第3层引擎接收到这个数据包,在转发数据前重写数据帧的2层封装,三层交换机首先要使用ARP协议来获得VLAN 2主机的MAC地址

3)三层交换机用VLAN 2的主机的MAC址址作为发送帧的目标MAC地址来封装数据帧,并重写CRC值。同时,在硬件中创建一个MLS条目,以便能够转发和重写这个流中的后续数据包

4)VLAN 1主机发送给VLAN 2主机的后续数据包直接由三层交换机的ASIC进行处理,ASIC根据刚才创建的MLS条目重写第2层封装,并快速转发数据包,如2’所示

《总结以上过程》

以上的过程被称为“一次路由,多次交换”。也就是说,交换机的三层引擎只需要处理数据流中的第一个数据包,而后续的数据全由硬件来执行转发,这样就实现了三层交换机的快速转发功能

2、基于CEF的MLS

ØCEF是一种基于拓扑的转发模型,可预先将所有路由选择信息加入到转发信息库(FIB)中,这样,交换机就能够快速查找路由选择信息

ØCEF是“思科快速转发”,能记录通信过的主机,用两个表在二层进行记录

【CEF主要包含两个转发用的信息表】

转发信息库(FIB):比路由表更详细细,会记录通信过的主机IP。FIB类似于路由

表,包含路由表中转发信息的镜像。当网络的拓扑发生变化时,路由表将被更新,而FIB也随之变化。第3层引擎和硬件交换组件都维护一个FIB

邻接关系表:它会记录通信过的主机及MAC地址。在网络中,如果两个节点之间在数据链路层只有一跳,则它们彼此相邻,除FIB外,CEF还使用邻接关系表中储存第2层编址信息


【基于CEF的MLS发包过程】:

a)主机A发送数据包给自己的默认网关,三层交换机是主机A的网关,因而可接收到这个数据包

b)三层交换机查找FIB表,数据包的目标IP地址10.20.20.2,与三层交换机直连

c)三层交换机查找邻接关系表,在邻接关系表中,有IP地址与源MAC地址,目标MAC地址的对应关系,并找到转发端口

d)三层交换机的硬件交换组件根据邻接关系重写数据帧的二层封装,并快速转发......如果三层交换接收到主机A发送来的数据包,但邻接关系表中没有主机B的二层重写信息,那么三层交换机将数据包交给三层引擎进行处理......三层引擎会发送ARP请求获取主机B的MAC地址信息,然后,第3层引擎将一个解析后的邻接关系条目加入到自己的邻接关系表中,硬件交换组件也将这条邻接关系条目加入到自己的邻接关系表


【基于CEF的MLS与传统的MLS对比】

Ø传统的MLS每个数据流的第一个数据包都要进行路由

Ø基于CEF的MLS在第一次路由后,就会在邻接关系表和FIB表中保存目标信息,那么有数据需要转发时,就可以直接用硬件查找邻接关系表和FIB表

3、虚接口的引入



二、三层交换机的配置

【启动路由功能】

   switch(config)# ip  routing            /在三层交换机上启动路由功能

【配置路由接口】

   switch(config-if)# no  switchport      /将交换机的某个接口配置为路由接口

【查看FIB表】

   switch# show ip  cef

【查看邻接关系表】

   switch# show adjacency  detail

【配置虚接口的IP地址】

   switch(config)# interface  vlan vlan-id             /把接口加入VLAN

   switch(config-if) ip  address ip_address  netmask   /相当于在接口配IP

   switch(config-if)# no  shutdown

【DHCP中继的配置】

   sw-3L(config-if)# ip  helper-address  DHCPsrv-IPAddress

      #在设有DHCP服务器上的VLAN接口上配置

      #DHCPsrv-IPAddress为DHCP服务器的IP地址



本文转自甘兵 51CTO博客,原文链接:http://blog.51cto.com/ganbing/1214533,如需转载请自行联系原作者
相关文章
|
存储 运维 安全
|
安全 Unix Linux
VMware Workstation 17.6.3 发布下载,现在完全免费无论个人还是商业用途
VMware Workstation 17.6.3 发布下载,现在完全免费无论个人还是商业用途
134548 65
|
12月前
|
存储 域名解析 缓存
DNS解析过程
DNS(域名系统)解析是将域名转换为IP地址的过程,对互联网运行至关重要。解析方式主要包括递归查询和迭代查询。递归查询由本地DNS服务器代为完成,简化客户端操作;迭代查询则需客户端逐级向根DNS服务器、TLD服务器和权威DNS服务器请求。过程中涉及缓存机制以提高效率,如客户端与本地DNS服务器缓存及TTL值管理。示例中,解析www.example.com需依次通过本地、根、TLD和权威DNS服务器获取IP地址。
1236 18
|
12月前
|
自然语言处理 JavaScript 前端开发
🌟 CodeBuddy Craft智能体实战:开发一个智能语法检查工具
本文分享了使用CodeBuddy开发英语语法检查工具的实战经验。通过智能提示与优化建议,大幅提升了正则规则编写、DOM交互实现等环节效率,整体开发时间从24小时缩短至5分钟!项目具备实时语法检测、三类错误高亮及修正建议等功能,并接入剑桥词典学习链接。用户反馈显示误报率显著降低,颜色区分与互动修正功能备受青睐。未来计划加入深层语义分析与自定义词典功能,进一步完善工具。总结来看,CodeBuddy在智能补全、错误检测与架构设计上表现出色,为开发者提供了强大助力。
509 2
|
数据安全/隐私保护
思科模拟器Cisco Packet Tracer 8.2.1注册、下载和安装教程(正确+详细)
本文详细总结了思科模拟器Cisco Packet Tracer 8.2.1注册、下载和安装教程(正确+详细),看这一篇就够啦~
52770 7
思科模拟器Cisco Packet Tracer 8.2.1注册、下载和安装教程(正确+详细)
|
网络协议 数据库 数据安全/隐私保护
|
Java Maven
IDEA Maven项目引入本地外部jar包
IDEA Maven项目引入本地外部jar包
|
Ubuntu 安全 网络协议
|
物联网 网络性能优化 网络架构
关闭 2.4GHz 会让 5GHz 更快吗?
【5月更文挑战第10天】
2588 4
关闭 2.4GHz 会让 5GHz 更快吗?