计算机网络-链路层
计算机网络
计算机网络-链路层
1.1 链路层介绍
1.1.1 链路层概念
- 数据链路层的协议定义了通过通信媒介互连的设备之间传输的规范。通信媒介包括双绞线电缆、同轴电缆、光纤、电波以及红外线等物理介质。此外,各个设备之间有时也会通过交换机、网桥、中继器等中转数据
- 总结来说,数据链路层就是负责数据在各个链路中进行传输的
1.1.2 链路层功能
(1)为网络层提供服务
- 链路接入管理 :连接的建立、维持、释放(用于面向连接的服务)
- 帧同步 :帧定界
- 可靠交付 :常用于易产生差错的链路,比如无线链路。而对于不易产生差错的链路这是不必要的开销。
- 数据和控制信息的识别
- 寻址
- 流量控制 :链路层协议提供流量控制
- 透明传输
- 差错检测与修正 :循环冗余检测(CRC);TCP和UDP用检验和方法;奇偶校验思想(二维奇偶校验
1.1.3 相关术语
(1)结点
- 将运行链路层协议(即第2层)协议的任何设备均称为 结点(node)。
- 结点包括主机、路由器、交换机和WiFi接入点等
(2)链路(物理链路)
- 从一个结点到相邻结点的一段物理线路,中间没有任何其他的交换节点链路是一条路径的一个组成部分
- 两台计算机之间的通信路径需要许多链路
(3)数据链路(逻辑链路)
- 把实现了这些通信协议的硬件和软件加到链路上,就构成了数据链路(物理线路+协议)
(4)网络适配器
- 既有硬件也包括软件,实现了通信协议,包括了数据链路层和物理层两层的功能
(5)规程
- 数据链路层中,规程等同于协议
1.2 链路层需要解决的问题
1.2.1 封装成帧
(1)帧
- 数据链路层的协议数据单元,一个帧由一个数据字段和若干首部字段组成,其中网络层数据报就插在数据字段中。帧的结构由链路层协议规定
(2)封装成帧概念
- 封装成帧:就是在一段数据前后分别添加首部和尾部,添加一些额外信息,确定帧的界限,然后就构成了一个帧
(3)首部尾部作用
- 进行帧定界(确定帧的界限);
- 包含许多必要的控制信息
(4)帧定界的方法
- 帧界定的方法:可用特殊的帧定界符,在ACSCII码中,用SOH表示帧的首部开始,EOT表示帧的结束
(5)帧界定的作用
- 判断收到的帧是否完整,不完整则丢弃
1.2.2 透明传输
(1)透明传输概念
- 不管什么数据,都能完整无差错的通过这个数据链路层,数据链路层对数据没有妨碍,数据链路层对数据时透明的
(2)透明传输的问题
- 透明传输中的问题:若数据中的某个字节的二进制代码恰好组成了帧界定符,就会出现帧定界错误,从而影响整个链路层数据的传输
- 解决方法:字节填充 :在控制字符和特殊字符前插入一个转义字符"ESC"(1B),而真正的首部和尾部前不加;当上交个给网络层时删除这个字符即可
1.2.3 差错检测
(1)差错检测概念
- 通过编码与附加校验信息手段,可以使得接受方对收到的数据帧进行校验,发现是否数据出错,从而进行下一步的处理
- 传输差错分类:
- 基本的比特差错。
- 收到的帧出现了帧丢失,帧重复,帧失序。
- 传输差错分类:
(2)常用校验方式-循环冗余校验CRC(Cyclic Redundancy Check)
- 循环冗余码 (CRC)是一种特殊的线性分组码。 循环冗余码各码组中的码元循环左移(或右移),所形成的码组仍然是一个许用码组(全零码组除外),称为循环性。 循环冗余码具有较高的检错能力。
- 帧检测序列FCS
- 在数据链路层里面使用CRC循环检验法能够实现无比特差错的传输,但是不是无传输差错,还不是可靠传输
1.3 链路层种类
1.3.1 点对点协议(Point-to-Point Protocol,PPP)
(1)PPP介绍
- 点对点协议(Point to Point Protocol,PPP)为在点对点连接上传输多协议数据包提供了一个标准方法。PPP 最初设计是为两个对等节点之间的 IP 流量传输提供一种封装协议
(2)PPP特点
- PPP具有动态分配IP地址的能力,允许在连接时刻协商IP地址
- PPP支持多种网络协议,比如TCP/IP、NetBEUI、NWLINK等
- PPP具有错误检测能力,但不具备纠错能力,所以ppp是不可靠传输协议;
- 无重传的机制,网络开销小,速度快。
- PPP具有身份验证功能。
- PPP可以用于多种类型的物理介质上,包括串口线、电话线、移动电话和光纤(例如SDH),PPP也用于Internet接入。
(3)帧格式
字段名 | 7E | FF | 03 | 协议 | 信息 | FCS | 7E |
---|---|---|---|---|---|---|---|
字节 | 1 | 1 | 1 | 2 | <=1500 | 2 | 1 |
-
7EH作为一帧的开始和结束标志(F)
- 若信息域中出现7EH,则转换为(7DH,5EH)两个字符。当信息域出现7DH时,则转换为(7DH,5DH)。
- 当信息流中出现ASCII码的控制字符(即小于20H),即在该字符前加入一个7DH字符
-
其中地址域(A)和控制域(C)取固定值
- A=FFH
- C=03H
-
协议域(两个字节)
- 0021H表示IP分组
- 8021H表示网络控制数据
- C021H表示链路控制数据
-
帧校验域(FCS)也为2个字节,它用于对信息域的校验。
(4)相关协议
-
链路控制协议(LCP):一种扩展链路控制协议,用于建立、配置、测试和管理数据链路连接。
-
网络控制协议(NCP):协商该链路上所传输的数据包格式与类型,建立、配置不同的网络层协议
(5)工作流程
-
当用户拨号接入 ISP 时,路由器的调制解调器对拨号做出确认,并建立一条物理连接(底层up)。
-
PC 机向路由器发送一系列的 LCP 分组(封装成多个 PPP 帧)。
-
这些分组及其响应选择一些 PPP 参数,和进行网络层配置(此前如有PAP或CHAP验证先要通过验证),NCP 给新接入的 PC机分配一个临时的 IP 地址,使 PC 机成为因特网上的一个主机。
-
通信完毕时,NCP 释放网络层连接,收回原来分配出去的 IP 地址。接着,LCP 释放数据链路层连接。最后释放的是物理层的连接。
1.4 使用广播信道的数据链路层
1.4.1 广播信道介绍
(1)广播信道特点
- 广播信道可以进行一对多的通信,当一台计算机发出信号时,总线上的所有计算机都能检测到这个数据,能很方便且廉价地连接多个邻近的计算机,曾广泛应用于局域网中
1.4.2 局域网
(1)局域网介绍
-
网络为一个单位所拥有,且地理范围和站点数目均有限
-
局域网的拓扑:
- 星形网、环形网和总线网。
-
局域网的数据链路层分为两个子层:
- 逻辑链路控制(Logical Link Control,LLC)子层
- 媒体接入控制(Medium Access Control,MAC)子层
(2)局域网技术
- 现阶段成熟的局域网技术有三种:其中以太网技术逐步成为局域网技术的主流。
- 以太网(Ethernet)、
- 令牌环(Token Ring)
- 光纤分布式数据接口(FDDI)
1.5 以太网
1.5.1 以太网介绍
- 以太网是一种计算机局域网技术。IEEE组织的IEEE 802.3标准制定了以太网的技术标准,它规定了包括物理层的连线、电子信号和介质访问层协议的内容。以太网是目前应用最普遍的局域网技术,取代了其他局域网技术如令牌环、FDDI和ARCNET
1.5.2 访问控制协议
(1)CSMA/CD 载波监听多路访问/冲突检测 (有线网络)
-
CSMA/CD的工作原理:
- 所有节点都共享网络传输信道,节点在发送之前,首先检测信道是否为空闲,如果信道为空闲则发送,否则就等待;
- 在发送信息后,再对冲突进行检测,当发现冲突时,取消发送
-
优缺点:
- 原理比较简单,技术上容易实现,网络中各工作站处于平等地位,不需要集中控制,不提供优先级控制
- 但是在网络负载 增大时,发送时间增长,发送效率急剧下降
(2)CSMA/CA (载波监听多路访问/冲突避免)(无线网络)
- CSMA/CA的工作原理:
- 先检测信道(进行载波监听)
- 发送数据帧后,若目的站正确收到此帧,则经过时间间隔SIFS(短帧间间隔)后,向源站发送确认帧ACK。
- 所有其他站都设置网络分配向量NAV(信道忙的持续时间),表明在这段时间内信道忙,不能发送数据。
- 当确认帧ACK结束时,NAV也就结束了。在经历了帧间间隔之后,接着回出现一段空闲时间,叫做争用窗口,表示在这段时间内有可能出现各站点争用信道的情况。
1.5.3 以太网通信标识-MAC地址
(1)MAC地址介绍
- MAC地址(英语:Media Access Control Address),直译为媒体存取控制位址,也称为局域网地址(LAN Address),MAC位址,以太网地址(Ethernet Address)或物理地址(Physical Address),它是一个用来确认网络设备位置的位址。在OSI模型中,第三层网络层负责IP地址,第二层数据链路层则负责MAC位址 [1] 。
- MAC地址用于在网络中唯一标示一个网卡,一台设备若有一或多个网卡,则每个网卡都需要并会有一个唯一的MAC地址
(2)MAC地址结构
- MAC地址的长度为48位(6个字节),通常表示为12个16进制数,
- 如:00-16-EA-AE-3C-40
- 其中:
- 前6位16进制数
00-16-EA
代表网络硬件制造商的编号[OUI(Organizationally Unique Identifier)],它由IEEE(电气与电子工程师协会)分配 - 后6位16进制数
AE-3C-40
代表该制造商所制造的某个网络产品(如网卡)的系列号(厂家分配)。只要不更改自己的MAC地址,MAC地址在世界是惟一的
- 前6位16进制数
- MAC地址最高字节(MSB)的低第二位(LSb)表示这个MAC地址是全局的还是本地的,即U/L(Universal/Local)位
- 如果为0,表示是全局地址。
- 所有的OUI这一位都是0。
- MAC地址最高字节(MSB)的低第一位(LSb),表示这个MAC地址是单播还是多播
- 0表示单播
1.5.5 MAC帧
(1)MAC帧介绍
- 以太网的MAC帧格式有好几种,被广泛应用的是DIX Ethernet V2标准,还有一种是IEEE的802.3标准,该标准经过了多年的发展,已经出现了很多种子标准。DIX Ethernet V2 标准与 IEEE 的 802.3 标准只有很小的差别,因此可以将 802.3 局域网简称为“以太网”。严格说来,“以太网”应当是指符合 DIX Ethernet V2 标准的局域网
(2)帧结构
- 长度在64~1518byte
- 源MAC地址:发送方的MAC地址
- 目的MAC地址 :接收方的MAC地址
- 上层协议类型:
- 若该字段的值小于1518,那么这个字段就是长度字段,并定义后面的数据字段的长度
- 若该字段的值大于1518,它就定义使用因特网服务的上层协议
- 数据:网络层传下来的数据
- 帧校验序列FCS:通过CRC校验方式经计算的冗余码
(3)无效数据帧
-
帧的长度不是整数个字节
-
用收到的帧检验序列FCS查出有差错
-
收到的帧的MAC客户数据字段的长度不在46~1500字节之间
1.5.4 其它
(1)广播风暴
-
广播风暴(broadcast storm)简单的讲是指当广播数据充斥网络无法处理,并占用大量网络带宽,导致正常业务不能运行,甚至彻底瘫痪,这就发生了“广播风暴”。一个数据帧或包被传输到本地网段 (由广播域定义)上的每个节点就是广播;由于网络拓扑的设计和连接问题,或其他原因导致广播在网段内大量复制,传播数据帧,导致网络性能下降,甚至网络瘫痪,这就是广播风暴
1.6 以太网上的设备
1.6.1 网络适配器 Adapter
(1)介绍
- 计算机与外界局域网的连接是通过通信适配器(adapter)
- 适配器本来是主机内插入的一块网络接口板,这种接口板又称为网络接口卡(Network Interface Card,NIC)或称简为“网卡”。
- 适配器的一个重要功能就是进行数据串行传输和并行传输的转换。
1.6.2 集线器 Hub
(1)介绍
- 集线器的作用仅仅是将设备连接起来,实现互联,一般没有设置转发控制功能,起到总线功能
1.6.3 交换机 Switch
(1)介绍
- 交换机是一种基于MAC地址识别,能完成封装转发数据包功能的网络设备。 交换机可以“学习”MAC地址,并把其存放在内部地址表中,通过在数据帧的始发者和目标接收者之间建立临时的交换路径,使数据帧直接由源地址到达目的地址
(2)交换机工作原理
- 交换机根据收到数据帧中的源MAC地址建立该地址同交换机端口的映射,并将其写入MAC地址表中
- MAC表并不是无限的,而且一般一段时间内要重置一次
- 交换机将数据帧中的目的MAC地址同已建立的MAC地址表进行比较,以决定由哪个端口进行转发
- 如数据帧中的目的MAC地址不在MAC地址表中,则向所有端口转发。这一过程称为泛洪(flood)
- 广播帧和组播帧向所有的端口转发
(3)生成树协议(Spanning Tree Protocol,STP)
- STP是一种工作在OSI网络模型中的第二层(数据链路层)的通信协议,基本应用是防止交换机冗余链路产生的环路.用于确保以太网中无环路的逻辑拓扑结构.从而避免了广播风暴,大量占用交换机的资源
- 生成树协议工作原理:
- 任意一交换机中如果到达根网桥有两条或者两条以上的链路.生成树协议都根据算法把其中一条切断,仅保留一条.从而保证任意两个交换机之间只有一条单一的活动链路.因为这种生成的这种拓扑结构.很像是以根交换机为树干的树形结构.故为生成树协议
(4)虚拟局域网VLAN
1. Vlan介绍
- VLAN(virtual local area network,虚拟局域网)把一个LAN(local area network,局域网)划分为多个逻辑的LAN → VLAN,处于同一个VLAN的主机能直接互通,而处于不同VLAN的主机则不能直接互通,从而增加了局域网的安全
2. Vlan 优点
-
限制广播域。广播域被限制在一个VLAN内,节省了带宽,提高了网络的处理能力
-
增强了局域网的安全性
-
可灵活构建虚拟工作组
3.帧结构
-
EEE802.1Q,俗称“Dot One Q”,是经过IEEE认证的对数据帧附加VLAN识别信息的协议。
-
IEEE802.1Q所附加的VLAN识别信息,位于数据帧中“发送源MAC地址”与“类别域(Type Field)”之间。具体内容为2字节的TPID和2字节的TCI,共计4字节。 在数据帧中添加了4字节的内容,那么CRC值自然也会有所变化。这时数据帧上的CRC是插入TPID、TCI后,对包括它们在内的整个数据帧重新计算后所得的值。
基于IEEE802.1Q附加的VLAN信息,就像在传递物品时附加的标签。因此,它也被称作“标签型VLAN(Tagging VLAN)
-
长度在68~1522byte
-
解释:
- TPID (Tag Protocol Identifier,也就是EtherType)
是IEEE定义的新的类型,表明这是一个加了802.1Q标签的帧。TPID包含了一个固定的值0x8100 - TCI (Tag Control Information)
包括用户优先级(User Priority)、规范格式指示器(Canonical Format Indicator)和 VLAN ID- Pri优先级主要用于当交换机出端口发生拥塞时,交换机通过识别该优先级,优先发送优先级高的数据包
- CFI:规范格式指示器,总是被设置为0. CFI常用于以太网类网络和令牌环类网络之间,如果在以太网端口接收的帧具有CFI,那么设置为1,表示该帧不进行转发(打这条线是因为这知识只作了解即可)
- VLAN ID: 该字段为12bit,最大支持4096个VLAN,因为2^12=4096
- TPID (Tag Protocol Identifier,也就是EtherType)