您好,欢迎访问三七文档
Edit:WuzQ基础原理L2发转L2概述以太网基础知识芯片交换流程“L2”层简述MAC,VLAN,STP,QinQ,集线器,交换机…Tag确认,Vlan检查,STG过滤,MAC学习,MAC查找,老化…L2概述OSIModelApplicationPresentationSessionTransportNetworkDataLinkPhysicalTCP/IPModelApplicationTransportNetworkDataLink网路定义的L2层是指OSI模型中的数据链路层但我们所说的L2层是指交换机中实现交换功能的核心层,它最终要实现的目的就是尽最大可能把Mac层的数据包转发出去,交付给应该被交付的对象本文所说的L2的转发特指以太网MAC帧的转发以太网基础知识-CSMA/CD以太网帧传输机制CSMA/CDCarrierSenseMultipleAccesswithCollisionDetection,即带有冲突监测的载波侦听多址访问,不是CS,也不是CDMA!1.先听后发free?Busy!free?3.随机延迟后重发2.边听边发以太网基础知识-MACMAC地址是以太网转发的依据。格式:6个字节(48位)组成,常用12个十六进制数表示。例:00:05:3b:00:09:08按照MAC地址我们可以将以太网帧分为3类,分别是:广播:FF-FF-FF-FF-FF-FF组播:x1-xx-xx-xx-xx-xx目地MAC第一个八位组的最后一位为“1”单播:x0-xx-xx-xx-xx-xx目地MAC第一个八位组的最后一位为“0”MAC:00-00-01-e1-64-b2MAC:00-00-33-ef-a2-10以太网基础知识-帧结构以太网基础知识-帧结构DASAT/LDATACRCTYPELength802.3SNAPEthernetIIDATA字段为46-1500L值小于等于0x5dcTYPE值大于等于1536,T值大于等于0x600以此来区分两种封装格式以太网基础知识-集线器是一个模拟以太网链路的设备,除了能集线器提供中继与接口外,基本功能与一条双绞线没有什么区别;集线器在一个端口收到数据,就会简单地将它转发到所有的其他端口去以太网基础知识-冲突域我们将在发送数据时可能会发生冲突的网段称为冲突域一个网段中节点越多,传输时越容易产生冲突,CSMA/CD机制会使得网络传输效率大大降低;集线器无法隔离冲突域,在面对节点变多后传输速率的降低显得无能为力以太网基础知识-交换机要减少冲突,就需要减少网段中的节点数,但实际用户数量是无法减少的,因此只能通过增加网段的手段;Port-1Port-2Port-3交换机将原来的1个冲突域分成3个,域中节点数减少,冲突自然也就减少了交换机如何分离冲突域的呢?以太网基础知识-交换机交换机通过存储转发来实现冲突域的隔离DADADCDABDMACDDMACBB交换机只往数据目的转发报文,那它怎么知道报文目的地在哪个端口呢?交换机在收到数据后,并不是简单地转发到所有其它端口,而是只往报文的目的端口转发以太网基础知识-交换机交换机通过源MAC学习功能来确定数据的目的端口ADDstDPortMACPort-1Port-2Port-3DstDDstDDstDDstDDstDDstD1PC-ANULL!以太网基础知识-交换机PortMAC1PC-AADDstAPort-1Port-2Port-32PC-DDstADstA至此,A与D之间的数据通信不再向端口3转发,而只在需要的端口1和2之间转发DstD交换机的MAC学习功能,进一步减少了网络中的冲突几率,相对地提高了链路的使用率以太网基础知识-STP交换机虽然可以隔离冲突域,但是对于需要广播的报文是无法隔离的;BCast广播数据帧会在S1,S2,S3形成的环路中无限次被转发而不会停止,从而形成广播风暴,BCast100(%)500带宽随着广播帧的增加,网络的带宽会被逐渐占用以太网基础知识-STPSTP(生成树协议)被设计出来在环路拓扑中避免出现广播风暴的协议;环路拓扑,是链路备份的重要组成部分,因此无法避免;以太网基础知识-VLAN交换机无法隔离广播数据,因此存在以下问题:1.广播数据可能会被窃听2.广播数据可被用于恶意攻击3.某些节点不需要接收广播数据VLAN被设计来隔离广播数据,同时提高网络的可管理性和安全性核心为:不同vlan之间不能通过二层进行通信vlan1vlan1vlan1vlan2vlan2vlan5vlan3以太网基础知识-VLAN实现Vlan功能,要解决两个问题:1.如何判断一个报文属于哪个vlan2.交换机如何判断端口属于哪个vlan归根到底就是如何使报文在自己所属的vlan中转发VLANTag被添加到报文中,并以此来标识报文所属的vlanDASAT/LDATACRCTAGOctet1Octet2TagProtocolId(TPID)5678Octet4VLANID(12bits)1234802.1p(3bits)2BytesTPID缺省值0x81003bit的cos值,用于QoS1bitCFI,在以太网中取值为012bit的vlanid,vlan范围为0-4095;其中vlan0和4095保留作别的用途,因此能够被使用的是vlan1-4094;有了vlantag的概念,再来看交换机的转发(这里使用广播报文来进行讨论,不需要考虑mac学习)一个广播报文进入到交换机,只在自己所在vlan内广播,因此需要知道哪些端口属于报文所在vlan,反过来说就是需要知道这个vlan包括哪些端口?以太网基础知识-VLAN交换机端口分为三种类型:AccessTrunkHybridPacket交换机定义了3种类型的端口,并以此配置来标识该端口属于哪个端口以太网基础知识-AccessAccess端口只属于一个vlan(通常称该vlan的id为PVID,即portvlanid)只允许该指定vlan的数据通过;一般用于连接PC等终端节点,由于PC不支持vlan属性,因此对进入时无tag的数据会打上PVID的tag,对从它转出的包去掉PVID的tag;Accessvlan10Accessvlan20untaggedFrameuntaggedFrametag20FrameuntaggedFrameuntaggedFrametag20FrameuntaggedFrameTrunk端口同时属于多个VLAN允许通过多个VLAN的数据(可根据情况设置),另外它有一个Nativevlan的属性(即trunk端口的PVID)一般用于交换机之间的互联,对进入时无tag的数据打上PVID的tag,如果转出数据的vlanid与trunk端口的PVID一样,则去掉该tag;否则保留vlantag,直接转发。以太网基础知识-TrunkTrunkTrunk(Nativevlan20,allowvlan1-100)tag1FrameuntaggedFrameuntaggedFrametag1Frame以太网基础知识-TrunkTrunk端口同时属于多个VLAN允许通过多个VLAN的数据(可根据情况设置),另外它有一个Nativevlan的属性(即trunk端口的PVID)一般用于交换机之间的互联,对进入时无tag的数据打上PVID的tag,如果转出数据的vlanid与trunk端口的PVID一样,则去掉该tag;否则保留vlantag,直接转发。TrunkTrunk(Nativevlan20,allowvlan1-100)tag20FrameuntaggedFrameuntaggedFrametag20FrameTrunk端口同时属于多个VLAN允许通过多个VLAN的数据(可根据情况设置),另外它有一个Nativevlan的属性(即trunk端口的PVID)一般用于交换机之间的互联,对进入时无tag的数据打上PVID的tag,如果转出数据的vlanid与trunk端口的PVID一样,则去掉该tag;否则保留vlantag,直接转发。以太网基础知识-TrunkTrunkTrunk(Nativevlan20,allowvlan1-100)TAG500FrameTAG500Frame以太网基础知识-TrunkTrunk端口同时属于多个VLAN允许通过多个VLAN的数据(可根据情况设置),另外它有一个Nativevlan的属性(即trunk端口的PVID)一般用于交换机之间的互联,对进入时无tag的数据打上PVID的tag,如果转出数据的vlanid与trunk端口的PVID一样,则去掉该tag;否则保留vlantag,直接转发。TrunkTrunk(Nativevlan20,allowvlan1-100)tag80Frametag80Frametag80Frametag80Frame以太网基础知识-HybridHybird端口同时属于多个VLAN允许通过多个VLAN的数据(可根据情况设置),另外它有一个nativevlan的属性(即Hybrid端口的PVID)对进入时无tag的数据打上PVID的tag;与trunk端口不一样的地方在于hybrid端口可以允许多个vlan的报文转出时不带tag,而trunk端口只允许nativevlan的报文转出时不带tag;HybridHybrid(tagvlan10-20,untagvlan50-60,nativevlan1)untaggedFrametag10Frametag15Frametag10Frametag15Frametag10Frametag15Frame!Hybrid口缺省不允许任何vlan流量通过;在配置tag/untagvlan后,才允许指定vlan通过以太网基础知识-HybridHybird端口同时属于多个VLAN允许通过多个VLAN的数据(可根据情况设置),另外它有一个nativevlan的属性(即Hybrid端口的PVID)对进入时无tag的数据打上PVID的tag;与trunk端口不一样的地方在于hybrid端口可以允许多个vlan的报文转出时不带tag,而trunk端口只允许nativevlan的报文转出时不带tag;HybridHybrid(tagvlan10-20,untagvlan50-60,nativevlan1)tag50Frametag55FrameuntaggedFrameuntaggedFrameuntaggedFrameuntaggedFrame流量转发后,将无法分辨vlan50和vlan55的流量以太网基础知识-VLAN比较简单的记忆方法:1.数据帧在交换机内部是必然带tag的2.入端口报文处理只考虑两件事:若报文本身无tag则加PVIDtag加完后根据端口入口规则判断是否可以通过3出端口报文处理只考虑三件事:端口是否允许该vlan报文出?否则丢弃出端口是否要剥tag?如果端口是untag方式属于vlan则剥离,tag方式则保留;Access是untag属于指定vlan,trunk是untag属于nativevlan,其他vlan都是tag,hybrid则是由配置决定环境拓扑如图所示,只有Vlan10-20可用;通过配置S1-S6的端口类型及配置满足以下条件:1.B,D,E能互相访问;2.C,F,G能互相访问;3.A与G能互相访问;5.其余机器之间二层互相隔离;以太网基础知识-Practice以太网基础知识-Practicetrunktrunktrunktrunktrunk以太网基础知识-IVLVlan技术的应用,使交换机原有流程发生了变化,源MAC学习现在是基于vlan了;Port-1Accessvlan10Port-2Accessvlan20Port-3Accessvlan30PortVLANMAC110PC-A220PC-D以太网基础知识-MSTPvlan10vlan30vlan20使用vlan技术后,STP可能会block逻辑上没有环路的拓扑的通信;拓扑中如果仍然使用STP,将导致vlan30无
本文标题:l2转发基础原理
链接地址:https://www.777doc.com/doc-5198530 .html