两种类型信道:
点对点信道:使用一对一的点对点通信方式。
广播信道:使用一对多的广播通信方式,过程比较复杂。广播信道上连接的主机很多,因此必须使用专用的共享信道协议来协调这些主机的数据发送。
数据链路 (data link) =物理线路+通信协议(实现协议的硬件和软件->适配器(即网卡))
数据链路层的封装过程:
1.封装成帧:在一段数据的前后分别添加首部和尾部(用于帧定界)。
控制字符 SOH (Start Of Header) 放在一帧的最前面,表示帧的首部开始。
控制字符 EOT (End Of Transmission) 放在一帧的最后面,表示帧的结束。
2.透明传输: 不管所传输的数据是什么样的比特组合,都应当能够在链路上传送。
若数据部分恰好出现与EOT一样的代码,则会截断数据部分发生错误。
解决办法:数据中的“SOH”或“EOT”或“ESC”的前面插入一个转义字符“ESC”。(接收端将数据送往网络层之前别忘记删除插入“ESC”)
3.差错控制:
差错控制编码:
检错码:指能自动发现差错的编码。
纠错码:指不仅能发现差错而且能自动纠正差错的编码。
奇偶校验码(检错码):通过增加冗余位来使得码字中“1”的个数保持奇或偶数。
奇校验:校验位奇数个1->0 偶数个1->1
偶校验:校验位偶数个1->0 奇数个1->1
垂直奇偶校验、水平奇偶校验、水平垂直奇偶校验
循环冗余检验CRC(无法检测出究竟是哪一个或哪几个比特出现了差错):
在发送端把数据划分为多个组。若一组数据M有k个比特,在M的后面再添
加供差错检测用的n位冗余码一起发送。
冗余码(帧检验序列 FCS)计算:
(k + n) 位的数除以事先选定好的长度为 (n + 1)位的除数P,得出商是
Q ,余数是 R,余数R则作为冗余码添加在数据 M 的后面。
接收端对收到的每一帧进行 CRC 检验,若得出的余数 R = 0,则判定这个帧
没有差错,就接受(accept)。若余数R!= 0,则判定这个帧有差错,就丢弃。
PPP (点对点协议Point-to-Point Protocol):用户与ISP通信时,使用的数据链路层协议。
三个组成部分:
一个将 IP 数据报封装到串行链路的方法->封装成帧
链路控制协议 LCP (Link Control Protocol)-> 建立、配置以及测试数据链路的连接
网络控制协议 NCP (Network Control Protocol) ->支持不同的网络层协议
帧格式:
Flag字段为帧定界标志,标识PPP帧的开始与结束,长度为1字节,取值固定为0x7E。
Address字段为地址字段,标识接收方的地址,长度为1字节,取值固定为0xFF 。
Control字段为控制字段,长度为1字节,取值固定为0x03,表示无序号信息。
Protocol字段为协议字段,用来标识PPP帧封装的协议数据类型,长度为2字节。
若为 0x0021 时,PPP 帧的信息字段就是IP 数据报。
若为 0xC021, 则信息字段是 PPP 链路控制数据。
若为 0x8021,则表示这是网络控制数据。
FCS字段为帧校验和字段,用来检测PPP帧的完整性(CRC计算),长度为2字节。
透明传输问题:
帧的数据部分出现了Flag字段,接收方可能会误认为是个开始或者结束的标志。
解决:
字节填充法:插入“转义字符“
信息字段中出现0x7E 转变成 (0x7D, 0x5E)
信息字段中出现0x7D转变成 (0x7D, 0x5D)
在数值小于0x20的ASCII码控制字符前面插入7D,同时加上0x20
例如:0x13->0x7D,0x33
比特填充法:插入“比特0“
发送方:发现5个连续的比特1,则立即填充1个比特0。
接收方:发现5个连续的比特1,就把其后的1个比特0删除。
以太网的两个标准:
DIX Ethernet V2 是世界上第一个局域网产品(以太网)的规约。
IEEE 802.3 是第一个 IEEE 的以太网标准。
以太网发送的数据都使用曼彻斯特(Manchester)编码。
以太网采用CSMA/CD协议: 无连接不可靠的服务。
数据链路层的两个子层:
逻辑链路控制 LLC (Logical Link Control)子层->与传输媒体无关
媒体接入控制 MAC (Medium Access Control)子层->与传输媒体有关
网络接口板/通信适配器 (adapter) /网络接口卡 NIC (Network Interface Card)/“网卡”:
进行串行/并行转换。
对数据进行缓存。
在计算机的操作系统安装设备驱动程序。
实现以太网协议。
CSMA/CD 协议:载波监听多点接入 / 碰撞检测
“多点接入”表示许多计算机以多点接入的方式连接在一根总线上。
“载波监听”是指每一个站在发送数据之前先要检测一下总线上是否有其他计算机在发送数据,如果有,则暂时不要发送数据,以免发生碰撞。若检测到信道空闲,并在 96 比特时间内信道保持空闲(保证了帧间最小间隔),就发送这个帧。
“碰撞检测”就是计算机边发送数据边检测信道上的信号电压大小。
当几个站同时在总线上发送数据时,总线上的信号电压摆动值将会增大(互相叠加)。
当一个站检测到的信号电压摆动值超过一定的门限值时,就认为总线上至少有两个站同时在发送数据,表明产生了碰撞(信号会产生严重的失真)。
解决:
出现碰撞,立即停止发送,免得继续浪费网络资源,等待一段随机时间后再次发送。
主机最多经过2τ(即σ→0)的时长就可检测到本次发送是否遭受了碰撞。
因此,以太网的端到端往返传播时延2τ称为争用期或碰撞窗口。
经过争用期这段时间还没有检测到碰撞,才能肯定这次发送不会发生碰撞。
对于 10 Mb/s 以太网,在争用期(也称512比特时间)内可发送512 bit,即 64 字节(最短有效帧长)。如果发生冲突,就一定是在发送的前 64 字节之内。
二进制指数类型退避算法:
发生碰撞之后等待一段时间(基本退避时间)再次发送。
参数 k 按下面的公式计算:
k = Min[重传次数, 10]
当 k<=10 时,参数k等于重传次数。
当重传达16次仍不能成功时即丢弃该帧,并向高层报告。
帧间最小间隔为 9.6 us,相当于 96 bit 的发送时间。
信道利用率:
以太网中定义了参数 α,它是以太网单程端到端时延τ与帧的发送时间T0之比:
α = τ/ T0
α→0,表示一发生碰撞就立即可以检测出来,并立即停止发送,信道利用率很高。
α 越大,表明争用期所占的比例增大,每发生一次碰撞就浪费许多信道资源,使得信道利用率明显降低。
信道利用率的最大值 Smax :
理想化的情况, 各站发送数据都不会产生碰撞。
使用集线器的星形拓扑:
以太网:粗同轴电缆(10BASE5)->细同轴电缆(10BASE2)->双绞线(10BASE-T)
采用星形拓扑, 星形的中心则增加了一种可靠性非常高的设备,叫做集线器(hub)。
以太网的MAC地址(硬件地址,用来定义网络设备的位置,6个字节,48位):
适配器从网络上每收到一个 MAC 帧就首先用硬件检查 MAC 帧中的 MAC 地址.
如果是发往本站的帧则收下,然后再进行其他的处理,否则就将此帧丢弃。
三种帧:
单播(unicast)帧(一对一)
广播(broadcast)帧(一对全体)(全1)
多播(multicast)帧(一对多)(I/G比特为1)
帧的格式:
两种标准:
DIX Ethernet V2 标准(最常用)
目的地址字段->6字节
源地址字段->6字节
类型字段(标志上一层使用的是什么协议)->2字节
数据字段(MAC 客户数据字段)->46 ~ 1500 字节
最小长度46=最小长度64字节-18字节的首部和尾部
(不能小于最小长度,否则在后面加入整数字节的填充字段)
FCS 字段->4字节
帧的前面插入(硬件生成)的 8 字节:
前7个字节是前同步码,用来迅速实现MAC帧的比特同步。
最后1 个字节是帧开始定界符,表示后面的信息是MAC 帧。
IEEE 的 802.3 标准
与以太网V2 MAC 帧格式相似。
IEEE 802.3 规定的 MAC 帧的第三个字段是“长度 / 类型”
字段值>0x0600时(1536),表示“类型”。和以太网 V2 MAC 帧一样。
字段值<0x0600时表示“长度”。
数据字段必须装入上面的逻辑链路控制LLC子层的LLC帧。
扩展以太网:
在物理层使用集线器扩展
增大了碰撞域(冲突域),但没有提高吞吐量,无法连接不同的数据率的碰撞域。
网络中一个站点发出的帧会与其他站点发出的帧产生碰撞或冲突的那部分网络。
碰撞域越大,发生碰撞的概率越高。
在数据链路层扩展以太网(早期使用网桥,现在使用以太网交换机)
网桥:根据 MAC 帧的目的地址对收到的帧进行转发和过滤。
以太网交换机:一个多接口的网桥。
全双工方式工作,具有并行性(多对主机能同时通信)。
相互通信的主机都是独占传输媒体,无碰撞地传输数据。
接口有存储器,可以缓存到来的帧。
即插即用设备,内部有帧交换表(又称为地址表),通过自学习算法逐渐建立。
交换方式:
存储转发方式:把整个数据帧先缓存后再进行处理。
直通方式: 接收数据帧的同时就立即按数据帧的目的MAC地址转发。
不检查差错就直接将帧转发出去,可能转发无效帧。
自学习功能:运行自学习算法自动维护交换表。
刚开始帧交换表为空,收到一个帧就登记下来,然后查询目的MAC地址,找到就明确转发(和进来的是同一个接口就将帧丢弃),找不到从其他所有接口转发(盲目泛洪)。帧交换表每条记录有自己的有效时间,到期自动删除。
为了防止兜圈子,IEEE 802.1D 标准制定了一个生成树协议 STP ,从一台主机到所有其他主机的路径是无环路的树状结构(在任何两个站之间只有一条路径)。
从总线以太网到星形以太网:
总线以太网使用 CSMA/CD 协议,以半双工方式工作。
以太网交换机(星形结构)不使用共享总线,没有碰撞问题,因此不使用 CSMA/CD 协议,而是以全双工方式工作。
虚拟局域网:由一些局域网网段构成的与物理位置无关的逻辑组,而这些网段具有某些共同的需求。可以减小”广播风暴”带来的性能恶化。
优点:改善性能、简化管理、降低成本、改善安全性
划分方式:
基于交换机端口
基于计算机网卡的MAC地址
基于协议类型
基于IP子网地址
基于高层应用或服务
100BASE-T 以太网(快速以太网):
100->100Mbit/s的传输速率
BASE->基带传输
T->双绞线 F->光纤
三种不同的物理层标准:
100BASE-TX/100BASE-T4/100BASE-FX
PPPoE (PPP over Ethernet)
意思是“在以太网上运行 PPP”
把 PPP 协议与以太网协议结合起来 —— 将 PPP 帧再封装到以太网中来传输
两个阶段:
发现阶段:通过以太网帧协议,找到一个点到点的通信链路
会话阶段:采用PPP方式,建立并且进行点到点的数据传输