将物理层和链路层放在一起讲,是因为物理层和链路层关系非常紧密,尤其是涉及到CSMA/CA和CSMA/CD协议。当然,链路层的功能要复杂的多,还包含很多其他协议,比如PPP协议,VLAN协议等。
1、物理层协议
(1)802.3系列协议
802.3协议是基于链路层CSMA/CD协议提出的,是适用于局域网(以太网)内数据传输的物理层协议,CSMA/CD协议会在链路层有详细的介绍。802.3不是一种完全的物理层协议,在链路层,它也定义了基于CSMA/CD标准的MAC子层的规范。
以太网是一种传输速率大概在10Mbps的常用局域网标准,随着技术的发展,现在已经有快速以太网(速度100Mbps),千兆以太网和10G以太网(万兆以太网)等速度很快的以太网
关与表1中的传输介质的分类和传输速度等详细的知识,这属于基本的知识,希望大家能够了解(比如双绞线一般使用RJ45头,双绞线分为UTP和STP两类,又可以按传输速率分为3类线,5类线,超5类线,6类线等)
(2)802.11系列协议
802.11协议是基于链路层CSMA/CA协议提出的基于无线网络的协议,现在我们家用的路由器,乃至公共wifi都是用的这种协议。802.11协议家族十分庞大,从802.11,802.11a,802.11b一直到802.11t。
更详细的知识请看这篇文章:http://blog.csdn.net/cupidove/article/details/23122213,建议看之前先了解下这些概念
1.工作站(Station,STA)
构建网络的主要目的是为了在工作站间传送数据。所谓工作站,是指配备无线网络接口的计算设备,即支持802.11的终端设备。如安装了无线网卡的PC,支持WLAN的手机等。
2.接入点(Access Point AP)
802.11网络所使用的帧必须经过转换,方能被传递至其他不同类型的网络。具备无线至有线的桥接功能的设备称为接入点,接入点的功能不仅于此,但桥接最为重要。为STA提供基于802.11的接入服务,同时将802.11mac帧格式转换为以太网帧,相当于有限设备和无线设备的桥接器。
3.无线媒介(Wireless Medium)
802.11标准以无线媒介在工作站之间传递帧。其定义的物理层不只一种,802.11最初标准化了两种射频物理层(2.4GHz和5GHz)以及一种红外线物理层。
4.分布式系统(Distribution System)
当几个接入点串联以覆盖较大区域时,彼此之间必须相互通信以掌握移动式工作站的行踪。分布式系统属于802.11的逻辑组件,负责将帧传送至目的地,将各个AP连接起来的骨干网络。
无线AP,为Access Point简称,一般翻译为“无线访问节点”,它是用于无线网络的无线交换机,也是无线网络的核心。无线AP是移动计算机用户进入有线网络的接入点,主要用于宽带家庭、大楼内部以及园区内部,典型距离覆盖几十米至上百米,目前主要技术为802.11系列。大多数无线AP还带有接入点客户端模式(AP client),可以和其它AP进行无线连接,延展网络的覆盖范围。
AC的概念:它是指无线接入控制服务器(AC), 接入控制器(AC) 无线局域网接入控制设备,负责把来自不同AP的数据进行汇聚并接入Internet,同时完成AP设备的配置管理、无线用户的认证、管理及宽带访问、安全等控制功能。
BSS(basic service set)基本服务集:由能互相通信的STA组成,是802.11
网络提供服务的基本单元;
ESS扩展网络:由多个BSS构成,是采用相同SSID的多个BSS形成的更大规模
的虚拟BSS,是为了解决单个BSS覆盖范围小的问题而定义的;
SSID(服务集标识),标识一个ESS网络,相当于网络的名称;
BSSID是AP的MAC地址,用来标识AP管理的BSS。
(3)有限传输介质的编码方式
编码,就是根据传输介质的电气性质,将二进制数据转化为对应的电信号的方式,当然,对应着也就会又解码。
1、单极性编码:0电平表示0,正电平表示1
2、极化编码:
--不归零编码:负电平表示0,正电平表示1,中间不会再0电平停留
--不归零方向编码:信号电平的一次翻转代表比特1,无电平变化表示0
--归零编码:用负电平表示0,正电平表示1,比特中位需要跳变到0电平并停留一定时间,从而提供同步
--曼彻斯特编码:从负电平跳到正电平表示0,从正电平跳到负电平表示1
--差分曼彻斯特码:每一位的中间跳变,且每一位有跳变表示0,无跳变表示1.
3、双极性编码:
--双极性传号交替反转码:采用三个电平:正、负、零。零电平表示0,正负电平的跃迁表示1
2、链路层协议
(1)CSMA/CD
一、基础篇:
CSMA/CD是一种争用型的介质访问控制协议。它起源于美国夏威夷大学开发的ALOHA网所采用的争用型协议,并进行了改进,使之具有比ALOHA协议更高的介质利用率。主要应用于现场总线Ethernet中。另一个改进是,对于每一个站而言,一旦它检测到有冲突,它就放弃它当前的传送任务。换句话说,如果两个站都检测到信道是空闲的,并且同时开始传送数据,则它们几乎立刻就会检测到有冲突发生。它们不应该再继续传送它们的帧,因为这样只会产生垃圾而已;相反一旦检测到冲突之后,它们应该立即停止传送数据。快速地终止被损坏的帧可以节省时间和带宽。
CSMA/CD控制方式的优点是:
原理比较简单,技术上易实现,网络中各工作站处于平等地位 ,不需集中控制,不提供优先级控制。但在网络负载增大时,发送时间增长,发送效率急剧下降。
CSMA/CD应用在 OSI 的第二层 数据链路层
它的工作原理是: 发送数据前 先侦听信道是否空闲 ,若空闲,则立即发送数据。若信道忙碌,则等待一段时间至信道中的信息传输结束后再发送数据;若在上一段信息发送结束后,同时有两个或两个以上的节点都提出发送请求,则判定为冲突。若侦听到冲突,则立即停止发送数据,等待一段随机时间,再重新尝试。
其原理简单总结为:先听后发,边发边听,冲突停发,随机延迟后重发
CSMA/CD采用IEEE 802.3标准。
它的主要目的是:提供寻址和媒体存取的控制方式,使得不同设备或网络上的节点可以在多点的网络上通信而不相互冲突。
有人将CSMA/CD的工作过程形象的比喻成很多人在一间黑屋子中举行讨论会,参加会议的人都是只能听到其他人的声音。每个人在说话前必须先倾听,只有等会场安静下来后,他才能够发言。人们将发言前监听以确定是否已有人在发言的动作成为"载波侦听";将在会场安静的情况下每人都有平等机会讲话成为“多路访问”;如果有两人或两人以上同时说话,大家就无法听清其中任何一人的发言,这种情况称为发生“冲突”。发言人在发言过程中要及时发现是否发生冲突,这个动作称为“冲突检测”。如果发言人发现冲突已经发生,这时他需要停止讲话,然后随机后退延迟,再次重复上述过程,直至讲话成功。如果失败次数太多,他也许就放弃这次发言的想法。
编辑本段
二、进阶篇:
CSMA/CD控制规程:
控制规程的核心问题:解决在公共通道上以广播方式传送数据中可能出现的问题(主要是数据碰撞问题)
控制过程包含四个处理内容:侦听、发送、检测、冲突处理
(1) 侦听:
通过专门的检测机构,在站点准备发送前先侦听一下总线上是否有数据正在传送(线路是否忙)?
若“忙”则进入后述的“退避”处理程序,进而进一步反复进行侦听工作。
若“闲”,则一定算法原则(“X坚持”算法)决定如何发送。
(2) 发送:
当确定要发送后,通过发送机构,向总线发送数据。
(3) 检测:
数据发送后,也可能发生数据碰撞。因此,要对数据边发送,边检测,以判断是否冲突了。
(4)冲突处理:
当确认发生冲突后,进入冲突处理程序。有两种冲突情况:
① 侦听中发现线路忙
② 发送过程中发现数据碰撞
① 若在侦听中发现线路忙,则等待一个延时后再次侦听,若仍然忙,则继续延迟等待,一直到可以发送为止。每次延时的时间不一致,由退避算法确定延时值。
② 若发送过程中发现数据碰撞,先发送阻塞信息,强化冲突,再进行侦听工作,以待下次重新发送(方法同①)CSMA/CD工作原理及性能分析(指标与影响因素) CSMA/CD是carrier sense multiple access/collision detected 的缩写,可译为“载波侦听多路访问/冲突检测”,或“带有冲突检测的载波侦听多路访问”。所谓载波侦听(carrier sense),意思是网络上各个工作站在发送数据前都要侦听总线上有没有数据传输。若有数据传输 (称总线为忙),则不发送数据;若无数据传输(称总线为空),立即发送准备好的数据。所谓多路访问(multiple access)意思是网络上所有工作站收发数据共同使用同一条总线,且发送数据是广播式的。所谓冲突(collision),意思是,若网上有两个或两个以上工作站同时发送数据,在总线上就会产生信号的混合,两个工作站都同时发送数据,在总线上就会产生信号的混合,两个工作站都辨别不出真正的数据是什么。这种情况称数据冲突又称碰撞。为了减少冲突发生后又的影响。工作站在发送数据过程中还要不停地检测自己发送的数据,有没有在传输过程中与其它工作站的数据发生冲突,这就是冲突检测(collision detected)。
CSMA/CD媒体访问控制方法的工作原理,可以概括如下:
先听后说,边听边说;
一旦冲突,立即停说;
等待时机,然后再说;
注:“听”,即监听、检测之意;“说”,即发送数据之意。
上面几句话意思是在发送数据前,先监听总线是否空闲。若总线忙,则不发送。若总线空闲,则把准备好的数据发送到总线上。在发送数据的过程中,工作站边发送边检测总线,是否自己发送的数据有冲突。若无冲突则继续发送直到发完全部数据;若有冲突,则立即停止发送数据,但是要发送一个加强冲突的JAM信号,以便使网络上所有工作站都知道网上发生了冲突,然后,等待一个预定的随机时间,且在总线为空闲时,再重新发送未发完的数据。
性能指标:信道利用率、吞吐量、介质利用率
CSMACD的主要影响因素:传播时延、工作站数。
①CSMA/CD对站点个数不是很敏感,对实际的输入负载比较敏感。
②CSMA/CD对传播时延a比较敏感。
③CSMA/CD冲突不可避免。
④CSMA/CD的介质利用率随a的上升下降较快。
⑤CSMA/CD适合通信量不大,交互频繁的场合
⑥对于CSMA/CD帧越长,吞吐量越太,要求帧具有最小长度,当有许多短消息时,带宽浪费严重。
⑦CSMA/CD在轻负载时提供最短延迟,但对重负载敏感。
主要参数:
时间片512比特时间
帧间间隔9.6微秒
尝试极限16
退避极限10
人为干扰长32比特
最大帧长1518字节
最小帧长64字节
地址字段长48比特
几个概念:
上述两种冲突情况都会涉及一个共同算法——退避算法。
① 退避算法:当出现线路冲突时,如果冲突的各站点都采用同样的退避间隔时间,则很容易产生二次、三次的碰撞。因此,要求各个站点的退避间隔时间具有差异性。这要求通过退避算法来实现。
截断的二进制指数退避算法(退避算法之一):
当一个站点发现线路忙时,要等待一个延时时间M,然后再进行侦听工作。延时时间M以以下算法决定:
M = 0 ~ (2^k - 1) 之间的一个随机数乘以512比特时间(例如对于10Mbps以太网,为51.2微秒),k为冲突(碰撞)的次数,M的最大值为1023,即当k=10及以后M始终是0~1023之间的一个随机值与51.2的乘积,当k增加到16时,就发出错误信息。
② 特殊阻塞信息:是一组特殊数据信息。在发送数据后发现冲突时,立即发送特殊阻塞信息(连续几个字节的全1,一般为32-48位),以强化冲突信号,使线路上站点可以尽早探测得到冲突的信号,从而减少造成新冲突的可能性。
③ 冲突检测时间>=2α: α表示网络中最远两个站点的传输线路延迟时间。该式表示检测时间必须保证最远站点发出数据产生冲突后被对方感知的最短时间。在2α时间里没有感知冲突,则保证发出的数据没有产生冲突。(只要保证检测2α时间,没有必要整个发送过程都进行检测)
④ X-坚持的CSMA算法:当在侦听中发现线路空闲时,不一定马上发送数据,而采用X-坚持的CSMA算法决定如何进行数据发送:
三种算法及特点:
- 非坚持的CSMA:线路忙,等待一段时间,再侦听;不忙时,立即发送;减少冲突,信道利用率降低:
- 1坚持的CSMA:线路忙,继续侦听;不忙时,立即发送;提高信道利用率,增大冲突:
- p坚持的CSMA:线路忙,继续侦听;不忙时,根据p概率进行发送,另外的1-p概率为继续侦听(p是一个指定概率值);有效平衡,但复杂:
(6)CSMA控制规程的特征
① 简单
② 具有广播功能
③ 平均带宽: f = F / n
④ 绝对平等,无优先级
⑤ 低负荷高效,高负荷低效
⑥ 延时时间不可预测
⑦ 传输速率与传输距离为一定值
编辑本段
三、应用篇
CSMA/CD 曾经用于各种总线结构以太网(bus topology Ethernet)和双绞线以太网(twisted-pair Ethernet)的早期版本中。现代以太网基于交换机和全双工连接建立,不会有碰撞,因此没有必要使用CSMA/CD。
CSMA/CD网络上进行传输时,必须按下列五个步骤来进行
(1)传输前侦听
(2)如果忙则等待
(3)传输并检测冲突
(4)如果冲突发生,重传前等待
(5)重传或夭折
(2)CSMA/CA
概述
无线局域网标准的802.11的MAC协议与802.3标准的MAC协议非常相似。在802.3协议中,MAC协议使用的是一种叫做CSMA/CD(Carrier Sense Multiple Access/Collision Detect),即载波监听多路访问/冲突检测机制。这个协议解决了如何在有线以太网上检测和避免当两个或两个以上的网络设备需要同时进行数据传输时网络上的冲突。其工作原理可以总结为先听后说,边听边说;一旦冲突,立即停说;等待时机,然后再说。但其并不适合无线局域网,在无线局域网中,无线电波传输距离受限,不是所有的节点都能够都能监听到信号;而且,无线网卡工作在半双工模式下,设备无法一边接收数据信号,一边传送数据信号。另一方面,无线带宽本就不高,一旦发生碰撞,重新发送数据,会降低吞吐量。
为此,在802.11中对CSMA/CD进行了一些修改,采用了新的协议CSMA/CA(Carrier Sense Multiple Access with Collision Avoidance),即,载波监听多路访问/冲突避免机制,利用ACK信号来避免冲突的发生,也就是说,只有当STA收到网络上返回的ACK信号后才确认送出的数据已经正确到达目的地址。
CSMA/CA协议
为了尽量避免碰撞,802.11标准规定,所有的STA在完成帧的发送后,必须在等待一段很短的时间才能发送下一帧,这段时间叫做帧间间隔IFS。帧间间隔的长短取决于该站要发送的帧的类型。高优先级的帧需要等待的时间较短,因此可以优先获得发送权,但低优先级帧就必须等待较长的时间。若低优先级帧还没来得及发送而其他高优先级帧已发送到媒体,则媒体变为忙态因而低优先级帧就只能再推迟发送了。这样就减少了发生碰撞的机会。至于各种帧间间隔的具体长度,这取决于使用的物理层特性。
SIFS,即短(Short)帧间间隔。SIFT是最短的帧间间隔,用来分隔开属于一次对话的各帧。在这段时间内,一个STA应当能够从发送方式切换到接收方式。使用SIFS的帧类型有:ACK帧、CTS帧、由过长的MAC帧分片后的数据帧,以及所有回答AP探询的帧和在PCF方式中接入点AP发送出的任何帧。
PIFS,即点协调功能帧间间隔(比SIFS长),是为了在开始使用PCF方式时(在PCF方式下使用,没有争用)优先获得接入到媒体中。PIFS的长度是SIPS加一个时隙时间(slot time)的长度。时隙的长度是这样确定的:在一个基本服务集BSS内,当某个站在一个时隙开始时接入到信道时,那么在下一个时隙开始时,其它站就都能检测出信道以转变为忙态。
DIFS,即分布协调功能帧间间隔(最长IFS),在DCF方式中用来发送数据帧和管理帧。DIFS的长度比PIFS再多一个时隙长度。
为了尽量减少碰撞的机会,802.11标准采用了一种叫做虚拟载波监听地的机制,这就是让源站把它要占用的信道时间(包括目的站发回确认帧所需时间)写入到所发送的数据帧中,(即在首部中的“持续时间”字段中写入需要占用信道时间,以微秒为单位,一直到目的站把帧确认完为止),以便使其他所有的站在这一段时间都不要发送数据。“虚拟载波监听”的意思是其他各站并没有监听信道,而是由于这些站都知道了源站正在用信道才不发送数据。这种好像是其他站都监听了信道。 当站点检测到正在通信中传送的帧“持续时间”字段时,就调整自己的网络分配向量NAV。NAV指出了信道处于忙状态的持续时间。信道处于忙状态就表示:或者是由于物理层的载波监听检测到信道忙,或者是由于MAC层的虚拟载波监听机制指出了信道忙。
CSMA/CA工作原理
(1)首先检测信道是否有STA在使用,如果检测出信道空闲,则等待DIFS时间后,才送出数据。
(2)目的STA如果正确收到此帧,则经过SIFS时间间隔后,向源STA发送确认帧ACK。
(3)源STA收到ACK帧,确定数据正确传输,在经历DIFS时间间隔后,会出现一段空闲时间,叫做争用窗口,表明会出现各STA争用信道的情况。
如果检测信道时发现信道正在使用,STA使用CSMA/CA协议的退避算法。冻结退避计时器。只要信道空闲,退避计时器就进行倒计时。当退避计时器减少到零时,STA就发送帧并等待确认。如果没有收到ACK帧,必须重传次帧。
带有RTS/CTS握手信号的CSMA/CA协议
在检测出信道空闲并等待DIFS时间间隔后,不立即发送数据帧,而是现发送RTS报文给目的STA,目的STA收到RTS报文后,发送给报文CTS报文给源STA,经过这次握手后,就可以发送数据帧。通过RST/CTS握手信号可以有效的避免隐藏终端。