二层和三层转发

二层转发的机制是什么?学习线程和报文转发线程。二层只跟MAC地址有关 与IP无关

所以在二层做IP-MAC绑定是无效的。

 

三层以太网交换机的转发机制主要分为两个部分:

二层转发和三层交换。
  
  先讲二层转发流程。
  
  1、 MAC地址介绍
  MAC地址是48 bit二进制的地址,如:00-e0-fc-00-00-06。
  可以分为单播地址、多播地址和广播地址。
  
  单播地址:第一字节最低位为0,如:00-e0-fc-00-00-06
  
  多播地址:第一字节最低位为1,如:01-e0-fc-00-00-06
  
  广播地址:48位全1,如:ff-ff-ff-ff-ff-ff
  
  注意:
  1)普通设备网卡或者路由器设备路由接口的MAC地址一定是单播的MAC地址才能保证其与其它设备的互通。
  
  2) MAC地址是一个以太网络设备在网络上运行的基础,也是链路层功能实现的立足点。
----------------------------------------------------------------------------------

2、 二层转发 介绍
  交换机二层的转发特性,符合802.1D网桥协议标准。
  
  交换机的二层转发 涉及到两个关键的线程:地址学习线程和报文转发线程。
  
  学习线程如下:
  1)交换机接收网段上的所有数据帧,利用接收数据帧中的源MAC地址来建立MAC地址表;
  
  2)端口移动机制 :交换机如果发现一个包文的入端口和报文中源MAC地址的所在端口不同,就产生端口移动,将MAC地址重新学习到新的端口;
  
  3)地址老化机制 : 如果交换机在很长一段时间之内没有收到某台主机发出的报文,在该主机对应的MAC地址就会被删除,等下次报文来的时候会重新学习。
  
  注意: 老化也是根据源MAC地址 进行老化。
  
  报文转发线程:
  1)交换机在MAC地址表中查找数据帧中的目的MAC地址,如果找到,就将该数据帧发送到相应的端口,如果找不到,就向所有的端口发送;
  
  2)如果交换机收到的报文中源MAC地址和目的MAC地址所在的端口相同,则丢弃该报文;
  
  3)交换机向入端口以外的其它所有端口转发广播报文。
  
  3、 VLAN二层转发 介绍
  报文转发线程:
  引入了VLAN以后对二层交换机的报文转发线程产生了如下的影响:
  
  1)交换机在MAC地址表中查找数据帧中的目的MAC地址,如果找到(同时还要确保报文的入VLAN和出VLAN是一致的),就将该数据帧发送到相应的端口,如果找不到,就向(VLAN内)所有的端口发送;
  
  2)如果交换机收到的报文中源MAC地址和目的MAC地址所在的端口相同,则丢弃该报文;
  
  3)交换机向(VLAN内)入端口以外的其它所有端口转发广播报文。
  
  以太网交换机上通过引入VLAN,带来了如下的好处:
  
  1)限制了局部的网络流量, 在一定程度上可以提高整个网络的处理能力。
  
  2)虚拟的工作组,通过灵活的VLAN设置,把不同的用户划分到工作组内;
  
  3)安全 性,一个VLAN内的用户和其它VLAN内的用户不能互访,提高了安全性。
  
  另外,还有常见的两个概念VLAN的终结和透传, 从字面意思上就可以很好的了解这两个概念。所谓VLAN的透传就是某个VLAN不仅在一台交换机上有效,它还要通过某种方法延伸到别的以太网交换机上,在 别的设备上照样有效;终结的意思及相对,某个VLAN的有效域不能再延伸到别的设备,或者不能通过某条链路延伸到别的设备。
  
  VLAN透传可以使用802.1Q技术,VLAN终结可以使用PVLAN技术。
  
  IEEE802.1Q协议是VLAN的技术标准,主要是修改了标准的帧头,添加了一个tag字段,其中包含了VLAN ID等VLAN信息,具体实现这里不谈,如果有兴趣可以看相关的标准和资料。
  
  注意:在Trunk端口转发报文的时候,如果报文的VLAN Tag等于端口上配置的默认VLAN ID,则该报文的Tag应该去掉,对端收到这个不带Tag信息的报文后, 从端口的PVID获得报文的所属VLAN信息,因此配置的时候必须保证连接两台交换机之间的一条Trunk链路两端的PVID设置相同。
  
  为什么要去Tag呢?
  这样做是为了保证一般的用户插到Trunk上以后,仍旧可以正常通信 ,因为普通用户无法识别带有802.1Q Vlan信息的报文。
  
  使用802.1Q技术可以很好的实现VLAN的透传,可是有的时候需要把VLAN终结掉,也就是说这个VLAN的边界在哪里终止,PVLAN技术可以 很好的实现这个功能,同时达到节省VLAN 的目的。cisco的PVLAN意思是private vlan,而我们的PVLAN意思是primary vlan。
  
  这里的VLAN有两类:Primary vlan和secondary vlan(子VLAN)。
  
  实现了接入用户二层报文的隔离,同时上层交换机下发的报文可以被每一个用户接收到,简化了配置,节省了VLAN资源。具体实现这里不谈,如果有兴趣可以相关资料。
  
  下面谈谈三层交换流程。
  
  用VLAN分段,隔离了VLAN间的通信,用支持VLAN的路由器(三层设备)可以建立VLAN间通信。但使用路由器来互联企业园区网中不同的VLAN显然不合时代的潮流。因为我们可以使用三层交换来实现。
  
  差别1(性能):传统的路由器基于微处理器转发报文,靠软件 处理,而三层交换机通过ASIC硬件来进行报文转发,性能差别很大;
  
  差别2(接口类型):三层交换机的接口基本都是以太网接口,没有路由器接口类型丰富;差别3:三层交换机,还可以工作在二层模式,对某些不需路由的包文直接交换,而路由器不具有二层的功能。
  
  首先让我们看一下设备互通的过程:

  如图所示:交换机上划分了两个VLAN,在VLAN1,VLAN 2上配置了路由接口用来实现vlan1 和 vlan 2之间的互通。
  
  A和B之间的互通(以A向B发起ping请求为例):
  
  1) A检查报文的目的IP地址,发现和自己在同一个网段;
  
  2) A---->B ARP请求报文,该报文在VLAN1 内广播;
  
  3) B---->A ARP回应报文;
  
  4) A---->B  icmp request;
  
  5) B---->A  icmp reply;
  
  A和C之间的互通(以A向C发起ping请求为例):
  1) A检查报文的目的IP地址,发现和自己不在同一个网段;
  
  2) A---->switch(int vlan 1) ARP请求报文,该报文在VLAN1 内广播;
  
  3) 网关---->A ARP回应报文;
  
  4) A---->switch  icmp request(目的MAC是 int vlan 1的MAC,源MAC是A的MAC,目的IP是C,源IP是A);
  
  5) switch收到报文后判断出是三层的报文。检查报文的目的IP地址,发现是在自己的直连网段;
  
  6) switch(int vlan 2)---->C  ARP请求报文,该报文在VLAN2 内广播;
  
  7) C--->switch(int vlan 2) ARP回应报文;
  
  8) switch(int vlan 2)---->C icmp request (目的MAC是 C 的MAC,源MAC是 int vlan 2的MAC,目的IP是C,源IP是A)同步骤4)相比报文的MAC头进行了重新的封装, 而IP层以上的字段基本上不变;
  
  9) C---->A  icmp reply,这以后的处理同前面icmp request的过程基本相同。
  
  以上的各步处理中,如果ARP表中已经有了相应的表项,则不会给对方发ARP请求报文。
  
  怎么样来区分二和三层的数据流?
  3526产品是三层以太网交换机,在其处理流程中既包括了二层的处理功能,又包括了三层的处理功能。
  
  区别二三 层转发的 基本模型:

 


  如图所示:
  
  三层交换机划分了2个VLAN, A和B之间的通信是在一个VLAN内完成,对与交换机而言是二层数据流,A和C之间的通信需要跨越VLAN,是三层的数据流。
  
  上面提到的是宏观的方法,具体到微观的角度,一个报文从端口进入后,Swtich设备是怎么来区分二层包文,还是三层报文的呢?
  
  从A到B的报文由于在同一个VLAN内部,报文的目的MAC地址将是主机B的MAC地址,而从A到C的报文,要跨越VLAN,报文的目的MAC地址是设备虚接口VLAN1上的MAC地址。
  
  因此交换机区分二三层报文的标准就是看报文的目的MAC地址是否等于交换机虚接口上的MAC地址。
  
  以华为 3ComS3526交换机为例,三层交换机整个处理流程中分成了三个大的部分:
  
  1)平台软件协议栈部分
  
  这部分中关键功能有:
  
  运行路由协议,维护路由信息表;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/435923.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

改变dom样式的方法

改变dom样式有两种做法,一种是通过domNode.style.xxx "",给domNode加上内置样式,这种方式如果需要的样式比较多,就只好一个个增加,比较麻烦,还有一种方式比较聪明,通过在css里预设好几种不同样式…

【转】胶片曝光时的排版!!!!!!!

这个本来没啥 不是什么算法 绝技。 都不值得一提。 其实这个是医学影像胶片曝光时排版的一个逻辑。 dicom标准第三部分 主要是讲IOD定义 在第166页有这样的描述: 表C.13.5-1图象盒象素描述组件 属性名称 标记       说明 图象位置 (2020,0010)  …

计算机课数学,这4个专业,对数学要求很高,数学不好的慎选!

建筑学专业这个专业就是典型数学课程比较多的专业,如果数学成绩不好,真心建议千万不要选择这个专业,因为学习的课程与大多与数学有关,而且难度较大。像代数,微积分,线性规划,统计学等课程都是在…

架构师之路(5)---IoC框架

1 IoC理论的背景 我们都知道在面向对象的应用中,软件系统都是由N个对象组成的,它们通过彼此的合作,最终实现业务逻辑。 图1:耦合在一起的对象 如果我们打开机械式手表的后盖,就会看到与上面类似的情形,各…

【转】数据库软考笔记(一)第一章 计算机硬件基础知识笔记总结

转自:https://blog.csdn.net/qq_36411874/article/details/115057569 目录 运算器:ALU、AC、DR、PSW 控制器:IR、PC、AR、ID 寄存器组(了解即可) 存储器 存储器与总线(了解,考分类&#xf…

Vlan的转发过程

untag就是普通的ethernet报文,普通PC机的网卡是可以识别这样的报文进行通讯; tag报文结构的变化是在源mac地址和目的mac地址之后,加上了4bytes的vlan信息,也就是vlan tag头; 一般来说这样的报文普通PC机的网卡是不能…

翻转课堂说教案计算机,计算机学院崔海文:对翻转课堂的进一步认识与思考

近期我有幸参加了学校教师发展中心组织的信息化教学培训班,认真聆听了各位教授的讲座,收获颇多。傅钢善教授的报告《信息技术环境下如何上好一堂课》让我的收获最大,教授的讲座宛如一顿丰盛的大餐,生动且不失严谨的呈现在大家面前…

Dos下命令运行带有包名的Java类

这几天在回顾原来的知识,发现知识一段时间不整理的话很多东西手生的很,今天刚刚想在dos下运行一个java类却出错了.Exception in thread "main" java.lang.NoClassDefFoundError 为什么呢?后面找了许久发现是类中带有包名的问题. 1.当类没有包…

嵌入式的基础知识

1.嵌入式操作系统结构 一般情况下分为硬件子系统和软件子系统; 硬件子系统主要包括:CPU小系统,电源模块,调试模块,时钟模块,接口模块,复位和配置模块; 软件子系统主要包括&#x…

【转】DICOM医学图像处理:开源库mDCM与DCMTK的比較分析(一),JPEG无损压缩DCM图像

转自:https://www.cnblogs.com/mfrbuaa/p/4004114.html 有修订 背景介绍: 近期项目需求,需要使用C#进行最新的UI和相关DICOM3.0医学图像模块的开发。在C语言下,我使用的是应用最广泛的DCMTK开源库,在本专栏的起初阶段…

量子计算机的核心元件简称,计算机文化基础复习题(含答案).doc

计算机文化基础复习题(含答案)整理计算机文化基础复习题第一套一、单项选择题(每题1分,共30分)1、在Powerpoint2003中,若为幻灯片中的对象设置"驶入效果",应选择对话框 (? )???? A、自定义放映???? B、幻灯片版式????…

xfire客户端对返回list很挑剔,所以需要使用泛型。

casldap异常分析 | xfirewebservice(服务器配置篇) 2008-12-31xfirewebservice(客户端调用篇) 服务接口,就是用来调用的,所以客户端显得尤为重要,xfire客户端对返回list很挑剔,所以需要使用泛型。 如何建立webservice client 步骤…

C语言关键字----Const

C中CONST的使用:   虽然这听起来很简单,但实际上,const的使用也是c语言中一个比较微妙的地方,微妙在何处呢?请看下面几个问题。   问题:const变量 & 常量   为什么下面的例子在使用一个const变量…

【转】DICOM的常用Tag分类和说明!!!!

转自:https://www.cnblogs.com/stephen2014/p/4579443.html 有删改 1. 前言: 基于DICOM3.0标准的医学图像中,每一张图像中都携带着许多的信息,这些信息主要可以分为Patient, Study, Series和Image四类。每一个DICOM Tag都是…

计算机卡在无法显示网页,我的电脑上网上银行一直“无法显示网页”

首先:打开一个网页,点击“工具”--internet选项--高级--还原默认设置--应用--确定 其次:使用这个修复工具试一试&#xff…

在虚拟机上运行vxWorks

Vxworks是一个嵌入式系统,主要运行在arm、ppc、mips等嵌入式处理器上,它同样可以运行在X86处理器上。风河公司开发的tornado开发环境就 包括了pentium版本,并且发布了相应的bsp。因此我们可在vmware虚拟机上运行vxworks,利用虚拟机…

【转】成熟的医学影像“调窗”(window-leveling)算法详解

转自:http://blog.sina.com.cn/s/blog_4bce5f4b0100o9iy.html 图像显示和打印面临的一个问题是:图像的亮度和对比度能否充分突出关键部分。这里所指的“关键部分”在 CT 里的例子有软组织、骨头、脑组织、肺、腹部等等。 技术问题: 显示…

南京大学计算机系副教授名单,2018年度国际“人工智能10大新星”名单公布:南京大学俞扬副教授国内高校入选者...

中公考研小编为各位考研小伙伴们整理了关于2018年度国际“人工智能10大新星”名单公布:南京大学俞扬副教授国内高校唯一入选者的相关资讯文章,一起了解一下吧~日前,国际人工智能领域著名杂志 IEEE Intelligent Systems 发布了2018年度“人工智…

使用SDL打造游戏世界之入门篇 - 7

打开和显示图片在这个例子里我们将学习如何使用SDL程序中打开和显示图片。示例程序将绘制一个漂亮的背景,上面显示一个正方形图案,并可以使用键盘的方向键移动它。如果比较熟悉“推箱子”这个游戏,可以看出这个程序实际就是推箱子游戏的基础。…

WDB

1. 符号表同步貌似只能是target shell下载后,能够在host shell下更新,当host shell下载的话,target shell是无法更新的。 2. host shell下执行某一个函数的时候,WDB会自动生成一个新的任务来运行,这个任务的IO将被重定…