概述
信道分为点对点和广播信道。上一节主要介绍点对点信道,这一节介绍广播信道的相关知识。
广播信道和局域网
广播信道可以进行一对多通信。局域网使用的是广播信道。
局域网的主要特点:网络为一个单位所拥有,且地理范围和站点数目均有限。
局域网的优点:
- 广播功能:从一个站点方便访问全网
- 便于系统扩展和逐渐演变,设备位置可灵活调整和改变
- 提高系统的可靠性、可用性和生存性
局域网按照拓扑分类:
- 星形网
- 环形网
- 总线网
以太网是局域网的同义词。
局域网可使用多种传输媒体:
- 双绞线
- 光纤
局域网跨越数据链路层和物理层
共享信道如何使众多用户合理方便地共享通信媒体资源?
- 静态划分信道
- 动态媒体接入控制, 又称多点接入:信道并非在用户通信时固定分配给用户
1. 随机接入:所有用户可随机发送信息,如果恰巧有两个或更多用户在同一时刻发送信息,在共享媒体上就要产生碰撞(或冲突),使得用户的发送都失败。需要解决碰撞的网络协议。
2. 受控接入:用户不能随机发送信息而必须服从一定的控制。包括分散控制的令牌环局域网和集中控制的多点线路探询或轮询
以太网
- 严格的说法:以太网是符合DIX Ethernet V2标准的局域网
- 由于厂商在商业上的竞争,IEEE 802委员会制定了多个局域网标准,为了使数据链路层更好地适应多个标准,将数据链路层拆成逻辑链路控制LLC子层和媒体接入控制MAC子层。
- 与接入传输媒体有关的内容都在MAC子层
- LLC子层与传输媒体无关
适配器
- 定义:计算机与外界局域网连接的设备。又称网络接口卡NIC或者网卡。现在计算机主板上嵌入这种适配器
- 适配器以串行传输方式实现与局域网通信,以并行传输方式实现与计算机主板IO总线通信
- 适配器的工作机理:
- 接收和发送帧不使用计算机CPU
- 收到有差错的帧,直接丢弃
- 收到正确的帧,使用中断通知计算机,交付协议栈的网络层
- 计算机发送IP数据报,由协议栈把IP数据报向下交给适配器,组装成帧发送到局域网
CSMA/CD协议
背景
早期以太网,计算机连接到一根总线上,进行广播通信方式,但是不能总是在局域网,为了在总线上实现一对一通信,可以使每个适配器拥有与其他适配器不一样的地址。
实现通信的措施
-
无连接的工作方式:
- 不必先建立连接就能发送数据
- 适配器不对数据帧编号,不要求对方发回确认
- 以太网提供的服务是尽最大努力的交付,即不可靠的交付
- 目的站收到差错帧,将帧丢弃
- 有差错帧是否重传由高层决定
- 以太网不知道是重传帧,当作新的数据帧发送
总线上只要有一台计算机在发送数据,总线传输资源就会被占用。同一时间只能允许一台计算机发送数据。使用CSMA/CD协议,即载波监听多点接入协议
-
以太网发送数据都使用曼彻斯特编码的信号
CSMA/CD协议
多点接入是指总线型网络,许多计算机以多点接入方式连接到一根线上。
协议要实现两个功能:
- 载波监听:边发送边监听。不管在想要发送数据之前,还是在发送数据中,每个站必须不停检测信道
- 碰撞检测:适配器边发送数据边检测信道上的信号电压的变化情况。碰撞检测又叫做冲突检测。任何正在发送数据的站,一旦发现总线上出现了碰撞,适配器会立即停止发送,等待一段随机时间后再发送。
电磁波在1km电缆的传播时延约为5
μ
mu
μs
总线上的单程端到端传播时延记为x
发送端最迟多长时间检测碰撞:2x,即总线端到端的往返传播时延
CSMA/CD协议中,一个站不能同时进行发送和接收(但必须边发送变监听信道),属于双向交替通信(半双工通信)。
发送的不确定性:以太网不能保证在检测到信道空闲后的某一段时间内,一定能把数据帧成功发送。
争用期:以太网端到端往返时间,又称为碰撞窗口
经过争用期这段时间没有检测到碰撞,才能肯定这次发送不会发生碰撞。
退避算法:截断二进制指数退避
- 基本退避时间为争用期 2 x 2x 2x,具体争用期时间是51.2微秒。对于10Mbit/s的以太网,争用期是发送512比特所用的时间。
- 从离散的整数集合
[
0
,
1
,
.
.
.
,
(
2
k
−
1
)
]
[0,1,...,(2^k-1)]
[0,1,...,(2k−1)]随机取出1个数,记为r,重传应推后的时间就是r倍的争用期。上面的参数k按下面的公式计算:
k = M i n [ 重 传 次 数 , 10 ] k = Min[重传次数,10] k=Min[重传次数,10] - 重传达到16次仍不成功,丢弃帧,并向高层报告
以太网规定最短帧长不小于64字节,即512比特,发送数据非常少的情况下,通过向其中加入填充字节,使帧长不小于64字节
长度小于64字节的帧都是由于冲突而异常中止的无效帧
强化碰撞
当发送数据的站发现发生碰撞,除立即停止发送数据外,需要继续发送32比特或48比特的人为干扰信号。
以太网规定帧间最小间隔为9.6微秒,这是为了使刚刚收到数据帧的接收缓存来得及清理,做好接收下一帧的准备
CSMA/CD协议要点
- 步骤1 准备发送:适配器从网络层获得一个分组,加上以太网首部和尾部,组成以太网帧,放入适配器的缓存中。但在发送前,必须先检测信道
- 步骤2 检测信道:检测信道忙,不停检测,一直等待信道检测空闲。若在96比特时间内信道保持空闲(保证了帧间最小间隔),就发送这个帧
- 步骤3 发送过程仍检测信道:网络适配器边发送边监听
- 发送成功:争用期内未检测到碰撞,认为发送成功(接收方收到有差错的帧,丢弃它,交给高层处理)。发送完毕后,回到准备发送状态。
- 发送失败:争用期内检测到碰撞,立即停止发送数据,并按规定发送人为干扰信号。适配器接着执行指数退避算法,等待r倍512比特事件后,继续检测信道(即步骤2)。但若重传16次仍不能成功,停止重传,向上报错。
以太网发送完一个帧,会将已发送的帧暂时保留,争用期内检测出发生碰撞,推迟一段时间后再把暂时保留的帧重传一次。
集线器与星型拓扑
集线器是以太网使用星形拓扑,在星形中心增加的一个可靠性非常高的设备。
集线器的特点:
- 使用集线器的以太网在逻辑上仍是总线网,各站共享逻辑上的总线,使用的还是CSMA/CD协议。同一个时刻至多只允许一个站发送数据。
- 集线器又许多端口,对应RJ-45插头
- 集线器工作在物理层,每个端口仅转发比特,不进行碰撞检测。
- 集线器采用专门的芯片,进行自适应串音回波抵消
集线器一般都有少量的容错能力和网络管理能力。
以太网的信道利用率
成功发送一帧需要占用信道的时间是
T
0
+
τ
T_0 + tau
T0+τ
定义以太网参数:
a
=
τ
T
0
a = frac{tau}{T_0}
a=T0τ
参数 a a a应当尽可能小,以提升以太网信道利用率。那么就要求 τ tau τ尽量小, T 0 T_0 T0尽量大,即数据率一定的情况下,以太网连线长度受到限制,以太网帧长不能太短。
考虑理想情况:一开始信道上没有站发送数据,一旦空闲,一个站发送,发送完后,另一个站立刻发送,那么一个帧的全部发送时间是 T 0 + τ T_0+tau T0+τ,帧本身发送的时间是 T 0 T_0 T0.
因此,有信道的极限利用率:
S
m
a
x
=
T
0
T
0
+
τ
=
1
a
+
1
S_{max} = frac{T_0}{T_0+tau} = frac{1}{a+1}
Smax=T0+τT0=a+11
以太网MAC层
局域网中,硬件地址又称为物理地址或MAC地址
名字指出我们所寻找的那个资源,地址指出那个资源在何处,路由告诉我们如何到达该处
名字与系统所在地无关
IEEE 802标准在局域网规定了一种48位的全球地址,局域网上每一台计算机中固化在适配的ROM中的地址
局域网的地址应当是每个站的名字或标识符,更准确地说,如果主机或路由器有多个地址,那么48位地址表示某个接口的标识符
适配器的过滤功能,检测MAC帧的目的地址,是否属于发送本站的帧,是,则收下再进行其他处理,否,则丢弃不再进行其他处理。
- 单播帧:MAC帧地址与本站地址相同
- 多播帧
- 广播帧:全1地址
混杂方式:工作在混杂方式的适配器只要“听到”有帧在以太网上传输都悄悄接受下来
MAC帧格式
MAC帧格式分为两种标准:DIX Ethernet V2 标准(即以太网V2标准)、IEEE的802.3标准。使用最多的是DIX Ethernet V2 标准。
以太网V2的MAC帧格式如下图所示:
由五个字段组成:
- 6字节长的目的地址字段
- 6字节长的源地址字段
- 2字节的类型字段:标志上一层使用什么协议
- 数据字段
- 4字节的帧检验序列FCS(使用CRC检验)
FCS检验的范围是从目的地址到FCS为止的五个字段,不包括物理层插入的8字节前同步码和帧开始定界符
以太网V2的Mac帧如何知道从接收到的以太网帧中取出多少字节交给上一层协议呢?
答案是以太网都使用曼彻斯特编码,这种编码的特点是每个码元的正中间一定由一次电压转换。发送方发送完数据后,电压不再转换,接收方容易找到帧结束的位置,在这个位置往前数4个字节,就能确定数据字段结束的位置。
当数据字段长度低于46字节时,MAC子层会在数据字段的后面加入一个整数字节的填充字段,以保证以太网的MAC帧长不小于64字节。
数据是否加入填充字段的判断交给IP层,IP数据报中包含数据报长度字段,能够判断数据中是否有填充字段
传输媒体上实际传送的MAC帧比MAC帧多8个字节,因为当一个站刚开始接收MAC帧时,适配器的时钟尚未与到达的比特流达成同步,因此MAC帧的最前面若干位无法接收,结果使整个MAC成为无效帧。
从MAC子层向物理层传数据时,在帧前面插入8字节字段,前面7个字节时前同步码(1和0交替码),其作用是实现位同步,第二个字段是帧开始定界符,定义为10101011,前六位的作用与前同步码相同,最后连续的两个1表示MAC帧信息开始。
**注意:**以太网传送帧时,各帧之间必须有一定间隙,因此只要找到帧开始定界符,其后面连续比特流都属于这个帧。
扩展的以太网
扩展主机和集线器之间距离的方法:
-
使用光纤和一对光纤调制解调器(物理层扩展)
好处:不同系的以太网上计算机能够跨系进行通信;扩大以太网覆盖的地理范围
坏处:合并碰撞域;不同以太网技术不兼容
-
在数据链路层扩展:
- 网桥:对收到的帧根据其MAC帧的目的地址进行转发和过滤。当网桥收到一个帧时,根据此帧的目的MAC地址,查找网桥中的地址表,然后确定将该帧转发到哪一个端口或者将其丢弃。使用软件转发。
- 以太网交换机:又称为以太网集线器,或第二层交换机,强调其工作在数据链路层
以太网交换机
以太网交换机实质上是多端口的网桥。
以太网交换机特点:
- 以太网交换机的每个端口都直接与一个单台主机或另一个以太网交换机相连,工作在全双工方式。
- 交换机具有并行性,即能同时多对端口,使多对主机能同时通信(相对而言,网桥只能一次分析和转发一个帧)
- 相互通信的主机都是独占传输媒体,无碰撞传输数据
- 每个端口和连接到端口的主机构成一个碰撞域,具有N个端口的以太网交换机的碰撞域共有N个
- 端口有存储器,能在输出端口繁忙时把到来的帧进行缓存。连接在交换机的两台主机同时向另一个主机发送帧时,端口繁忙的情况下,端口可将发送的帧暂存,以后再发送出去
- 即插即用设备。内部的帧交换表(又称地址表),通过自学习算法自动逐渐建立。
- 专用的交换结构芯片,用硬件转发收到的帧,转发速率比使用软件转发的网桥快很多。
- 从共享总线以太网到交换式以太网,所有接入设备的软件、硬件和适配器都不需要做任何改动。
- 一般具有多种速率的端口
也存在直通的交换方式的以太网交换机
以太网交换机的自学习功能
- 发送帧的主机源地址被记录
- 如果目的地址不在交换表中,广播
- 否则,直接从对应的端口转发
- 记录每个表项的时间戳,一定时间后自动删除(交换机端口更换主机,主机更换适配器的情况)
广播可能存在以太网帧在网络的某个环路无限兜圈子的问题:
解决方案:生成树协议STP
不改变网络实际拓扑,但在逻辑上切断某些链路,使从一台主机到所有其他主机的路径是无环路的树状结构。
虚拟局域网
虚拟局域网:由一些局域网网段构成的与物理位置无关的逻辑组,这些网段具有某些共同的需求。每一个VLAN的帧都有一个明确的标识符,指明发送这个帧的计算机属于哪一个VLAN
虚拟局域网的本质
它是局域网给用户提供的一种服务,而并不是一种新型局域网。
虚拟局域网协议和帧格式
虚拟局域网协议允许在以太网的帧格式中插入一个4字节标识符,称为VLAN标签,指明发送该帧的计算机属于哪一个局域网。
802.1Q帧: 插入VLAN标签的帧
VLAN标签结构:
- 前两个字节为0x8100,称为802.1Q标签类型
- 后两个字节前面四位没有作用,后面12位是该虚拟局域网VLAN标识符VID(VLAN ID),唯一标志了802.1Q帧属于哪一个VLAN。
802.1Q帧最后的帧检验序列FCS必须重新计算
802.1Q帧的使用如上。
- 每台计算机通过接入链路连接到以太网交换机
- 连接两个交换机端口之间的链路称为汇聚链路或干线链路
- 802.1Q帧在两个交换机之间发送,在交换机发送到主机时,将帧去除。
高速以太网
- 100BASE-T以太网:全双工+半双工(CSMA/CD)
- G比特以太网:载波延伸,最短帧长仍为64字节,将争用期增大为512字节,发送MAC帧长不足512字节,用一些特殊字符填充在帧后面;分组突发,很多短帧发送时,第一个帧用载波延伸,其他的直接一个接一个地发送,之间留有必要地帧间最小间隔。全双工+半双工
- 10G比特以太网(10GbE)和更快的以太网:全双工,不需要CSMA/CD协议。
最后
以上就是瘦瘦电话为你收集整理的计算机网络学习笔记(六)——数据链路层以太网的全部内容,希望文章能够帮你解决计算机网络学习笔记(六)——数据链路层以太网所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复