介绍
学习计算机网络的过程中,我整理了一些比较关键的、考试可能会考的点,有些具体的点可能没涉及到。后面会持续更新,希望对大家有所帮助!
三、数据链路层
相邻节点中的数据传输
使用的信道主要有 点对点信道
广播信道
两种类型
点对点信道(广域网)
一对一(PPP协议)
广播信道(局域网)
一对多(CSMA/CD协议)
3.1 数据链路层的几个共同问题
数据链路和帧
链路 = 物理线路(有线或无线)
数据链路 = 物理线路 + 必要通信协议(早期曾叫通信规程)
三个基本问题
封装成帧、透明传输、差错检测
封装成帧
帧 = 帧首部 + 帧的数据部分(网络层传下来的IP数据报) + 帧尾部
必须要有帧定界符,才能判断帧是否完整来选择保留或者丢弃,使得故障后能很快恢复正常,不会影响后面的
透明传输
正常在帧的首部、尾部有帧定界,中间的数据随便输入都不会和定界符一样,因此可以"透明"传输
但是若数据某部分编码成二进制后和帧定界控制字符相同,则会错误地找到帧定界
解决方法
字节填充/字符填充:插入转义字符ESC
差错检测
误码率BER:传输0变1概率,一般数量级为10的-10次方
检错技术:循环冗余检验CRC
k位数据加上n位冗余码(帧检验序列FCS),一共发送(k+n)位过去,冗余码 = 0 说明传输无差错
FCS求法
K位数据后面加n个0,除以双方事先商量好的(n+1)位的除数,不断模二运算,加减都不用进位退位,最终得到的n位余数作为FCS
3.2 点对点协议(PPP)
PPP特点
PPP不校验、只支持点对点、全双工链路
PPP协议组成
IP 封装 串行链路的方法
LCP 链路控制协议
NCP 网络控制协议
PPP帧格式
PPP帧格式如下图:
字节填充(异步传输)
7E -> 7D 5E 7D -> 7D 5D 0x23 -> 7D 23
零比特填充(同步传输)
6个1变为7E(01111110),和flag标志字段重合,需要转义
发送端发现连续5个1时,在后面插入0,使传输不被转义
接收端删除0,使数据恢复原样
PPP 工作状态
-
配置确认帧 所有选项都接受
-
配置否认帧 所有选项都理解,但不能接受
-
配置拒绝帧 选项有些无法识别或不能接受,需要协商
3.3 使用广播信道的数据链路层
局域网的数据链路层
局域网(LAN):指在某一区域内多台计算机互联成的计算机组,使用广播信道
特点
1:覆盖范围小
2:使用专门铺设的传输介质(双绞线、同轴电缆)进行联网,数据传输效率高
3:通信延迟时间短、误码率低、可靠性较高
4:各站为平等关系,共享传输信道
5:多采用分布式控制和广播式通信,能进行广播和组播
决定局域网的主要要素:网络拓扑、传输介质、介质访问控制方法
网络拓扑
-
星形拓扑 中间有集线器(hub)
-
环形拓扑
-
总线拓扑 现在以太网一般采用这种拓扑方式
-
树形拓扑
分类
以太网 最广泛的局域网,现在已成为局域网的同义词,采用CSMA/CD协议
令牌环网 FDDI网 ATM网 无线局域网 (都不常用了)
标准
CSMA/CD 以太网介质访问控制协议 IEEE 802.3
令牌环网 IEEE 802.5
光纤技术咨询组(FDDI) IEEE 802.8
无线局域网 IEEE 802.11
子层
LLC子层
逻辑链路控制(Locigal Link Control)
负责识别网络层协议,对它们进行封装,为网络层提供服务
主要作用是提供一个逻辑链接控制层,使不同类型的网络协议能够在同一物理介质上进行通信
MAC子层
媒体接入控制(Medium Access Control)
可通过MAC地址识别设备,负责数据帧的封装/卸装,组帧,拆帧,比特传输差错检测 …
CSMA/CD协议
以太网采用的两种协议
-
DIX Ethernet V2 第一个局域网产品(以太网)规约
-
IEEE802.3 IEEE委员会指定的第一个IEEE的以太网标准(帧格式有一丢丢改动)
CSMA/CD协议要点
多点接入:多个点接入到同一条总线上 MA
载波监听:边发送边监听 CS
碰撞检测:也称冲突检测 CD
发送数据采用曼切斯特编码
CSMA/CD规则(考试重点)
1 监听信道是否空闲,如果空闲就立即发送数据,并且继续监听
2 如果信道忙就一直监听,直到信道空闲,立即发送
3 在传输过程中,一旦发生冲突,立即停止发送,并且发送干扰信号来强化冲突(延长时间),以便让其他结点知道
4 发送完干扰信号后,等待一个随机时间再试图发送,即转到1
上述4句话记忆方法:空闲让进、忙则等待、冲突你们也别想活着!发完等待restart
为什么要边发送边监听?因为有传播时延
根据课本 3-17 图,可知 δ \delta δ 是 [ 0 , τ ] [0,\tau] [0,τ] 的任意一个时间大小
当 δ = 0 \delta = 0 δ=0 时,传播时延最大,= 2 τ 2\tau 2τ
当 δ = τ \delta = \tau δ=τ 时,传播时延最小,= τ \tau τ
2 τ 2\tau 2τ 称为 争用期 / 碰撞窗口,经过这段时间还没检测到碰撞,才能肯定这次发送不会发生碰撞
争用期时间具体为 51.2us,计算后为64字节,若发送的数据 < 64B,说明数据无效需要重传
截断二进制指数退避
确定碰撞后重传时机的算法
规定好争用期,发生碰撞的站停止发送数据后,要退避一个随机事件后再发送数据
- 基本退避时间 = 2 τ 2\tau 2τ
- 从整数集合 [ 0 , 1 , . . . , 2 k − 1 ] [0,1,...,2^k-1] [0,1,...,2k−1]中随机取一个数,记为 τ \tau τ, 重传所需时延 = 2 τ ∗ 基本退避时间 重传所需时延 = 2\tau * 基本退避时间 重传所需时延=2τ∗基本退避时间
- 参数 k = m i n [ 重传次数, 10 ] k = min[重传次数,10] k=min[重传次数,10] (每次重传所需时延的期望,都会类似翻倍增大,冲突概率期望翻倍减少)
- 当重传达16次仍不能成功时即丢弃该帧,并向高层报告
帧间最小间隔 9.6us
为了使刚刚收到数据帧的站的接收缓存来得及清理,做好接收下一帧的准备
以太网
传统都是总线型,现在 逻辑拓扑总线型,物理拓扑星型
以太网只实现无差错接收,不实现可靠传输
无差错接收:进行帧校验,有差错直接丢弃,但并不处理
使用集线器的星形拓扑
采用双绞线的以太网采用星形拓扑
以太网的信道利用率
a a a : 以太网单程端到端时延 τ \tau τ 与帧的发送时间 T 0 T_0 T0 之比
a = τ T 0 a= \frac{\tau}{T_0} a=T0τ
以太网的MAC层
MAC层的硬件地址
局域网中,硬件地址 = 物理地址 = MAC地址
局域网的地址是每个站的 名字 / 标识符,这种48位的二进制地址是唯一的
前24位 / 3字节:组织唯一标识符 OUI (IEEE规定,厂家需要向其购买OUI)
后24位 / 3字节:扩展标识符 (厂家指定,保证生产出来的地址不能重复即可)
发往本站的帧分类:(不是发往本站的帧丢弃)
-
单播帧(一对一)收到的MAC地址和本站的MAC地址相同
-
广播帧(一对全体)发送给本局域网上所有站点的帧
-
多播帧(一对多)发送给本局域网一部分站点的帧
MAC帧格式
DIX Ehternet V2标准
IEEE 802.3 标准 (重点)
组成:
目的地址6 源地址6 协议类型2 数据46~1500 FCS帧检验序列4
两种地址都是MAC地址,所以都占6个字节
类型标志上一层(网络层)使用的是什么协议
数据最少 64-6-6-2-4=46
字节
- 因为前面已经说了,要使得能检测出来碰撞并重传,则<64字节的都视为无效帧,因此有效帧必 >64字节!
FCS帧检验序列 采用 CRC循环冗余检验
Q: 首部没有固定帧长度,怎么确定帧数据是否结束?
根据曼切斯特编码,如果数据发送完,电压不再0-1变化,可知帧数据传输结束
因为数据长度46-1500,所以+首尾的有效长度为 64-1518(1518->0x0600)
类型字段的值小于0x0600时表示长度,但是长度不一致就丢弃,所以长度没什么意义,通常还是>0x0600表示类型
3.4 扩展的以太网
物理层扩展以太网
每个独立的以太网算一个碰撞域,碰撞域中有一个集线器Hub,通过光纤来连接多台设备
用主干集线器连接多个碰撞域后,范围扩大但是最大吞吐量不变,还是一个小碰撞域的吞吐量,因为合在一起后,一发数据其他会冲突
半双工模式:无法实现双向通信
数据链路层扩展以太网
以太网交换机与Hub主要区别:交换机会记录设备的唯一标识(MAC地址)
特点
点对点连接,为全双工模式
以太网交换机实质:多端口的网桥,支持桥接,能连接不同交换机
内部有交换表,类似哈希表,记录每个MAC地址对应的交换机端口
大优点:以太网交换机一般具有多种速率的端口,适应不同情况的用户,
且可以"并发",不同用户用不同端口采用不同速率占用不同带宽,不会互相影响而减小速率
自学习
刚开始MAC表是空的,所以发送数据要 广播/扩散
发送前将发送方的MAC地址和一个端口对应,写入MAC表,广播让B收到后,其他就别收了,称为过滤
若B从端口3发出,则将B的MAC地址和对应的端口3也写入MAC表,然后查MAC表转发,查不到就广播
可见每次发送时记录发送方的MAC地址及其发送时使用的端口
为了解决兜圈子问题,IEEE 802.1 规定了生成树协议(STP),砍掉某些链路变成无环路的树状结构
总线以太网到星形以太网
星形结构的以太网交换机越来越便宜可靠,而设备增加导致总线结构的以太网可靠性下降
虚拟局域网
为了避免广播风暴,建立虚拟局域网能将其分割成较小的局域网,缩小广播域
VLAN标签需要插入到帧结构的 源地址6 协议类型2 之间
扩展:路由器
相当于更大的树形拓扑,会给不同的网络分配不同网段,网段中的每台设备都有一个IP地址
3.5 高速以太网
bit 和 B 要区分!
100BASE-T以太网
100Mbit/s
吉比特以太网
1Gbit/s