G:
每帧时内系统中产生的需要发送的总帧数(包括新帧和重发帧),这就是系统负载;
P0:
发送的帧不产生冲突的概率;
S:
系统吞吐量(每帧时内系统能够成功传输的帧数),S=GP0;
在纯ALOHA系统中,S=Ge-2G,当G=0.5时,S达到最大值,为0.184。
时分ALOHA
将时间分成离散的时间片(slot),每个时间片用来传输一个帧,每个用户只能在一个时间片的开始传送帧,其它与纯ALOHA系统同。
该系统要求全局时钟同步。
与纯ALOHA系统相比,由于每个帧的易损时间区缩小了,冲突的概率减小了,所以系统吞吐量也相应提高了。
S=Ge-G,当G=1时,S达到最大值,为0.368。
(2)载波侦听多重访问(CSMA)协议
ALOHA系统吞吐量低的原因是,每个用户可以自由发送数据,而不管其他用户当前是否正在发送。
要求每个用户在发送数据前先监听信道,仅当信道空闲时才允许发送数据,这样可以减少冲突的概率,从而提高系统的吞吐量,这一类协议就是CSMA协议。
1-坚持CSMA
站点在发送数据前先监听信道,若信道忙则坚持监听直至发现信道空闲,一旦信道空闲立即发送数据,发现冲突后随机等待一段时间,然后重新开始监听信道。
该协议虽然在发送数据前先监听信道,且在信道空闲后再发送数据,但仍有可能发生冲突。
发生冲突的原因是:
信号传播延迟不可忽略,1-坚持的策略,因而该协议适合于规模较小和负载较轻的网络。
非坚持CSMA
站点在发送数据前先监听信道,若信道忙则放弃监听,等待一个随机时间后再监听,若信道空闲则发送数据,出现冲突则随机等待一段时间,再重新监听信道。
非坚持CSMA的信道利用率高于1-坚持CSMA,但延迟特性要差一些。
p-坚持CSMA
该协议适用于时分信道。
站点在发送数据前先监听信道,若信道忙则等到下一个时间片再监听,若信道空闲则以概率p发送数据,以概率1-p将发送推迟到下一个时间片。
如果下一个时间片信道仍然空闲,则仍以概率p发送,以概率1-p将发送推迟到下一个时间片。
此过程一直重复,直至发送成功或另一个用户开始发送(检测到信道忙)。
若发生后一种情况,该站的动作与发生冲突时一样,即等待一个随机时间后重新开始。
p-坚持CSMA试图在1-坚持CSMA和非坚持CSMA间取得性能的折衷。
影响协议性能的关键在于p的选择,p过小会无谓地增加延迟,p过大则性能接近1-坚持CSMA。
带有冲突检测的CSMA(CSMA/CD)
在以上CSMA协议中,如果站点在发送的过程中检测到冲突后立即停止冲突帧的发送,这就称为带有冲突检测的CSMA,即CSMA/CD,它可以节省时间和带宽。
CSMA/CD是以太网采用的介质访问控制方法。
CSMA/CD改进其它CSMA协议的地方是,当发送节点检测到冲突后立即停止发送,并进入冲突解决过程。
也就是说,仅当检测到冲突时仍未结束发送,才能节省时间和带宽。
节点从开始发送至检测到冲突,所需的最长时间等于信号在相距最远的两个节点之间的来回传输时间(2τ)。
冲突的检测是通过将监听到的信号与发送出去的信号相比较而实现的,因此物理层上需要使用便于检测冲突的信号编码方案。
为使发送节点在未发完时就能检测到可能的冲突,帧的发送时间应足够长,而信号传播时间应较短。
换句话说,当信道很长(τ很大)而帧传输时间很短(如帧很短或数据速率很高)时,CSMA/CD协议的性能并不好。
(3)无冲突协议
位图协议
该协议的本质是要求站点在发送前先进行预约,然后在预约的时间里发送数据,该协议不会产生冲突。
二进制相加
每个站发送数据前先发送其二进制地址(长度都相等),这些地址在信道中被线性相加,协议选择其中地址最高的站作为胜出者,允许其继续发送数据。
(4)有限竞争协议
竞争协议在轻负载下可以获得良好的延迟特性,但重负载下由于冲突增加信道利用率不高;无冲突协议在重负载下可以获得很高的信道利用率(因为没有冲突),但轻负载下由于要等待发送权而延迟特性不好。
有限竞争协议试图结合以上两类协议的优点和克服各自的缺点,使得在轻负载时使用竞争方式减小延迟,而在重负载时使用无冲突方法提高信道利用率。
其基本思想是对用户进行动态分组,每个时隙内只允许一个组的用户竞争信道,通过减少在同一个时隙内竞争信道的用户数来提高竞争成功的概率。
组的大小随系统负载的变化而动态调整,负载越轻,组越大,极端情况是所有用户在一个组内,退化为竞争协议;反过来,负载越重,组越小,极端情况是每个组内只有一个用户,退化为无冲突协议。
最佳的分组情况是,每个组内平均只有一个用户竞争信道。
显然,这一类协议的关键就在于如何根据负载的情况自适应调整用户的分组。
自适应树搜索协议
协议的基本思想是将所有站点组织在一棵二叉树中(站点在树叶上),从树根开始,首先将一个时隙分配给树根(即树根下的所有站点都可以在该时隙竞争信道);如果发生冲突,则按深度优先法,从左到右递归地搜索该节点的子节点(即将下一个时隙分配给搜索到的子节点);如果时隙空闲或者只有一个站点发送(发送成功),则停止搜索该节点;该过程不断重复,直至将整棵树搜索一遍;然后从树根开始新一轮的搜索。
图4-9。
该协议的改进算法:
根据系统负载情况,动态地决定从哪一个节点开始往下搜索。
(5)波分多重访问协议
在无源星型网络中(图2-31),来自每个站点的两根光纤被熔合在一起,形成一个玻璃柱,一根光纤向玻璃柱输入,另一根光纤从玻璃柱输出。
任何站点产生的输出都会照亮玻璃柱,从而其它所有的站点检测到。
为了能够允许多个站点同时发送,每个站点必须使用不同的波长,因而将光谱划分成不同的波长段(称信道)。
在波分多重访问协议(WDMA)中,每个站点分配了2个信道,窄信道用作控制信道,宽信道作为数据信道。
控制信道由其它站用来向本站发出通知,而数据信道由本站用来向其它站输出数据。
为了与多个站点通信,每个信道都采用时分多路复用的方法划分成时隙,一定数量的时隙组成时隙组。
控制信道和数据信道的时隙组可以包含不同的时隙数,如控制信道的时隙数为m,数据信道的时隙数为n+1,其中n个时隙用于传数据,最后一个时隙用来报告站点的状态,主要是报告在两条信道中哪些时隙是空闲的。
在两条信道中,时隙序列不断循环,时隙0有特殊的标记可以被识别出来。
所有信道使用一个全局时钟进行同步。
每个站监听本站的控制信道,同时在本站的数据信道上向其它站发送数据。
显然,当一个站要向其它站发送控制消息时,必须将发送波长调整到目的站的控制信道上,而要从其它站接收数据消息时,必须将接收波长调整到源站的数据信道上。
因此,每个站点有2个发送端和2个接收端,它们分别如下:
●一个波长固定不变的接收端,用来监听本站的控制信道;
●一个波长可调的发送端,用于向其它站点的控制信道发送消息;
●一个波长固定不变的发送端,用于在本站的数据信道上输出数据帧;
●一个波长可调的接收端,用于从选定站点的数据信道上接收数据。
WDMA支持3种类型的通信:
恒定速率的面向连接通信,可变速率的面向连接通信,数据报通信(不可靠无连接)。
数据报通信:
●当A想向B发送数据时,A首先监听B的数据信道,等待B的状态时隙到来;
●从B的状态时隙可以获知B的控制信道中哪些时隙是空闲的,A从中选择一个空闲的时隙向B发送一个通知,告诉B在A的数据信道的哪个时隙中有给B的数据;
●若B在指定的时隙里空闲,则在该时隙到来时将接收波长调整到A的数据信道,就可以收到A发给B的数据;
●如果A和C选择了同一个空闲时隙向B发送通知,则两者都会失败;
●若A和C选择了相同的时隙向B发送数据,则B只能从中选择一个站来接收,另一个站的数据丢失。
面向连接的通信:
●若A希望与B建立一个连接,A首先监听B的数据信道,等待B的状态时隙到来;
●A从B的空闲时隙中选择一个,将连接请求消息插入其中;
●若B同意建立连接,它将该时隙分配给A,并在控制信道的状态时隙中加以声明;
●当A看到该声明后,就知道一个单向连接建立起来了;若A希望建立一个双向连接,则B将对A重复同样的算法;
●若A和C选择了相同的空闲时隙向B发送连接请求,则两者都会失败,A和C通过监听B的状态时隙就可以知道这一点,他们会随机等待一个时间再试;
●当连接建立起来后,A就可以在分配给它的控制时隙中向B发送控制消息,告知给B的数据将在哪个数据时隙中发送;
●为了获得恒定的数据速率,A可以向B请求在一个固定的数据时隙发送数据,如果B同意就建立了一条保证带宽的连接,若该时隙不空,A还可以再请求另一个数据时隙。
(6)无线局域网协议
为什么CSMA不适用于无线局域网?
因为CSMA只能告诉发送站,在发送站周围是否有站点在传输,而发送站真正想知道的却是,在接收站周围是否有站点在传输。
隐藏站点问题和暴露站点问题(图4-11)。
带有冲突避免的多重访问(MACA)
这是802.11无线局域网采用的介质访问控制方法。
它的基本思想是让发送方激励接收方发送一个短帧,让接收站周围的站点都检测到这个帧,从而这些站在即将到来的一段时间里不向接收站发送。
过程如下(图4-12):
●若A想向B发送一个数据帧,A首先向B发送一个RTS帧,该帧给出了后继数据帧的长度;
●B收到后回复一个CTS帧,CTS帧中也给出数据帧的长度;
●A收到CTS帧后就可以发送;
●在此过程中,若A周围的站监听到了A的RTS帧,它们会在随后的一段时间内保持沉默,以便让A无冲突地收到CTS帧;而B周围的站监听到了B的CTS帧后,也会在随后的一段时间(由CTS帧中的数据长度决定)内保持沉默,从而让B能够无冲突地收到A发送的数据帧;
●若B和C同时向A发送RTS帧,则会产生冲突,这时不成功的发送方会随机等待一段时间后再重试。
3.以太网
(1)以太网布线
通常有四种布线方法,见图4-13。
10Base5:
又称粗缆以太网,使用直径10毫米的基带同轴电缆作为传输介质,每段电缆最长为500米,最多支持100个节点,数据速率为10Mbps,节点通过特殊的收发器连接到电缆上(图4-14(a))。
收发器主要完成载波监听和冲突检测的任务;收发器电缆连接收发器和网络接口卡,长度不超过50米,包含5对屏蔽双绞线,分别用作数据线、控制线和电源线;网络接口卡负责完成数据链路层协议。
10Base2:
又称细缆以太网,使用直径5毫米的基带同轴电缆作为传输介质,每段电缆最长为185米,最多支持30个节点,数据速率为10Mbps,电缆连接处采用工业标准的BNC连接器组成T型连接。
由于BNCT型连接器是无源的,因此10Base2的收发器位于网络接口卡内。
以上两种布线方法的共同缺点是,当电缆断裂、接头损坏或松动时,会影响整个网络的运行,同时故障定位和隔离都比较困难,这导致了10Base-T布线方法的产生。
10Base-T:
每个节点通过一条双绞线电缆(3类双绞线)连接到中央集线器(hub)的一个端口上,所有端口在内部通过电路连接到一起形成共享总线。
每根电缆内包括2对双绞线:
一对用于发送信号,一对用于接收信号。
双绞线与计算机及hub的连接均采用RJ-45连接器,插拨很方便,而且任何一条电缆或接口出现故障只会影响到相关的节点,网络的其余部分照常运行,因此故障定位和隔离都相当容易。
10Base-T的缺点是从节点到hub的电缆长度不能超过100米,即使使用高质量的5类双绞线,也不能超过200米。
10Base-F:
采用多模光纤作为介质,长度可以达到2000米,但由于价格较高,通常用于连接较远的hub。
由于光信号的传输是单向的,适合于端到端式的通信,因此10Base-F的网络结构呈星状或放射状,光纤的一端与光收发器(光hub)连接,另一端与网卡连接。
中继器:
当单根电缆组成的网络规模太小时,可以用中继器连接多个电缆段以延长电缆的长度。
中继器是一个物理层上的设备,用于双向接收、放大并重发信号,使用中继器连接的多个电缆段本质上与单个电缆段是一样的。
中继器的使用是有限制的,一个系统中任意两个收发器之间的路径上不得跨越4个以上的中继器。
(2)曼彻斯特编码
物理层编码很少使用直接的二进制编码,因为它不利于接收方的时钟同步。
所有基于IEEE802.3的基带系统在物理层上均使用曼彻斯特编码。
曼彻斯特编码:
用高-低电平对表示“1”,低-高电平对表示“0”,编码中间的电平跳变可被接收方用来提取时钟信号。
这种编码的缺点是,它的带宽是直接二进制编码的2倍,即为达到10Mbps数据速率,它的信号速率(波特率)要达到20Mbaud。
差分曼彻斯特编码:
有效编码仍然是高-低电平对和低-高电平对两种,但一个编码并不固定表示“1”或“0”,而是由每个编码开始时线路上有无电平跳变来决定,有电平变化表示“0”,无电平变化表示“1”。
这种方法比曼彻斯特编码的抗干扰性强,但设备复杂。
以太网使用曼彻斯特编码。
(3)以太网帧结构
DIX以太帧结构,图4-17(a)。
●前导码:
8个字节,0与1的交替序列,用于接收方进行时钟同步。
●地址:
通常使用6字节地址,用于标识以太帧的接收者与发送者。
●类型:
指出数据域中携带的数据应交给哪个协议实体处理。
●数据:
0-1500字节。
●填充:
0-46字节,当帧长太短时填充帧,使其达到64字节的最小长度。
由于采用CSMA/CD协议的节点只在发送的过程中检测冲突,当发送结束时仍未检测到冲突就认为发送成功;但是从发送开始到检测到冲突最多需要2τ时间,为保证发送站总是能够检测到冲突,要求帧的发送时间至少应达到2τ,所以有最小帧长的限制。
对于最大长度为2500米、具有4个中继器的10Mbps以太网,2τ≈50μs,于是最小帧长应为10Mbps×50μs=500bits,为保险起见取为512比特,即64字节。
●校验和:
CRC编码。
当接收端检测出错误时将帧丢弃;但无论接收正确与否,接收端均不给出确认。
所以,以太网提供的是一种不可靠的服务。
802.3帧格式(图4-17(b))与DIX以太帧格式的不同:
●将前导码减少为7个字节,并将第8个字节(10101011)作为帧起始标志,这是为了与802.4和802.5相兼容;
●长度域替代了类型域:
长度域指明了数据域的长度。
数据域中携带了LLC帧,使用LLC帧头中的字段可以确定将帧交给哪个协议实体来处理。
目前,这两种帧格式均可以使用,当类型/长度域中的值大于1500时该域解释为类型,当小于或等于1500时该域解释为长度。
当在物理介质上传输以太帧时,前导码和CRC码均由物理层接口硬件产生和处理。
发送端接口硬件首先发送一串前导码,然后发送以太帧(从目的地址开始到数据部分),在发送的过程中同时将帧输入到一个硬件除法器中;当帧发送完时除法器中也得到了该帧的CRC码,于是紧跟在帧后面发送CRC码;接收端接口硬件将前导码和CRC码(校验过后)去掉。
因此,前导码和CRC码对于链路层实体来说是透明的。
以太帧在物理介质上的传输顺序是从高位字节到低位字节,即先发送目的地址的最高字节。
但每个字节中比特的传输顺序是从低位比特到高位比特,即紧跟在前导码后发送的第一个比特是目的地址最高字节的最低比特。
(4)MAC地址
每一块网络适配器(网卡)都有一个地址,通常被固化在ROM中,这个地址称为MAC地址。
因其和适配器绑定在一起也称为物理地址,以和高层的逻辑地址(如IP地址)相区分。
MAC地址的长度为6个字节,通常用由冒号分隔的6个十六进制数表示。
比如,MAC地址000010000000000000101011111001001011000100000010表示为8:
0:
2b:
e4:
b1:
2。
MAC地址有局部地址和全局地址之分,这由地址的次高比特(目的地址在线路上传输时的第二个比特)来标识。
次高比特为1的地址是局部地址,由网络管理员分配且只在本网内有效;次高比特为0的地址是全局地址,由IEEE统一分配以确保没有两个适配器具有相同的全局地址。
为了保证每个适配器的地址是唯一的,IEEE给每个适配器制造商分配一个不同的前缀,这个前缀必须加到他们制造的每一个适配器地址上,而制造商必须保证每个后缀是唯一的。
源地址通常是单播地址,就是源主机适配器的MAC地址。
目的地址则有单播地址、多播地址和广播地址三种,由地址的最高比特(目的地址在线路上传输时的第一个比特)来区分。
最高比特为0的是单播地址(目的主机适配器的MAC地址),最高比特为1且其余比特不全为1的是多播地址,48比特全为1的是广播地址。
多播和广播的区别是,多播是将帧发送给属于同一个组(即具有相同的多播地址)的所有节点,而广播是将帧发送给网上的所有节点。
以太网是一个广播网,事实上网络中传输的每一个帧可被每一个适配器接收到。
为了减轻主机的工作负担,适配器只将发给本节点的帧交给主机,而将其余帧丢掉。
具体来说,当一个帧到达一个节点的适配器时,该适配器检查帧的目的地址,若:
1)目的地址是单播地址且与自己的MAC地址相符,
2)广播地址,
3)多播地址且该地址在要监听的多播地址集合中,
则适配器将该帧接收下来并交给主机,否则丢弃该帧。
有些特殊的设备需要接收网上传输的所有帧,比如网桥、网络协议分析器等,这时只要将这些设备的适配器配置为混杂模式(Promiscuousmode),就可以接收所有的帧。
(5)介质访问控制
以太网采用CSMA/CD作为其介质访问控制协议。
当适配器有帧要发送时,首先侦听信道;若检测到信道忙(侦听到信号能量),则坚持侦听直到发现信道空闲;一旦信道空闲,立即发送帧;在发送的过程中继续侦听信道,如果检测到冲突(发现异常的信号能量)就立即停止传送帧,并发送一个阻塞信号(jammingsignal);然后进入指数回退(exponentialbackoff)阶段,选择一个随机时间进行等待后,重新侦听信道。
令检测到冲突的节点发送一个阻塞信号,是为了加强冲突以确保网上的所有节点都检测到这个冲突。
例如,假设适配器A开始传输一帧,当A的信号将要到达适配器B时,B开始发送。
B立即检测到了冲突并停止发送,这时B仅发送了很少一些比特。
虽然这些比特会传播到A,但它们可能不足以形成足够的能量来使A检测到冲突,让B发送阻塞信号就是为了确保A能检测到这个冲突。
在检测到冲突后,为确定需要等待多长时间再侦听信道,适配器采用一种指数退避算法。
算法的基本思想是:
冲突产生后,时间被分成长度为2τ(即51.2μs)的时隙;第一次冲突后,发生冲突的站点从0、1中随机挑选一个时隙进行等待,然后重试;此后每发生一次冲突,站点可以选择等待的时隙数就增加一倍,即第i次冲突后,站点可从0到2i-1中随机挑选一个时隙进行等待,然后重试;当达到10次冲突后,随机等待的最大时隙数固定在1023;16次冲突后不再重发,向上层报告出错。
这种方法的基本思想是,根据发生冲突的站点数的多少动态调整随机等待的时隙数,从而可以在较合理的时间内解决冲突。
需要注意的是,发送时不产生冲突并不表明帧在传输过程中就不会出错,帧仍有可能由于线路上的噪声干扰而出错,所以计算帧的校验和及重发出错帧仍是必要的,但以太网标准没有提供这种操作,错误恢复是由上层来完成的。
由于冲突会使网络资源大量浪费,从而降低网络的通信能力,因此以太网适合在轻负载下工作。
在以太网上,通常超过30%的利用率就被认为是重负载了。
幸运的是,大部分以太网是在比标准允许方式更保守的方式下使用。
例如,大部分以太网上连接的主机数比200少,远小于规定的最大数量1024,这是因为一个C类局域网最多只能有254台主机。
其次,大部分以太网的距离远小于2500米,往返延迟接近5μs而不是51.2μs。
最后,虽然以太网适配器没有实现链路层流量控制,但主机通常会提供一种端到端的流量控制机制,结果很少出现一台主机连续不断地把帧送到网上的情况。
4.交换式以太网
共享式以太网由于存在竞争,其吞吐量必然不会太高,交换式以太网采用避免竞争的办法来提高系统的吞吐量。
交换式以太网的核心是交换机,它包括一个高速背板和一些插槽,每个插槽可以插一块卡,每块卡上有许多端口,每个端口可以通过双绞线连接一台计算机,如图4-20。
当源节点和目的节点连接在同一块卡上时,数据帧直接从源端口拷贝到同一块卡上的目的端口;当不在同一块卡上时,数据帧通过背板拷贝到另一块卡上的输出端口。
卡有两种构造方法。
一种是卡上所有端口连接在一起形成一个冲突域,这时每块卡相当于一个共享以太网段,采用CSMA/CD及二进制指数退避算法解决竞争。
每块卡每次只能有一个端口发送,但不同卡上的端口可以同时发送。
另一种是采用缓存的方法,输入的帧首先缓存在卡的RAM中,然后再拷贝到目的端口所对应的RAM。
这时,每个端口是一个独立的冲突域,不同的端口互不干扰,因此冲突是不会发生的,所有端口可以同时发送和接收。
交换机的端口除了可以连接单独的计算机外,也可以连接一个网段。
当交换机上所有的端口都连接了一个网段,则交换机实际上变成了一个网桥。
5.快速以太网
其标准为802.3u。
为了与802.3兼容,它完全保留了802.3的MAC层协议,但修改了物理层以便支持更高的速率和不同的物理介质。
由于完全保留了802.3的MAC层,因此802.3u的帧格式、接口、协议规程等均与802.3相同,只是速率提高到了100Mbps。
在物理层上,802.3u只使用hub和交换机进行组网,传输介质只使用双绞线和光纤。
802.3u标准化了三种布线方案(图4-21),分别用于3类双绞线、5类双绞线和光纤布线。
100Base-T4:
这是用于3类双绞线的布线方案。
按照10Base-T的规定,计算机到hub的最大距离应达到100米;若采用曼彻斯特编码,为获得100Mbps的速率,信号速率应达到200M波特。
对于3类双绞线来说,要在100米的距离上获得200M波特的速率是做不到的,但在100米的距离上达到20M波特甚至更高一些则是可能的(在10Base-T中,信号速率为20M波特)。
该方案采用的方法是,使用一根电缆中全部的四