数据链路层
数据链路层
概念
-
链路(link)/物理链路:从一个结点到相邻结点的一段物理线路,中间无任何其他交换结点,只是一条路径的组成部分
-
数据链路(data link)/逻辑链路:把实现控制数据传输协议的硬件和软件加到链路上,就构成数据链路
-
透明传输:不管从键盘上输入什么字符都可以放在这样的帧中传输过去
-
可靠传输:数据链路层的发送端发送什么,在接收端就接收到什么
-
CRC是一种检错方法,FCS是添加在数据后面的冗余码
-
无线局域网使用IEEE802.11标准
-
以太网的两个标准:
- IEEE802.3 10Mb/s 802.3局域网也成以太网
- DIX Ethernet V2
以太网提供的是无连接不可靠服务,只实现无差错接收,不实现可靠传输
使用CSMA/CD的局域网即以太网
以太网规定最短帧长是64B即512bit
以太网成功发送一个帧的时间是T0(帧长/发送速率)+τ(一个单程端到端时延)
则极限信道利用率Smax=T0/T0+τ
一般不考虑LLC子层:由于TCP/IP体系经常使用的局域网是DIX Ethernet V2 而不是802.3标准中的几种局域网,因此LLC的作用已经不大了;很多厂商生产的适配器上仅装有MAC协议而没有LLC协议
以太网的MAC子层 :
-
帧的封装、卸装、寻址、识别、接收、发送
-
链路管理
-
帧差错控制
-
屏蔽不同物理链路种类差异
IEEE802.3MAC格式:
FSC不包括前8B
若使用SONET/SDH进行同步传输不需要前同步码
以太网不需要使用帧定界结束符,也不需要使用字节插入来保证透明传输
-
IEEE802.3还可以使用光纤作为传输媒体,如10BASE-F
-
网段 :一个计算机网络中使用同一个物理层设备能直接通讯的那部分
-
生成树协议STP(Spanning Tree Protocol)可以解决广播风暴(当广播数据充斥网络无法处理,并占用大量带宽,导致正常业务不能运行甚至瘫痪)
-
快速以太网:100Mb/s
-
10吉比特以太网只支持全双工
功能
-
为网络层提供服务:
-
无确认无连接
-
有确认面向连接
-
有确认无连接
-
-
封装成帧和透明传输:
- 字符计数法
- 字符填充法
- 零比特填充法
- 违规编码法
-
差错控制:
噪声:
-
随机噪声(全局性):信道固有,随机存在(可对传感器下手)
-
冲击噪声(局部性):产生错差的主要原因,可通过编码技术解决
帧错:
-
丢失
-
重复
-
失序
位错:1变0,0变1
-
检错编码:
- 奇偶校验码:50%概率
- CRC:只能做到对帧的无(比特)差错接收 即凡是接收端数据链路层接受的帧均无差错
-
纠错编码:
-
海明码:发现双比特错,纠正单比特错
-
对通信质量较差的无线传输链路,数据链路层协议使用确认和重传机制来向上提供可靠传输的服务
-
-
流量控制 和可靠传输:链路层的滑动窗口大小是固定的、点对点,接收不下则不回复确认
-
停止等待协议(半双工、效率较低):发送窗口=接收窗口=1
-
滑动窗口协议(全双工、效率较高):
-
GBN:
-
采用累计确认
-
发送窗口(最大发送窗口=2^n -1)>1 接收窗口=1
-
超时重传已发送但未确认的帧
-
-
SR:
- 发送窗口>1 接收窗口>1 (最大发送窗口=接收窗口=2^(n-1))
- 设置单个确认,加大接收窗口,设置接收缓存,缓存乱序到达的帧
-
-
设备
-
网桥:可互连不同物理层,不同MAC子层和不同速率的以太网
-
透明网桥:即插即用、自学习
-
源路由网桥:把最佳路由信息放在帧头 (广播发送发现帧)
-
-
NIC网卡(Network Interface Card)网络接口卡:(涉及数据链路层和物理层 )
-
实现数据串行/并行转换
-
当收到错误的帧直接丢弃 ,不通知计算机;收到正确的帧则使用中断 来通知计算机
-
计算机的MAC地址(48位)在网卡的ROM中
-
可以对数据进行缓存
-
必须把该设备的设备驱动安装在计算机的操作系统中
-
能实现以太网协议
-
-
交换机独占传输媒体带宽 :即插即用、自学习 一般工作在全双工方式 :
- 直通(cut-through)式:接收到目的MAC地址就转发,无法支持具有不同速率的端口交换,不检错
- 存储转发式
两种链路/信道
点对点信道 (广域网)
数据链路层协议:
-
PPP(Point-to-Point Protocol)点对点协议 :面向字节
支持同步传输(SONET/SDH)(比特填充:5 1 1 0)和异步传输(字节填充)
需满足:
-
简单 (首要)
-
支持多种网络层协议
-
保证数据传输的透明性
-
规定特殊字符作为帧定界符
-
能够在多种类型链路上运行
-
检错
-
检测连接状态
-
设置最大传输单元MTU(数据链路层的帧可以载荷的数据部分的最大长度) 数值
-
通信双方知道彼此网络层地址
-
数据压缩协商
不需满足:不需纠错,不需序号,不需流量控制
PPP协议组成 :
- 一个将IP数据报封装到串行链路的方法
- 一个用来建立、配置和测试数据链路连接的链路控制协议LCP(Link Control Protocol)
- 一套网络控制协议NCP(Network Control Protocol)
-
-
HDLC(High-level Data Link Control)高级数据链路控制 面向比特,只支持同步传输 不属于TCP/IP协议族 可靠、有编号、有确认
HDLC帧格式:
广域网的特点:
- 覆盖的地理区域大
- 广域网连接常借用公用网络
- 传输速率比较低
- 网络拓扑结构复杂
来源
广播信道 (局域网)
局域网主要特点 :
-
网络为一个单位所拥有,且地理范围和站点数目均有限
-
具有广播功能
-
便于系统扩展,各设备灵活调整
-
提高系统可靠性
决定局域网的主要要素:
-
网络拓扑 :
-
总线:最常用
-
星型:中间是集线器(hub),共享型差,单点故障(逻辑总线)
-
环形:单点故障
-
树形:单点故障
-
-
传输介质 :
-
双绞线、同轴电缆、光纤
-
电磁波
-
-
介质访问控制 :
-
静态划分信道(信道划分介质访问控制):
-
FDM
-
TDM
-
WDM
-
CDM
网络负载重 :共享信道效率高,且公平;网络负载轻:共享信道效率低
-
-
动态划分信道:
-
轮询介质访问控制(不冲突,占全部带宽) :令牌环网 用于负载重,通信量大的网络
-
随机介质访问控制(有冲突,占全部带宽) :
-
ALOHA:
-
纯ALOHA:随时发送
-
时隙ALOHA:只在时间片开始时发送
-
-
CSMA(Carrier Sense Multiple Access)载波监听多点接入 :不管在发送前还是发送中,都必须不停检测信道
1-坚持CSMA 非-坚持CSMA P-坚持CSMA 信道空闲 发 发 P概率发 信道忙 继续监听 放弃监听,等待一随机时间再监听 继续监听,直到空闲以P概率发
-
CSMA/CA(Carrier Sense Multiple Access with Collision Avoidance)载波监听多点接入/碰撞避免:
-
用于无线局域网
-
无法做到全面检测碰撞,隐蔽站问题
-
通过预约信道、ACK帧、RTS/CTS技术
-
-
CSMA/CD(Carrier Sense Multiple Access with Collision Detection)载波监听多点接入/碰撞检测:
-
用于总线型、半双工网络
-
当电压的变化幅度超过一定的门限值时,表明产生了冲突
-
当发送数据前已经监听信道为空闲依然发送碰撞是因为:电磁波在总线上以有限速率传播
以太网分析中,用单程 端到端传播时延记为τ,2τ称为争用期(contention period)、碰撞窗口(collision window)
当经过争用期还没有检测到碰撞,才能肯定这次发送不会发生碰撞
当发生碰撞后,立即停止发送数据,还要发送32bit或48bit人为干扰信号(jamming signal)
以太网使用截断二进制指数退避算法(truncated binary exponential backoff)来确定碰撞后的重传时机
基本退避时间为争用期2τ 即51.2μs
k=Min[重传次数,10]
从离散的整数集合[0,1,...,2^k -1]随即取出一个数,记为r,重传应推后的时间为r倍2τ
当重传次数达16 次仍不能成功时,则丢弃该帧,并向高层报告
-
-
-
-
VLAN(可以隔离广播域)
虚拟局域网VLAN是由一些局域网网段构成的与物理位置无关的逻辑组,而这些网段具有某些共同的需求
虚拟局域网只是局域网给用户提供的一种服务,而不是一种新型局域网
虚拟局域网允许在以太网的帧格式中插入一个4B的标识符,称为VLAN标记(tag) ,这样的帧称为802.1Q帧
因此,以太网最大帧长为1518+4B
以太网交换机不向虚拟局域网外的计算机传送广播信号,限制了接收广播信息的计算机数
划分 VLAN 的方法:
-
基于交换机端口:也称静态vlan,最为常用
常见的接口类型分为三类:
- Access接口:一般用于和不能识别Tag的用户终端(如用户主机、服务器)相连,或者不需要区分不同VLAN成员时使用
- Trunk接口:一般用于连接交换机、路由器、AP以及可同时收发Tagged帧和Untagged帧的语音终端
- Hybrid接口:既可以用于连接不能识别Tag的用户终端(如用户主机、服务器)和网络设备(如Hub),也可以用于连接交换机、路由器以及可同时收发Tagged帧和Untagged帧的语音终端、AP
-
基于计算机网卡MAC地址:也称动态vlan
-
基于IP子网地址
-
基于协议类型:如:IPv4、IPv6等
-
基于高层应用或服务