第二章
数据链路层
TCP/IP综合基础篇,P96-133
TCP/IP详解卷 1:P15-23
主要内容
? 2.1 数据链路层的定义
? 2.2 以太网
? 2.3 令牌环和 FDDI
? 2.4 ATM
? 2.5 SLIP和 PPP
? 2.6 其他数据链路层协议
? 2.7 数据链路层技术的发展和变化
? 2.8 课下作业
2.1 数据链路层的定义
? 数据链路层的协议规定了在直接相连的计算机之间使用通
信介质进行通信的规格标准。
? 寻址 MAC地址
? 流量控制
? 差错控制
? 封装 /解封帧
? 帧同步
链路层主要有三个目的
? 为 I P模块发送和接收 I P数据报;
? 为 A R P模块发送 A R P请求和接收 A R P应答;
? 为 R A R P发送 R A R P请求和接收 R A R P应答。
T C P / I P支持多种不同的链路层协议,这取决
于网络所使用的硬件,如:
? 以太网
? 令牌环网
? F D D I(光纤分布式数据接口)
? R S-2 3 2串行线路
MAC地址
? 地址 —— 每一个站的 名字 或 标识符
? IEEE广泛采用 6字节作为 MAC地址
I/
G
L/
G低 高
I/G= L/G=
0—— 单个站地址
1—— 组地址
0—— 局部管理
1—— 全局管理
块地址(制造商标识符)
单播帧 —— 发给一个站 广播帧 —— 全 1地址 多播帧 —— 发给一部分站
? 目前 1250美元一个块地址
? 制造商标识符也称为组织唯一标识符 OUI
( Organizationally Unique Identifer),一
般,OUI信息都公开,公布地址:
http://standards.ieee.org/regauth/oui
网络的介质共享性
? 共享传输介质型计算机网络
? 非共享传输介质型计算机网络
共享传输介质的计算机网络
基本属于半双工通信
? 竞争方式 CSMA/CD
? 令牌传递方式(单令牌、多令牌)
为防止信号反射,需要在两端加终结器。
优点,扩充性好、成本低
缺点,若主干电缆某处出故障,整网瘫痪;结点较多时,
冲突增多,效率下降。
总线型拓扑结构
IEEE802.5—— 令牌环
非共享传输介质的计算机网络
可以全双工通信
CH2.2 Ethernet—— 以太网
是一种基带总线网
1975年 Xerox公司研制成功 2.94 Mbps
1981年,Xerox,Digital,Intel合作,提出 以太网 规范。
1982年,修改为第二版,即 DIX Ethernet V2
—— 802.3标准的基础
802.3采用 1坚持的 CSMA/CD协议
( Carrier Sense Multiple Access/ Collision Detection)
为防止信号反射,需要在两端加终结器。
优点,扩充性好、成本低
缺点,若主干电缆某处出故障,整网瘫痪;结点较多时,
冲突增多,效率下降。
总线型拓扑结构
纯 ALOHA 随时发送,等待应答,冲突重发。 效率 18%
CSMA/CD
时间片 ALOHA 只能在每个时间片开始时发送帧 效率 37%
CSMA 先听后发 不空闲如何监听 —— 非坚持 CSMA和 坚持 CSMA
空闲如何发送 —— 1-坚持 和 P-坚持
CSMA/CD 边发边听,发现冲突立即停止发送。 1-坚持 效率 53%
P-坚持 效率 82%
以太网主要技术发展情况
一,Ethernet的种类
? 10BASE-2 细同轴电缆
? 10BASE-5 粗同轴电缆
? 10BASE-T 双绞线
? 10BASE-F 多模光纤
? 100BASE-TX 双绞线
? 100BASE-FX 多模光纤
? 100BASE-T4 双绞线
? 1000BASE-CX 屏蔽铜线
? 1000BASE-SX 多模光纤
? 1000BASE-LX 多模光纤 /单模光纤
? 1000BASE-T 双绞线
二,Ethernet的 CSMA/CD方式
? 最小帧长的要求
帧的最小长度
A B
1.A开始发送
2.B开始发送
3.B检测出冲突
4.A检测出冲突
最短数据帧长 = 任意两站点间的最大距离
信号传播速度 (200米 /微秒 ) × 2× 数据传输率
802.3 规定的无效帧
? 帧长度与数据长度字段不一致
? 帧长度不是整数个字节
? FCS查出有错
? 收到的帧长度小于规定的最小值
三,Ethernet的帧格式
总线局域网的 MAC帧有两种标准:
?802.3标准
?DIX Ethernet V2标准
目的
地址
源地



DSAP
AA
SSAP
AA
ctrl
03
Org code
000000

型 数 据 FCS
字节 6 6 2 1 1 1 3 2 38~1492 4
目的
地址
源地


型 数 据 FCS
字节 6 6 2 46~1500 4
802.3帧
Ethernet帧
主要的 Ethernet 类型域的分配
? TCP/IP综合基础篇 P107
协议类型号 协 议
0000-05DC IEEE802.3长度域( 0-1500)
0101-01FF 实验用
0800 IPv4
0806 ARP
8035 RARP
8037 IPX
805B 多用途消息传输协议 VMTP Versatile
809B AppleTalk
80F3 AppleTalk的地址解析协议 AARP
814C SNMP over Ethernet
8191 NetBIOS/NetBEUI
817D XTP
86DD IPv6
8863 PPPoE 发现阶段
8864 PPPoE 会话阶段
9000 Lookback(配置 TEST协议)
类型域一览表的 URL
? http://www.cavebear.com/cavebear/Ethernet
? ftp://ftp.cavebear.com/pub/Ethernet_codes
? http://www.iana.org/assignments/Ethernet_num
bers
802.3的 MAC帧
8035 RARP请求 /应答 PAD
0806 ARP请求 /应答 PAD
目的
地址
源地



DSAP
AA
SSAP
AA
ctrl
03
Org code
000000

型 数 据 FCS
字节 6 6 2 1 1 1 3 2 38~1492 4
0800 IP数据报
2 28 10
2 38~1492
Ethernet 帧
8035 RARP请求 /应答 PAD
0806 ARP请求 /应答 PAD
目的
地址
源地


型 数 据 FCS
字节 6 6 2 46~1500 4
0800 IP数据报
2 28 18
2 46~1500
前同步码
不管是 IEEE802.3帧还是以太帧,发送出去时都要加上前同步码。
目的地址 源地址 数据长度 数 据 FCS
目的地址 源地址 类 型 数 据 FCS
802.3
MAC帧
以太网 v2
MAC帧
前同步码 MAC帧
字节 2或 6 2或 6 2 46~1500 4
8字节
前同步码包括
? 7字节的前导码,即 7个 10101010
? 1字节的帧前定界符 10101011
关于以太网的尾部封装
?是一个早期 BSD系统在 DEC VAX机上运行时的试验格式
?现在,尾部封装已遭到反对
2.3 令牌环和 FDDI
一,IEEE802.5—— 令牌环
干线耦合器
收听方式
延迟
发送方式








令牌环的工作原理
A C
B
D
A
A
A
B BB
CCC
DDD
A抓令牌、发送 B中转,C接收 返回 A 释放令牌
分布式 带确认的无连接 重载时可以高效工作
802.5帧格式
二,FDDI——光纤分布数据接口
fiber distributed data interface
?延期释放令牌 ——单令牌
?前期释放令牌 ——多令牌
FDDI的容错机制
FDDI的主要特性
? 使用基于 IEEE802.5的令牌传递 MAC协议
? 多模光纤
? 双环拓扑,自恢复功能
? 4B5B编码
? 数据率 100Mbps,光信号码元传输率 125Mband
? 1000个物理连接(若都是双连接站,则为 500个站)
? 具有动态分配带宽的能力,故能同时提供同步和一部数据服务
? 分组长度最大为 4500字节
FDDI令牌格式与帧格式
CH2.4 X.25协议和 ATM
? X.25和 ATM都是采用虚电路工作的
一,X.25
? X.25协议是 CCITT在 1976年制定的包交换
协议,是对分组交换网接口的约定。
? X.25网是指该网络与网络外部 DTE的接口
遵循 X.25标准
? X.25规定了 DTE-DCE之间的接口
DTE DTE
DTE
DCE DCE
DCE
VC1
VC2
X.25分组交换网
X.25接口 X.25接口
X.25提供的服务
数据报
虚电路
永久虚电路 PVC Permanent Virtual Circuit
交换虚电路 SVCSwitch Virtual Circuit
用交换虚电路工作的通信过程
三个阶段
呼叫建立
数据传输
虚电路释放
呼叫建立阶段
主叫方 被叫方
DTE DTEDCE DCE
① 呼叫请求分组 Lmax ② ③ 呼入分组 Lmin
④ 呼叫接受分组 Lmin⑤⑥ 呼叫接通分组 Lmax
数据传输阶段
主叫方
DTE
被叫方
DTE
全双工通道
释放虚电路阶段
主释方 被释方
DTE DTEDCE DCE
① 释放请求分组 ② ③ 释放指示分组
④ 释放证实分组⑤⑥ 释放证实分组
X.25的层次
高层
分组层
数据链路层
物理层
分组层
数据链路层
物理层X.21物理层接口
至远程用户进程
逻辑信道:多重信道接口
LAPB数据链路层接口
X.25 帧格式
Packet level
Header User Data
Flag
Frame
level
control
and
Address
Data FCS Flag
X.21 Data
第三层
第一层
第二层
X.25采用的路由选择和流量控制
静态固定路由选择
动态自适应路由选择
路由选择
滑动窗口流量控制
X.25在中国的应用
中国公共分组交换网 CHINAPAC有 6个国际出口
接入方法
专线入网
DDN入网(数字数据网)
电话入网
二、帧中继( Frame Relay)
? 目的:为了支持高速交换
? 第二代的 X.25—— 数字式 X.25
? 1984年形成标准
? 90年代得到迅速发展
? 5字节头部 +48字节数据
? 使用虚电路( VC)工作
? 其标准化和研究由 ITU和 ATM论坛进行
? ITU—— 国际通信联合会
? ATM标准中定义的端系统接口基本标准为 155.52Mb/s
的 SDH接口。在 ATM论坛的标准中还定义了 T1,E1及
25M,51M,100Mb/s等多种速率的物理接口。
? 用户接入电路 UAC—— 用户网络接口 UNI
? 常用速率有,64Kbps,2.048Mbps (E1)、
1.544Mbps(T1)
? UNI有两个端口:用户侧 —— 用户接入端口 UAP
网络侧 —— 网络接入端口 NAP
? 许诺的信息速率 CIR
? 数据链路连接标识符 DLCI
帧中继的主要组成部分
ATM参考模型
帧中继的体系结构
Q.931/Q.933 用户可选
的终端功
能LAPD
(Q.921) LAPD核心
(Q.922)
I.430/I.431 I.430/I.431
LAPD核心
(Q.922)
LAPD
(Q.921)
Q.931/Q.933
控制平面 控制平面用户平面 用户平面
用 户 侧 网 络 侧
帧中继的原理
? 帧中继交换机收到一个帧的首部时,只要一查出帧的
目的地址就立即转发。
? 出差错的解决办法
检测到有误码时,立即终止这次传输,并丢弃该帧。
? 仅当帧中继网络本身的误码率非常低时,帧中继技术
才是可行的。
快速分组交换
? 帧中继 FR
? 分布式队列双总线 DQDB
? 交换的多兆比数据服务 SMDS
? 宽带综合业务数字网 B-ISDN
? 异步传输模式 ATM
快速分组交换的技术
? 帧长可变 —— 帧中继
? 帧长固定 —— 信元中继
一般分组交换与帧中继的比较
从层次关系上
一般分组交换 帧中继
3
2
1
3
1
3
2
1
2
3
1
2
完全的差错控制
完全的差错控制
有限的差
错控制
有限的差
错控制
从存储转发方式
一般分组交换 帧中继
源站 源站目的站 目的站中间结点 中间结点
帧中继网络提供的服务
? 虚电路服务
帧中继的拥塞控制
? 拥塞控制方法
? 丢弃策略
? 拥塞避免
? 拥塞恢复
? 许诺的信息速率 CIR
? 利用显示信令避免拥塞
? 利用显示信令避免拥塞
PVC1
DLCI=16
DLCI=17
PVC2
PVC1
DLCI=100
DLCI=101
PVC2
帧中继网络
CIR=16kbps
CIR=16kbps
CIR=4kbps
CIR=16kbps
用户接入
端口 UAP
网络接入
端口 UAP
用户 A 用户 B
帧中继的帧格式
Flag Address Information FCS Flag
字节 1 2~4 可 变 2 1
DLCI FECN BECN DE
帧中继的应用
? 帧中继的优点:
? 减少了网络互连费用
? 网络复杂性降低、性能提高
? 增加了互操作性
? 协议的独立性
? 适合于:
? 大文件传送
? 多个低速率线路的复用
? 局域网的互连
ATM中物理链路、虚电路和虚路径的关系
ATM包的单元化处理
? TCP/IP综合基础篇 P119
? ATM适合非常可靠的网络
2.5 SLIP和 PPP
? SLIP
? 压缩的 SLIP
? PPP
? PPPoE
使用 SLIP或 PPP的 TCP/IP连接
。。
使用 TCP/IP的
客户进程
。。
。。
。。
。。
路由器
至因特网
拨号电话线
用户家庭 因特网服务提供者( ISP)
一,SLIP——串行链路 IP
? 在 20世纪 80年代早期,3COM实现了一个报文组帧协议,
该协议在串行链路上的 IP报文帧中定义了一个字符序列
( SLIP)
? 1984年,Rick Adams 在 Berkeley Unix 4.2版本和
Sun Microsystems中实现了 SLIP
? 在 RFC 1055中给以描述,它的易于配置和可靠性使得
它成为串行链路上的事实标准。
? L I P适用于家庭中每台计算机几乎都有的 R S - 2 3 2串
行端口和高速调制解调器接入 I n t e r n e t。
S L I P协议定义的帧格式
? 数据报以一个称作 E N D( 0 x c 0)的特殊字符结束。同
时,为了防止数据报到来之前的线路噪声被当成数据报内
容,大多数实现在数据报的开始处也传一个 E N D字符
(如果有线路噪声,那么 E N D字符将结束这份错误的报
文。这样当前的报文得以正确地传输,而前一个错误报文
交给上层后,会发现其内容毫无意义而被丢弃)。
? 如果 I P报文中某个字符为 E N D,那么就要连续传输两个
字节 0 x d b和 0 x d c来取代它。 0 x d b这个特殊字符被
称作 S L I P的 E S C字符,但是它的值与 A S C I I码的 E
S C字符( 0 x 1 b)不同。
? 如果 I P报文中某个字符为 S L I P的 E S C字符,那么就要
连续传输两个字节 0 x d b和 0 x d d来取代它。
? SLIP 也存在一系列问题:
? 它不能检错和纠错
? 仅支持 IP
? 只有预先知道对方的 IP地址才能通信
? SLIP 不提供认证机制
? SLIP 不是 Internet认可的标准
? 尽管 SLIP有许多不足,但它提供了访问
Internet的一种低价方法。
关于 SLIP的信息,见
www.netcerts.com/RFCs/rfc1055.txt
二、压缩的 SLIP—— CSLIP
? 由于串行线路的速率通常较低,而且通信经常是交互式的,
因此在 S L I P线路上有许多小的 T C P分组进行交换。为
了传送 1个字节的数据需要 2 0个字节的 I P首部和 2 0个
字节的 T C P首部,总数超过 4 0个字节。
? 于是人们提出一个被称作 C S L I P,C S L I P一般能把
上面的 4 0个字节压缩到 3或 5个字节。它能在 C S L I P的
每一端维持多达 1 6个 T C P连接,并且知道其中每个连接
的首部中的某些字段一般不会发生变化。这些压缩的首部
大大地缩短了交互响应时间。
? 见 RFC1144
? 现在大多数的 S L I P产品都支持 C S L I P
PPP 封装TCP/IP
Novell IPX
AppleTalk
Multiple protocol
encapsulations using
NCPs in PPP
Link setup and control
using LCP in PPP
三,PPP——Point-to-Point 协议
?PPP 是 1992年制定的点到点链路上传输帧的另一
种方法
?PPP 是面向位的协议,可以运行在同步或异步链
路上
?使用 HDLC的变形作为封装基础
P P P修改了 S L I P协议中的所有缺陷,包
括以下三个部分:
? 在串行链路上 封装 I P数据报的方法 。 P P P既支持数据为
8位和无奇偶检验的异步模式(如大多数计算机上都普遍
存在的串行接口),还支持面向比特的同步链接。
? 建立、配置及测试数据链路的 链路控制协议 L C P
( Link Control Protocol)。它允许通信双方进行协商,
以确定不同的选项。
? 针对不同网络层协议的 网络控制协议 N C P ( Network
Control Protocol)体系。
? RFC1548描述了报文封装的方法和链路控
制协议
? RFC1332描述了针对 IP的网络控制协议
PPP的帧格式
C021 链路控制数据
0021 IP数据报
F
7E
A
EF
C
03
协议 信 息 FCS F
7E
字节 1 1 1 2 不超过 1500字节 2 1
8021 网络控制数据
由于标志字符的值是 0 x 7 e,因此当该字符出现在
信息字段中时,P P P需要对它进行转义。
? 在同步链路中,该过程是通过比特填充的硬件技术来完成
的。
? 在异步链路中,特殊字符 0 x 7 d用作转义字符。当它出
现在 P P P数据帧中时,那么紧接着的字符的第 6个比特
要取其补码,具体实现过程如下:
? 1) 当遇到字符 0 x 7 e时,需连续传送两个字符,0 x 7
d和 0 x 5 e,以实现标志字符的转义。
? 2) 当遇到转义字符 0 x 7 d时,需连续传送两个字符,0
x 7 d和 0 x 5 d,以实现转义字符的转义。
? 3 ) 默认情况下,如果字符的值小于 0 x 2 0(比如,一个
A S C I I控制字符),一般都要进行转义。
P P P比 S L I P具有下面这些优点
? PPP支持在单根串行线路上运行多种协议,不只是 I P协
议;
? 每一帧都有循环冗余检验;
? 通信双方可以进行 I P地址的动态协商 (使用 I P网络控制
协议 );
? 与 C S L I P类似,对 T C P和 I P报文首部进行压缩;
? 链路控制协议可以对多个数据链路选项进行设置。
四,PPPoE
? 在 Ethernet基础上,对通信线路的建立和
切断进行管理,同时也可以使用认证功能,
服务的提供商对顾客也能够进行比较容易
的管理。
PPPoE帧格式
Ethernet类

14字节
PPPoE报头
6字节
PPP协议
2字节
C021
数据
38~1492字节 FCS
版本
4位
类型
4位
编码
1字节
会话 ID
2字节
长度
2字节
2.6 环回接口
? 大多数的产品都支持环回接口( Loopback Interface),
以允许运行在同一台主机上的客户程序和服务器程序通过
T C P / I P进行通信。
? A类网络号 1 2 7就是为环回接口预留的。根据惯例,大
多数系统把 I P地址 1 2 7, 0, 0, 1分配给这个接口,并
命名为 l o c a l h o s t。
? 一个传给环回接口的 I P数据报不能在任何网络上出现。
环回接口处理 I P数据报的简单过程
环回接口处理 IP数据报的关键点
? 传给环回地址(一般是 1 2 7, 0, 0, 1)的任何
数据均作为 I P输入
? 传给广播地址或多播地址的数据报复制一份传给
环回接口,然后送到以太网上。这是因为广播传
送和多播传送包含主机本身。
? 任何传给该主机 I P地址的数据均送到环回接口
2.7 最大传输单元 MTU
? 以太网 1500字节
? IEEE802.3 1492字节
? 16M令牌环 17914字节
? 4M令牌环 4464字节
? FDDI 4352字节
? X.25 576字节
? 点对点(低时延) 296字节
路径 MTU—— PMTU
? 两台通信主机路径中的最小 M T U被称作 路
径 M T U。
? 两台主机之间的路径 M T U不一定是个常数,
它取决于当时所选择的路由。
? RFC1191描述了路径 MTU的发现机制
2.8 其他数据链路层
? 100VG-AnyLAN
? HIPPI
? 光纤通信
? 无线 LAN
? 蓝牙等
2.9 数据链路层技术的发展和变化
? 交换技术的发展
? 循环检查技术
? 虚拟局域网
课下作业(必做)
1.查资料:路径 MTU的发现机制
用 ping,tracert等网络工具测试路径 MTU
课下作业(选作)
1,编写程序,根据给出的原始数据,组装一个 IEEE802.3(或
者 Ethernet)格式的帧,输入文件为二进制文件
运行格式:程序名 输入文件 输出文件
2,编程模拟 Ethernet帧的发送过程,即 CSMA/CD工作流程
综合起来
在 Windows 或 Linux环境下,用 C或 Java等编程,模拟
Ethernet帧的封装与发送过程,主要包括:
1.选择一个合适的 CRC校验实现方法
2.根据给出的原始数据,组装一个 Ethernet格式的帧
3,模拟 Ethernet帧的发送过程,即 CSMA/CD工作流程,
把 Ethernet帧发送出去