三层交换机及VLAN(入门)

三层交换机及VLAN(VLAN入门)

1.数据链路层的基础知识

1.1什么是数据链路层

数据链路层是指OSI参数模型的第二层,它规定了以太网的帧操作,该传感器在工艺上将两个特征一致的热电元反向串联或接成差动平衡电路方式,因而能以非接触式检测出物体放出的红外线能量变化 ,数据链路层故障包括由集线器、路由器、网络测试仪提供的关于帧活动和帧错误的统计数据,并将其转换为电信号输出。

1.2数据链路层的基本功能

数据链路层的最基本的功能是向该层用户提供透明的和可靠的数据传送基本服务。透明性是指该层上传输的数据的内容、格式及编码没有限制,也没有必要解释信息结构的意义;可靠的传输使用户免去对丢失信息、干扰信息及顺序不正确等的担心。在物理层中这些情况都可能发生,在数据链路层中必须用纠错码来检错与纠错。数据链路层是对物理层传输原始比特流的功能的加强,将物理层提供的可能出错的物理连接改造成为逻辑上无差错的数据链路,使之对网络层表现为一无差错的线路。如果您想用尽量少的词来记住数据链路层,那就是:“帧和介质访问控制”。

帧同步

为了使传输中发生差错后只将有错的有限数据进行重发,数据链路层将比特流组合成以帧为单位传送。每个帧除了要传送的数据外,还包括校验码,以使接收方能发现传输中的差错。帧的组织结构必须设计成使接收方能够 明确地从物理层收到的比特流中对其进行识别,也即能从比特流中区分出帧的起始与终止,这就是帧同步要解决的问题。由于网络传输中很难保证计时的正确和一致,所以不可采用依靠时间间隔关系来确定一帧的起始与终止的方法。

(1)字节计数法:这是一种以一个特殊字符表示一帧的起始并以一个专门字段来标明帧内字节数的帧同步方法。接收方可以通过对该特殊字符的识别从比特流中区分出帧的起始并从专门字段中获知该帧中随后跟随的数据字节数,从而可确定出帧的终止位置。面向字节计数的同步规程的典型代表是DEC公司的数字数据通信报文协议DDCMP(Digital Data Communications Message Protocol)。

控制字符SOH标志数据帧的起始。实际传输中,SOH前还要以两个或更多个同步字符来确定一帧的起始,有时也允许本帧的头紧接着上帧的尾,此时两帧间就不必再加同步字符。 count字段共有14位,用以指示帧中数据段中数据的字节数,14位二进制数的最大值为2-1=16383,所以数据最大长度为8×16383=131064。DDCMP协议就是靠这个字节计数来确定帧的终止位置的。DDCMP帧格式中的ACK、SEG、ADDR及FLAG中的第2位,CRC1、CRC2分别对标题部分和数据部分进行双重校验,强调标题部分单独校验的原因是,一旦标题部分中的CONUT字段出错,即失却了帧边界划分的依据,将造成灾难性的后果。由于采用字符计数方法来确定帧的终止边界不会引起数据及其它信息的混淆,因而不必采用任何措施便可实现数据的透明性(即任何数据均可不受限制地传输)。

(2)使用字符填充的首尾定界符法:该法用一些特定的字符来定界一帧的起始与终止,为了不使数据信息位中出现的与特定字符相同的字符被误判为帧的首尾定界符,可以在这种数据字符前填充一个转义控制字符(DLE)以示区别,从而达到数据的透明性。但这种方法使用起来比较麻烦,而且所用的特定字符过份依赖于所采用的字符编码集,兼容性比较差。

(3)使用比特填充的首尾标志法:该法以一组特定的比特模式(如01111110)来标志一帧的起始与终止。本章稍后要详细介绍的HDLC规程即采用该法。为了不使信息位中出现的与特定比特模式相似的比特串被误判为帧的首尾标志,可以采用比特填充的方法。比如,采用特定模式01111110,则对信息位中的任何连续出现的五个“1”,发送方自动在其后插入一个“0”,而接收则做该过程的逆操作,即每接收到连续五个“1”,则自动删去其后所跟的“0”,以此恢复原始信息,实现数据传输的透明性。比特填充很容易由硬件来实现,性能优于字符填充方法。

(4)违法编码法:该法在物理层采用特定的比特编码方法时采用。例如,一种被称作曼彻斯特编码的方法,是将数据比特“1”编码成“高-低”电平对,而将数据比特“0”编码成“低-高”电平对。而“高-高”电平对和“低-低”电平对在数据比特中是违法的。可以借用这些违法编码序列来定界帧的起始与终止。局域网IEEE 802标准中就采用了这种方法。违法编码法不需要任何填充技术,便能实现数据的透明性,但它只适用于采用冗余编码的特殊编码环境。由于字节计数法中COUNT字段的脆弱性以及字符填充法实现上的复杂性和不兼容性,目前较普遍使用的帧同步法是比特填充和违法编码法。

差错控制

一个实用的通信系统必须具备发现(即检测)这种差错的能力,并采取某种措施纠正之,使差错被控制在所能允许的尽可能小的范围内,这就是差错控制过程,也是数据链路层的主要功能之一。对差错编码(如奇偶校验码,检查和或CRC)的检查,可以判定一帧在传输过程中是否发生了错误。一旦发现错误,一般可以采用反馈重发的方法来纠正。这就要求接收方收完一帧后,向发送方反馈一个接收是否正确的信息,使发送方所在此作出是不需要重新发送的决定,也即发送方仅当收到接收方已正确接收的反馈信号后才能认为该帧已经正确发送完毕,否则需要重新发送直至正确为止。物理信道的突发噪声可能完全“淹没”一帧,即使得整个数据帧或反馈信息帧丢失,这将导致发送方永远收不到接收方发来的反馈信息,从而使传输过程停滞.为了避免出现这种情况,通常引入计时器(Timer)来限定接收方发回反馈信息的时间间隔,当发送方发送一帧的同时也启动计时器,若在限定时间间隔内未能收到接收方的反馈信息,即计时器超时(Timeout),则可认为传的帧已出错或丢失,继而要重新发送。由于同一帧数据可能被重复发送多次,就可能引起接收方多次收到同一帧并将其递交给网络层的危险。为了防止发生这种危险,可以采用对发送的帧编号的方法,即赋予每帧一个序号,从而使接收方能从该序号来区分是新发送来的帧还是已经接收但又重新发送来的帧,以此来确定要不要将接收到的帧递交给网络层。数据链路层通过使用计数器和序号来保证每帧最终都被正确地递交给目标网络层一次。

流量控制

流量控制并不是数据链路层所特有的功能,许多高层协议中也提供流时控功能,只不过流量控制的对象不同而已。比如,对于数据链路层来说,控制的是相邻两节点之间数据链路上的流量,而对于运输层来说,控制的则是从源到最终目的之间端的流量。由于收发双方各自使用的设备工作速率和缓冲存储的空间的差异,可能出现发送方发送能力大于接收方接收能力的现象,如若此时不对发送方的发送速率(也即链路上的信息流量)作适当的限制,前面来不及接收的帧将被后面不断发送来的帧“淹没”,从而造成帧的丢失而出错。由此可见,流量控制实际上是对发送方数据流量的控制,使其发送率不致超过接收方所能承受的能力。这个过程需要通过某种反馈机制使发送方知道接收方是否能跟上发送方,也即需要有一些规则使得发送方知道在什么情况下可以接着发送下一帧,而在什么情况下必须暂停发送,以等待收到某种反馈信息后继续发送。

链路管理

链路管理功能主要用于面向连接的服务。当链路两端的节点要进行通信前,必须首先确认对方已处于就绪状态,并交换一些必要的信息以对帧序号初始化,然后才能建立连接,在传输过程中则要能维持该连接。如果出现差错,需要重新初始化,重新自动建立连接。传输完毕后则要释放连接。数据连路层连接的建立维持和释放就称作链路管理。在多个站点共享同一物理信道的情况下(例如在LAN中)如何在要求通信的站点间分配和管理信道也属于数据链路层管理的范畴。

2.以太网基本定义

以太网是一种计算机局域网技术,它规定了包括物理层的连线、电子信号和介质访问层协议的内容。以太网有两类:第一类是经典以太网,第二类是交换式以太网,使用了一种称为交换机的设备连接不同的计算机。经典以太网是以太网的原始形式,运行速度从3~10Mbps不等;而交换式以太网正式广泛应用的以太网,可运行在100、1000和10000Mbps那样的高速率,分别以快速以太网、千兆以太网和万兆以太网的形式呈现。

2.1.MAC地址简介

MAC地址英语:Media Access Control Address),直译为媒体存取控制位址,也称为局域网地址(LAN Address),MAC位址以太网地址(Ethernet Address)或物理地址(Physical Address),它是一个用来确认网络设备位置的位址。在OSI模型中,第三层网络层负责IP地址,第二层数据链路层则负责MAC位址 。MAC地址用于在网络中唯一标示一个网卡,一台设备若有一或多个网卡,则每个网卡都需要并会有一个唯一的MAC地址。MAC地址的长度为48位(6个字节),通常表示为12个16进制数,如:00-16-EA-AE-3C-40就是一个MAC地址,其中前3个字节,16进制数00-16-EA代表网络硬件制造商的编号,它由IEEE(电气与电子工程师协会)分配,而后3个字节,16进制数AE-3C-40代表该制造商所制造的某个网络产品(如网卡)的系列号。只要不更改自己的MAC地址,MAC地址在世界是唯一的。形象地说,MAC地址就如同身份证上的身份证号码,具有唯一性。

2.2.以太网数据帧的格式

下面以MAC帧的格式为例进行说明:

MAC帧的帧头包括三个字段。前两个字段分别为6字节长的目的地址字段和源地址字段,目的地址字段包含目的MAC地址信息,源地址字段包含源MAC地址信息。第三个字段为2字节的类型字段,里面包含的信息用来标志上一层使用的是什么协议,以便接收端把收到的MAC帧的数据部分上交给上一层的这个协议。例如,当类型字段的值是0x0800时,就表示上层使用的是IP数据包;若类型字段的值为0x8137,则表示该帧是由Novell IPX 发过来的。

MAC帧的数据部分只有一个字段,其长度在46到1500字节之间,包含的信息是网络层传下来的数据。

MAC帧的帧尾也只有一个字段,为4字节长,包含的信息是帧校验序列FCS(使用CRC循环冗余校验码校验)。

帧格式,是指根据不同协议规定的帧的格式。通常由“帧头+数据信息”两部分组成。

帧格式主要有以太网帧格式、数据帧格式、802.3帧格式、MAC帧格式。

以太网帧

3.交换机的工作原理

3.1交换机的作用

(1)连接多个以太网物理段,隔离冲突域

(2)对以太网帧进行高速而透明的交换转发

(3)自行学习和维护MAC地址信息

交换机工作在二层,可以用来隔离冲突域,在OSI参考模型中,二层的作用是寻址,这边寻址指的是MAC地址,而交换机就是对MAC地址进行转发,在每个交换机中,都有一张MAC地址表,这个表是交换机自动学习的。

3.2交换机的特点

(1)主要工作在OSI模型的物理层、数据链路层

(2)提供以太网间的透明桥接和交换

(3)依据链路层的MAC地址,将以太网数据帧在端口间进行转发

3.3交换机MAC地址表转发过程:

MAC地址表初始化:交换机在刚启动的时候,MAC地址表中为空。下图为交换机刚启动的时候的MAC地址表。

初始化

开始工作

上图为接入PC的时候,减缓及开始进行学习MAC地址。

MAC地址表学习过程:

(1)PCA发出数据帧

(2)交换机把PCA的帧中的源地址MAC_A与接收到此帧的端口E1/0/1关联起来

(3)交换机把PCA的帧从所有其他端口发出去(除了接收到帧的端口E1/0/1)

(4)PCB、PCC、PCD发出数据帧交换机会把接收到的帧中的源地址与相应的端口关联起来,至此,交换机的MAC地址表学习完成,开始进行数据的转发。

3.4交换机对数据帧的转发与过滤

单播帧的转发:PCA发出目的到PCD的单播数据帧、交换机根据帧中的目的地址,从相应的端口E1/0/4发送出去、交换机不在其他端口上转发此单播数据帧

单播转发

广播、组播和未知单播帧的转发:交换机会把广播、组播和未知单播帧从所有其他端口发送出去(除了接收到帧的端口)

4.VLAN基本原理

4.1广播风暴

所谓广播帧就是在二层环境中设备发出的广播帧在广播域中传播,这样会导致广播镇占用网络带宽,降低设备性能。

广播风暴

4.2使用三层设备路由器隔离广播域

广播帧属于二层并不会跨越三层,所以为了解决广播风暴,可以使用三层设备隔离广播域,减小广播域范围。比如使用路由器来隔离广播域,由于路由器是三层设备,对数据的转发容易形成瓶颈,所以一般我们使用VLAN来隔离广播域。

4.3VLAN隔离广播

二层交换机使用VLAN(虚拟局域网)隔离广播,用来减小广播域范围。这样的话,不同VLAN之间是无法进行通信的,假设PCA发送一个广播帧,只会在VLAN1之间传播并不会传播到VLAN2,这样既限制了广播域的范围,又保证了VLAN2的安全性。

VLAN隔离广播

4.4VLAN的优点

有效控制广播域范围、增强局域网的安全性、灵活构建虚拟工作组

4.5VLAN的分类

(1)基于端口的VLAN:

基于端口的VLAN划分方法是最常用的一种划分方法,就是一个或者几个端口属于一个VLAN,这个端口下面的用户也就属于该 VLAN。假设以上图中,E1/0/1和E1/0/2属于VLAN10,E1/0/3和E1/0/4属于VLAN20,那么PCA和PCB也都都属于 VLAN10,可以互相通信,PCC和PCD属于VLAN20,也可以互相通信。

这种划分方法的优先就是配置比较方便,只要在交换机上将相应的端口加入相应的 VLAN 即可,缺点是对于用户来说如果更改了交换机的端口也就更换了VLAN ID。

(2)基于MAC地址的VLAN:

基于 MAC 地址的 VLAN 就是在划分 VLAN 的时候根据 MAC 地址划分 VLAN,比如将 PCA和 PCB 的 MAC 地址划分在 vlan10中,那么 PCA 和 PCB 就属于 VLAN10,PCC 和 PCD 同理。

这种划分方法的优点是对于用户来说不受地理位置的闲置,不管PCA用户接在哪个接口,都属于VLAN10,缺点是配置较基于端口的划分方法繁琐。

(3)基于协议的VLAN:

这种划分方法是指运行不同的协议划分到相同的VLAN中,比如PCA和PCB都运行的是IP协议,属于VLAN10,PCC和PCD同理。

此种划分方法优点依旧是不受物理位置的影响,不管PCA接在交换机的哪个接口,都属于VLAN10。缺点的其实PC真正可以运行的协议并没有很多,有划分vlan数量上的限制。

(4)基于子网的VLAN:

这种划分方法是根据子网划分,比如10.0.0.0/24属于VLAN10,20.0.0.0/24属于vlan20;

点依旧是不受物理位置的影响,不管PCA接在交换机的哪个接口,都属于VLAN10。缺点的其实PC真正可以运行的协议并没有很多,有划分vlan数量上的限制。

(4)基于子网的VLAN:

这种划分方法是根据子网划分,比如10.0.0.0/24属于VLAN10,20.0.0.0/24属于vlan20;

以上四种划分方法最常用配置最方便是基于端口的VLAN划分方法,后面的实验示例也是以基于端口的划分方法。