[计算机网络] 链路层与局域网MAC地址 MAC多路访问协议

链路层与局域网

网络层与链路层工作

网络层 链路层
提供两台主机之间的通信服务。 网络层的数据报如何被封装成链路层的帧
路径:由源主机和目的主机之间的一系列通信链路和路由器组成 分组如何通过各段链路
接受链路层服务 链路层协议是否能够提供路由器之间的可靠数据传输;
能够在各段链路层提供异构服务的情况下,完成端到端的工作。 通信路径上不同的链路是否采用不同的链路层协议。

链路层信道类型

广播链路 点对点链路
许多主机被连接到相同的通信信道(共享信道) **直接链接两个节点的链路,每一端有一个节点。**如两台路由器之间的通信链路,或住宅的拨号调制解调器与ISP路由器之间的通信链路。
主要解决问题:需要媒体访问协议来协调传输和避免“碰撞”(冲突)。 访问控制简单。
常用于局域网LAN、无线LAN、卫星网和光纤电缆混合(HFC)接入网。 主要解决问题:如成帧、可靠数据传输、差错检测和流量控制等。
image-20210112171833496

数据链路层服务

概述

在相邻单元之间传输数据

数据链路层负责通过一条链路从一个节点向另一个物理链路直接相连的相邻结点传送数据报。

相关术语概念

结点(nodes) 主机和路由器
链路(links) 连接相邻结点的通信信道
有线链路(wired links)
无线链路(wireless links)
局域网(LANs)
帧(frame) 链路层(第2层)数据分组,封装网络层数据报.
链路层功能 将分组通过一个链路,从一个节点传输到邻近的下一个节点
链路层协议 用来在单段链路上传输分组
定义了在链路两端的节点之间交互的分组格式,以及发送和接收分组时节点采取的动作。

链路层提供的服务

功能 描述
组帧(framing) 封装数据报构成数据帧,加首部和尾部
帧同步:在组帧后加帧定界符
链路接入(link access) 如果是共享介质,需要解决信道接入(channel access)
帧首部中的“MAC”地址,用于标识帧的源和目的*(不同于IP地址)*
相邻结点间可靠交付 在低误码率的有线链路上很少采用 (如光纤,某些双绞线等)
无线链路:误码率高,需要可靠交付
流量控制(flow control) 协调(pacing)相邻的发送结点和接收
差错检测(error detection) 信号衰减和噪声会引起差错
接收端检测到差错:通知发送端重传或者直接丢弃帧
差错纠正(error correction) 接收端直接纠正比特差错
全双工和半双工通信控制 全双工:链路两端结点同时双向传输
半双工:链路两端结点交替双向传输

适配器

用于链路层的具体实现

位于每个主机或路由器接口

网卡:网络接口卡NIC (Network Interface Card)

​ 网络适配器 (Network Adapter)

作用:计算机通过网卡与传输介质连接组成网络。

网卡功能

完成物理层和数据链路层的大部分功能

  • 数据的封装与解封:如以太网帧。

  • 链路管理:如CSMA/CD协议的实现。

  • 编码与译码:如曼彻斯特编码与译码。

网卡间通信实现链路层功能

发送端 接收端
网络层将数据报传递到适配器,将数据报封装成帧将帧传输到通信链路 适配器接收帧,解封取出数据报,传递给网络层。
差错检测 发送适配器设置差错检测比特 接收适配器完成差错检测。
可靠数据传输 可靠数据传输
流量控制 流量控制
随机访问 实现随机访问协议。 如CSMA/CD

特征

是一个半自治单元。

  • 适配器发送帧:网络层数据包向下传给适配器,由适配器负责在链路上传输数据报

  • 适配器接收帧:判断是否有差错。

    出错:直接丢弃该帧,不上传。

    正确:通过“中断”向上传递网络层数据报。

类型

ISA接口网卡:Industry Standard Architecture 工业标准体系结构。 速度低、安装麻烦。很少用
PCI接口网卡:Peripheral Component Interconnect 外设部件互连标准。 应用最广泛。性价比高、安装简单。用于台式机。
USB接口网卡:Universal Serial Bus 通用串行总线。 新技术,主要用于没有内置网卡的笔记本用户,通过主板上的USB引接。
PCMCIA接口网卡 个人电脑内存卡国际协会:Personal Computer Memory Card International Association

差错检测和纠错

比特级差错检测和纠错:对一个节点发送到一个相邻节点的帧,检测是否出现比特差错,并纠正。

常见差错检测技术:

奇偶校验:最基本的方法。

检查和方法:常用于运输层。

循环冗余检测:常用于链路层

  • 差错检测和纠正技术不能保证接收方检测到所有的比特差错,即可能出现未检测到的比特差错,而接收方并未发现。
  • 选择一个合适的差错检测方案使未检测到的情况发生的概率很小
  • 差错检测和纠错技术越好,越复杂,开销更大。

奇偶校验

1比特奇偶校验

发送方 接收方
在要发送的信息D(d位)后面附加一个奇偶校验位 检测收到的信息(d+1位)中“1”的个数。
使“1”的个数( d+1位)是奇数(奇校验)或偶数(偶校验) 偶校验:发现奇数个“1”,至少有一个比特发生差错(奇数个比特差错)。
一起传输发送(d+1位)。 奇校验:发现偶数个 “1”,至少有一个比特发生差错。
默认最低位为 校验位
特点
  • 可以查出任意奇数个错误,但不能发现偶数个错误。
  • 比特差错概率很小,差错独立发生,一比特奇偶校验可满足要求。
  • 若差错集中一起*“突发”(突发差错)*,一帧中未检测到的差错的概率达到50%。

二维奇偶校验(垂直水平奇偶校验)

  • 可以检测并纠正单个比特差错(数据或校验位中)。
  • 能够检测(不能纠正)任意两个比特的差错。

检查和方法

把要发送的d 位数据看成是一个k 位整数的序列,将这些k 位整数加起来,得到的和取反作为差错检测比特。

  • TCP和UDP协议:对所有字段(包括首部和数据字段)都计算因特网检查和。
  • 有些协议:对首部计算一个检查和,对整个分组计算另一个检查和。
发送方 接收方
将“数据”(校验内容)划分为16位的二进制“整数”序列 对接收到的信息 (包括检查和)求和

| 求和(sum):补码求和(最高位进位的“1”返回最低位继续加) | 全“1”:数据无错;
其中有“0”:数据出错 |
| 校验和(Checksum):sum的反码 | 对接收到的信息 (不包括检查和)求和 |
| 放入分组(UDP、TCP、IP)的校验和字段 | 核对计算的检查和并取反是否等于检查和字段的值 |

检查和特点

  • 分组开销小:检查和位数比较少;

  • 差错检测能力弱:

    适用于运输层(差错检测用软件实现,检查和方法简单、快速)。

    链路层的差错检测由适配器中专用的硬件实现,采用更强的CRC方法。

循环冗余检测

循环冗余检测CRC (cyclic redundancy check)编码

即多项式编码,把要发送的比特串看作为系数是0或1的一个多项式,对比特串的操作看作为多项式运算。

发送节点要发送的数据D(d 比特)

发送方和接收方先共同选定一个生成多项式 G(r+1比特),最高有效位 (最左边)是1。

发送方 接收方
计算出一个r位CRC比特R(冗余码),添加到D的后面产生DR(d+r 比特),一起发送。 用生成多项式 G去除接收到的DR(d+r比特)

| DR能被生成多项式 G(r+1比特)模2运算整除 | 余数非0:传输发生差错;
余数为0:传输正确,去掉尾部r位,得所需数据D。 |
| | |

  • 模2运算:加法不进位,减法不借位

  • 生成多项式G的选择:有8、12、16和32 比特生成多项式G。

    8 比特的CRC用于保护ATM信元首部

    32 比特的标准CRC-32用于链路级协议

  • CRC特点:能检测小于r+1 位的突发差错、任何奇数个差错。

MAC多路访问协议

Multiple Access Control Protocol 多路访问协议

亦或是Medium Access Control 介质访问控制

  • 采用分布式算法决定结点如何共享信道,即决策结点何时可以传输数据。

  • 必须基于信道本身,通信信道共享协调信息

基本概念

链路类别

  • 广播:任何一个节点传输一帧时,信号在信道上广播,其他节点都可以收到一个拷贝。
点对点链路 广播链路
链路两端各一个节点。一个发送和一个接收。 多个节点连接到一个共享的广播信道
拨号接入的PPP 早期的总线以太网
以太网交换机与主机间的点对点链路 HFC的上行链路
802.11无线局域网LAN

广播信道要求

目的:协调多个发送和接收节点对共享广播信道的访问。

即避免多个节点同时使用信道,发生冲突(碰撞),产生互相干扰。

条件

  1. 单一共享广播信道

  2. 两个或者两个以上结点同时传输:干扰(interference)

    冲突(collision):结点同时接收到两个或者多个信号→接收失败

    造成广播信道时间的浪费。

方式

  • 采用分布式算法决定结点如何共享信道,即决策结点何时可以传输数据。

  • 必须基于信道本身,通信信道共享协调信息

理想MAC协议

给定:速率为R bps的广播信道

期望:

  1. 当只有一个结点希望传输数据时,它可以以速率 R发送.
  2. 当有M个结点期望发送数据时,每个节点平均发送数据的平均速率是R/M
  3. 完全分散控制:
    • 无需特定结点协调
    • 无需时钟、时隙同步
  4. 简单

分类

信道划分(channel partitioning)MAC协议 随机访问(random access)MAC协议 轮转(“taking turns”)MAC协议
多路复用技术 信道不划分,允许冲突 结点轮流使用信道
TDMA、FDMA、CDMA、WDMA等 采用冲突“恢复”机制

信道划分MAC协议

channel partitioning

适用网络负载重情况

TDMA

time division multiple access,时分多路复用

“周期性”接入信道

  • 每个站点在每个周期,占用固定长度的时隙(e.g.长度=分组传输时间)

  • 未用时隙空闲(idle)

    例如:6-站点LAN,1,3,4传输分组,2,5,6空闲

image-20210113202440166

特点
  • 避免冲突、公平:每个节点专用速率R/N b/s。
  • 节点速率有限:R/N b/s;
  • 效率不高:节点必须等待它的传输时隙

FDMA

frequency division multiple access 频分多路复用

将总信道带宽R b/s划分为N个较小信道(频段,带宽为R/N)

信道频谱划分为若干频带(frequency bands)

  • 每个站点分配一个固定的频带

  • 无传输频带空闲

    例如: 6站点LAN, 1,3,4频带传输数据, 2,5,6频带空闲。

特点
  • 避免冲突、公平:N个节点公平划分带宽;
  • 节点带宽有限、效率不高:节点带宽为R/N。

码分多址CDMA

code division multiple access

基本思想:

  • 给每个节点分配一个不同的代码(CDMA代码,码片序列);
  • 每个节点用惟一的代码对要发送的数据进行编码
  • 不同节点可以同时发送,并正确到达接收方(不会互相干扰)。

最初:用于军事通信,抗干扰能力强;

目前:用于移动通信、无线多路访问信道等。

随机访问MAC协议

适用于网络负载轻协议

基本思想:

  • 发送节点以信道全部速率*(R b/s)*发送;没有事先的结点间协调

  • 发生冲突时,冲突的每个节点分别等待一个随机时间,再重发,直到帧(分组)发送成功。

随机访问MAC协议需要定义:

  1. 如何检测冲突
  2. 如何从冲突中恢复 (e.g., 通过延迟重传)

ALOHA协议

ALOHA:夏威夷大学研制的一个无线电广播通信网(20世纪70年代初)。

采用星型拓扑结构,地理上分散的用户通过无线电使用中心主机。

[计算机网络] 链路层与局域网MAC地址 MAC多路访问协议_第1张图片

  • 中心主机通过下行信道向二级主机广播分组;
  • 二级主机通过上行信道向中心主机发送分组(可能会冲突,无线电信道是一个公用信道)
时隙ALOHA协议

时隙(sloted)ALOHA

假定 运行
所有帧大小相同 当结点有新的帧时,在下一个时隙(slot)发送
时间被划分为等长的时隙(每个时隙可以传输1个帧) 如果无冲突:该结点可以在下一个时隙继续发送新的帧
结点只能在时隙开始时刻发送帧 如果冲突:该结点在下一个时隙以概率p重传该帧,直至成功
结点间时钟同步
如果2个或2个以上结点在同一时隙发送帧,结点即检测到冲突
  • 冲突时隙C:出现帧冲突,被“浪费”。
  • 空闲时隙E:所有活动节点停止传输,被“浪费”
  • 成功时隙S:只有一个节点在传输的时隙。
特点
优点 缺点
单个结点活动时,可以连续以信道全部速率传输数据 冲突,浪费时隙
高度分散化:只需同步时隙 空闲时隙
简单 结点也许能以远小于分组传输时间检测到冲突
时钟同步
效率以及时隙ALOHA协议效率

当有许多活动节点时,在发送的许多帧中,成功时隙的份额。

纯ALOHA

ALOHA的最初形式。是一个非时隙、完全分散的协议。

没有时隙,节点间不同步,任何时刻都可能传(只要收到上层分组,立即传输);

工作过程:

  • 节点有帧要发,就立即传输。

  • 如果与其他帧产生冲突,在该冲突帧传完之后

    以概率p立即重传该帧;

    或等待一个帧的传输时间,再以概率p传输该帧, 或者以概率1-p等待另一个帧的时间。

效率
特点
  • 每个节点的传输与广播信道上其他节点的活动是相互独立的。
  • 一个节点开始传输时不知道是否有其他节点正在传输。
  • 发生冲突时不会停止传输。
  • 效率不高。

载波监听多路访问CSMA协议

carrier sense multiple access

载波侦听CS:某个节点在发送之前,先监听信道。

  • 信道忙:有其他节点正往信道发送帧,该节点随机等待(回退)一段时间,然后再侦听信道。
  • 信道空:该节点开始传输帧。
过程
发送帧之前,监听信道(载波): 信道空闲:发送完整帧
信道忙:推迟发送
1-坚持CSMA:坚持要发送
非坚持CSMA:随机等待一段时间
P-坚持CSMA:以概率p判断是否坚持或等待
冲突可能仍然发生: 冲突可能仍然发生:
继续发送冲突帧: 浪费信道资源
特点
  • 发前监听,可减少冲突。
  • 由于传播时延的存在,仍有可能出现冲突,并造成信道浪费。
    1. 节点没有进行冲突检测,既使发生了冲突,节点仍继续传输帧。
    2. 该帧已经被破坏、是无用的帧,信道传输时间被浪费。

带冲突检测载波监听多路访问CSMA/CD

CSMA with collision detection

“边发边听,不发不听”

增加“载波侦听”和“冲突检测”两个规则。“边说边听”LWT(listen while talk)。

冲突检测 CD :边发送边监听,即节点在传输同时侦听信道。

  • 如果检测到有其他节点也在传输帧,发生冲突,立即停止传输,并用某种方法来决定何时再重新传输。

目的:缩短无效传送时间,提高信道的利用率

冲突检测实现:
  1. 有线局域网易于实现:测量信号强度,比较发射信号与接收信号
  2. 无线局域网很难实现:接收信号强度淹没在本地发射信号强度下
例子
效率

轮转访问MAC协议

综合信道划分MAC协议和随机访问MAC协议特征

网络负载轻重时候效率适中

轮询(polling)

指定一个主节点,以循环的方式轮询每个节点。并告诉节点能够传输的最大帧数。

  • 主结点轮流“邀请”从属结点发送数据

  • 典型应用:“哑(dumb)” 从属设备

  • 问题:轮询开销,等待延迟,单点故障。

特点
  • 消除冲突和空时隙,效率高。
  • 有轮询时延:活动节点不能立即传输帧,等待被轮询;
  • 如果主节点失效,整个信道都不能用。

令牌传递协议 (token-passing protocol)

没有主节点。

  • 控制令牌依次从一个结点传递到下一个结点.

  • 令牌:特殊帧

  • 问题:令牌开销,等待延迟,单点故障

[计算机网络] 链路层与局域网MAC地址 MAC多路访问协议_第2张图片

特点
  • 令牌传递是分散的,效率高。
  • 一个节点的失效会使整个信道崩溃。
  • 一个节点忘记释放令牌,必须恢复令牌到环中

局域网LAN

是一个地理范围小的计算机网络。计算机网络的一个分支。

  • 地理范围小:几公里。如一栋楼,一所大学。
  • 使用多路访问协议:如CSMA/CD。
  • 数据传输速率R高:10Mb/s、100Mb/s、1Gb/s、10 G b/s
  • 单位拥有。

LAN结构

两种典型LAN技术

随机访问技术:以太网LAN(802.3 LAN)

令牌传递技术:

  • 令牌环(token ring,IEEE802.5)

  • FDDI(光纤式分布数据接口)。

链路层编址

每个节点有网络层地址和链路层地址。

网络层地址:节点在互连网络中分配的一个唯一地址(IP地址)。用于把分组送到目的IP网络。长度为32比特(IPv4)。

包括:

  • 网络号:指明主机所在物理网络的编号
  • 主机号:主机在物理网络中的编号
  • 链路层地址:MAC地址。
    用于把数据帧从一个节点传送到另一个节点(同一网络中)。

MAC地址

用于数据链路层

LAN地址、物理地址、硬件地址

作用:找到需要通信的计算机。用于局域网内标识一个帧从哪个接口发出,到达哪个物理相连的其他接口。

保持各层独立

是一个全局地址,世界范围唯一。
是节点“网卡”本身所带的、永久的地址(生产时固化在其ROM里)。
MAC地址长度通常为6 字节,共248个。
6字节地址用16进制表示,每个字节表示为一对16进制数。

局域网中的每块网卡都有唯一一个MAC地址

  • MAC地址:“中立的”。使LAN能够适应各种网络层协议(如IP、IPX)。移到不同网络时不需重新配置。
  • 如果用网络层地址替代MAC地址:网络层地址需存在网卡RAM中,每次移动需要重新配置
  • 如果网卡不用地址:收到的每一个帧都交给主机,网络层核对地址是否匹配。工作重叠。
MAC地址分配

由专门机构IEEE管理:负责分配六个字节中的前三个字节(高24位,地址块)

  • MAC 地址是平面结构:带有同一网卡的节点,在任何网络中都有同样的MAC地址
  • IP地址具有层次结构:当节点移动到不同网络时,节点的IP地址发生改变。
MAC地址识别
  • 广播信道LAN中,一个节点发送的帧,在信道上广播传输,其他节点都可能收到该帧。
  • 大多数情况,一个节点只向某个特定的节点发送。 由“网卡”负责MAC 地址的封装和识别。
发送适配器 将目的MAC地址封装到帧中,并发送。所有其他适配器都会收到这个帧。
接收适配器 检查收到帧的目的MAC地址是否与自己MAC地址相匹配
匹配:接收该帧,取出数据报,并传递给上层。需要中断“父节点”。
不匹配:丢弃该帧.
特殊帧
广播帧 发送给所有节点的帧
MAC广播地址:全1地址。 如以太网和令牌传递LAN,其广播地址是48个连续的1组成的字符串,即:FF-FF-FF-FF-FF-FF
节点的3种不同地址表示

应用层的主机名、网络层的IP地址和链路层的MAC地址.

链路层传播时,适用MAC地址,确定相应的结点

地址间转换

主机名-》IP地址-》MAC地址

  • DNS域名系统:将主机名解析到IP地址。

    DNS为在因特网中任何地方的主机解析主机名。

  • ARP地址解析协议:将IP地址解析到MAC地址。

    ARP只为在同一个LAN上的节点解析IP地址。

ARP地址

地址解析协议,运行于本地

ARP表: LAN中的每个IP结点(主机、路由器)维护一个表

  • 存储某些LAN结点的IP/MAC地址映射关系: < IP地址; MAC地址; TTL>
  • TTL (Time To Live):经过这个时间以后该映射关系会被遗弃(典型值为20min)

ARP协议过程

A想要给同一局域网内的B发送数据报 B的MAC地址不在 A的ARP 表中
A广播ARP查询分组,其中包含B的IP地址 目的MAC地址 = FF-FFFF-FF-FF-FF
LAN中所有结点都会接收ARP查询
B接收ARP查询分组,IP地址匹配成功,向A应答B的MAC 地址 利用单播帧向A发送应答
A在其ARP表中,缓存B的IP-MAC地址对,直至超时 超时后,再次刷新
ARP是“即插即用”协议: 结点自主创建ARP表无需干预

以太网

有线LAN技术:以太网、令牌环、FDDI和ATM等到目前为止,以太网最流行。

  • 是第一个广泛使用的高速LAN;简单、便宜;

    版本不断更新,数据速率更高、成本更低。

基本概念

以太网提供服务

  • 无连接(connectionless):发送帧的网卡与接收帧的网卡间没有“握手”过程

  • 不可靠(unreliable):接收网卡不向发送网卡进行确认

    差错帧直接丢弃,丢弃帧中的数据恢复依靠高层协议 (e.g., TCP),否则,发生数据丢失

  • 以太网的MAC协议: 采用二进制指数退避算法的CSMA/CD

冲突域与广播域

冲突域 广播域
冲突域是一种物理分段,指连接到同一导线上所有工作站的集合、同一物理网段上所有节点的集合或是以太网上竞争同一带宽节点的集合。 广播域是指可以接收到同样广播消息的节点的集合。
冲突域表示冲突发生并传播的区域
冲突域被看作是OSI第一层的概念 广播域被看作是OSI第二层的概念
不同设备对冲突域和广播域的分割
设备 作用
Hub设备(集线器) 既不隔离冲突,也不隔离广播
Repeater(中继器) 既不隔离冲突,也不隔离广播
交换机 隔离冲突,但不隔离广播
路由器 不仅隔离冲突,而且隔离广播
  • 第一层设备(如中继器、集线器)不能划分冲突域和广播域;

  • 第二层设备(如网桥、交换机)能划分冲突域,但不能划分广播域;

  • 第三层设备(如路由器)既能划分冲突域,又能划分广播域。

宽带基带传输与编码

基带传输 宽带传输
适配器直接给广播信道发送基带数字信号 将信号调制到特定频带传输
数字信号编码类型
不归零编码 曼彻斯特编码 差分曼彻斯特编码
直接用原始基带数字信号传输。采用两种不同电平,如:1–高电平;0–低电平 每位信号的中间都有一个跳变,两个作用: 每位信号的中间都有一个跳变,只做时钟,不表示数据。
即收发不能同步。一般不直接用。 表示数据:根据跳变方向判断数据“1”或“0”如,“1”(高跳到低);“0”(低跳到高 数据表示:根据每位开始处是否有跳变,来判断数据“1”或“0”。如:1–无跳变;0 --有跳变
做同步时钟:接收方根据跳变来同步接收。 较好的抗干扰性能,复杂。

以太网帧结构

  • 发送方:发送适配器将IP数据报封装成以太网帧,并传递到物理层。
  • 接收方:接收适配器从物理层收到该帧,取出IP数据报,并传递给网络层。

10Mbps以太网,往返最大时延为512us

各字段含义

源地址 目的地址 数据字段 类型字段 循环冗余检测CRC 前同步码
发送适配器的 MAC地址 目的适配器的MAC 地址 携带网络层传来的IP数据报 以太网可以“多路复用”(支持)多种网络层协议。通过“类型”字段区分。 检测帧中是否出现比特差错(翻转)。 使接收方和发送方的时钟同步,接收方一旦收到连续的8字节前同步码,可确定有帧传过来。
适配器B只接收目的地址与其MAC地址匹配或广播地址的帧,并将数据字段的内容传递给网络层。 以太网的最大传输单元MTU是1500字节,若IP数据报超过1500字节,必须将该数据报分段。 发送方填入网络层协议“类型”编号(复用); 发送主机计算CRC:范围包括目的地址、源地址、类型、数据字段的比特,结果放入帧CRC字段。 前同步码是“无效信号”,接收方收到后删除,不向上层传。
最小长度是46字节,如果IP数据报小于46字节,必须填充为46字节。接收方网络层去除填充内容。 接收适配器根据“类型”字段,将数据字段传递给相应的网络层协议(分解)。 接收主机进行CRC校验:接收主机对收到的帧进行同样计算,并比较结果是否和CRC字段的内容相等。 CRC的校验范围不包括前同步码

CSMA/CD:以太网的多路访问协议

机制

  • 未使用时隙:适配器可以在任何时刻开始传输
  • 使用载波侦听:当适配器侦听到有其他的适配器在传输,就不会传输帧;
  • 使用冲突检测:当检测到其他适配器也在传输帧,就中止传输;
  • 重传:冲突后,等待一个随机时间(小于传输一帧的时间),再重传。

说明

侦听和冲突检测,由以太网适配器通过测量传输前和传输过程中的电压等级来进行。

适配器独立运行CSMA/CD协议,不需和其他适配器进行协调。

过程

  • 封装成帧:

    发送适配器从父节点获得一个网络层数据报,封装成以太网帧,放到缓冲区中;

  • 适配器侦听信道:
    空闲:即在96比特时间内,没有信号从信道进入,开始传输该帧;
    忙:等待,直至侦听不到信号 (加上96 比特时间),开始传输该帧。

  • 无冲突成功传输:

    整个帧传输期间未检测到其他适配器的信号,该帧传输成功。

  • 有冲突停止传输:

    传输时检测到其他适配器的信号,就停止传输帧,并传输一个48 比特的拥塞信号

  • 等待随机时间再侦听:
    传输拥塞信号后,适配器进入指数回退阶段,等待一段时间,并返回到第2步.

二进制指数退避算法

  • 基本后退时间:以512 比特时间为单位;

  • 第n次冲突后退让时间:K × 512 比特时间
    K与冲突次数有关,是{ 0~2m-1}之间的一个随机整数。m = min(n,10)

  • 连续冲突次数越多,平均等待时间越长。

当重发若干次仍不能成功时,则丢弃该帧,并向高层报告。

集线器和交换机

集线器

物理层设备:转发作用。

物理星型,逻辑总线

对比特操作而不是帧。 从一个端口收到一个比特,向所有其他接口(节点)转发出去。

  • 不缓存帧:实际上是一个转发器。多端口中继器。
  • 不实现CSMA/CD协议:由每个适配器完成(侦听信道、检测冲突)
  • 提供网络管理功能:检测站点故障,收集信息并报告给所连的主机。

多级集线器

  • 集线器以层次方式排列,连成多级星型结构。
  • 主干集线器与下层集线器点对点连接,使不同LAN互联。
  • 多级设计互联的网络仍为一个LAN:
    其中每个集线器和连接的主机为一个LAN网段。
  • 互联网络中所有的网段属于同一个冲突域
    如果两个或多个节点同时传输,会冲突,并进入指数后退状态。

优缺点

优点 缺陷
不同LAN网段的主机可以互相通信; 冲突域加大:由原有的各自独立的冲突域变成一个大的、公共的冲突域。
扩展了节点之间的最大距离 每一个网段使用的以太网技术不同,不能用集线器互连。

如不同速率的LAN不能互联。集线器本质上是转发器,并不缓冲帧。
主干集线器可以检测故障集线器,并断开 主机总数和地理范围有限。受以太网技术约束。

交换机

多端口网桥(链路层)

存储-转发以太网帧

检验到达帧的目的MAC地址,选择性(selectively) 向一个或多个输出链路转发帧

利用CSMA/CD访问链路,发送帧

概述

特点

根据目的MAC 地址转发帧 从某个接口到达的帧,不向所有的其他接口转发
根据目的MAC 地址,只向通往目的地址的接口转发
全双工工作方式
具有自学习功能(self-learning)
即插即用 (plug-and-play): 不需人工配置。
透明(transparent) 主机感知不到交换机的存在
  • 主机利用独享(dedicated)链路直接连接交换机

  • 交换机缓存帧

  • 交换机在每段链路上利用CSMA/CD收发帧,但无冲突,且可以全双工

    每段链路一个独立的冲突域

交换机转发和过滤

过滤(filtering):交换机判断一个帧是应该转发到某个接口还是丢弃。

转发(forward):交换机决定一个帧应该被导向哪个接口,并移送到该接口。

过滤和转发通过交换机表(switch table)完成。

交换机表

结构:节点的MAC地址、到达该节点的交换机接口、节点表项产生的时间。

包含LAN上部分节点的表项。

存储转发原理
  • 交换机从接口x收到一个帧;

  • 根据目的MAC地址查表

  • 找到对应项:确定转发接口y,判断目的节点与源节点是否在同一个网段:

    同段(x = y):丢弃此帧(过滤);
    不同段(x  y):将该帧放到接口y的输出缓冲区(转发)

    保证同一个网段中通信的帧,不被交换机转发到另一个网段去。

  • 未找到:向所有(接收接口外)其它接口转发(广播),进入自学习。

特点
交换机所连接的不同的LAN网段保持独立的冲突域。
使不同LAN网段的两组节点同时通信而互不干扰
流量过滤

自学习

交换机通过自学习,获知到达主机的接口信息。

  • 每个交换机具有一个交换机表
  • 交换机表中的内容: 节点MAC地址, 接口, 时间
  • 交换机表可以自动地、动态地和自主地建立(不需网络管理员或配置协议的干预)。
  • 逆向扩散式路径学习法:通过帧中的源地址来建立交换机表。
逆向扩散式路径
交换机表初始为“空”。
收到一个目的地址不在表中的帧 将该帧转发到所有其他接口(除接收的接口)
在表中存储以下内容:记录下发送节点信息
该帧的源MAC地址、该帧进入的接口、当前时间
如果每个节点都发送了一帧,那么每个节点都将被记录在该表中。 交换机表生成。
收到一个目的地址在表中的帧:交换机将该帧转发到合适的接口。
表自动更新 一段时间(老化时间aging time)后,没有收到以表中的某个地址作为源地址的帧,将表中的该地址删除。

交换方式

存储转发方式(store-and-forward) 直通交换 (cut-though switching)
先接收整个帧,保存到缓冲区,再转发。 帧在转发之前不需要完全“存储”。
边接收边转发:只要接收到帧头中的目的地址,就立即查表转发,不需保存整个帧。(不存储,直接转发)
直通和存储转发比较

设有一个帧通过交换机转发。从一个入链路到达交换机,并从一个出链路离开。当分组到达时

  • 出链路的输出缓冲区有其他帧排队:

    存储转发和直通交换之间没有区别。

  • 出链路的输出缓冲区无其他帧排队(空):

    1. 直通交换不存储,直接转发,时延很小。
    2. 存储转发时延为L / R(L是帧的长度,R是入链路的传输速率)。

交换机和路由器比较

  • 小网络(几百台主机):采用交换机。
  • 大网络(几千台主机):使用路由器。
路由器 交换机
网络层地址转发,是第三层的分组交换机,路由器维护选路表,实现选路算法。 MAC地址转发,是第二层的分组交换机,
交换机维护交换机表, 实现过滤、学习算法。网络寻址是层次的;
即插即用:不需网络管理员干预 非即插即用:路由器及主机都需配置IP地址。
较高的分组过滤和转发率: 若网络中存在冗余路径,分组不会在路由器中循环
拓扑结构限制为一棵生成树 无生成树限制,使用路由器构建因特网可以采用大量丰富的拓扑结构。
可以使用源和目的之间的最佳路径。
可能产生“广播风暴”:
某台主机失控,并传输无穷的以太网广播帧流,交换机将转发所有这些帧,导致整个以太网的崩溃。
为第二层的广播风暴提供防火墙保护
每个分组的处理时间比交换机长。

集线器/路由器/交换机比较

PPP

Point-to-Point Protocol

点对点数据链路控制

一个发送方、一个接收方、一段链路

概述

点对点协议的要求

  • 无需介质访问控制(Media Access Control)
  • 无需明确的MAC寻址
  • e.g., 拨号链路, ISDN链路

常见点对点数据链路控制协议

  • HDLC: High Level Data Link Control
  • PPP (Point-to-Point Protocol)

PPP设计需求

分组成帧:将网络层数据报封装到数据链路层帧中 可以同时承载任何网络层协议分组(不仅IP数据报)
可以向上层实现分用(多路分解)
比特透明传输 数据域必须支持承载任何比特模式
差错检测 接收方必须能够检测到接收帧中的比特差错。
连接活性(connection liveness)检测 检测、并向网络层通知链路失效
网络层地址协商 端结点可以学习/配置彼此网络地址

PPP数据帧结构

发送方可以不发送地址和控制字段

  • 标志(Flag): 定界符(delimiter)

  • 地址(Address): 无效(仅仅是一个选项)

  • 控制(Control): 无效;未来可能的多种控制域

  • 协议(Protocol): 上层协议 (eg, PPP-LCP, IP, IPCP, etc)

    0021H:IP协议(信息字段是IP数据报);
    C021H:PPP链路控制协议;
    8021H:IP控制协议(IPCP)。

  • 信息(info): 上层协议分组数据。默认最大长度1500 字节。

  • 校验(check): CRC校验,用于差错检测。2或4 字节循环冗余码。

字节填充

Byte Stuffing

可采用字节填充技术解决。实现“透明性”。

“标志”字段使用一个特殊的比特模式“01111110”来表示帧的起始或结束。

发送方 接收方
在发送除标志字段的其他字段时 判断数据流中是否有控制转义字节

| 若出现01111110:前面增加一个转义字节 01111101
01111101 01111110 (7D7E) | 遇到 01111101 就去掉,接收后面的数据 |
| 若出现01111101:前面增加一个转义字节 01111101
01111101 01111101 (7D7D) | 单个 01111110,标志字节 |

PPP链路控制协议

用来完成PPP链路的初始化、维护、差错报告和关闭

PPP协议在交换数据前,收发双方要进行链路配置

PPP通信过程:分别建立三层连接

基本过程

  • 建立连接:
    建立物理连接->建立链路连接->建立网络连接
  • 数据传输:
  • 释放连接:
    释放网络连接->释放链路连接->释放物理连接

3重连接过程

  • 建立物理连接
    用户拨号呼叫ISP,ISP路由器的MODEM检测到载波并确认。

  • 建立链路连接

    链路创建。用户PC机向路由器发若干含有LCP ( Link Control Protocol ) 的PPP帧,协商配置链路。

  • 建立网络连接
    网络层配置。PPP链路两端相互交换网络层特定的网络控制分组。
    如运行IP协议,通过“IP控制协议”配置链路两端的IP协议模块(如分配临时IP地址)。

链路虚拟化: 网络层作为链路层

链路:是网络中连接主机的物理线路。

多种连接形式:共享的、点到点的、通过单个集线器或交换机、通过多个集线器或交换机连接。

可以抽象看作是链路层的信道(即虚拟化)

ATM异步传输方式

是一种能够传输实时音频、视频,以及文本、电子邮件、图像文件的网络技术。

主要用于电话和IP网络。

如作为因特网主干核心,连接IP设备。

将ATM“虚拟化”,看成是为IP设备提供互联服务的链路层技术。

主要特性

  • 多种服务模型: 恒定比特率CBR 、可用比特率ABR 、可变比特率 VBR等。
  • 采用虚电路分组交换:虚通道
  • 固定长度分组(短信元):53 字节。有利于宽带高速交换。

体系结构

ATM适配层AAL

“适配”较高层(IP或 纯ATM 应用程序) 到ATM层

  • 仅在ATM网络的边缘(端系统)出现

    数据分段/重装

    类似因特网运输层

  • 向高层提供各种不同的服务

    AAL1: 恒定比特率CBR 服务, 如电路仿真

    AAL2:可变比特率VBR 服务, 如MPEG视频

    AAL5: 数据报服务,如IP数据报

ATM层

类似“网络层”

定义“信元”结构 :53个字节

选路、创建虚电路

(VCI)虚通道标识:指明信元属于哪个虚电路

物理层

处理物理媒体上的电压、比特定时和成帧

  • 信元流和比特流的转换;
  • 在物理媒体上正确传输和接收比特流。
  • 使用光纤传输时,完成从电光/光电信号转换。

MPLS多协议标签交换

初始目标:通过使用固定长度的*“标签”(代替IP地址)进行转发,以加速IP转发。*

  • 借用虚电路(VC)方法的思想,用“标签”标识虚电路
  • 但IP数据报仍保持IP地址!

MPLS使能路由器

又称为标签交换路由器。

  • 只根据 “标签”值向出接口转发分组(不检查IP地址)
  • MPLS转发表不同于IP转发表
  • 需要信令协议来建立转发
  • 与IP路由器合作

说明:MPLS强化的帧只能在两个使能路由器之间传递

你可能感兴趣的:(计算机网络,网络,网络通信)