目录

功能重要单一的数据链路层

连接的特征(Verbindungscharakterisierung)

两个节点之间的连接会有如下的各种属性:传输速率(Übertragungsrate),传输延迟(Übertragungsverzögerung),传输方向(Übertragungsrichtung),以及多路访问或多路复用(Mehrfachzugriff (Multiplexing))。

点对点的信道

Übertragungsrate

数据在信道上面被放置的时间我们称作Serialisierungszeit,记作 $t_s$, L 为需要传输的数据大小,r 为传输速率,于是 $$ t_s = \frac{L}{r} $$ 这里的$t_s$可以认为是传输时延,传输这些数据会要用到的时间。

Ausbreitungsverzögerung

顾名思义,传播延迟,与上面的不一样的是这是信号在信道中从一段到另一端会花的时间: $$ t_p = \frac{d}{vc_0} $$ $c_0$即为光速,v为一个常数, 与传输介质有关。

Gesamtverzögerung

$t_d 即是总的延迟为上面两项的和$。

Bandbreitenverzögerungsprodukt

这个就是所谓的宽带延迟,正是因为在信道中的传播不可避免的需要时间,我们需要一定容量来存储: $$ C = t_p r = \frac{d}{vc_0} r $$ 单位是bit。

Übertragungsrichtung

image

Übertragungsrichtung

广播信道的数据链路层

一般来说这里我们会用到时分复用(Zeitmultiplex),即用一个信道实现不同端口之间的通信,基于分组网络(以太网,无线局域网)中的非确定性方法(并发访问)。 至于复用我想教授的slide上面的图已经很清楚了:

image

Multiplexing

ALOHA and Sorted ALOHA

CSMA, CSMA/CD, CSMA/CA

CSMA 指的其实是 Carrier Sense Multiple Access, 是对于前面sorted ALOHA的一种简单的优化,也即“listen before talk”。

CSMA/CD

中文翻译也即 载波监听碰撞监听多点接入/碰撞检测,以太网即用此协议,分为载波监听和碰撞检测两部分:即“发送前先监听”,每个站在发送数据前要先检测一下总线上是否有其他站在发送数据,如果有,暂时不发送数据,等待信道空闲时再发送,总线上没有“载波”,这里只是一个习惯称呼;-碰撞检测:即“边发送边监听”,适配器边发送数据边检测信道上的信号电压,以便判断自己在发送数据时其他站是否也在发送数据。同时发送数据时,总线上的信号电压变化幅度大,超过一定门限值时,就认为总线上至少两个站同时在发送数据,表明有碰撞。这时总线上的信号失真,无法恢复。所以,每一个正在发送数据的站,一旦发现有碰撞,适配器就要立即停止发送,以免浪费网络资源,等待一段随机时间后再发送。 如果考虑上信号在链路上的传播时延,那么过程类似这样;

image

CSMA/CD

每个端点在自己发送数据之后的一小短时间内,存在着遭遇碰撞的可能性,这段时间最长为两个单程最长时间,将这个时间成为“争用期”,只有通过争用期的“考验”,才能肯定这次发送不会发生碰撞。正是因为这个原因,以太网规定了数据帧的最小长度即64字节,所有小于此长度都认为是碰撞导致的丢弃帧。当我们接收到至少64字节我们就可认为这之间没有碰撞。

CSMA/CD不能同时进行发送和接受,因此是Halbdulplex,也就是半双工协议,即双向交替通信。

CSMA/CA

在有线连接的局域网中就不能使用CSMA/CD(无线局域网中),因为即使发送的信息足够长, 也不能总是检测到碰撞。这里的CA其实就是colision avoidance,发送包的同时不能检测到信道上有无冲突,只能尽量“避免”。例如,如果计算机A和计算机C同时给计算机B发送一个控制消息,它们将同时到达计算机B,导致冲突的发生。当这种冲突发生时,发送者可以随机等待一段时间,然后重发控制消息。因为控制消息比数据帧要短得多,所以发生第二次冲突的可能性也要比传统以太网要小很多。最终将有一个控制消息正确到达,然后计算机B发送一个响应消息。通常CSMA/CA利用ACK信号来避免冲突的发生,也就是说,只有当客户端收到网络上返回的ACK信号后才确认送出的数据已经正确到达目的。

教授slide中是这样说的:

  1. Wenn Medium frei, übertrage mit Wahrscheinlichkeit p oder verzögere mit Wahrscheinlichkeit 1 − p um eine feste Zeit dann 1.
  1. Wenn Medium belegt, warte bis frei, dann 1.

封装成帧

封装简单说就是事先对数据包进行拆分和打包,在所发送的数据包上附加上目标地址,本地地址,以及一些用于纠错的字节等。对数据包进行处理时通信双方所遵循和协商好的规则就是协议。

网络层传输的包(packet)在数据链路层中传输的是帧就(frame,Rahmen)。数据包到达数据链路层后加上数据链路层的协议头和协议尾就构成了一个数据帧。

MAC地址

是指局域网上的每一台计算机中固化在适配器的ROM中的地址(因此也叫适配器地址或适配器标识符EUI—48),由硬件厂商决定,是不会变的。只要适配器不变,它就不变。它是每一个站的“名字”或标识符。如果连接在局域网上的主机或路由器安装有多个适配器,那么这样的主机或路由器就有多个“地址”,也就是说,这种48位地址应当是某个接口的标识符。当然通过相应软件也是可以改变mac地址的。

MAC帧格式

差错检测

CRC亢余检测