# 引论和服务
# 链路层和局域网
- 网络层解决了一个网络到另一个网络的路由问题
- 在一个网络内部是如何由一个节点到达另外一个相邻的节点
- 链路层点到点的传输层功能
# 网络节点的连接方式
- 点到点的连接
- 多点连接
- 共享型介质
- 通过网络交换机
# 数据链路层和局域网
- WAN:网络形式采用点到点链路
- 带宽大,距离远,带宽延迟积大
- 如果采用多点连接方式,冲突代价大,协调节点发送代价大
- 点到点链路的链路层服务实现非常简单,封装和解封装
- LAN 一般采用多点连接方式
- 连接节点方便
- 接到共享型介质上
- 多点连接方式网络链路层功能实现相当复杂
- 多点接入:协调各个节点对共享性介质的访问和使用
- 竞争方式:冲突之后的协调
- 令牌方式:令牌产生,占有和释放等
# 链路层导论
- 主机和路由器是节点(网桥和交换机也是)
- 沿着哦你更新路径,连接相邻节点通信道路的链路(links)
- 有线网络
- 无线网路
- 局域网,共享性链路
- 第二层协议数据单元帧 frame,封装数据报
- 数据链路层负责从一个节点通过链路将(帧中的)数据报发送到相邻的物理节点
# 链路层服务
- 成帧,链路接入
- 将数据封装在帧中,加上帧头帧尾
- 如果采用的是共享性介质,信道接入获得信道访问权
- 在帧头部使用 MAC 地址来标识源 MAC 目的 MAC(不同于 IP)
- 在(一个网络内)相邻两个节点完成可靠数据传输
- 在低出错率的链路上(光纤和双绞线电缆)很少使用
- 在无线路径上经常使用:出错率高
- 流量控制
- 使得相邻节点发送和接收方节点得速度匹配
- 错误检测
- 差错由信号衰减和噪声引起
- 接收方检测出得错误:通知发送端进行重传或者丢弃帧
- 差错纠正
- 接收端检查和纠正 bit 错误,不通过重传来纠正错误
- 半双工和全双工
- 半双工:链路可以双向传输,但一次只有一个方向
# 差错检测和纠正
# 错误检测
- EDC = 差错检测和纠正位(冗余位)
- D = 数据由差错检测保护,可以包含头部字段
- 错误检测不是百分百可靠得
- 协议会漏检一些错误
- 更长的 EDC 字段可以得到更好得检测和纠正效果
# 奇偶校验
# Internet 校验和
# 发送方
- 将报文段看成 16bit 整数
- 报文段得校验和(和 1 得补码和)
- 发送方将 checksum 得值放在 UDP 校验和字段
# 接收方
- 计算接收到得报文段得校验和
- 检查是否与携带校验和字段值一致
# CRC(循环冗余校验)
# CRC 性能分析
- 突发错误和突发长度
- CRC 检测性描述
- 能检测查出所有的 1bit 的错误
- 能够检查出所有的双 bits 的错误
- 能够检查出所有长度
- 出现长度为 r+1 的突发错误
- 出现长度大于 r+1 的突发错误
# 多点访问协议
# 多路访问链路和协议
# 点对点
- 拨号访问 PPP
- 以太网交换机和主机之间的点对点链路
# 广播
- 传统的以太网
- HFC 上行链路
- 802.11 无线局域网
# 多路访问协议
- 单个共享的广播型链路
- 两个或者多个站点同时发送:冲突
# 介质访问控制协议(MAC)
- 分布式算法 - 决定节点如何使用共享信道
- 关于共享控制的通信必须借助信道本身传输
- 没有带外的信道,各节点使用其协调信道使用
- 用于传输控制信息
# MAC(媒体访问控制)协议
# 信道划分
- 把信道划分成小片
- 分配片给每个节点专用
# 随机访问
- 信道不划分,允许冲突
- 冲突后恢复
# 一次轮流
- 节点一次轮流
- 但是又很多数据传输的节点可以获得较长的信道使用权
# 码分多路访问(CDMA)
- 所有站点在整个频段上通信进行传输,采用编码原理加以区分
- 完全无冲突
- 假定:信号同步很好,线性叠加
# 随机存取协议
- 当节点有帧要发送时
- 以信道的贷款的全部发送
- 没有节点间的预先协调
- 两个或者多个节点同时传输,会发生冲突
- 随机存取协议
- 如何检测冲突
- 如何从冲突中恢复
- 随机 MAC 协议
- 时隙 ALOHA
- ALOHA
- CSMA,CSMA/CD,CSMA/CA
# 时隙 ALOHA
# 假设
- 所有帧是等长的
- 时间被划分成相等的时隙,每个时隙可以发送一帧
- 节点只在时隙开始时发送帧
- 节点在时钟上是同步的
- 如何两个或者多个节点在同一个时隙传输,所有的站点都能检测到冲突
# 运行
- 当节点获取新的帧,在下一个时隙传输
- 传输时没有检测到冲突
- 节点能够在下一时隙发送新帧
- 检测时如何检测到冲突,失败
- 节点在每一个随后的时隙以概率 P 重传帧直到成功
# 图解
# 优点
- 节点可以以信道带宽全速连续传输
- 高度分布:仅需要节点之间在时隙上的同步
- 简单
# 缺点
- 存在冲突,浪费时隙
- 即使有帧要发送,仍然有可能存在空闲的时隙
- 节点检测冲突的时间 < 帧传输的时间
- 需要时钟上同步
# CSMA(载波侦听多路访问)
# CSMA:在传输前线侦听信道
- 如果侦听到信道空闲,传送整个帧
- 如果侦听到信道忙,推迟传送
# CSMA 冲突
- 冲突仍然可能发生:由传播时延造成:两个节点可能侦听不到正在进行的传输
- 冲突:整个冲突帧的传输时间都被浪费了,是无效的传输
- 注意:传播时延决定了冲突的概率
# CSMA/CD(冲突检测)
# 检测原理
- 载波侦听 CSMA:和在 CSMA 中一样发送前帧听信道
- 没有传完一个帧就可以在短时间内检测到冲突
- 冲突发生时则传输终止,减少对信道的浪费
- 冲突检测 CD 技术,优先局域网中容易实现
- 检测信号强度,比较传输与接收到的信号是否相同
- 通过周期的过零点检测
# 以太网 CSMA/CD 算法
- 适配器获取数据报,创建帧
- 发送前,侦听信道 CS
- 闲:开始传送帧
- 忙:一直等待到闲再发送
- 发送过程中,冲突检测 CD
- 没有冲突:成功
- 检测到冲突:放弃,之后尝试重发
- 发送方适配器检测到冲突,除放弃外,还发送了一个 Jam 信号,所有听到冲突的适配器也是如此强化冲突,让所有适配器都直到冲突
- 如果放弃,适配器进入指数退避状态
# CSMA/CA 无线局域网
# WLAN 构成
- 基站:AP
- 无线链路
- 移动主机节点
# 无线局域网中的 MAC:CSMA/CA
- 冲突:多个站点在同一时刻发送
- 802.11:CSMA 发送前侦听信道
- 802.11:没有冲突检测
- 无法检测冲突:自身信号远远大于其他节点信号
- 即使能 CD,冲突!= 成功
- 目标:CSMA/CA
- 无法 CD:一旦发送一股脑全部发送完毕
- 为了避免 CD 带来的信道利用率低的问题,事前进行冲突避免
# LANS
# MAC 地址和 ARP
# 32bitIP 地址
- 网络层地址
- 前 n-1 跳:用于使数据报到达目的 IP 子网
- 最后一跳:到达子网中的目标节点
# LAN 地址
- 用于使帧从一个网卡传递到其物理连接的另一个网卡
- 48bit MAC 地址固化在适配器的 ROM,优势也通过软件设定
- 理论上全球任何两个网卡的 MAC 地址都不相同
# 网络地址和 mac 地址分离
# IP 地址和 MAC 地址作用不同
- IP 地址是分层的
- 一个子网所有节点网络号一致,路由聚集,减少路由表
- 需要一个网络中的站点地址网络号一致,如果捆绑需要定制网卡非常麻烦
- 希望网络层的地址是配置的:IP 地址完成网络到网络的交付
- mac 地址是一个平面的
- 网卡在生产时不知道用于哪个网络,因此给网卡一个唯一的标识,用于区分一个网络内部不同的网卡
- 可以完成一个物理网络内部的节点到节点的数据交付
# 分离好处
- 网卡坏了,IP 不变,可以捆绑到另外一个网卡的 mac 上
- 物理网络还可以除 IP 之外支持其他网络层协议,链路协议为任意上层网络协议
# ARP(Address Resolution Protocol)
- 在 LAN 上的每个 IP 节点都有一个 ARP 表
- ARP 表中包括一些 LAN 节点 IP/MAC 地址映射
# 以太网
# 分类
# 总线型
- 所有节点在一个碰撞域内,一次只允许一个节点发送
- 可靠性差,如果介质破损,界面形成信号的反射,发送节点误认为是冲突,总是冲突
# 星型
- 连接选择:hub 或者 switch
- 现在一般是交换机在中心
- 每个节点和相连的交换机端口使用以太网协议(不会和其他节点的发送产生碰撞)
# 以太帧结构
发送方适配器在以太网帧中封装 IP 数据报
# 前导码
- 7B 10101010 + 1B 10101011
- 用来同步接收方和发送方的时钟速率
- 使得接收方将自己的时钟调整到发送端的时钟
- 从而可以按照发送端的时钟来接收所发送的帧
# 地址
- 6 字节源 MAC 地址,目标 MAC 地址
- 帧目标地址 = 本站 MAC 地址,或是广播地址,接收,否则适配器忽略该帧
# 类型
指出高层协议
# CRC
在接收方进行校验
# 以太网:无连接,不可靠的服务
- 无连接:帧传输前,发送方和接收方不会握手
- 不可靠:接收方适配器不发送 ACK 和 NAK 给发送方
- 以太网的 MAC 协议:采用二进制退避算法的 CSMA/CD 介质访问控制形式