数据链路层服务
术语:主机和路由器:节点(nodes)
连接相邻结点的通信链路(links)
链路层数据分组:帧(frame),封装网络层数据报
数据链路层负责通过一条链路从一个结点向另一个物理链路直接相连的相邻节点传送数据报
链路层在”设配器“即网卡中实现,在一个芯片上实现:以太网网卡,802.11网卡;以太网芯片组。
差错编码
差错编码原理:添加冗余信息
差错编码可以分为检错码和纠错码
汉明距离是使用在数据传输差错控制编码里面的,汉明距离是一个概念,它表示两个(相同长度)字对应位不同的数量,我们以d(x,y)表示两个字x,y之间的汉明距离。对两个字符串进行异或运算,并统计结果为1的个数,那么这个数就是汉明距离。
对于检错码,如果编码集的汉明距离ds=r+1,则该差错编码可以检测r位的差错
ci与cj是编码。ci错成了c‘
如果r+1位错了可能会错成另外一个编码
编码集的汉明距离指里面两个编码的最小汉明距离
纠错码会把无效编码纠正成离他最近的编码。如果错了r+1个可能会纠正成cj
常见的差错编码:
奇偶校验码
CRC循环冗余校验码
检错能力更强大,将数据比特视为一个二进制数D
选择一个r+1位的生成比特模式G
目标:选择r位的CRC比特,R
多路访问控制(MAC)协议
理想MAC协议
MAC协议分类
三大类:
信道划分MAC协议:多路复用技术,TDMA、FDMA、CDMA、WDMA等
随机访问MAC协议:信道不划分,使用全部资源(带宽),允许冲突采用冲突恢复机制,重新发送冲突
轮转MAC协议:节点轮流使用信道
随机访问MAC协议
时隙ALOHA协议
假定:
所有真大小相同
时间被划分成等长的时隙(每个时隙可以传输1个帧)
节点只能在时隙开始时刻发送帧,时隙结束发送完成
节点间时钟同步
如果两个或两个以上节点在同一时隙发送帧,节点即检测到冲突
运行:当节点有新的帧时,在下一个时隙发送
如果无冲突,该节点可以在下一个时隙继续发送新的帧,
如果冲突,该节点在下一个时隙以概率P重传此帧。直到成功
效率:长期运行时,成功发送帧的时隙所占比例(很多节点有很多帧待发送)
非时隙ALOHA
更加简单,无图同步,当有新的帧生成时,立即发送,冲突可能性增大
比时隙ALOHA协议效率更差,但是是最早提出来的MAC协议
CSMA协议载波监听多路访问协议(carrirer sense multiple access)
1坚持:当发现信道忙,以概率等于一一直监听该信道,当信道空闲马上发出帧
非坚持:当发现信道忙,不一直监听信道,随机等待一段时间回头在监听信号
p坚持:以概率p监听信道,以1-p等待信道
冲突可能仍然发生:比如两个节点都侦听信道,信道空闲时同时发出帧或信号传播延迟导致冲突
CSMA/CD协议:CSMA with collision detection
短时间可以检测到冲突,冲突后传输中止,减少信道浪费
轮转访问MAC协议
主节点一个一个的访问从节点是否有数据传输,如果在询问第一个节点,最后一个结点有数据,就会等待
信道划分MAC协议:时间、频带、码片划分
随机访问MAC协议:ALOHA,S-ALOHA,CSMA,CSMA/CD用于以太网 CSMA/CA应用于802.11无线局域网
轮转访问MAC协议:
主结点轮询,
蓝牙、FDDI、令牌轮询
MAC地址 ARP协议
MAC地址(或LAN地址,物理地址,以太网地址)
作用:用于局域网内标识一个帧从哪个接口发出,到达哪个物理相连的其他接口
48位MAC地址(用于大部分LANs),出厂时 固化在网卡的ROM中,有时也可以软件设置。但是要保证在此局域网内MAC是唯一的
最常用的表示形式 1A—2F-BB-76-09-AD
使用16进制,8位一组分为六个字节
MAC地址由IEEE统一管理与分配。网卡生产商购买的MAC地址空间(前24比特,后24比特自己来定义) 因为有全球的组织来负责,可以保证每一块网卡地址都不一样
MAC地址就像人的身份证号
IP地址:邮政地址
APR:地址解析协议
以太网(ETHERNET)
统治地位的有限LAN技术,应用广泛的LAN技术。比令牌局域网和ATM简单、便宜
以太网:不可靠、无连接服务
无连接:发送帧的网卡与接收帧的网卡间没有握手过程
不可靠:接收网卡不向发送网卡进行确认:差错帧直接丢弃,丢弃帧中的数据恢复依靠高层协议如TCP,否则发生数据丢失
以太网的MAC协议:采用二进制指数避退算法的CSMA/CD
NIC为网卡,第五步中n=min(m,10)
大部分情况下讨论以太网数据帧结构与长度时不包含前导码。
以太网交换机
链路层设备
存储转发以太网帧
检验到达帧的目的MAC地址,选择性向一个或多个输出链路转发帧,利用CSMA/CD访问链路发送帧
透明的:主机感知不到交换机的存在,即插即用
交换机获取交换表是通过自学习,获知到达主机的接口信息
当收到帧时,交换机学习到发送帧的主机(通过帧的源MAC地址),位于收到该帧的接口所连接的LAN网段
将发送主机MAC地址/接口信息记录到交换表中
交换机与路由器
交换机可以隔离冲突域
虚拟局域网(VLAN)
这种方法省去了用路由器进行网络上的隔离
跨越多交换机的VLAN
若要通过蓝色端口连接蓝色端口,黄色端口连接黄色端口。则会造成过多线缆的连接,因此提出了中继端口,因为中继端口是属于任何一个VLAN的所以,多VLAN转发必须带VLAN ID信息
ppp协议
点对点数据链路控制
一个发送端 一个接收端,一条链路:比广播链路容易
只支持一个点到另一个点之间的通信,不存在第三方共享链路,不存在MAC协议的控制问题
无需介质访问控制
无需明确的MAC寻址
如拨号链路,ISDN链路
常见的点对点数据链路控制协议:HDLC(high level daa link control)、PPP(poin-to-poin protocol)
比特透明传输:任何比特模式都会支持(例如每字段长度),也就是会进行特殊的填充处理
定界符用来标志帧的开始与结束
为了防止数据中出现01111110被当成结束符。
802.11 无线局域网
802.11b 直接序列扩频技术
802.11a g 正交频分复用技术OFDM 频带利用率高,支持更高速率传输
802.11体系结构
BSS基站的覆盖范围
每个AP都会在这11个频段中选择一个频率来作为信道,相邻的两个AP选择相同的或相邻的信道都会产生干扰,所以要有相应的MAC协议来解决冲突问题
主机会扫描11个信道,不管哪一个AP。在一个信道工作时就会在这个信道定时的发送信标帧
802.11多路控制访问
无线信号的强度与距离的平方甚至三次方呈反比,因此不能像CSMA/CD那样检测
隐藏站收到CTS之后也知道该推迟发送数据
802.11的MAC帧
地址4用于自组网模式,很少用
路由器把无线网帧转换成局域网帧