网络课笔记整理——MAC层

一、介质访问控制层

二、信道分配问题

三、多路访问协议

四、以太网

五、重要:以太网与无线局域网的比较

一、介质访问控制层(MAC)

什么是MAC层:在任何一个广播网络中(广播信道有时候也称为多路访问信道或者随机访问信道),关键的问题是当多方竞争的时候信道的使用权应该 分给谁,用来确定多路访问信道的下一个使用者的协议属于数据链路层的一个子层,也就是介质访问层(MAC)。

二、信道分配问题

1、静态信道分配 当存在多个竞争用户的时候,最简单的做法是将信道拆分开给多个用户使用,也就是多路复用技术,包括FDM,CDM,TDM,但是这种静态的复用技术效率并不是很高,其优缺点为
  • 优点:将信道分成N分分给不同的用户,不同的用户之间没有相互影响,每个用户都有自己的专用的信道,这对于稳定的流量或者附在繁重的情况来说信道 分割是一种简单而且有效率的方式。
  • 缺点:计算机的数据大多时候都是突发性的,那么采用静态的信道分割就会出现问题:
    a、当用户的数量小于N的时候,很多信道都被浪费了
    b、当用户大于N,不是多有的用户都分配了信道,即使有些信道是空闲的,有些用户还是不能利用这些信道
    c、我们假设用户的数量能够维持在N,但是某些用户停止了通信,但是其占用了信道,仍然导致信道资源浪费

以FDM为例分析静态分配信道的低效率:
假设带宽是C,帧的平均长度是1/u,随机到达帧的平均速率是λ帧每秒,那么发送一个 帧的平均时延为T1=1/cu-λ(根据排队理论,不是太懂)。如果将信道分成N份,那么带宽为 C/N,每个信道的帧的到达速率为λ/N,那么T=1/(C/N*u-λ/N) = NT1,可以看出一个帧的平均实验增加了,所以静态分配信到效率并不高。

2、动态分配信道的假设
  • 流量独立:也就是说每个主机单独产生数据,并且一个主机只要产生了数据帧,那么其就被阻塞,直到这个帧被发送出去
  • 单信道:每个站都可以在这个信道上接收或者发送数据,但是所有的站都共享这个信道
  • 冲突可观察:冲突就是说信道上同时存在传输,二者的时间是重叠的,假设每个站都可以检测到这个冲突。 对于有线信道而言,结点的硬件可以设计为边传输边检测冲突,只要检测到冲突就可以提前终止数据的传输。但是对于无线信道来说很难做到,所以 无线系统的冲突检测是通过确信没有出现预期的确认帧这样一个既定的事实之后来确定产生冲突。
  • 时间是连续的或者是分槽:时间连续是指可以在任意时间发送一个帧,分槽是指将时间分成一段一段的时间槽,每个帧只能在时间槽的开始发送,每个时间槽内可能有0 个或者1个或者多个帧,对应信道空闲、一次发送成功、冲突。对时间的不同的假设在于时间槽可以改善协议的性能,但是这要求所有站遵循一个主时钟或者他们的行动 与其他站同步,才能将时间分为离散的间隔。对于一个系统,只支持一个时间假设。
  • 载波侦听或者不听:载波侦听就是在使用信道之前就可以知道信道是否空闲,如果侦听的结果是信道忙,那么没有一个站会去试图使用这个信道;如果不听,那么就盲目的 发送数据,以后再判断是否产生数据冲突。

由上可以看出,冲突可观察指的是数据再传输的过程中,也就是如果过程中发生冲突那么提前终止不要继续发送数据; 而侦听指的是数据发送之前,通过侦听信道,看信道忙不忙来确定是否发送数据。
注意的是没有多路访问协议能保证可靠传输,即使没有发生冲突,也有这样或者那样的原因使得接收器错误地复制了某些帧,因此要由链路层的其他部分或者比链路 层更高的层次来提供数据传输的可靠性。

二、多路访问协议

1、ALOHA(注意其提出的背景,涉及的只是发送,所以只要发送的时候不冲突,那么传输的过程中也就不会产生冲突了)
ALOHA技术最早的时候是为了解决所有用户终端共享同一个上行频率给中央计算机发送帧,ALOHA协议根据时间是连续的或者是分槽的分为纯ALOHA(时间连续)分槽ALOHA( 时间是分槽的)
概念:帧时:表示传输一个标准的、固定长度的帧所需要的时间(传输时间指的就是发送时间,也就是帧长度除数据率 ,所以要分清楚传输时间和传播时间,确实发送帧也就是传输帧的时候是不能同时有多个帧的,注意注意注意)
纯ALOHA和分槽ALOHA的比较
协议具体内容冲突何时发生如何解决冲突的发生信道利用率
纯ALOHA当用户需要发送数据的时候就发送数据,然后中央计算机收到帧之后就会通过集线器将帧重新广播给所有的站。因为数据是想发就发,所以很容易产生冲突。每个站的帧的发送时间和顺序是随机的,只要两个帧在时间上重叠,也就是想要 同时占用信道,那么就会产生冲突。 发端通过侦听来自集线器的广播来确定自己的帧是否发送成功,有没有产生冲突,只要产生了冲突那么这个真就被损坏,那么就要重新传送。这个帧会 等待随机的时间重传,必须是随机的时间,否则就会再次发生冲突。 假设在一个帧时内希望生成帧的数量为G(包括新生成的帧和冲突之后要重发的帧),那么在一个帧时内达到的帧的个数满足泊松分布,也就是P(K)= G^K*e^(-G)/K!,那么在一个帧时内一个帧要成功传送的数,其前面的那个帧时和后面的帧时应该都没有帧生成,而在一个帧时内没有帧生成的概率为: P(K=0)=e^(-G),那么在前后两个帧时都没有帧生成的概率为e^(-2G),那么吞吐率为S=G*e^(-2G),所以吞吐率就是G的函数,当G=0.5的时候,S=0.184 ,也就是说对于纯ALOHA而言,最大的信道利用率为18.4%。对于这种想发送就发送,要让信道利用率达到100%是不可能的。
分槽ALOHA 站并不是随机发送数据,而是将时间分成槽,每个站只能在时间槽的开始处发送数据。这种方法要求用户要遵守统一的时间槽边界。取得统一的时间槽 边界的一种方法是使用一个特殊的站在每个间隔发出一个脉冲信号,就像一个时钟一样。 当两个站同时在同一个时间槽发送数据那么就会冲突发生冲突那么等待随机时间个时间槽同样在一个帧时中加入期望有G个帧,那么在一个时间槽内没有帧发送的概率为e^(-G),那么S=G*e^(-G),当G=1的时候去的最大,是纯ALOHA(0.184) 的两倍。也就是说在37%的时间内时间槽为空,37%为成功传输,剩下的为冲突,随着G的增大,空时间槽的数量将减少,但是冲突的 时间槽将增加,所以G的增大引起的空时间槽的数量的减少并不意味这成功数量的增加,因为此时冲突的数量增加了 。分析:现在分析一个帧的重发的次数:一个帧成功发送的概率是e^(-G),假设其发送了k次才发送成功,那么P(K)=(1-e^(-G))^(k-1)*e^(-G),那么一个 帧期望发送的次数为E=∑P(k)*k=e^G,也就是说一个帧的重发次数会随着G的增加而增大,所以E随着G呈指数增长的结果是信道附在的微小增长 也会极大地降低信道的性能。
同时,我们可以借鉴问题分析的方法,有时候利用侧面更好,比如这里要考虑的是随着G的增加,发生冲突的概率,但是并不是直接从冲突本身出发, 而是通过一个帧的重发次数来判断冲突的时间槽与G的关系。
2、载波侦听多路访问协议(CSMA)
首先,载波侦听指的是发送之前,先看看信道忙不忙,然后再发送数据帧;而冲突检测是指在发送的过程中,如果检测到冲突,那么就提前终止数据的发送;所以一个是在 发送之前,一个是在发送的过程中,注意区分。

对于纯ALOHA,其信道利用率为1/2e(0.184),分槽ALOHA为1/e,可见对于想法数据就发数据的多路访问协议的效率是很地的,所以我们采用载波侦听(CSMA)的方式,也就是在 发送之前先看看信道忙不忙。
a、坚持和非坚持的CSMA(载波侦听多路访问)
  • 1-坚持载波侦听多路访问:站在发送数据之前先侦听信道,如果信道是空闲的就发送数据,如果信道忙那么就一直侦听信道,信道一空闲就发送帧;如果帧发生冲突 则等待一个随机的时间,再重复原来的一直侦听到信道空闲。涉及三个站同时发送数据的时候可能会产生冲突。
  • 非坚持载波侦听多路访问:其不想1-坚持的载波侦听,如果其侦听到信道忙,那么就随机等待一个时间,然后再侦听,如果还忙就再随机等待一个时间。
  • p-坚持载波侦听多路访问:其使用于时间分槽系统,侦听信道,如果信道是空闲的,那么就以概率p在这个时间槽发送帧,以1-p在下一个时间槽发送;如果下个时间槽 任然是信道空闲,那么就以概率P发送,以1-P在下一个时间槽发送;如果信道忙或者发生冲突,那么就会随机等待一个时间,然后重新开始。如果该站一开始就侦听到信道忙, 那么其不是随机等待一个时间,而是在下一个时间槽使用上述的方法。
  • 对于载波侦听而言,信号的传播延迟对冲突有着很重要的影响,带宽延迟积越大,那么冲突发生的可能性就越大,协议的性能越差。

b、带冲突检测的载波侦听多路检测(CSMA/CD)
冲突检测的意思是开始侦听的时候信道为空然后就发送了,但是后来出现了冲突,带冲突检测的会在检测到冲突的时候就立即停止数据的发送。
CSMA/CD的具体方法:冲突检测是一个模拟的过程,在传输的过程中必须一致侦听信道。如果它读回的信号不同于它放到信道上的信号,那么就说明发生了冲突 ,那么就立即停止发送数据,其要求必须使用能检测冲突的调制解调技术。(这对于无线来说比较难实现,所以无线采用其他的方法)。
CSMA/CD的性能分析:当有两个站同时发送数据,那么冲突检测最短的时间就是帧从一个站传播到另一个站的时间;但是最大的冲突检测时间是2t(t为从一个站 到另一个站的传播时间),所以如果一个站的帧在其开始发送的2t时间内都没有检测到冲突的话,其就可以随意发送数据了,之后是无论如何也不会发生冲突的。 也就是说在CSMA/CD协议 中,一旦站确定抓住了信道,那么冲突就不会发生。 如果帧时能够相较传播时间很长的话,那么信道利用率就很高了。但是帧的长度太长,如果有误码率,就会导致有很多错帧。
CSMA/CD 3、无冲突协议:也就是以根本不可能产生冲突的方式解决信道竞争问题,也就会说即使在竞争期也不会发生冲突
a、位图协议:
  • 做法:如果有N个站要发送数据,那么将竞争期分成N个槽。如果0号站有一帧数据要发送,那么其就在0号槽发送一位。在这个槽中,不允许其他的站发送。 相同的这样延续下去。等N个槽都经过了之后就知道哪些站要发送数据,这时就按照这个顺序进行数据帧的发送,这样就不会产生冲突了。如果一个站 刚刚发送了数据,现在又要发送,那么其只能保持沉默,等到下一轮位图到来的时候才可以进行发送。
  • 等待时间分析:位图协议位于前面的站和后面的站的等待时间是不同的。如果是位于前面的站,当它已经做好数据准备的时候,如果现在已经扫到了中部,那么 它就要等待0.5N个槽还有一遍N个槽才能发送数据;对于序号在后面的槽来说基本等待0.5N个槽就可以将数据发送。所以平均而言,发送一个帧要等待N个槽的时间。
  • 信道利用率分析:在低负载的情况下,每个帧的额外的开销是N,那么信道利用率为d/(d+N),其中d是帧的长度(这里我们一1比特的时间作为单位)
    在高负载的情况下,N个槽的等待时间被平均分到了N个帧上,所以每个帧的额外开销为1,所以信道利用率为d/(d+1)。


b、令牌传递: 在令牌协议中,网络的拓扑结构被用来定义站的发送顺序。所以的站连接成一个单环结构,一个站依次连接另一个站,因此令牌传送只是单纯从一个方向上接收令牌和从另一个方向上 发送令牌,令牌也就是权限,得到令牌就是得到发送的权限。 其实在物理结构上站并不需要真正连成一个环,只需要规定令牌的传递方向就可以了。为了防止无线循环,必须有一些站将令牌取下,可以是开始发送的那个站,也可以是 特定的一个站。

4、有限竞争:
在低负载的情况下,采用竞争的方法可以使得延迟比较短,但是随着负载的增加,其效果并不是很理想。所以可以将竞争和非竞争结合起来,在低负载的情况下采用竞争的方法, 在高负载的情况下采用非竞争方法,这种策略就叫做有限竞争。
非对称协议:在之前的协议中假设每个站发送帧的概率都是相同的p,但是如果协议认为不同的站的发送的概率不同系统的性能可能会有提升。我们 从对称的情况出发:首先假设每个站在每个时间槽传输帧的概率为p,那么一个帧传输成功的概率为p*(1-p)^(n-1),使其去最大的时候p=1/k,那么带入得到一个帧成功传输的概率为 ((k-1)/k)^(k-1),该函数随着k的增加而逐渐下降,所以我们可以采用将站分组的方法减少每个槽中的站的数量从而使得效率接近最佳值。也就是说在负载低的时候,每个时间槽 中的站点数量就多一些;当负载很高的时候,每个时间槽中的站点数量就少一些,甚至只有一个站。

4、无线局域网协议
无线局域网的特点:在同一个蜂窝中只有一个信道可用并且AP也是共用的;无线通信网络不能像有线通信那样检测冲突,因为无线网络中接收到的信号可能比其 发出去的信号要微弱很多,要发现这样的冲突信号很难;无线网络中一个站的数据并不能到达其他所有的站,无线网络有其传输的范围。

无线局域网的问题:
  • 隐藏结点问题:由于竞争者离得太远而导致站无法检测到潜在的竞争者
  • 暴露结点问题:可以发送,但是由于相互干扰没有发送
  • 是否可以发送的关键在于接收方周围有没有无线电活动,也就是无线网络冲突的关键点是收端不可以相同,并且收端周围不能有无线电活动


解决的方法:采用CSMA:其基本的思想是激发接收端发送一个短的帧,从而使得接收端周围的站不要造成干扰。
具体的方法是发端在发送数据的时候先发送一个RTS,收端接收到了RTS之后就发送一个CTS;那么如果一个站收到了RTS,那么就说明其在发端周围,那么至少在 收端要接收CTS的这段时间内保持沉默;如果一个站收到了CTS,那么就说明其在收端周围,那么其在收端接收完数据的时间内沉默。其可以解决隐藏结点的问题,但是对于 暴露结点问题仍然没有解决,并且如果在隐藏结点问题中两个站是同时发送CTS,那么就会冲突。这个时候就随机等待一段时间,下次再发。

四、以太网


以太网分为经典以太网和交换以太网(使用交换机连接不同的以太网),现在使用的大多数是经典以太网。

a、经典以太网物理层
使用中继器(中继器是工作在物理层的)、使用曼彻斯特编码
b、经典以太网MAC子层协议


LAN与WLAN

LAN与WLAN的比较
类型传输的特点由于传输的特点存在的问题物理层MAC层协议帧结构信道利用率
LAN
  • 有线传输
  • 共享信道
  • 一个站传输数据之后,其余的栈都可以收到数据
  • 冲突可观察:对于有线信道,结点硬件可以设计成一边发送一边检测冲突,这是因为其可以读到信道上不同于自己的信号,就可以判定是否发生了冲突, 这也就要求读回的信号不能太弱
共享信道,需要进行信道的动态分配
  • 各个版本的LAN都有自己的最大的电缆长度,但是为了允许建设更大的网络,可以使用中继器;中继器是一物理设备,它能接收,放大(即再生) 并在两个方向上重发信号。
  • 使用曼彻斯特编码
CSMA/CD+二进制指数退避(IEEE 802.3):
  • 适配器从网络层获得一个分组,加上以太网的首部和尾部,组成以太帧,放入适配器的缓存中,准备发送
  • 发送之前先侦听,如果信道为空,那么就发送数据,否则根据坚持的不同来决定之后怎么做(LAN采用的是1-坚持)
  • 若已经发送了,但是检测到冲突,那么就立即停止发送数据。对于传统以太网,数据率为10Mbps,征用期为51.2微妙,也就是说至少要用这么多 时间才可以检测到冲突,所以最短的帧起码要发送这么长时间,所以对于LAN而言,最短的帧长度为64B。
  • 如果发生冲突,那么就终止数据的发送并且发送人为干扰信息(强化碰撞)
  • 在终止发送之后,适配器使用指数退避算法
MAC帧的结构是6个字节目的地址——6字节源地址——2字节类型——IP数据(0-1500)——填充的数据(0-46,出去18字节,需要满足最小为64字节的要求)——FCS(4字节);在物理层 会加上帧同步码:8个字节,前7个字节都是10,最后一个字节的最后两位为11。 信道利用率:信道利用率以一个帧来说就是其发送的时间/(发送时间+传播时间+冲突导致的等待的退避时间):
假设一个帧发送的概率为p,A为一个帧发送成功的概率,则A=NP(1-P)^(N-1),那么一个帧经过j个征用期(失败了J次)发送成功的概率P[J]=(1-A)^JA, 其期望为(1-A)/A,也就是一个帧的成功发送要经过这么多的征用期,那么信道利用率为T0/(征用期时间*(1-A)/A+T0+单向传播时间),要使信道利用率最大,那么A应该 取最大,对A求导,A取最大的时候P=1/N,此时的信道利用率为1/1+4.44a(其中a为一个帧的传播时间/发送时间)。
那么也可以看出,当单纯提高以太网的数据率的时候并不能提高信道利用率
  • 无线系统不能检测冲突,站接受到的信号很微弱,要让站发现这样的冲突信号是很困难的
  • 无线局域网中的站是有传输范围的,其可能不能发送数据到所有的站,也有可能不能接受到其他所有站发送的数据
  • 无线电信号的传播依赖于环境,墙壁和其他障碍物都可能对信号造成减弱和反射
  • 隐蔽结点问题
  • 暴露结点问题
  • 所以对于无线局域网而言,是否发生冲突的关键是看接收的站附近是有其他的站活动
  • 短程无线电传输
  • 所有的传输的方法都设置了多种速率,如果信号较弱,那么就采用较低的速率,如果信号较强,就采用较高的速率,这种速率调整的方法称为 速率的自适应
  • 正交频分复用(OFDM)
  • 使用多入多出,也就是使用多根天线,同时可以进行好几个信息流的传输,虽然这些信息流在接收端会互相干扰,但是可以用技术将其分开。使用 多天线虽然得到了很高的速度,但是却没有提高覆盖范围和可靠性。
CSMA/CA协议:避免冲突+确认
具体的做法是:一个站在发送数据之前先侦听DIFS的时间,看有没有站在传输,如果信道是空闲的,就递减自己的空闲时间槽;如果信道上有数据传输, 这个时候停止减自己的空闲时间槽,只有当信道空闲的时候才能递减自己的空闲时间槽,如果自己的空闲时间槽减为0的时候就发送自己的数据。 与LAN相比,这里有两个主要的区别,其一是早期的后退有助于冲突避免,因为WLAN不能进行冲突检测,所以如果一个帧发出去,不会因为冲突 而终止发送,所以代价很高。其二是用确认来判断是否发生冲突,因为冲突无法检测出来 然后等待确认信息,如果没有接收到确认信息,那么就说明发生了冲突,那么就将自己的空闲时间槽加倍,重复上述的操作,知道达到了重传次数的限制或者成功将数据发送出去。 同时无线局域网的侦听采取物理侦听和逻辑侦听结合。其实就是使用网络分配向量(NAV)来明确发送的站或者接收的站附近的站应该保持沉默的时间,其有益于隐藏结点问题的解决, 但是对于暴露结点的解决没有作用。(NAV并不是用来传输数据的,其是用来提醒自己应该在多长的时间内保持沉默)
WLAN的帧有数据帧、控制帧和管理帧,其结构为: 2字节的帧控制(其含有11个字段)——2字节的持续时间(它告知本帧和确认帧将会占用信道多久,从而使其他的站用来更新自己的NAV)——6字节的目的地址——6字节的源地址 ——6字节的远程端点地址——2字节的帧序号,防止帧重复传输——数据段(允许0到2312个字节)——4字节的FCS
需要注意的是,在WLAN的帧中会有三个地址,因为对于无线局域网来说其传输是有范围的,所以目的地址AP可能只是一个中介,所以其还要指明最终的 远程端点地址。

LAN与WLAN相比的主要不同点:
  • 无线点几乎总是半双工,这以为这他们不能再一个频率上传输的同时侦听该频率上的突发噪音
  • 不同站的传输范围不同
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值