数据链路层使用的信道有以下两种类型:1点对点信道,一对一的点对点通信方式;2广播信道,一对多的广播通信方式,复杂。广播信道上连接的主机多,因此必须使用共享协议来协调这些主机的数据发送。本文先介绍点对点信道和在这种信道上常用的点对点协议PPP。然后讨论共享信道的局域网和有关协议。我们可以想象数据是在数据链路层从左向右沿水平方向传送:每段链路层可能采用不同的数据链路层协议。

以下是对原文进行重构后的内容:

数据链路层使用的信道有两种类型:点对点信道和广播信道。其中,点对点信道是指一对一的点对点通信方式,而广播信道则是指一对多的广播通信方式。由于广播信道上连接的主机多,因此必须使用共享协议来协调这些主机的数据发送。

在本文中,我们首先介绍了点对点信道及其常用的点对点协议PPP。接着,我们讨论了共享信道的局域网及其相关协议。需要注意的是,在数据链路层中,“规程”和“协议”是同义词。

具体来说,数据链路层把网络层交给下来的数据构成帧发送到链路上,并把接受到的帧中的数据取出交给网络层。在因特网中,网络层协议数据单元就是IP数据报(或简称为数据报、分组、包)。在点对点通信步骤中,结点A的数据链路层把网络层交下来的IP数据报添加首部和尾部封装成帧;结点A把封装好的帧发送给结点B的数据链路层;结点B的数据链路层收到无差错的帧则从收到的帧中取出IP数据报上交给上面的网络层,否则丢弃这个帧。

需要注意的是,在这段文字中有一些重复内容需要删除或修改。同时,为了使文章更加易懂易读,建议适当增加一些图表或例子来说明相关知识点。

SOH(Start of Header)是十六进制编码的01,表示帧的开始。EOT(End of Transmission)是十六进制编码的04,表示传输结束。帧界定符的作用是实现差错控制。

当发送端在尚未发送完一个帧时突然出故障,中断了发送。但随后很快又恢复正常,于是重新从头开始发送刚才未发送完的帧。由于使用了帧定界符,在接收端就知道前面收到的数据是个不完整的帧(只有首部开始符SOH而没有传输结束符EOT),必须丢弃。而后面收到的数据有明确的帧定界符(SOH和EOT),因此这是一个完整的帧,应当收下。

2. 透明传输

如果所传输的数据中的任何8比特的组合和用作帧定界的控制字符的比特编码一样,就会出现帧定界的错误。当传送的帧是用文本文件组成时,其数据部分不会出现像SOH或EOT这样的帧定界控制字符。不管什么字符都可以放在这样的帧中传输过去,因此这样的传输是透明传输。当传送的帧是由非ASCII码的文本文件时,情况不同。数据链路层会错误地找到帧的边界,把部分帧收下(误认为是完整的帧),剩下地部分找不到SOH而被丢弃。

解决透明传输问题的方法是在发送端的数据链路层在数据中出现控制字符"SOH"或"EOT"的前面插入一个转义字符"ESC"(其十六进制编码是1B)。接收端的数据链路层在将数据送往网络层之前删除插入的转义字符。如果转义字符也出现数据当中,那么应在转义字符前面插入一个转义字符。当接收端收到连续的两个转义字符时,就删除其中前面的一个。

3. 错检测

通信链路并非理想,所以有了差错检测措施。比特差错是指比特在传输过程中,1变成0,0变成1的现象。误码率BER(bit error rate)是指在一段时间内,传输错误的比特占所传输比特总数的比率。提高信噪比可以使误码率减小。

为了实现差错检测,可以使用循环冗余检验CRC(cyclic redundancy check)。在发送端,先把数据划分为组,每组K个比特。假设待传送的数据M = 101001(k=6)。然后CRC运算需要把待传的数据的末尾加上用于检测的n位冗余码。可以简单地理解为在数据后面加上n个0,一共发送(k+n)位。

循环冗余检验(CRC)是一种差错检测技术,它是在数据传输过程中对数据进行检测的一种方法。它的主要作用是在接收端对数据进行差错检测,如果发现数据有差错,则可以进行纠正。循环冗余检验(CRC)和帧检验序列(FCS)不是同一个概念。CRC是一种检测方法,而FCS是添加在数据后面的冗余码,在检错方法上可以选用也可以不选用CRC。发送端帧检测序列(FCS)的生成和接收端的CRC检验是用硬件完成的,处理迅速,因此不会延误数据的传输。如果在传送数据时不以帧为单位来传送,那么就无法加入冗余码以进行差错检验。因此,必须把数据划分为帧,每一帧都加上冗余码,一帧接一帧地传送,然后在接收方逐帧进行差错检验。

以下是重构后的内容:

假设n=3,这样循环冗余检验的被除数101001000就得到了。除数是通信双方商定好的,现在一般使用的方式是用多项式来表示除数,比如P(x)=x^3+x^2+1(生成多项式),就得到除数P=1101。现在就可以开始进行检验了,注意除数P的位数等于n+1。运算的方法和除法类似,只是相减变成了异或而已。经过运算,得到了余数为001,它被称为帧检验序列FCS。截至现在做的一切运算都只是在发送端进行的。为了检验帧是否无比特差错接收了,是在接收端检验的。计算出的帧检验序列FCS会附加在帧的尾部一起发送。

检测:

在接收端把收到的数据以帧为单位进行CRC检测:接收端接收到后,会把FCS取出,添加到数据部分的末尾,得到除数101001001,再次和除数P=1101相除,如果得到的余数等于0,则证明此次传输时无比特传输的。如果余数不等于0,则证明这个帧有差错。

注意:

1、循环冗余检验CRC和帧检验序列FCS不是同一个概念;2、发送端帧检测序列FCS的生成和接收端的CRC检验是用硬件完成的;3、如果在传送数据时不以帧为单位来传送,则无法加入冗余码以进行差错检验;4、在数据链路层如果只是使用循环冗余检验CRC差错检测技术,则只能做到对帧的无差错接受;5、可靠传输指:数据链路层的发送端发送什么,在接收端就收到什么;6、OSI观点是必须把数据链路层做成可靠传输;7、因特网广泛使用的数据链路层协议都不使用确认和重传机制;8、如果数据链路层出现了差错则必须改正,这任务由上层协议(如运输层的TCP协议来完成)。

以下是重构后的内容:

二、点对点协议PPP

通信线路质量较差时,在数据链路层使用可靠传输协议很好,因此能实现可靠传输的高级数据链路控制HDLC(high-level data link control)就成为当时比较流行的数据链路层协议。现在却很少用了,用的多的是PPP(point to point protocol)数据链路层协议。

1.PPP协议的特点

是用户计算机和ISP进行通信时所使用的数据链路层协议。

I.需满足

(1)简单

更复杂的是TCP协议,IP协议相对简单(提供不可靠的数据包服务),这样数据链路层没有必要提供比IP协议更多的功能,它不需要纠错、序号、流量控制。当然误码率较高的无线线路上需要更复杂的链路层协议。而且简单的协议使得不同厂商对协议的不同实现的互操作性提高了。

(2)封装成帧

PPP协议必须规定特殊的字符作为帧定界符(即标志一个帧的开始和结束的字符),以便接收端能够准确地找出帧的开始和结束位置。

(3)透明性

数据中碰巧出现了和帧定界符一样的比特组合时,要采取有效的措施来解决这个问题。

(4)多种网络层协议

PPP协议必须能够在同一条物理连路上同时支持多种网络层协议(如IP和IPX等)的路由器运行。当点对点链路所连接的是局域网或时,PPP协议必须同时支持在链路所连接的局域网或路由器上运行的各种网络层协议。

(5)多种类型链路

PPP协议不仅要支持多种网络层协议,还要在多种类型的链路上运行。例如,串行的或并行的、同步的或异步的、低速的或高速的等。

(6)差错检测(error detection)

PPP协议必须能够对接收端收到的帧进行检测,并立即丢掉有差错的帧。若没有及时丢掉,则会浪费很多网路资源。

(7)检测连接状态

PPP协议必须具有一种机制能够及时(不超过几分钟)自动检测出链路是否处于正常工作状态。当出现故障的链路隔了一段时间后又重新恢复正常工作时,就特别需要有这种及时检测功能。

(8)最大传送单元

每一种类型的点对点链路需要。这样可促进各种实现之间的互操作性。如果高层协议发送的分组过长并超过MTU的数值,PPP就丢弃这种帧,并返回差错。强调:MTU是数据链路层的帧可以载荷的数据部分的最大长度,而不是帧的总长度。

(9)网络层地址协商

以下是我对提供的文本进行重构后的段落结构:

PPP协议必须提供一种机制使通信的两个网络层(例如两个IP层)的实体能够通过协商知道或能够配置彼此的网络层地址。这样能保证网络层能够传送分组。

- 数据压缩协商:PPP协议必须提供一种方法来协商使用数据压缩算法。但PPP协议并不要求将数据压缩算法进行标准化。

PPP协议不需要的功能包括:

- 纠错:在TCP/IP协议族中,可靠传输由运输层TCP协议负责,而数据链路层的PPP协议只进行检错。这就是说,PPP协议是不可靠传输协议。

- 流量控制:在TCP/IP协议族中,端到端的流量控制由TCP负责,因而链路级的PPP协议就不需要再重复进行流量控制。

- 序号: PPP不是可靠传输协议,因此不需要使用帧的序号(许多过去曾经很流行的停止等待协议或连续ARQ协议都是用序号),端到端的流量控制由TCP负责,因而链路级的PPP协议就不需要在重复进行流量控制。

- 多点线路:PPP协议不支持多线线路(即一个主站轮流和链路上的多个站进行通信),而只支持点对点的链路通信。

- 半双工或单工链路 :PPP协议只支持全双工链路。

PPP协议的组成包括:

- 一个将IP数据报封装到串行链路的方法。PPP既支持异步链路(无奇偶检验的8比特数据),也支持面向比特的同步链路。IP数据报在PPP帧中就是其信息部分。这个信息部分的长度受最大传送单元MTU的限制。

- 一个用来建立、配置和测试数据链路连接的链路控制协议LCP(link control protocol)。通信的双方可协商一些选项。

- 一套网络控制协议NCP(network control protocol),其中的每一个协议支持不同的网络协议层,如IP、OSI的网络层等。

PPP协议的帧格式包括以下字段:

- 标志字段(F):表示一个帧的开始和结束,是帧的定界符。连续两个帧之间只需用一个标志字段,如果连续有两个标志字段则表示这是一个空帧,要丢弃。规定为0x7E。

- 地址字段(A):规定为0xFF。

- 控制字段(C):规定为0x03。A和C两个字段实际上没有携带PPP帧的控制信息。

- 协议字段:为0x0021时,PPP的信息字段就是IP数据报;为0xC021时,则是PPP链路控制协议LCP的数据;为0x8021时,则是网络层的控制数据。

根据我查到的信息,PPP协议的帧检测序列有以下两种:FCS-使用CRC的帧检测序列和字节填充(异步传输)。其中,字节填充是指在信息字段中有和标志字段一样的比特组合时,就必须采取一些措施使这种形式上和标志字段一样的比特组合不出现在信息字段中。当PPP使用异步传输时,它把转义符定义为0x7D,并使用字节填充,方法为:(1)把信息字段中出现的每一个0x7E字节转变为2字节序列(0x7D,0x5E);(2)若信息字段中出现一个0x7D的字节(即出现了和转义字符一样的比特组合),则把0x7D转变成为2字节序列(0x7D,0x5D);(3)若信息字段中出现ASCII码的控制字符(即数值小于0x20的字符),则在该字符前面要加入一个0x7D字节,同时将该字符的编码加以改变。例如,出现0x03(在控制字符是传输结束ETX)就要把它转变为2字节序列(0x07D,0x31)发送端进行了字节填充,因此链路上传送的信息字节数超过了原来的信息字节数,但接收端在收到数据后再进行与发送端字节填充相反的变换,就能正确恢复出原来的信息。

另外,PPP协议还有一种工作状态——零比特填充(同步传输),它使用于SONET/SDH链路时。具体做法是在发送端扫描整个信息字段(硬件实现快,软件慢),只要发现有5个连续1,立即填入一个0。这样保证信息字段中不会出现6个连续1。在接收端先找到标志字段F确定一个帧的边界,再用硬件对比特扫描,发现5个连续1时就把后面的一个0删除还原出原来的信息比特流。这样做可以保证透明传输:在所传送的数据比特流中可以传送任意组合的比特流而不会引起帧边界的判断错误。

PPP协议是一种广泛用于点对点通信的协议,由帧格式、链路控制协议LCP和网络控制协议NCP组成。LCP用于建立和配置链路,NCP则用于网络层协议的配置。PPP协议支持字节填充和比特填充以实现透明传输,确保数据不受链路限制。如果在PPP链路上运行的是IP协议,则对PPP链路的每一端配置IP协议模块(如分配IP地址)时就要使用NCP中支持IP的协议——IP控制协议IPCP 。

PPP协议的几个状态的说明如下:空闲状态(Idle):在建立连接之前和断开连接之后,PPP协议处于空闲状态。建立连接状态(Establish):该状态表示两个节点正在建立连接,协商最佳的通信参数,例如帧大小,数据压缩和加密等。认证状态(Authenticate):如果需要,PPP协议会在建立连接状态之后进入认证状态,以确保连接的安全性。网络层协议状态(Network):一旦连接建立并认证完成,PPP协议进入网络层协议状态,开始传输数据 。

至于使用广播信道的数据链路层,它可以使众多用户能够合理而方便地共享通信媒体资源。有两种方法:静态划分信道和动态媒体接入控制。

IX Ethernet V2和IEEE的802.3是两个不同的以太网标准。在传输速率方面,DIX Ethernet V2的最大传输速率是10Mbps,而IEEE的802.3最大传输速率是100Mbps或更高。在帧格式方面,DIX Ethernet V2采用了48位的目标和源MAC地址,以及16位的类型字段,而IEEE的802.3采用了48位的目标和源MAC地址,以及32位的类型字段 。

虽然我们经常混用这两个术语; 历史上以太网帧格式有五种: 1.Ethernet V1:这是最原始的一种格式,是由Xerox PARC提出的3Mbps CSMA/CD以太网标准的封装格式,后来在1980年由DEC,Intel和Xerox标准化形成。

计算机的软件地址是指计算机内存中的地址,而硬件地址是指网络接口卡上的地址。CSMA/CD协议是一种用于以太网的协议,它可以协调总线上各计算机的工作,实现一对一的通信。该协议采用较为灵活的无连接工作方式,即不用先建立连接就可以直接发送数据。适配器对发送的数据帧不进行编号,也不要求对方发回确认。为了避免干扰,同一时间只能允许一台计算机发送信息。CSMA/CD协议使用曼切斯特编码的信号来传输数据,这种信号可以把每一个码元分为两相等间隔,从而保证了在每一个码元的正中间出现一次电压变换,接收端就利用这种电压的转换很方便地把位同步信号提取出来。

发送前先监听:每一个站在发送数据前先要检测总线上是否有其他站在发送数据,如果有则暂时不发,等待信道空闲再发。总线上无载波,载波监听就是用电子技术检测总线上有没有其他计算机发送的数据信号。

碰撞检测:边发送边监听,也称冲突检测。适配器边发送数据边检测信道上的信号电压的变化情况,以便判断自己在发送数据时其他站是否也在发送数据。同时发送数据时,总线上的信号电压变化幅度大,超过一定门限值时,就认为总线上至少两个站同时在发送数据,表明有碰撞。这时总线上的信号失真,无法恢复。所以,每一个正在发送数据的站,一旦发现有碰撞,适配器就要立即停止发送,以免浪费网络资源,等待一段随机时间后再发送。

原理:某个站监听到总线是空闲时,总线并非一定是空闲。电磁波在1km电缆的传输时延约为5us。因此,A向B发出的数据,在约5us后才能传到B。把总线上的单程端到端传播时延记为τ。发送数据的站想尽早知道是否有碰撞,那么在A发送数据后,最迟经过多长时间才能知道自己发送的数据和其他站发送的数据有无碰撞?答案最多是两倍的总线端到端的传播时延(2τ),或总线的端到端往返传播时延。本协议中,一个站不可能同时进行发送和接收。所以使用CSMA/CD协议的以太网不可能进行全双工通信而只能进行双向交替通信(半双工通信)。

在t=0时,A发送数据。B检测到信道为空闲。在t=τ-δ时(这里τ>δ>0),A发送数据还没到达B时,由于B检测到信道是空闲的(为什么B检测是空闲的?因为电磁波1km的传播时延是5us,换言之就是5us后B才能检测到信道是忙的,5us之前,B认为是空闲的),于是开始发送数据)。因此B发送数据。经过时间δ/2后,即在t=τ-δ/2时,A发送的数据和B发送的数据发生了碰撞。这时,A和B都不知道发送了碰撞。在T=τ时只有B先检测到了发生碰撞,于是停止发送数据。在T=2τ-δ时A才检测到发生了碰撞也停止发送数据。然后A和B就随时选择一个时间推迟重新发送。由此可知每个站都存在碰撞可能性称为发送不确定性。整个以太网平均通信量小于最高数据率时碰撞机会小。发送数据帧A站最多经历2τ时间就可以知道是否遭受碰撞了。把这2τ称为争用期也叫碰撞窗口。

经过这个争用期时间,检测没有发生碰撞,就能肯定这次发送的数据不会发生碰撞。至此,碰撞问题还是没有解决。专家们就发明了一种算法,来减小发生碰撞的概率,这个算法就是截断二进制指数退避(truncated binary exponential backoff)算法。退避算法的思想如下:

1. 确定基本退避时间,即争用期2τ。以太网把争用期2τ定为51.2us。对于10Mb/s以太网,在争用期内可发送512bit,即64字节。512bit怎么来的?速率乘以时间等于数据量。10Mb/s*51.2us=[10*10^6b/s] * [51.2^(-6)s]=512bit。

2. 从离散的整数集合随机取出一个数[0,1,2,3......,(2^k-1)] ,取出来的数,记为r。重传推迟的时间就是r倍的争用期。T=r*2τ。上面k的参数,按照这个计算k=Min[重传次数,10]。可见,当重传次数不超过10时,参数k=重传次数。如果重传次数超过10时,k就不再增加了,一直等于10。

3. 当重传达16次,仍然会不能成功时,就丢弃该帧,向高层报告。说明发送的人太多了,导致连续发送碰撞。但使用上述退避算法可使重传需要推迟的平均时间随重传次数而增大(也称动态退避),因而减小发生碰撞的概率,有利于整个系统的稳定。

举例:在第一次重传时,k=1,随机数r从整数{0,1}中选一个数,可得重传的推迟时间要么为0,要么为1*2τ,这两个选择一个。如果再次发送,即第二次重传,k=2,代入[0,1,2,3......,(2^k-1)] ,随机数r从整数{0,1,2,3}选一个数,可得重传推迟时间是0、2τ、4τ、6τ这4个值随机选择一个。同理,再次发送碰撞,以此类推。

注意:适配器每发送一个新的帧,就要执行一次CSMA/CD算法。适配器对过去发生过的碰撞无记忆功能。所以,好几个适配器正在执行指数退避算法时,很可能某一个适配器发送的新帧能碰巧立即成功地插入到信道中,得到了发送权。

以太网在发送数据时,如果帧的前64字节没有发送冲突,那么后续的数据就不会发送冲突。换句话说,就是如果发送冲突,就一定是在发送的前64字节之内。因为检测到冲突就停止发送,这时已经发送出去的数据一定小于64字节。因此以太网规定了最短有效帧长为64字节,只要长度小于64字节的帧都是由于冲突而异常中止的无效帧。收到这种无效帧就立即丢弃。

以太网的端到端时延实际上是小于争用期的一半(即25.6us)。争用期被定为51.2us,不仅是考虑了以太网的端到端时延,而且还包括其他因素,如转发器内的时延、强化碰撞的干扰信号的持续时间等。

以太网最小帧是64字节的原因:首先说一下时隙,时隙在一般的数字通信原理中是这样定义的:由各个消息构成的单一抽样的一组脉冲叫做一帧,一帧中相邻两个脉冲之间是时间间隔叫做时隙。以太网的时隙有它自己的特定意义:a.在以太网CSMA/CD规则中,若发生冲突,则必须让网上每个主机都检测到。但信号传播到整个介质需要一定的时间;b.考虑极限情况,主机发送的帧很小,两冲突主机相距很远。在A发送的帧传播到B的前一刻,B开始发送帧。这样,当A的帧到达B时,B检测到了冲突,于是发送阻塞信号;c.但B的阻塞信号还没有传输到A,A的帧已发送完毕,那么A就检测不到冲突,而误认为已发送成功,不再发送;d.由于信号的传播时延,检测到冲突需要一定的时间,所以发送的帧必须有一定的长度。这就是时隙需要解决的问题。这里可以把从A到B的传输时间设为T,在极端的情况下A要在2T的时间里才可以检测到有冲突的存在。

(1)理想情况下,电磁波在1KM电缆的传输时延约为5us(这个数字应该记下来)。

(2)在10Mbps的以太网中有个5-4-3的问题:10Mbps以太网最多只能有5个网段、4个转发器、而其中只允许3个网段有设备、其他两个只是传输距离延长。按照标准、10Mbps以太网采用中继器时连接最大长度为2500米。那么在理想情况下时隙可以为2500/1000*5*2us=25us、但是事实上并非如此简单、实际上时隙一定会比25us大些比如中继转发延时等干扰。IEEE将10M以太网的时隙定义为512比特时、即51.2us。

对于10Mbps以太网来说,10Mb/s*51.2us=512bit,所以一般说的512bit时隙长度就是这样来的。这个长度为512/8=64字节,即最小帧长度64字节。以太网在发送数据时,如果在前面64字节没有发生冲突的话,那么后续的数据就不会发生冲突,以太网就认为这个数据的发送是成功的。

为了防止碰撞,发送数据的站一旦发现了碰撞,除了立即停止发送数据外,还要继续发送32或48比特的人为干扰信号(jamming signal),以便让所有用户都知道已经发生了碰撞。对于10Mb/s以太网,发送32(或48)比特只需要3.2(或4.8)us。

A、B站知道发生碰撞后,也要发送人为干扰信号。碰撞使A浪费时间Tb+Tj,可是整个信道被占用的时间还要增加一个单程端到端的传播时延τ。因此总线被占用时间是Tb+Tj+τ。

帧间最小间隔为9.6us,相当于96比特时间。这样做是为了使刚刚收到数据帧的站的接收缓存来得及清理,做好接收下一帧的准备。

CSMA/CD协议的要点:

1准备发送:适配器从网络层获得一个分组,加上以太网的首部和尾部,组成以太网帧,放入适配器的缓存中,准备发送;

2检测信道:若适配器检测到信道忙,则应不停地检测,一直等待信道转为空闲。若检测到信道空闲,并在96比特时间内信道保持空闲,就发送这个帧;

3在发送过程中仍不停地检测信道,若一直未检测到碰撞,就顺利把这个帧发送完毕。若检测到碰撞,则中止数据的发送,并发送人为干扰信号。

4在中止发送后,适配器就执行指数退避算法,等待r倍512比特时间后,返回步骤2。

四、使用广播信道的以太网:

1. 使用集线器的星形拓扑:传统以太网最初是用粗同轴电缆后用较便宜的细同轴电缆后再用更便宜更灵活的双绞线。它采用星形拓扑,星形中心有可靠性非常高的设备叫集线器(hub)。双绞线以太网总是和集线器配合使用的。每个站需要用两对无屏蔽双绞线(做在一根电缆内),分别用于发送和接收。双绞线要能传送高速数据需要绞合度非常精确。这样能较少失真减少干扰。

2. 集线器的特点:主要功能是对接收到的信号进行再生整形放大以扩大网络的传输距离同时把所有节点集中在以它为中心的节点上。

在计算机网络中,集线器是一种重要的设备,它可以将多个网络设备连接在一起,形成一个局域网。集线器的工作原理是通过共享逻辑上的总线,使用CSMA/CD协议(各站中的适配器执行协议)来控制传输媒体。在这个过程中,网络中的各站需要竞争对传输媒体的控制,并且在同一时刻至多只允许一个站发送数据。

集线器有很多接口,其中一种是多接口的转发器。这些接口工作在物理层,每个接口只是简单地转发比特,不进行碰撞检测。为了解决这个问题,人们采用了专门的芯片进行自适应串音回波抵消。这样就可使接口转发出去的较强信号不致对该接口收到的较弱信号产生干扰(这种干扰即近端串音)。每个比特在转发前还要进行再生整形并重新定时。

堆叠式集线器是由4~8个集线器堆叠起来的,具有一定的容错能力和网络管理功能。例如,以太网中有一个适配器出了故障,不停发送以太网帧,这时集线器可检测到这个问题,在内部断开与出故障的适配器的连线,使整个以太网仍然能正常工作。模块化的机箱式智能集线器有很高的可靠性,全部的网络功能都以模块方式实现,各模块均可进行热插播,出故障时不断电即可更换或增加新模块。集线器上的指示灯还可显示网络上的故障情况,给网络的管理带来了很大的方便。

IEEE 802.3标准还允许使用光纤作为传输媒体,相应的标准是10 BASE-F系列,F代表光纤。光纤主要用于集线器之间的远程连接。

为了提高以太网的信道利用率,需要减小t与T0之比。在以太网中定义了参数a,它是以太网单程端到端时延t与帧的发送时间T0之比:a=t/T0。当a→0时,表示只要一发生碰撞,就立即可以检测出来,并立即停止发送,因而信道资源不会被浪费。反之,参数a越大,表明争用期所占的比例增大,这就使得信道利用率降低。因此,以太网的参数a的值应当尽可能小些。从上式可看出,这就要求分子t的数值要小些,分母T0的数值要大些。这就是说,当数据传输速率一定时,以太网的连线的长度受到限制(否则t的数值会太大),同时以太网的帧长不能太短(否则T0的值会太小)。

现在考虑一种理想化的情况。假定以太网上的各站发送数据都不会产生碰撞。

以下是重构后的内容:

1.CSMA/CD协议

CSMA/CD是一种网络传输协议,它可以有效地利用网络的传输资源,即总线一旦空闲就有某一个站立即发送数据。这样,发送一帧占用线路的时间是T0+t,而帧本身的发送时间是T0。于是我们可计算出极限信道利用率Smax为:Smax=T0/(T0+t)=1/(1+a)。该式指出了参数a远小于1才能得到尽可能高的极限信道利用率。反之,若参数a远大于1,则极限信道利用率就远小于1,而这时实际的信道利用率就更小了。

2.以太网的MAC层

在局域网中,硬件地址又称为物理地址、MAC地址(因为这种地址用在MAC帧中)、链路地址。

- 含义:是指局域网上的每一台计算机中固化在适配器的ROM中的地址(因此也叫适配器地址或适配器标识符EUI—48),由硬件厂商决定,是不会变的。只要适配器不变,它就不变。它是每一个站的“名字”或标识符。如果连接在局域网上的主机或路由器安装有多个适配器,那么这样的主机或路由器就有多个“地址”,也就是说,这种48位地址应当是某个接口的标识符。

- 组成:起初,人们认为用两个字节(16位)表示地址就够了,但是后来希望在各地的局域网中的站具有互不相同的物理地址。为了使用户在买到适配器并把机器连到局域网后马上就能工作,而不需要等待网络管理员给他分配一个地址,IEEE 802标准就规定MAC地址字段可采用6字节(48位)或2字节(16位)这两种中的一种。6字节地址字段可使全世界所有的局域网适配器都具有不相同的地址。现在的局域网适配器都用的这种6字节地址。

- 6字节中的前3字节:由IEEE的注册管理机构RA负责分配,所有生产局域网适配器的厂家必须向IEEE购买这3个字节构成的号(即地址块),这个号的正式名称是组织唯一标识符OUI(organizationally unique identifier),也叫公司标识符(company_id)。24位的OUI不能单独标志一个公司,因为一个公司可能有几个OUI,也可能几个小公司合起来购买一个OUI。第1字节最低位I/G(individual/group)位为0时表示单个站地址;为1时表示组地址,用来多播。

IEEE 802.3 MAC地址是由48位二进制数字组成,通常表示为12个十六进制数字,每两个数字之间用一个冒号分隔。MAC地址的最低位是G/L位,当I/G位=0时,地址字段表示一个单站地址;当I/G位=1时,表示多播地址,用来进行多播。所有48位都为1时,为广播地址。

以下是根据您提供的内容重构的段落结构:

- 以太网V2的MAC帧格式:

- 类型字段:用于标志上一层使用的是什么协议,以便把收到的MAC帧的数据上交给上一层的这个协议。

- 数据字段:最小长度是46字节(64字节减去18字节的首部和尾部)

- FCS字段:帧检测序列(使用CRC检验)

- MAC以太网子层如何知道从接收到的以太网帧中取出多少字节的数据交付给上一层协议?曼切斯特编码可以解决这个问题。

- 当MAC帧长小于46字节时,上层协议如何知道填充字段长度?IP层不需要填充字段,可以使用“总长度”字段来解决这个问题。

- 为了接收端迅速实现位同步,实际传送在传输媒体上的比MAC帧多8个字节。这两个字段分别是7字节的前同步码和帧开始界定符。

以太网V2 MAC帧格式与IEEE 802.3规定的MAC帧格式相似,区别在于:(1) IEEE 802.3 规定的 MAC 帧的第三个字段是“长度 / 类型”。 当这个字段值大于 0x0600 时(相当于十进制的 1536),就表示“类型”。

当这个字段值小于 0x0600 时,数据字段必须装入上面的LLC子层的LLC帧。由于广泛使用的局域网只有以太网,所以LLC帧失去了原来的意义。

由于光纤带来的时延很小,并且带宽很高,因此使用这种方法可以很容易地使主机和几公里以外的集线器相连接。上图好处:使不同系的以外网可以进行跨系通信,另外扩大了以太网的覆盖范围。上图缺点:1每一个系的 10BASE-T 以太网是一个独立的碰撞域(collision domain,又称冲突域),即在任一时刻,每一个碰撞域中只能有一个站在发送数据,每一个系吞吐量是10Mb/s,连在一起后还是10Mb/s,而不是30Mb/s。当某个系的两个站在通信时所传送的数据会通过所有的集线器进行转发,使得其他系的内部在这时都不能通信(一发送就碰撞)。2如果不同的系使用不同的以太网技术(如数据率不同),那么就不可能用集线器互连。如有三个系分别为10Mb/s、10Mb/s、100Mb/s,那么用集线器连接起来后,大家都只能工作在10Mb/s的速率。集线器基本是个多接口(即多端口)的转发器,它不能把帧进行缓存。

以下是集线器、交换机、路由器的比较:

- 集线器:共享带宽、半双工,在物理层;

- 交换机:独享带宽、全双工,在链路层;

- 路由器:可以让不同子网、网段进行互连,因此路由器与集线器、交换机不同,它一般安装在网络的“骨干”部位,在网络层。