天天看点

计算机网络:数据链路层之以太网(以太局域网,扩展以太网)

以太局域网

概述

DIX Ethernet V2 是世界上第一个局域网产品(以太网)的规约。

IEEE 的 802.3 标准。

DIX Ethernet V2 标准与 IEEE 的 802.3 标准只有很小的差别,因此可以将 802.3 局域网简称为“以太网”。

严格说来,“以太网”应当是指符合 DIX Ethernet V2 标准的局域网

子层

为了使数据链路层能更好地适应多种局域网标准,802 委员会就将局域网的数据链路层拆成两个子层:

逻辑链路控制 LLC (Logical Link Control)子层

媒体接入控制 MAC (Medium Access Control)子层

与接入到传输媒体有关的内容都放在 MAC子层,而 LLC 子层则与传输媒体无关,

不管采用何种协议的局域网对 LLC 子层来说都是透明的 。

由于 TCP/IP 体系经常使用的局域网是 DIX Ethernet V2 而不是 802.3 标准中的几种局域网,因此现在 802 委员会制定的逻辑链路控制子层 LLC(即 802.2 标准)的作用已经不大了。

很多厂商生产的适配器上就仅装有 MAC 协议而没有 LLC 协议。

以太网提供的服务

以太网提供的服务是不可靠的交付,即尽最大努力的交付。

当接收站收到有差错的数据帧时就丢弃此帧,其他什么也不做。差错的纠正由高层来决定。

如果高层发现丢失了一些数据而进行重传,但以太网并不知道这是一个重传的帧,而是当作一个新的数据帧来发送。

星型拓扑(集线器)

了解一下就行

简介

传统以太网最初是使用粗同轴电缆,后来演进到使用比较便宜的细同轴电缆,最后发展为使用更便宜和更灵活的双绞线。不用电缆而使用无屏蔽双绞线。每个站需要用两对双绞线,分别用于发送和接收

这种以太网采用星形拓扑,在星形的中心则增加了一种可靠性非常高的设备,叫做集线器(hub) 。

集线器

集线器是使用电子器件来模拟实际电缆线的工作,因此整个系统仍然像一个传统的以太网那样运行。集线器使用了大规模集成电路芯片,因此这样的硬件设备的可靠性已大大提高了。

使用集线器的以太网在逻辑上仍是一个总线网,各工作站使用的还是 CSMA/CD 协议,并共享逻辑上的总线。

集线器很像一个多接口的转发器,工作在物理层,

因为它们相当于就是很多线的交接点,传输数据的时候没有什么

ip地址之类的,也不知道传的是什么,只是传过去就行了

工作示意图

计算机网络:数据链路层之以太网(以太局域网,扩展以太网)

以太网的10Base-T标准

10兆的以太网,T代表的是双绞线

10BASE-T 的通信距离稍短,每个站到集线器的距离不超过 100 m。

这种 10 Mb/s 速率的无屏蔽双绞线星形网的出现,既降低了成本,又提高了可靠性。

其他:100Base-FX、100Base-T和100Base-T4

无冲突的理想的以太网的信道利用率

以太网的信道被占用的情况:

争用期长度为 2t,即端到端传播时延的两倍。检测到碰撞后不发送干扰信号。

帧长为 L (bit),数据发送速率为 C (b/s),因而帧的发送时间为 L/C = T0 (s)。

一个帧从开始发送,经可能发生的碰撞后,将再重传数次,到发送成功且信道转为空闲(即再经过时间  使得信道上无信号在传播)时为止,是发送一帧所需的平均时间。

计算机网络:数据链路层之以太网(以太局域网,扩展以太网)

以太网的信道利用率:参数a

要提高以太网的信道利用率,就必须减小t与 T0 之比。在以太网中定义了参数 a,它是以太网单程端到端时延t与帧的发送时间 T0 之比:

a=t/T0

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

a 越大,表明争用期所占的比例增大,每发生一次碰撞就浪费许多信道资源,使得信道利用率明显降低。

最大值

对以太网参数的要求

当数据率一定时,以太网的连线的长度受到限制,否则t的数值会太大

以太网的帧长不能太短,否则 T0 的值会太小,使 a 值太大。

信道利用率的最大值

在理想化的情况下,以太网上的各站发送数据都不会产生碰撞(这显然已经不是 CSMA/CD,而是需要使用一种特殊的调度方法),即总线一旦空闲就有某一个站立即发送数据。

发送一帧占用线路的时间是 T0 + t,而帧本身的发送时间是 T0。于是我们可计算出理想情况下的极限信道利用率 Smax为:

计算机网络:数据链路层之以太网(以太局域网,扩展以太网)

MAC层

MAC层的硬件地址(MAC地址)

在局域网中,硬件地址又称为物理地址,或 MAC 地址。

802 标准所说的“地址”严格地讲应当是每一个站的“名字”或标识符。

但鉴于大家都早已习惯了将这种 48 位的“名字”称为“地址”,所以本书也采用这种习惯用法,尽管这种说法并不太严格。

IEEE 的注册管理机构 RA 负责向厂家分配地址字段的前三个字节(即高位 24 位)。

地址字段中的后三个字节(即低位 24 位)由厂家自行指派,称为扩展标识符,必须保证生产出的适配器没有重复地址。

一个地址块可以生成224个不同的地址。这种 48 位地址称为 MAC-48,它的通用名称是EUI-48。

“MAC地址”实际上就是适配器地址或适配器标识符EUI-48。

MAC地址是网卡出厂时候就已经焊死固定的了,每一台电脑的MAC地址都是全球唯一的,但是也不是说我们在使用网络的时候不能改MAC地址,

在电脑---->更改适配器设置 ------>本地连接以太网的属性里面---->Microsoft网络客户端的配置---->高级设置的网络地址里面填写你修改的值,这样就可以让你电脑避开网卡的MAC地址,使用你定义的MAC地址

适配器检查 MAC 地址

适配器从网络上每收到一个 MAC 帧就首先用硬件检查 MAC 帧中的 MAC 地址.

如果是发往本站的帧则收下,然后再进行其他的处理。

否则就将此帧丢弃,不再进行其他的处理。

“发往本站的帧”包括以下三种帧:

单播(unicast)帧(一对一)

广播(broadcast)帧(一对全体)

多播(multicast)帧(一对多)

MAC帧格式

常用的以太网MAC帧格式有两种标准 :

DIX Ethernet V2 标准

IEEE 的 802.3 标准

最常用的 MAC 帧是以太网 V2 的格式。

类型字段用来标志上一层(IP层)使用的是什么协议,

以便把收到的 MAC 帧的数据上交给上一层的这个协议。

数据字段的正式名称是 MAC 客户数据字段

最小长度 64 字节  18 字节的首部和尾部 = 数据字段的最小长度

FCS 字段

4 字节,当传输媒体的误码率为 110 ^ 8 时,

MAC 子层可使未检测到的差错小于 110^14。

当数据字段的长度小于 46 字节时,

应在数据字段的后面加入整数字节的填充字段,

以保证以太网的 MAC 帧长不小于 64 字节。

前同步码和帧开始定界符

在帧的前面插入的 8 字节中的第一个字段共 7 个字节,

是前同步码,用来迅速实现 MAC 帧的比特同步。

第二个字段是帧开始定界符,表示后面的信息就是MAC 帧。

为了达到比特同步,在传输媒体上实际传送的要比 MAC 帧还多 8 个字

计算机网络:数据链路层之以太网(以太局域网,扩展以太网)

无效的 MAC 帧

帧的长度不是整数个字节;

用收到的帧检验序列 FCS 查出有差错;

数据字段的长度不在 46 ~ 1500 字节之间。

有效的 MAC 帧长度为 64 ~ 1518 字节之间。

对于检查出的无效 MAC 帧就简单地丢弃。以太网不负责重传丢弃的帧。

帧间最小间隔

帧间最小间隔为 9.6 us,相当于 96 bit 的发送时间。

一个站在检测到总线开始空闲后,还要等待 9.6 us 才能再次发送数据。

这样做是为了使刚刚收到数据帧的站的接收缓存来得及清理,做好接收下一帧的准备。

扩展以太网

在物理层考虑扩展

距离方面让以太网距离变远

使用光纤让距离可以变得更加远

主机使用光纤和一对光纤调制解调器连接到集线器

计算机网络:数据链路层之以太网(以太局域网,扩展以太网)

数量上的变多

计算机网络:数据链路层之以太网(以太局域网,扩展以太网)
计算机网络:数据链路层之以太网(以太局域网,扩展以太网)

用集线器扩展局域网优点

  1. 使原来属于不同碰撞域的局域网上的计算机能够进行跨碰撞域的通信。
  2. 扩大了局域网覆盖的地理范围。

用集线器扩展局域网缺点

  1. 碰撞域增大了,但总的吞吐量并未提高。比如上面的一个更大的碰撞域,里面的一系两台计算机进行通讯,那么其他的所有计算机都不能进行通讯了,因为它们两台计算机占用信道了
  2. 如果不同的碰撞域使用不同的数据率,那么就不能用集线器将它们互连起来。

在数据链路层考虑扩展

在数据链路层扩展局域网是使用网桥。

网桥工作在数据链路层,它根据 MAC 帧的目的地址对收到的帧进行转发。

网桥具有过滤帧的功能。当网桥收到一个帧时,并不是向所有的接口转发此帧,而是先检查此帧的目的 MAC 地址,然后再确定将该帧转发到哪一个接口

网桥的内部结构

计算机网络:数据链路层之以太网(以太局域网,扩展以太网)

使用网桥扩展以太网

网桥的运行过程

这网桥开始的时候是不知哪一个碰撞域的计算在哪一边的,它只是负责对数据进行转发,但是它转发的时候还会进行学习,比如B1接收到A的数据要发送给C,那么网桥将数据转发后还会在站表记录计算机A的MAC地址是在B1的第一个接口的方向(左边接口),然后将A发的数据先是广播的形式发送,但是等所有计算机都通讯过后,网桥就记录每一台计算机的MAC地址了,然后如果要发数据给A的时候,B1接收到的数据就不会发给B1的第二个接口(右边接口),而是发送给第一个接口,因为它已经记录,知道A在第一个接口那里

计算机网络:数据链路层之以太网(以太局域网,扩展以太网)

使用网桥扩展以太网:好与坏

好:

  1. 过滤通信量。
  2. 扩大了物理范围。
  3. 提高了可靠性。
  4. 可互连不同物理层、不同 MAC 子层和不同速率(如10 Mb/s 和 100 Mb/s 以太网)的局域网。

坏:

  1. 存储转发增加了时延。
  2. 在MAC 子层并没有流量控制功能。
  3. 具有不同 MAC 子层的网段桥接在一起时时延更大。
  4. 网桥只适合于用户数不太多(不超过几百个)和通信量不太大的局域网,否则有时还会因传播过多的广播信息而产生网络拥塞。这就是所谓的广播风暴。

透明网桥

目前使用得最多的网桥是透明网桥(transparent bridge)。

“透明”是指局域网上的站点并不知道所发送的帧将经过哪几个网桥,因为网桥对各站来说是看不见的。

透明网桥是一种即插即用设备,其标准是 IEEE 802.1D。

计算机网络:数据链路层之以太网(以太局域网,扩展以太网)

网桥的自学习算法

按照以下自学习算法处理收到的帧和建立转发表:

  1. 若从A发出的帧从接口x进入了某网桥,那么从这个接口出发沿相反方向一定可把一个帧传送到A。
  2. 网桥每收到一个帧,就记下其源地址和进入网桥的接口,作为转发表中的一个项目。
  3. 在建立转发表时是把帧首部中的源地址写在“地址”这一栏的下面。在转发帧时,则是根据收到的帧首部中的目的地址来转发的。这时就把在“地址”栏下面已经记下的源地址当作目的地址,而把记下的进入接口当作转发接口。

网桥在转发表中登记以下三个信息

在网桥的转发表中写入的信息除了地址和接口外,还有帧进入该网桥的时间。

这是因为以太网的拓扑可能经常会发生变化,站点也可能会更换适配器(这就改变了站点的地址)。另外,以太网上的工作站并非总是接通电源的。

把每个帧到达网桥的时间登记下来,就可以在转发表中只保留网络拓扑的最新状态信息。这样就使得网桥中的转发表能反映当前网络的最新拓扑状态。

运作过程就是:

  1. 网桥收到一帧后先进行自学习。查找转发表中与收到帧的源地址有无相匹配的项目。
  2. 如没有,就在转发表中增加一个项目(源地址、进入的接口和时间)。
  3. 如有,则把原有的项目进行更新。

转发帧。查找转发表中与收到帧的目的地址有无相匹配的项目。

  1. 如没有,则通过所有其他接口(但进入网桥的接口除外)按进行转发。
  2. 如有,则按转发表中给出的接口进行转发。

    若转发表中给出的接口就是该帧进入网桥的接口,则应丢弃这个帧(因为这时不需要经过网桥进行转发)。

透明网桥使用了生成树算法

这是为了避免产生转发的帧在网络中不断地兜圈子,网络资源白白消耗。

计算机网络:数据链路层之以太网(以太局域网,扩展以太网)

生成树算法

每个交换机都有一个MAC地址和优先级,优先级小的最可能成为树的根,如果优先级相同就比较MAC地址,MAC地址小的就最可能成为树的根,成为根后,比如这里B成为根后,ACDEF都知道,然后选一个最近根的接口成为根端口,然后剩下的接口的每一条线两端,选择一端距离根最近的作为一个指定端口,用来转发数据,然后这根线的另一端就相当于断开,数据不能从这端进行转发和接收

互连在一起的网桥在进行彼此通信后,就能找出原来的网络拓扑的一个子集。在这个子集里,整个连通的网络中不存在回路,即在任何两个站之间只有一条路径。

为了避免产生转发的帧在网络中不断地兜圈子。

为了得出能够反映网络拓扑发生变化时的生成树,在生成树上的根网桥每隔一段时间还要对生成树的拓扑进行更新。

计算机网络:数据链路层之以太网(以太局域网,扩展以太网)

多接口网桥:交换机

1990年问世的交换式集线器(switching hub),可明显地提高局域网的性能。

交换式集线器常称为以太网交换机(switch)或第二层交换机(表明此交换机工作在数据链路层)。

以太网交换机通常都有十几个接口。因此,以太网交换机实质上就是一个多接口的网桥,可见交换机工作在数据链路层。

交换机特点:

  1. 以太网交换机的每个接口都直接与主机相连,并且一般都工作在全双工方式。
  2. 交换机能同时连通许多对的接口,使每一对相互通信的主机都能像独占通信媒体那样,进行无碰撞地传输数据。
  3. 以太网交换机由于使用了专用的交换结构芯片,其交换速率就