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

简介:

【三层交换】

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

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


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

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,如需转载请自行联系原作者
相关文章
|
缓存 Linux 开发工具
CentOS 7- 配置阿里镜像源
阿里镜像官方地址http://mirrors.aliyun.com/ 1、点击官方提供的相应系统的帮助 :2、查看不同版本的系统操作: 下载源1、安装wget yum install -y wget2、下载CentOS 7的repo文件wget -O /etc/yum.
251978 0
|
11月前
|
存储 运维 安全
|
存储 监控 安全
|
监控 关系型数据库 MySQL
守护进程到底是什么?如何创建?(图文并茂,你不得不看的一篇文章)
**守护进程(Daemon Process)详解**:守护进程是后台运行的无终端关联的系统进程,常在启动时启动,提供持续服务,如网络服务、日志记录和定时任务。其特点包括脱离终端、后台运行、持久服务、资源管理和错误处理。创建守护进程涉及重定向文件描述符、创建新会话、改变工作目录等步骤。`ps` 和 `top` 命令用于查看守护进程,前者提供进程快照,后者显示实时资源使用情况。
1123 0
|
运维 负载均衡 算法
|
边缘计算 网络虚拟化 虚拟化
这些基本概念都不懂,还谈什么你会VXLAN?
这些基本概念都不懂,还谈什么你会VXLAN?
158 0
|
机器学习/深度学习 人工智能 运维
深度 | 大数据算法应用的测试发展之路
随着最近几年数据计算力与机器智能算法的兴起,基于大数据 AI 算法的应用愈来愈热,大数据应用在各个行业也不断涌现。测试技术作为工程技术的一部分,也随着时代的不断变化在同步演进,在当下 DT 时代,如何测试和保障一个基于大数据的应用的软件质量,成为测试界的一个难题。 本文通过系统性地介绍阿里巴巴 AI 中台的技术质量体系——搜索推荐广告应用的质量是如何测试的,来尝试回答一下这个问题,希望能给大家带来一些借鉴,欢迎斧正,以便改进。
10281 3
深度 | 大数据算法应用的测试发展之路
|
开发者 测试技术
【开发课堂】支付宝小程序审核不通过?云检测来帮您
江湖传言,支付宝小程序的审核比较严格,整体审核周期拉得很长,开发者的体验不是很友好。针对这个问题呢,小程序运营小二也很头疼,怎么样才能照顾到开发者的体验,又能确保小程序的质量呢?现在好了,支付宝程序猿贡献了自己的杀手锏——云测试。
2554 12
【开发课堂】支付宝小程序审核不通过?云检测来帮您
|
网络协议 缓存 安全
《DNS攻击防范科普系列4》--遭遇DNS缓存投毒该怎么办?
        在《DNS攻击防范科普系列》的前几讲中,我们介绍了常见的DNS攻击、以及防范DDoS攻击、保障操作安全的方法。今天我们给大家带来的是对DNS缓存投毒攻击的防范。首先我们先来说说什么是“DNS缓存投毒”。