TCP/IP (五) 数据链路层(二)--以太网

1. 局域网和以太网的区别和联系

局域网:就是学校里面、各个大的公司里,自己组件的一个小型网络。

以太网:以太网(Ethernet)指的是由Xerox公司创建并由Xerox、Intel和DEC公司联合开发的基带局域网规范,是当今现有局域网采用的最通用的通信协议标准。以太网络使用CSMA/CD(载波监听多路访问及冲突检测)技术,并以10M/S的速率运行在多种类型的电缆上。

联系:是以太网就一定是局域网,但是局域网不一定就是以太网。以太网是一个规范,而大多数局域网都使用这个规范。

1.1 以太网常用的拓扑结构

(1)星状

星型拓扑是由中央结点为中心与各结点连接组成,各结点与中央结点通过点到点的方式连接。中央结点执行集中式通信控制策略,所以中央结点的负荷很重!

在星型网中任何两个结点进行通信必须经过中央结点的控制,所以中央结点的主要功能有三项

1)为需要通信的设备建立物理连接

当要求通信的结点发出通信请求后,控制器要检查中央结点是否有空闲的通路、被叫设备空闲等等工作,从而决定是否建立双发的物理连接。

2)在两台设备通信过程中维持物理连接通路

3)当通信完成或建立通信不成功要求拆线时,中央结点控制器能拆除通路

星型拓扑特点:传输速度快,并且网络构形简单、建网容易、便于控制和管理。

但是,网络可靠性低,网络共享能力差,并且一旦中心节点出现故障则导致全网瘫痪。线路利用率不高!中央结点负荷重!

目前多采用HUB的连接方式。HUB起到信号的再生和转发功能,其诸多端口之间电路上相互独立,某端口的故障不会影响到其他端口。

HUB也可用到其它类型的布局方式!

 

 

  (2)树形

树形结构网络是天然的分级结构,又被称为分级的集中式网络。

特点:网络成本低,结构比较简单。在网络中,任意两个节点之间不产生回路,每个链路都支持双向传输,并且,网络中节点扩充方便、灵活,寻查链路路径比较简单。

但在这种结构网络系统中,除叶节点及其相连的链路外,任何一个工作站或链路产生故障会影响整个网络系统的正常运行。

 

3)总线型

一条称为总线的中央主电缆将相互之间以线性方式连接的工作站连接起来,这种网络拓扑方式称为总线布局

由于网络上的微机都通过相应的硬件接口直接连在总线上,任何一个结点的信息都可以沿总线向两个方向传输拓展,并且能被总线中任何一个结点所接收!

总线上传输信息通常以基带形式串行传递,每个结点的网络接口板硬件均具有收、发功能:接收器负责收总线上的串行信息并将其转换为并行信息送到微机工作站发送器将并行信息转换为串行信息广播发送到总线上。

当总线上发送信息的地址与某结点的接口地址相符合时,该结点的接收器便接收信息

总线具有一定的负载能力,故总线长度有一定的限制,一条总线也只能连接一定数量的结点。

总线布局特点:结构简单灵活便于扩展、可靠性高、网络响应速度快、设备量少、价格低、安装使用方便、共享资源能力强;

注意:由于总线布局中的结点共享一条传输链路,一次只允许一个站发送信息,所以需要一种存取控制方式来管理网络!

 

  4)环形

环形结构是网络中各节点通过一条首尾相连的通信链路连接起来的一个闭合环形结构网。环形结构网络的结构也比较简单,系统中各工作站地位相等。

系统中通信设备和线路比较节省。在网中信息设有固定方向单向流动,两个工作站节点之间仅有一条通路,系统中无信道选择问题;某个结点的故障将导致物理瘫痪。

环网中,由于环路是封闭的,所以不便于扩充,系统响应延时长,且信息传输效率相对较低。

 

 2. CSMA/CD协议(半双工通信)

局域网是用广播信道的方式去传送数据。若在局域网内有两个pc机同时在其中传播数据,就会发生碰撞,使两个数据都失效,因此使用CSMA/CD协议来解决这类问题。

 2.1 概述

1)多址接入

一种多址接入协议,许多站点以多址接入的方式链接在一根总线上,其实就是局域网中总线网这种形式。

2)载波监听

发送前监听,就是在发送数据前监听总线中是否有数据在传播,如果有就不发送。就是用电子技术检测总线上有没有其他计算机发送的数据信号。

3)碰撞检测

边发送边监听,在发送数据的中途也会监听总线中是否会有其它数据,当几个站同时在总线上发送数据时,总线上的信号电压摆动值将会增大(互相叠加)。

当一个站检测到的信号电压摆动值超过一定的门限值时,就认为总线上至少有两个站同时在发送数据,表明产生了碰撞。所谓“碰撞”就是发生了冲突。因此“碰撞检测”也称为“冲突检测”

检测到碰撞之后:

在发生碰撞时,总线上传输的信号产生了严重的失真,无法从中恢复出有用的信息来。

每一个正在发送数据的站,一旦发现总线上出现了碰撞,就要立即停止发送,免得继续浪费网络资源,然后等待一段随机时间后再次发送。

通过例子也说明一下CSMA/CD协议会做哪些事情,借用下面这个图来说明问题

 

 

 

 分析:

第一步:B向D发送数据,在发送数据前,由于采用的CSMA/CD协议,那么先会进行载波监听,看总线中是否有其他的数据传输(如果检测,通过物理层的一些电磁波等)。

第二步:如果没有,那么B就可以开始发送数据;由于B到D之间存在一定距离,在总线中传输数据需要时间,虽然很快,可能只需要十几微秒;在发送的途中,遇到C向A发送数据,由于B到D的数据还没传过来,那么C也就没监听到总线中有数据,所以也开始发,那么在途中两个数据就会相遇,这就形成了碰撞;在碰撞以后,两个电磁波叠加,在总线中传输,在回到C或者B时,就会知道电磁波的不同,从而发生了碰撞。这就是碰撞检测。

2.2 详细描述

1)解释名词

传播延时:

 

 争用期:发生碰撞所需要的最迟时间。A到B之间的任意时刻都可能会发生碰撞,那么A确认发生碰撞要2t时间,传播时延是t;或者可能正好到B那里就发生碰撞,然后返回到A,又需要t的时间,总时间为2t;因此我们把这个2t时间就叫做争用期。

举例:在10Mb/s(传播速率)的以太网,争用期为51.2μs(微秒),那么在争用期内可发送64字节,及512bit的数据。怎么算来的呢?

10Mb/s=10000Kb/s=10000000b/s(这里的换算是1000,指的是计算机网络中传输的多少位多少位,也就是0101这样的位数);

51.2μs=0.0512ms=0.0000512s(1s=1000ms=1000000μs);

51.2μs能传多少bit呢?上面两个相乘就为512bit了,换算为字节,字节的换算是1byte(字节)=8bit(位)所以512/8=64byte(字节)就这样算过来的。

最短有效帧:64字节;即发送64个字节之后,肯定就不会发生碰撞;因此以太网规定最短有效帧长为64字节,凡长度小于64字节的帧都是由于冲突而异常中止的无效帧。

2)二进制指数类型退避算法

这个算法就是在发生碰撞后,pc机该如何处理,在什么时间后再次发送数据。

其实就是四部曲:

第一步:确定基本退避时间,一般就是争用期2t;

第二步:定义参数k:K=Min[重传次数,10];

第三步:从整数集合中 [0,1,...,(2的k次方-1)]随机取一个数,记为r,重传所需要等待的时延就是r倍的基本退避时间(r*2t);

第四步:当重传16次还不能成功则丢弃该帧,并向高层汇报。

解释:首先第一次传数据,重传次数为0,那么k=0,从整数集合中只有0这个值,那么r=0,等待的时延就是r*2t=0,所以第一次传数据需要等待的时延就是0;

不需要等待,除非先检测到有数据已经在传;如果第一次传数据发现碰撞,重传次数为1,那么k=1,整数集合中就有0,1两个值,随机取值,取到r=1,那么等待的时延就是2t,意思就是在第一次发生碰撞后,需要等待2t的时间,才能在重新发送数据,也可能不需要等就直接发,r=0时。

2.3 以太网信道利用率问题

分析图:

 

 分析:一个帧从开始发送,经可能发生的碰撞后,将再重传数次,到发送成功(发送成功这段时间T0是指数据的发送时延,帧长为L(bit),数据发送速率为C(b/s),因而帧的发送时间为L/C=T0(s));

帧发出去以后,要经过端到端的传播时延τ,真正占用信道的时间是TO+τ;前面发生的碰撞损耗的时间,数据并没有占用信道,都是在浪费信道;真正占用信道的时间是指数据发送成功且不发生碰撞到达目的地的这段时间;

每发送一帧需要的平均时间:信道中发生碰撞浪费的时间+数据传输成功所用的占用期。

公式和参数a(信道利用率)的理解: 

首先理解一下信道利用率,借用上面的图,就是占用期在其图中的比例越大,则信道利用率越高。但是不确定前面发生多少次碰撞,只是一个平均的估算值,所以就定义a的公式,用τ/T0来代表信道利用率。

1)a→0表示一发生碰撞就立即可以检测出来,并立即停止发送,因而信道利用率很高。

a→0,即τ越小,而T0越大;即发送时延尽可能大一点,而t传播时延尽可能小一点;现实意义就是数据在在信道中传播的时间如果很小很小,数据一发送,就能在很少的时间里面检测出碰撞来,那么花费在争用期(发生碰撞)的时间就少,成功发送数据占的时间就长了,信道的利用率就很高。

2)a越大,表明争用期所占的比例增大,每发生一次碰撞就浪费许多信道资源,使得信道利用率明显降低。即T0越小,而r很大,那发生一次碰撞就浪费很多信道资源,因为在信道中传输无用的波占的时间太长。因此成功发送的占用期自然就变小,所以信道利用率就越低。

根据上面的分析信道利用率,就发现,影响信道利用率的就跟T0和τ有关,也就是跟以太网的连线长度有关,所以在以太网中,有最远距离的限制,就是不能让τ太大,以至于a很大,信道利用率太低;还有发送的帧长也有最小帧长的限制,因为怕发送的数据帧太短,而发送速率就一定,那么发送时延T0就太小,会让a的值越大,信道利用率就太低。

2.4 最大信道利用率

 

 理想的情况下就是不发生碰撞,一发送完数据,另一个数据就又发送,也就是一有空闲时间,就发送数据。这个时候信道利用率是否是就是100%?错误!!!

  对CSMA/CD协议的讨论,大致到此。前面讨论的前提是已经知道谁发送给谁了,然后说的数据在传播过程中遇到的问题。

3. PC机与PC机怎么找到对方

MAC地址用来识别数据链路层中相连的节点;

 网卡––每一个网络出厂时会刻录上一个实际的、唯一个MAC地址。

MAC地址的格式:

48bit,6个字节。一般用16进制数字加上冒号的形式来表示(例如:08:00:27:03:fb:19);

前3个字节是厂商编码(管理机构配置),后3个字节是流水编号(厂家自配);

每个网卡都拥有识别数据帧中mac地址的功能;且是在网卡出厂时就已确定,不能修改;

mac地址通常是唯一的(虚拟机中的mac地址不是真实的mac地址,可能会冲突;也有些网卡支持用户配置mac地址).

数据帧格式:

在以太网中,发送的数据帧最小要是64个字节:6个目的MAC地址,6个源MAC地址,2个字节代表数据包的类型,还有4个字节是FCS,用来进行CRC算法检测的,剩下的46个字节就是数据包最少要发送的字节数,如果数据包实际发的少于46,那么会给这个数据包自动补充0,来达到需要的字节数。

插入8字节:前7个字节用来使发送的数据帧的的比特同步,也叫作前同步码,最后一个字节,帧的开始定界符,也就是告诉接收方,从这个字节开始,后面是是MAC帧。

前同步码存在原因:在接受MAC帧后,并不能马上识别出帧开始定界符,没有那么快的反应分辨出来,所以需要在前面加同步码,使接收方有反应的时间;所有同步码都是1010101010101这样的bit。前7个字节的同步码跟最后一个字节中的前6个bit位相同。

4. 高速以太网

从最早的使用集线器连接的以太网(CSMA/CD,半双工,10Mb/s)到使用网桥阶段的扩展以太网(CSMA/CD,半双工,10Mb/s或100Mb/s)到现在的高速以太网(半双工/全双工通信)。

4.1 高速以太网

10BASE-T是传送基带信号的双绞线以太网,T表示采用双绞线,现10BASE-T采用的是无屏蔽双绞线(UTP),传输速率是10Mb/s。

在双绞线上传送100Mb/s基带信号的星型拓扑以太网,仍使用EEE802.3的CSMA/CD协议。支持全双工和半双工,可在全双工方式下工作而无冲突。

速率≥100Mb/s的以太网称为高速以太网。

传输距离增长;因为光纤(传输过程的稳定性),速率增强,且不局限于局域网,扩展有城域网,广域网。

4.2 吉比特(Gb/s)以太网

(1)吉比特以太网

在光纤或双绞线上传送1Gb/s信号。支持全双工和半双工,可在全双工方式下工作而无冲突。

(2)10吉比特以太网

与10Mb/s,100Mb/s和1Gb/s以太网的帧格式完全相同。

在光纤上传送10Gb/s信号。只工作在全双工方式,因此没有争用问题,也不使用CSMA/CD协议。

保留了802.3标准规定的以太网最小和最大帧长,便于升级。也就是最小64字节,最大是多少不知道。

不再使用铜线而只使用光纤作为传输媒体。

优点:

成熟的技术

互操作性很好

在广域网中使用以太网时价格便宜。

统一的帧格式简化了操作和管理

posted @ 2020-12-02 10:03  哈哈哈嘿呀  阅读(2183)  评论(0编辑  收藏  举报