深入理解计算机网络—7介质访问控制子层1

MAC子层的主要作用:

1.用来寻址(MAC地址),寻找目的节点;

2.用来解决网络中多个用户争抢共享物理介质或者共享信道的问题。

信道的类型:

1.点对点信道:在由两个没有经过任何中间设备的节点构成的点对点链路上运行点对点类型数据链路层协议(如PPP和PPPOE)而形成的信道。不存在寻址、介质争用(即使存在,也基本上可以通过各种信道复用技术来解决)问题

2.广播信道:表现为一个信道被多条链路所共享,存在物理介质共享的情况。一个节点发送的数据可以同时被多个节点接收到,协议支持广播传输方式,如以太网协议和WLAN协议

CSMA介质访问控制原理

CSMA(Carrier Sense Multiple Access,载波监听多路访问)技术也称为LBT(Listen Before Talk,先听后说),也就是先监听要访问的介质,当发现介质忙时先避让一段时间,不发送数据,仅当监听到介质空闲时才进行数据发送。

CSMA只能监听介质的状态,并不能检测到冲突的发生(只能检测介质中有没有信号,没办法检测是否冲突),更不能真正有效地避免冲突的发生,故而由了CSMA/CD和CSMA/CA。

有个问题:在站点监听到当前信道中有数据在传输时,要避让多长时间才再监听?——CSMA技术的退避算法:

1.-坚持CSMAno persistent CSMA

"非"的意思是指各站点不连续监听总线介质是否空闲,即在发现介质忙时先停止监听,等过一段时间再来监听。具体来讲,非-坚持CSMA就是某站点发现总线介质上没有数据在传输时(处于闲状态),立即发送数据;如果检测到总线介质上有数据在传输(处于忙状态),则等待一段时间(多长的时间有具体的算法计算)再来监听,再忙时再等待一段时间来监听。

该算法的问题:

(1)不能完全消除冲突的发生,因为每个站点发送数据速度不一样、数据在信道传输需要时间,而且等待的时间也不一定就可以满足使一个帧完全传输完毕,所以尽管每个站点都是在检测到介质空闲时才发送数据,但仍可能存在前一个帧还在信道中传输,后一个站点的帧就追上来了,发生冲突。

(2)信道利用率低。一旦监听到介质忙就马上延迟一个随机时间再重新监听,但很可能在再次监听之前信道就已经空闲了。

适用于小型总线或者树型网络,不适合大型树型网络

2.1-坚持CSMA1-persistents CSMA

“1”的含义:一是指发现总线介质忙时一直持续不断监听,直到发现介质处于闲状态;二是在监听到介质处于空闲状态后一定(马上)发送数据。

对比“非-坚持CSMA”提高了介质利用率,不会出现介质处于空闲状态仍没有站点发送数据的情况。

该算法的问题:

一是在有多个站点发送数据的情况下,这种不等待的算法冲突也时常发生,即可能在网络中同时有多个站点在同一时间检测到介质空闲(因为中间没有延迟,一直处于监听状态)而立即发送数据,所有更容易发生冲突。

二是这种算法在发现介质忙时一直监听,占用了大量网络和设备资源。

适用于小型总线或者树型网络,不适合大型树型网络

3.p-坚持CSMA(p-persistant CSMA)

非坚持CSMA和1-坚持CSMA的折衷算法。一种既能像“非-坚持CSMA”算法那样减少冲突,又能像“1-坚持CSMA”那样减少介质空闲时间。

“P”是指监听到介质空闲时发送数据的概率(小于100%),就是指站点在发现介质空闲时可以立即发送数据的概率为p,而不一定是100%发送。目的是为了避免与其他站点发生冲突。

CSMA/CD介质访问控制原理

由于信道传播时延的存在,即使通信双方的站点都没有监听到载波信号,在发送数据时仍可能发生冲突,因为他们可能会在检测到介质空闲时同时发送数据,致使冲突。

CSMA可以发现介质空闲状态,但们有先知的冲突检测和阻止功能。

CSMA/CD最大的亮点:它在监听到有冲突发生时(同时有多路数据发送时介质上的电平强度肯定不一样)可以立即中止数据帧的发送,快速地终止可以节省时间和带宽;并且发送一个JAM(阻塞)信号,以强化冲突,使得其他站点更容易检测到有冲突发生,不再同时发送数据,可避免更多帧发生冲突。

CSMA/CD缺点:当LAN中互联的每台计算机都只有少量数据需要传输时,网络中每个站点对介质的共享都几乎是公平的;但是如果一个站点需要发送大量的数据时(如一个站点担当)

CSMA/CD原理:

1.先听后说,边听边说(听指监听,说指发送数据):

2.一旦冲突,立即听说:

3.等待时机,然后再说:

冲突检测原理:

1.A站点先发一个数据帧

2.一段时间后A发的数据帧还没到达B站点时,B检测到介质空闲,于是开始传输数据;

3.这是A站点数据帧到达B站点(假设A到B传播时延tp),B检测到了A的数据帧(判断为冲突)就停止数据传输,并且发送了一个32位的阻塞信号帧。

4.A收到阻塞信号帧后,知道发生冲突了,停止数据发送。同时A也会发送一个阻塞信号帧。最后A和B都停止了数据发送,介质回归空闲状态。

冲突避让原理:

在冲突发生时随机延迟(延迟多长时间再重传),以避免再次发生冲突。

每次检测到冲突时避让(“截断”,即停止发送数据)的时间是以时隙数为单位的随机事件,但不同次冲突时所能延迟的最大时隙数时不一样的,而且时呈指数递增关系的,所以称为“截断二进制指数退避算法(Truncated Binary Exponential Backoff)”。如果不这样,当出现线路冲突时,冲突的各站点都采用同样的退避间隔时间,则很容易产生二次、三次碰撞。

(1)站点会初始化当前帧的重传次数N为0,并开始监听介质状态。如果介质忙,则等待,在等到介质处于空闲状态后再等待一个帧间发送间隙的时间(9.6us,IFG),以使网络中所有接收站点有时间准备好接收下一个帧。

(2)站点开始按次序传送帧,同时继续监听介质状态。

(3)如果传到某个帧时监听到发生了冲突,则该站点停止传输,开始冲突处理流程,发送一个加强冲突的阻塞信号,并把该帧的重传次数N递增1。

(4)判断N值。不同的重传次数可以延迟的时隙数不一样。因为如果所有站点在发生冲突后都立即重传,则肯定又会发生另一个冲突,所以需要一个正确的流程来确保一个同时重传的情况很少发生,在以太网中所采用的方案就是使用一个随机的避让时间,使每个站点选择一个随机数乘于时隙长度(51.2us),在企图重传前必须等待这个随机的时长。

当前主流应用的以太网帧格式:EnthernetII,802.3/802.2 LLC和802.2 SNAP三种。

EnternetII的最小帧(包括帧头和帧尾)为64字节,最长为1518字节,数据字段长度为46-1500字节。

SNAP的全称是SubNetwork Access Protocol子网访问协议,是一种可以传输多种协议包的网络访问协议。是为保证在LLC标准上支持多种上层协议的同时更好地支持IP协议而发布的扩展以太网帧标准。

SSAP:Source Service Access Point源服务访问点

DSAP:Destination Service Access Point目的服务访问点

802.3LLC中控制字段标识LLC帧的类型,数据链路层的帧类型包括:信息帧(I帧)、监控帧(S帧)和无编号帧(U帧),占1个字节(8位)。因为以太网是无连接无确认的服务,所以发送的帧是无编号信息帧(UI),U帧中的UI功能。

MAC帧格式

是对IEEE802.3LLC/SNAP和EnternetII的统一表示

1.前导Preamble,由1和0交互构成,用于使PLS子层电路于收到的帧达到时钟同步。

2.帧起始(Start-of-Frame Delimiter,SFD),10101011,标识1个帧的开始。当前导码实现接收端比特同步,加上帧起始,当检测到连续两位“1”,便将后续的信息提交给MAC子层。

前导码和帧起始只是用来提醒接收端新的一帧到来了,不计入MAC帧大小中。

3.目的MAC地址、源MAC地址

4.长度/类型。居于具体的以太帧,含义不一样。Enthernet I和Enthernet II为类型字段,IEEE802.3(含raw\SAP\LLC\SNAP)为长度字段。

5.数据字段

Enthernet I和Enthernet II数据字段长度:46-1500字节;

Enthernet802.3 raw长度为44-1498字节,范围比EnthernetI/II少了2个字节,因为2个字节用0xFFFF填充,表示支持novell网络的IPX协议

Enthernet802.3SAP/LLC:43-1497字节,范围比EnthernetI/II少了3个字节,用于LLC头部:源SAP\目的SAP\控制字符

Enthernet802.2 SNAP:38-1492字节,范围比EnthernetI/II少了8个字节,其中5字节为SNAP头部:3字节OUI和2字节类型

OUI(Oragnizationally Unique Identifier)表示数据所对应协议的发布公司组织标识,如IEEEE为0x000000.

类型:标识数据所对应的上层协议类型。上层协议不仅指各种网络层协议,还包括在数据链路层中比802.3以太网协议更高层次的其他数据链路层协议。如0x0800表示IPv4\0x0806标识ARP、0x8035表示RARP、0x8100表示VLAN

VLANQinQ帧格式

如果设备支持VLAN,则在网络中传输的帧就是VLAN帧。该帧会在非VLAN环境下的MAC帧格式中新增一些用于标识VLAN标签(VLAN tag)的字段。

VLAN是由IEEE802.1q标准定义的,主要用于缩小广播域,降低广播报文对网络性能的影响,同时方便对用户设备、安全策略等方面的管理。

TPID:Tag Protocol Identifier,标签协议标识,标识帧类型,802.1q取值为0x8100。如果设备不支持802.1q则丢弃该帧。

PRI:Priority,标识帧的二层VLAN优先级,值越大优先级越高。用于当交换机阻塞时优先发送优先级高的数据帧。

CFI:Canonical Format Indicator标准格式指示。0标识MAC地址为标准格式(低位先传输),1表示非标准格式(高位先传输)以太网中,CFI为0。

VID:VLAN ID。表示该帧所属的VLAN。表示范围0-4096

QinQ:  802.1q-in-802.1q一种带有内、外两层VLAN标签的QinQ帧。

QinQ帧带有两层VLAN标签的目的:可以同时区分用户和业务类型。

如一个ISP接入了多个企业用户,而企业用户中的员工业务应用可能又不一样(如有点用于上互联网,有的用于音视频通信)。需要一个外层VLAN用于表示企业用户,一个内层VLAN用户标识应用类型。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值