常常在两个对等的数据链路层之间画出一个数字管道,而在这条数字管道上传输的数据单位是帧。
链路是一条点到点的物理线路段,中间没有任何其他的交换结点。(一条链路只是一条通路的一个组成部分)
数据链路除了物理线路外,还必须有通信协议来控制这些数据的传输。若把实现这些协议的硬件和软件加到链路上,就构成了数据链路。现最常用的方法是使用适配(即网卡)来实现这些协议的硬件和软件。网卡包括了数据链路层和物理层这两层的功能。
数据链路层把网络层交下来的数据构成帧发送到链路上,以及把接收到的帧中的数据取出并且上给网络层
封装成帧(framing)就是在一段数据的前后分别添加首部和尾部,然后就构成了一个帧。确定帧的界限。
首部和尾部的一个重要作用就是进行帧定界。
用控制字符进行帧定界
透明传输:用户不用关心如何传输,只关心传输什么
发送端的数据链路层在数据中出现控制字符“SOH〞或“EOT”的前面插入一个转义字
符“ESC"(其十六进制编码是 1B)。
字节填充:接收端的数据链路层在将数据送往网络层之前删除插入的转义字符
传输过程中可能会产生比特差错。在一段时间内,传输错误的比特占所传输比特总数的比率称为误码率BER,误码率与信噪比有很大的关系。
为了保证数据传输的可靠性,在计算机网络传输数据时,必须采用各种差错检测措施。
检错能力极强、开销很小、易于实现
CRC是一种无比特差错,而不是无传输差错的检测机制
OSI/RM模型的观点:数据链路层要做成无传输差错的!但这种理念目前不被接受!
现在全世界使用得最多的数据链路层协议是点对点协议 PPP (Point-to-Point Protocol)
用户使用拨号电话线接入因特网时,一般都是使用 PPP 协议。
PPP协议帧最大不超1508字节
在发送端,只要发现有5个连续1,则立即填入一个0
接收端对帧中的比特流进行扫描。每当发现5个连续1时,就把这5个连续1后的一个0删除
出去开始和结束的0x7E,不会有第二个连续的6个1出现
PPP特点:不使用序号和确认机制
当用户拨号接入ISP 时,路由器的调制解调器对拨号做出确认,并建立一条物理连接。
PC向路由器发送一系列的LCP分组(封装成多个PPP帧)。
家用网络控制由LCP管理
这些分组及其响应选择一些PPP参数,进行网络层配置(NCP的配置),NCP给新接入的 PC 机分配一个临时的IP地址,使PC机成为因特网上的一个主机。
通信完毕时,NCP释放网络层连接,收回原来分配出去的IP地址。接着,LCP 释放数据链路层连接。最后释放的是物理层的连接。
特点
网络为一个单位所拥有,且地理范围和站点数目均有限。
优点
具有广播功能,从一个站点可很方便地访问全网。局域网上的主机可共享连接在局域网上的各种硬件和软件资源。
便于系统的扩展和逐渐地演变,各设备的位置可灵活调螫和政变。
提高了系统的可靠性、可用性和生存性。
最初的以太网是将许多计算机都连接到一根总线上。
当初认为这样的连接方法既简单又可靠,因为总线上没有有源器件。
单次传播时延:ε
1、边发送边监听,监听0~2ε,超过2ε说明没有发生碰撞
2、碰撞后停止发送,等待一个随机时间(二进制指数退避算法)重发
3、强化冲突:发送一个人为干扰信号(Jam信号:32bit/48bit),让所有站点都知道冲突,耗时τ
4、帧间最小距离:9.6μs,用于清理缓存、处理数据
5、如果前64字节(512bit)不碰撞,那么后续不会再碰撞了。10Mbps以太网的征用期为512bit时间
10 M b p s ∗ 51.2 μ s = 512 b i t = 64 B y t e 10Mbps * 51.2μs = 512bit = 64Byte 10Mbps∗51.2μs=512bit=64Byte
对于100Mb/s的以太网,争用时间为5.12 μs
2ε:基本退避时间/征用期,10Mbps以太网的征用期为512bit时间
K = m i n [ 重传次数 , 10 ] K=min[重传次数, 10] K=min[重传次数,10]
r : [ 0 , 2 k − 1 ] r:[0,2^{k}-1] r:[0,2k−1](随机数)
T w a i t = r ⋅ 2 ε T_{wait}=r·2ε Twait=r⋅2ε
- K > = 16 K>=16 K>=16 --> 报告应用层
- 再次冲突概率: 1 / K 1/K 1/K
802.11冲突:2+ 站点(AP或者站点)在同一个时刻发送
CSMA:发送前侦听信道,不会和其它节点正在进行的传输发生冲突
802.11没有冲突检测(无法检测冲突:自身信号远远大于其他节点信号)
无法CD,一旦发送一股脑全部发送完毕,不CD
为了避免无CD带来的信道利用率低的问题,事前进行冲突避免
如果帧正确,则在SIFS后发送ACK
无法完全避免冲突
两个站点相互隐藏
选择了非常靠近的随机回退值
允许发送方“预约”信道,而不是随机访问该信道:避免长数据帧的冲突
采用小的预约分组,可以完全避免数据帧的冲突
IEEE 802委员会把局域网的数据链路层拆分为两个子层
在局域网中,硬件地址又称为物理地址,或MAC地址。
MAC地址(48bit) = IEEE指定前缀(24bit)+ 设备序号(24bit)
MAC地址全球唯一。但是可以伪造,并不安全
win修改本机mac地址
以太网v2格式
当数据字段的长度小于 46 字节时,应在数据字段的后面加入整数宇节的填充字段,以保证以太网的MAC 帧长不小于64字节。
MAC帧长度为64~1518字节
最大传输单元MTU长度为46~1500字节
1、帧的长度不是整数个字节
2、用收到的帧检验序列FCS查出有差错
3、数据字段的长度不在46~1500字节之间
4、有效的MAC帧长度为64~1518字节之间
5、对于检查出的无效MAC 帧就简单地丢弃。以太网不负责重传丢弃的帧。
集线器是使用电子器件来模拟实际电缆线的工作,因此整个系统仍然像一个传统的以太网那样运行。集线器使用了大规模集成电路芯片,因此这样的硬件设备的可靠性已大大提高了
使用集线器的以太网在逻辑上仍是一个总线网,各工作站使用的还是 CSMA/CD协议,并共享逻辑上的总线。
使原来属于不同碰撞域的局域网上的计算机能够进行跨碰撞域的
通信。
扩大了局域网覆盖的地理范围。
碰撞域增大了,但总的吞吐量并未提高。
如果不同的碰撞域使用不同的数据率,那么就不能用集线器将它们互连起来。
网桥工作在数据链路层,它根据 MAC 帧的目的地址对收到的帧进行转发
网桥具有过滤帧的功能。当网桥收到一个帧时,并不是向所有的接口转发此帧,而是先检查此帧的目的MAC 地址,然后再确定将该帧转发到哪一个接口
过滤通信量。
扩大了物理范围。
提高了可靠性。
可互连不同物理层、不同MAC 子层和不同速率(如10Mb/s和100Mb/s以太网)的局域网。
存储转发增加了时延。
在MAC 子层并没有流量控制功能。
具有不同MAC 子层的网段桥接在一起时时延更大。
网桥只适合于用户数不太多(不超过几百个)和通信量不太大的局域网,否则有时还会因传播过多的广播信息而产生网络拥塞。这就是所谓的广播风暴。
透明网桥是即插即用设备。"透明"是指局域网上的站点并不知道所发送的帧将经过哪几个网桥,因为网桥对各站来说是看不见的。
以太网交换机实质上就是一个多接口的网桥,通常都有十几个或更多的接口,和工作在物理层的转发器、集线器有很大的差别。以太网交换机的每个接口都直接与一个单台主机或另一个以太网交换机相连,并且一般都工作在全双工方式。以太网交换机还具有并行性,即能同时连通多对接口,使多对主机能同时通信(而网桥只能一次分析和转发一个帧)。相互通信的主机都是独占传输媒体,无碰撞地传输数据
以太网交换机的接口还有存储器,能在输出端口繁忙时把到来的帧进行缓存。因此,如果连接在以太网交换机上的两台主机,同时向另一台主机发送帧,那么当这台主机的接口繁忙时,发送帧的这两台主机的接口会把收到的帧暂存一下,以后再发送出去。
以太网交换机是一种即插即用设备,其内部的帧交换表(又称为地址表)是通过自学习算法自动地逐渐建立起来的。以太网交换机由于使用了专用的交换结构芯片,用硬件转发,其转发速率要比使用软件转发的网桥快很多。