介质访问控制子层(MAC子层)概述
MAC子层要解决的问题
1. 介质的多路访问控制/介质访问控制MAC
2. 数据通信方式(单播/广播/组播)
- 单播(unicast):一对一的通信,是客户端与服务器之间的点到点连接
- 广播(broadcast):一堆所有的通信,发出的信息,要送达到所有对象
- 组播(multicast):一对一个组的通信,发出的信息送达到特定组的用户
局域网中采用了共享传输介质的方式来降低成本,共享传输介质上通常采用的就是广播的通信方式
广播网络面临问题
一条信道上有多个站点,所以会出现在共享信道(多路访问信道,广播信道)上同时有两个甚至更多的站点同时请求占用网络
解决方法:
介质的多路访问控制:在多路访问信道上确定下一个使用者(分配信道)
分配信道方式:
- 静态分配:预先分配信道给用户,对于不同用户也采用相同的信道分配方式
- 动态分配:信道开放,没有预分配,按照需求临时分配给用户
静态分配
已经学习过的静态分配方式:
- 频分多路复用 FDM(Frequency Division Multiplexing)
- 时分多路复用 TDM(Time Division Multiplexing)
缺陷:
- 信道分配不合理,资源没有按需分配
- 有资源浪费,效率低
- 由于信道可能是按时间分配的,所以延迟时间增大N倍
静态信道分配的排队模型(符合M/M/1排队系统模型)
M:
帧到达时间间隔服从指数分布(顾客到达时间间隔分布) 平均到达率(输入率):λ 帧/秒
M:
帧长度服从指数分布,平均长度frac{1}{μ} (位/帧) (顾客到达时间间隔分布)信道容量为C 位/秒,则信道服务率为μC (帧/秒)
1:
并列服务台个数为1
根据排队理论,可证明:单信道平均延迟时间(顾客在服务系统中的逗留时间)为:
信道N等分后每个子信道的平均延迟时间
得证:信道N等分后每个子信道的平均延迟时间增大N倍
适用范围:
- 用户量少,用户数目固定
- 通信量大且流量稳定
- 不适用于突发性业务的情况
动态分配
通过多路访问协议,动态分配信道资源,可以提高信道利用率
多路访问协议分为两大类
- 随机访问协议
- 受控访问协议
随机访问协议
站点/用户争用信道,可能会出现站点之间的冲突
典型的随机访问协议
- ALOHA协议
- CSMA协议
- CSMA/CD协议(以太网采用此协议)
受控访问协议(Controlled Access)
特点:站点明确被分配占用信道,不会产生冲突
ALOHA协议
上世纪七十年代诞生于夏威夷大学的随机访问协议,为了解决夏威夷群岛与檀香山之间的无线网络通信问题。无线信道是典型的广播/共享信道
ALOHA协议有两个版本:
- 纯ALOHA协议
- 分隙ALOHA协议(隙是时隙,时槽的意思)
纯ALOHA协议
工作原理
- 任何一个信道都可以在帧生成后立刻发送帧(可能发生冲突,且不关心信道是否已经被占用),通过信号的反馈,检测信道,确定是否发送成功
- 两个以上站点都在发送数据时就会发生冲突
- 对于发送失败的帧,在随机延时后,继续重新发送
重要概念
吞吐率(Throughout) S
在发送时间T(一个帧时)内,发送成功的平均帧数 显然:0<S<1 S = 1时分组一个接一个地发送出去,帧之间没有空隙。一 般用S接近于1的程度来衡量信道的利用率
运载负载(Carried load) G 又称网络负载
时间T内所有通信站总共发送的帧平均值(包括原发和重发的分组)。
显然G>=S,当G=S时表示无冲突发生,G>S时,表示存在冲突,当G>1时,表示冲突频繁
p0
一帧发送成功(即未发生冲突)的概率。即发送成功的分 组在已发送分组的总数中所占的比例。
三者之间存在关系:
冲突危险期
发送的帧容易根其他帧发生冲突的时间
在纯ALOHA协议中冲突危险期是2T
在2T内生成帧的均值是2G
生成k帧的概率服从泊松分布
所以生成0帧的概率就是
在冲突危险期内发送成功的概率就是在2T内都不产生新帧的概率,所以
带入纯ALOHA协议中
两边求导,求极值
当G=0.5时,S取得极大值≈0.184,即纯ALOHA协议信道利用率最大可达到18.4%
分隙(分槽)ALOHA协议
协议原理
把时间分成时间片(时隙),时隙长度=1帧时T
新帧的产生仍然是随机的,但不再允许随机发送
每一个发送帧想要发送必须等待时槽的起点,等到时槽起点到来才可以发送,所以冲突只可能发生在时槽的起点,冲突危险期缩短为T
一旦某个站占用时隙并且发送成功,则在这个时隙内就不会发生冲突(因为其他帧在这段时间内不能发送)
显而易见,由于冲突时间减小,所以P0发生变化,性能随之提高
解得极值位于1处,此时S约等于0.368,也就是说信道利用率最大为36.8%。较纯ALOHA协议提升了一倍
载波侦听多路访问协议(CSMA)
属于改进的ALOHA协议,特点是“先听后发”
CSMA分为两大类
- 非持续式
- 持续式(又分为1-持续CSMA和P-持续式CSMA)
非持续式-载波侦听多路访问协议
特点:
- 经侦听,如果介质空闲,就开始发送
- 如果介质忙,则等待一段随机事件
- 随机事件结束后,继续重复步骤1
等待一个随机时间,可以减少站点之间发生冲突的可能性,但在等待这段时间,可能整条信道是空闲的,这就会导致信道浪费
持续式-载波侦听多路访问协议
1-持续式CSMA
- 经侦听,如果介质空闲,就开始发送
- 如果介质忙,就开始持续侦听,直到介质空闲
- 如果发生冲突,就等待一个随机时间,然后重复步骤1
显然,持续式的随机时间要少于非持续式的随机时间
存在问题:
一旦一条信道上有两个及以上站点在持续侦听,那么一旦介质空闲下来,多个站点同时争用信道,必然发生冲突
P-持续式CSMA
- 经侦听,如果介质空闲,以P概率发送,以1-P概率延迟一个时间单元
- 如介质忙,持续侦听,介质一旦空闲,重复步骤1
- 如果已经延迟一个时间单元,就再次重复步骤1
1-持续式是P-持续式的特例,当概率P为1时,二者相同
CSMA工作方式如果侦听到介质上没有报文发送,则帧发送后,仍然会发生冲突
冲突原因
- 同时传送:两个都在持续侦听的站点在空闲时同时发送帧导致冲突
- 传播延迟时间
传播延迟时间
信号在介质上的传播速度只有在自由空间的65%左右,一般近似为:200m/μs。由于传播延迟时间的存在,某个站发出报文后仍会遇到冲突
冲突窗口
发生冲突时间的上限,即发送站发出帧后能检测到碰撞的最长时间,数值上等于最远两站传播时间的两倍,即2t
信号在物理信道上的传播速度v 一般近似为:
(v=200m/μs,网卡延时=t_{PHY},最远距离S,t=S/v)
如果考虑网段上有N个中继器,每个中继器延迟时间为 ,则可得下式:
CSMA/CD(采用1-持续)
(带冲突检测的载波侦听多路访问协议)
工作原理:“先听后发,边听边发”
特点:
- 经侦听,如果介质空闲,则发送当前帧
- 如介质忙,持续侦听,一旦空闲立即发送。
- 如果发生冲突,等待一个随机分布的时间再重复步骤1
- 不同于其他CSMA协议,该协议在帧发出后,仍持续监视该帧情况,一旦收到的信号与发出的不一致,就说明发生了冲突
- 发送站感知冲突后立即停止帧的发送,并且发一个简短的堵塞信号 (称强化冲突信号,Jammingsignal),通知网上各站已经发生冲突,本站及网上所有站都等待一段随机分布的时间,然后再按CSMA/CD方式重发该帧。
随着P变化P-持续式CSMA吞吐量变化
不难发现P越小,吞吐量越大,传输效率越高。这是由于发送出的帧发生冲突的可能性降低了,但同样的,P变小牺牲了等待时间,一个帧发送所经历的等待时间变长
冲突检测方法
比较发送信号(A→B)与回复信号(A⬅B)的能量或脉冲 宽度变化
最大冲突检测时间(冲突窗口):两个最远距离站点间的传输时间为t,则网络的最大冲突检测时间为2t
冲突检测的要求
- 时隙宽度 = 最大冲突检测时间(保证在一个时隙内能够检测到最远距离发生的冲突)
- 发送有效帧的时间 >= 最大冲突检测时间(防止因在发生冲突时已完成短帧发送而造成的异常情况)
以太网概述
以太网发展史
- 1973 Robert Metcalfe及其同事设计了以太网雏形(施乐公司)
- 1980 DIX发布最早的以太网标准,开放标准
- 1985 IEEE802.3对以太网作了小的修改,基本一致,兼容
- 1995 IEEE宣布了100Mbps以太网标准
- 1998 吉比特以太网标准(1000M) 1999
- 2002 IEEE通过了10Gbps以太网标准
以太网分为
- 经典以太网(3M~10Mbps,不再使用)
- 交换式以太网(10M,100M,1G,广泛使用)
IEEE以太网命名规则
10Base2:(IEEE 802.3a)
10:表示10Mbps Base:表示以太网采用线路编码这种基带传输的方式 2:表示传输距离,单位是百米(四舍五入)
10Base-TX(IEEE 802.3X)
-T:表示铜制非屏蔽双绞线 -F:表示光缆
名称 | 电缆 | 最大区间/长度 | 节点数/段 | 优点 | 接口 |
---|---|---|---|---|---|
10Base5 | 粗缆(采用总线拓扑) | 500m | 100 | 用于主干 | AUI |
10Base2 | 细缆(采用总线拓扑) | 200m(185) | 30 | 廉价 | BNC |
10Base-T | 双绞线(采用星型拓扑) | 100m | 1024 | 易于维护 | RJ-45 |
10Base-F | 光纤 | 2km | 1024 | 用于楼间 | ST |
10Base-T拓扑结构
- 物理连接是星型/扩展星型结构
- 逻辑上是总线结构(站点争用总线)
10Base-T相较于10Base2和10Base5的优点
- 安装成本大大降低
- 即插即用,组网灵活,增删方便(采用了RJ-45)
- 采用星型结构,故障便于隔离
- 适合大批量制造
- 具有开放式标准的互操作能力
问题:
多个用户共享一条10M速率的信道
10Base-T以太网采用曼彻斯特编码
- 1:高电压到低电压
- 0:低电压到高电压
- 电压值:
0.85 volt: high signal -0.85 volt: low signal 0 volt: DC value
所以要求比特率达到b = 10 Mbps 就需要波特率B = 20 MHz(信号的变化频率)
IEEE802.3协议描述了运行在各种介质上1 Mb/s~10 Mb/s的1-持续CSMA/CD协议的局域网标准。
很多人对以太网和IEEE802.3不加区分,但二者确有差别(如帧格式)。
以太网采用介质访问控制技术(CSMA/CD)
CSMA/CD协议遵守先听后发,边发边听的原则,并且在发生冲突后返回等待一段随机时间,这段随机时间的确定,利用到了“二进制指数回退算法”
二进制指数回退算法
- 冲突检测到后,时间被分散成离散的时隙
- 时隙长度等于信号在介质上来回传输的时间,在以太网中一般是51.2μs
- 一般地,第i次冲突后,随机时间可从以下事件中选择
当冲突超过16次,一般直接放弃发送
提高负载方法
10Base以太网逐渐不能满足人的需求,所以需要考虑如何提升负载
- 提速到100M
- 采用全双工代替半双工,提速1倍
- 采用交换式网络,用交换机取代集线器
快速以太网(100M以太网)
标准:IEEE802.3u
属于改进的10M以太网
要求:与10M以太网兼容
基本思想:
保留原有帧格式,接口和过程规则,将比特时间(发送1比特所需时间)由100ns降至10ns,电缆长度也由2500m降低至250m
编码方式也发生了改变,由曼彻斯特编码变为4B/5B编码方式
4B/5B编码表
优点:
- 效率高
- 易于实现
- 容易电压平衡
千兆位以太网(吉比特以太网,GE)
标准:IEEE802.3z
与现有的10M/100M以太网完美兼容
主要工作在全双工模式,工作在半双工模式下时,需要使用CSMA/CD技术,可能带来传输距离过短的问题(适用帧串/帧扩充方法来解决)
FDDI,ATM等技术失败原因
- 太复杂,很难到桌面
- 部署复杂,成本高昂,交换机端口少
- 受快速以太网的冲击
以太网优点
- 简易性和灵活性
- 易于维护
- 支持TCP/IP协议,容易互联
- 善于借鉴(4B/5B…)
以太网帧格式
以太网和IEEE802.3之间并不是完全相同的,以太网对应OSI模型中的下两层(物理层数据链路层),而IEEE 802.3只对应于OSI模型中的下1.5层(物理层,逻辑链路控制子层)
二者的区别主要存在于帧格式上
帧格式
帧类型 | 前导码(先导码) | 帧起始字节 | 目的地址 | 源地址 | 长度/类型 | 数据 | 校验和 |
---|---|---|---|---|---|---|---|
IEEE 802.3帧格式 | 62bit(1010…) | 2bit(11) | 6byte | 6byte | 2byte(长度) | 46~1500byte | 4byte-循环冗余校验 |
DIX以太网帧格式 | 62bit(1010…) | 2bit(10) | 6byte | 6byte | 2byte(类型) | 46~1500byte | 4byte-循环冗余校验 |
第一个字段—前导码 帧起始字段
大小为8byte(前导码62bit,帧起始字段2bit)。帧起始字段用来表明一个帧的开始,在IEEE 802.3中这个字段是用11表示的,但在以太网中才用10表示
第二,三个字段—目的地址,源地址
每个字段6byte,48bit。表示的地址都是物理地址(MAC地址)
总共存在约7*10^13(七万亿个),暂时不存在枯竭的风险
MAC地址表示形式=组织/机构ID(Manufacture ID 24bit) NIC ID(自定义 24bit)
前后各24bit,由于都是用十六进制表示的,所以一个典型的物理地址表示如下:(三种格式均正确)
其中前6位由IEEE分配表示的是一个企业或组织,例如:
- 3Com 00-20-AF
- IBM 08-00-5A
- Cisco 00-00-0c
后六位是由企业自行分配的
物理地址具有全球唯一性的特点,也就是说没有两台电脑可能具有相同的MAC地址,MAC地址烧录在ROM中,当计算机启动时,会从ROM拷贝到RAM中
目的MAC地址定位目的机
为了维护MAC地址的全球唯一性IEEE 要求厂商遵守两条简单的规定:
- 必须使用该供应商分配的OUI作为前3个字节
- OUI相同的所有MAC地址的最后3个字节必须分配唯一的值
第四个字段—长度/类型字段
大小为2byte。
在IEEE 802.3中表示帧的长度字段(不包括前导码),长度最短不能小于64字节,最长不能超过1518各字节(由于以前内存十分昂贵,而帧中的数据要占用内存,如果过大对数据的要求会越高)
在DIX以太网协议中表示类型字段,由于以太网对应整个下两层直接与上层的网络层交流,所以第四字段用于存放网络层类型
如何区分第四字段是类型还是长度?
(如何区分当前帧是以太帧还是IEEE 802.3帧?)
检查数值大小:
- 小于等于1536(十六进制下<=0x600):表示长度字段(802.3帧)
- 大于1536(十六进制下>0x600):表示类型字段(以太帧)
第五个字段—数据字段
长度最小为46字节(因为帧头,帧尾长度14字节,为保证帧的长度大于64字节,多以数据字段长度最少46字节)小于46字节就进行填充。
内含LLC层(逻辑链路子层)的数据
第六个字段—校验字段
大小4byte,32bit。
以太帧采用CRC循环冗余校验,校验的范围是目的/源地址,长度字段,LLC数据字段等
为什么最小帧的长度是64byte
以太网(802.3)采用CSMA/CD协议 协议要求为保证正确检查是否发生冲突
以太网规定,在10Mbps局域网中,时隙2t=51.2μs所以最短帧的长度:
二层交换的基本原理
在不同的区域,地点,都存在着很多的LAN(局域网),我们将这些LAN连接起来就利用到了重要的“网桥”
网桥工作在DLL层(数据链路层),通过检查MAC地址做出转发帧的决策,因为工作在DLL层,所以不会检查网络层情况所以,IPv4, IPv6, AppleTalk, ATM, IPX, 和OSI 分组均可穿越网桥。
交换机是网桥的现代名称,二者之间不做区别
二层交换
通过网桥实现
网桥可以将两种不同格式的局域网相连接,例如802.11和802.3虽然是两个不同类型的LAN,仍然可以通过网桥连接起来,网桥会在内部处理两个LAN的区别,使之可以正常通信
- 帧格式不同—进行重新封装
- 不同的数据传输速率—从快的LAN向慢的传递时进行缓存
- 不同的最大帧长度—进行切割 (例如, 802.3 1526 字节,802.11 2346 字节)
- 不同的安全策略,不同的服务质量信息—在传递过程中,如果以访不支持对应的安全策略或服务质量信息的话就会消去对应信息
透明的网桥(transparent bridges)
- 通过透明的网桥可以将多个LAN连接起来,同时硬件和软件不需要做任何形式的变化,所以称其为“透明”
- 透明网桥工作在混杂模式,接收所有与之相连的LAN的帧
- 当一个帧到达网桥,它必须要做出决策,丢弃还是转发,如果转发还要知道向哪个LAN转发
- 决策通过网桥内部的一张地址表实现,通过地址表确定丢弃还是转发
如何维护网桥内部的地址转发表
- 初始时,这张转发表是空表
- 利用扩散算法(泛洪算法,flooding algorithm),当网桥不知道目的地址在何处时,将会把这个帧向传入LAN以外的所有LAN转发(广播)
- 逆向学习,网桥从到达帧的源地址认识到源地址对应的那台机是在帧来的那条LAN上,所以,把它写入MAC地址表(例如PC1发送一个帧从LAN1向PC6传递,到达网桥处时,网桥并不认识PC6,但它直到这个帧是从LAN1来的,并且这个帧的源地址是XX-XX-XX-XX-XX-XX,就会将这两个数据写入网桥的转发表中,再遇到要转发给XX-XX-XX-XX-XX-XX的帧,就只向LAN1转发)
网络的拓扑结构在不断变化,网桥如何适应这种变化
- 任何时候,在向网桥的转发表中写入数据的时候,都要同时打下时戳(表明数据在何时写入)
- 当一个到达的帧它的到达地址在表中已经有记录时,它会再次更新这个时戳
- 网桥周期性的扫描整张表,删去那些时戳已经过期的记录
这样保证了网桥的转发表中的数据一直都是最新且活跃的那些工作站的信息(如果一个工作站十分活跃的接收帧却从来不发送,那网桥中同样不会有它的信息)
网桥工作原理
当一个帧到达网桥时,网桥启动如下算法:
- 如果源LAN和目的LAN相同,则丢弃该帧(filtering,过滤或丢弃)
- 如果源LAN和目的LAN不同,则转发该帧(forwarding)
- 如果目的LAN不存在于转发表中,则广播该帧(flooding,泛洪广播)
每当帧到达,上述算法都将被执行一遍
有些专用的 VLSI芯片可以在几微秒内完成查找和更新表项的动作
网桥工作示例:
初始时,整个结构状态:
此时两个网桥的转发表都是初始状态为空:
网桥1 MAC | Port —|— | 网桥2 MAC | Port —|— |
现在,要从图上的源地址(AA-AA-AA-AA-AA-AA)向目的地址(BB-BB-BB-BB-BB-BB)发送数据帧,帧从源地址出发到达LAN1,然后到达网桥1,网桥1发现源地址与目的地址不同,并且目的地址信息未知,所以进行广播,然后网桥1进行逆向学习,它发现这个帧的源地址是(AA-AA-AA-AA-AA-AA),没有在转发表中,并且它是从LAN1所在的端口(这里记作A1端口)来的,所以将这个地址和端口写入到转发表中。
网桥1
MAC | Port |
---|---|
AA-AA-AA-AA-AA-AA | A1 |
非目的地址收到帧后都选择忽略,当帧到达网桥2时,进行同样算法继续广播,同时进行逆向学习(将网桥1所在端口记作B1)将数据写入转发表中 |
网桥2
MAC | Port |
---|---|
AA-AA-AA-AA-AA-AA | B1 |
最终数据帧成功从LAN4找到目的地址(BB-BB-BB-BB-BB-BB)
这时,假设目的地址返回一个确认帧,数据从图上目的地址出发,通过LAN4到达网桥2,到达网桥2时,运行算法查找目的地址,发现此时目的地址就是原来的源地址(AA-AA-AA-AA-AA-AA),所以此时网桥2就会进行转发,而不再广播,只将这个帧转发给网桥1所在的B1端口。同时会进行逆向学习.
网桥2
MAC | Port |
---|---|
AA-AA-AA-AA-AA-AA | B1 |
BB-BB-BB-BB-BB-BB | B2 |
到达网桥1后同样的运行算法并且发现了AA-AA-AA-AA-AA-AA在准发表中对应的端口是LAN1所在的A1端口,所以它只对LAN1进行转发,并且进行逆向学习
网桥1
MAC | Port |
---|---|
AA-AA-AA-AA-AA-AA | A1 |
BB-BB-BB-BB-BB-BB | A2 |
最终成功在LAN1上找到了AA-AA-AA-AA-AA-AA
有了网桥/交换机,各个LAN之间的通信可以互不影响,同时进行,这个过程也就分割了冲突域,提高了性能
网桥与中继器比较
header 1 | header 2 |
---|---|
row 1 col 1 | row 1 col 2 |
row 2 col 1 | row 2 col 2 |
功能 | 网桥 | 中继器 |
---|---|---|
再生信号 | Yes | Yes |
连接采用不同MAC协议的网段 | Yes | No |
隔离冲突域 | Yes | No |
根据帧头的物理地址转发帧 | Yes | No |
丢弃损坏帧 | Yes | No |
生成树协议(STP)
(Spanning Tree Protocol)
为了数据传输的可靠性,我们经常采用冗余结构来搭建网桥,即一个LAN可能连着多个网桥,如下图所示,但这样同样带来了一些问题
冗余结构导致了环结构的产生
问题1:多帧传送
例如PC1向PC3传输数据,从LAN1上可以直接到达,从LAN1到网桥1再到LAN2再到网桥2最后到PC3也可以到达,这就导致了会有多个相同的帧(或帧的副本)传送到PC3,造成多帧传送问题
问题2:广播风暴
在局域网中经常会发送广播,例如PC1向PC2发送帧,帧到达网桥1进行广播到达网桥2,到达网桥2后,进行广播又可以回到网桥1,如此循环往复就会形成广播风暴。严重情况下可使网络彻底瘫痪
MAC地址库不稳定
PC1发出帧(MAC地址为A),A从LAN1通过端口port1到达网桥1,将这组信息(A,port1)写入转发表中。
同样的,A还能通过port2端口到达网桥2。在经过循环从LAN2到达网桥1的port3,所以更新这组数据为(A,port3).导致交换机的逆向学习不断发生改变
导致帧的转发方向具有不确定性
解决方案:生成树协议
Radia perlman提出了生成树算法,利用生成树的定义产生一棵无环的树
IEEE将这个协议标准化为IEEE 802.1D,即STP
STP运作方式:
- 每个网络一个根网桥
- 每个网桥一个根端口
- 每网段一个指定端口
- 非指定端口不被使用
生成树算法生成一棵逻辑上无回路的树,即生成树,但不能保证这棵生成树是最优的
非指定端口虽然不参与数据帧的传送,但它会继续监听树的工作报文,一旦树中某些工作端口失效后,非工作端口会被重新启用,形成新的生成树
虚拟局域网VLAN
经典LAN:物理LAN,地理位置靠近的工作站组成LAN
VLAN:虚拟局域网,一组逻辑上的设备或用户,不需要考虑地理位置
同一个VLAN用户中的通信和在LAN中是一样的,在一个VLAN中的广播只有VLAN的成员能够听到,而不会传到其他VLAN中去,从而避免了不必要的广播风暴产生。若没有路由,不同的VLAN之间不能够相互通信,进一步提高了不同工作组之间信息的安全性。网络管理员可以通过配置VLAN之间的路由来全面管理网络内部不同工作组之间的信息互访。
VLAN的实现方式
- 基于端口
- 基于MAC地址
- 基于三层协议
基于端口的VLAN在交换机内部有一张VLAN成员配置表,由此了解某个端口属于哪个VLAN
当一个帧在LAN中定位目标机(MAC寻址)时,帧在整个VLAN中穿行,类似下图,从源地址出发,发送给所有相同类型的目标机
如上图情况所示,当一个VLAN的成员跨越了交换机时,帧在传输到交换机1时会进行一些处理,向帧中写入数据VLAN ID,表明这是该条VLAN上传送的帧,这样这个帧就会顺利到达交换机2,并在交换机2处重新进行格式转换,消去VLAN ID等信息,最终到达目标机的帧就与发出帧完全一致了
上述描述的就是IEEE802.1Q(一种帧标记法)
- 帧在经过干线trunk(图中两个交换机之间的连线)时,会打上标签
- 标签中有10bit用来表示VLAN ID
- 到达干线终点时会拆除标签
一个VLAN就是一个广播域(广播域就是指网络中所有能接收到同样广播消息的设备的集合。)
有了VLAN,可以使用二层交换机实现广播域的分割
二层设备
二层(数据链路层设备)主要有
- 网卡
- 网桥
- 交换机
NIC网卡(Network Interface Card)
主要功能:
网卡的主要功能包括命名、成帧、介质访问控制,再生信号等。
为主机提供介质访问
MAC地址就烧在网卡的ROM中
- Logical link control (LLC): 和上层通信
- Naming: 提供一个独特的 MAC 地址标识符
- Framing: 封装过程的一部分,为传输比特流打包
- Media Access Control (MAC): 为访问共享介质提供访问策略
- Signaling:创建信号和与介质的接口
网卡同时运作在第一层和第二层
主要是第二层的设备
- 在计算机中与上层通信
- Logical Link Control (LLC)
- 烧入芯片的MAC 地址
- 封装数据城帧
- 提供介质访问
也是第一层设备
- 创建信号和与介质的接口
- 内建转发器( transceiver)
网卡分类:
- 按照计算机类型分类:笔记本,台式机
- 按照网络类型分类:Ethernet, Token Ring, FDDI
- 按照传输介质分类:Twisted pair, coax, fiber
- 按照系统总线类型分类:PCI, ISA
网桥
连接不同的LAN网段
通过过滤部分交通流量(以网段分流交通,基于 MAC 地址过滤流量),减少冲突的机会,改善网络性能。
交换机
LAN 交换机是多端口网桥
连接 LAN 网段(比网桥更高的交换速度)
使用一张 MAC 表,来决定一帧转发的端口
交换机常被用来替换集线器(hub),用作以太网星型拓扑中心,以改善现有网络性能
增加带宽
支持新的功能,如VLAN
基本的工作原理与网桥一模一样
微分段
交换机利用微分段(LAN被交换机分割开的网段在冲突域中产生无冲突域,就是微分段)的技术(交换机的每个端口只接一个工作站)创建无冲突域
交换机的交换模式
存储转发:
交换机将整个帧接收下来,计算其校验和,确保没有发生错误,再按照MAC地址转发表的指示进行转发
延迟大,出错率小
直通交换(贯穿交换),虫孔交换:
交换机读取到帧的目的地址后,就直接将其进行转发,不再在接收整个帧后再处理。
延迟小,出错率高
无碎片交换(无分片交换):
交换机再读取帧的字节数达到64字节后才开始转发,类似于前两种交换方式的折中,避免了碎片帧的转发(冲突的碎片帧,短帧,残帧往往小于64字节)
延迟和出错率达到了相当的平衡