1.引言
链路层主要有三个目的:

1.为IP模块发送和接收IP数据报;

2.为ARP模块发送ARP请求和接收ARP应答;

3.为RARP模块发送RARP请求和接收RARP应答;

硬件: 以太网,令牌环网,FDDI(光纤分布式数据接口),RS-232串行线路等。

本章主要讨论 以太网链路层协议,两个串行接口链路层协议(SLIP和PPP)以及环回(loopback)驱动协议。

2.以太网和IEEE 802封装
以太网是当今TCP/IP采用的主要的【局域网】技术,采用CSMA/CD的媒体接入方法,即带冲突检测的载波侦听多路接入。它的速率为10Mb/s,地址为48bit(硬件地址)。(RFC 894)

IEEE 802是 IEEE 802委员会公布的一个与以太网稍有不同的标准集。(RFC 1042)

最常使用的是第一种封装格式(RFC 894定义的格式)。

CRC字段用于帧内后续字节差错的循环冗余码检验。

以太网要求帧最小为46字节,不足的空间要填充字节。

3.SLIP:串行线路IP
全称:Serial Line IP,是一种在串行线路上对IP数据报进行封装的简单形式,适用于家庭中每台计算机几乎都有的RS-232串行端口和高速调节器接入Internet。

4.压缩的SLIP
由于串行线路速率低,而且通信经常是交互式的,因此SLIP线路上有许多小的tcp分组进行交换。为了传送1个字节的数据,需要20个字节的ip首部和20个字节的tcp首部!

CSLIP一般能把上面的40个字节压缩到3或5个字节,它能在CSLIP每一端维持多达16个tcp连接,并知道连接中某些字段一般是不变的。

5.PPP:点对点协议
××PPP包括3个部分:

1) 在串行链路上封装IP数据报的方法。 PPP既支持数据为8位和无奇偶检验的异步模式(如大多数计算机上都普遍存在的串行接口),还支持面向比特的同步链接。

2) 建立、配置及测试数据链路的链路控制协议(LCP:Link Control Protocol)。它允许通
信双方进行协商,以确定不同的选项。

3) 针对不同网络层协议的网络控制协议(NCP:Network Control Protocol)体系。当前RFC定义的网络层有 IP、OSI网络层、 DECnet以及AppleTalk。例如, IP NCP允许双方商定是否对报文首部进行压缩,类似于 CSLIP(缩写词NCP也可用在TCP的前面)。

总的来说, PPP比SLIP具有下面这些优点:
(1) PPP支持在单根串行线路上运行多种协议,不只是IP协议;

(2) 每一帧都有循环冗余检验;

(3) 通信双方可以进行IP地址的动态协商(使用IP网络控制协议);

(4) 与CSLIP类似,对TCP和IP报文首部进行压缩;

(5) 链路控制协议可以对多个数据链路选项进行设置。为这些优点付出的代价是在每一帧的首部增加 3个字节,当建立链路时要发送几帧协商数据,以及更为复杂的实现。

6.环回接口
环回接口允许在【同一台】主机上的客户程序和服务器程序通过TCP/IP进行通信。A类网络号127就是为环回接口预留的。【大多数系统把ip地址127.0.0.1分配给这个接口,命名为localhost】。一个传给环回接口的IP数据报不能在任何网络上出现。

一般情况下,一旦传输层检测到目的端地址是环回地址时,应该可以省略部分传输层和所有网络层的逻辑操作。但是大多数的产品还是照样完成传输层和网络层的所有过程,只是当IP数据报离开网络层时把它返回给自己。这样子简化了设计!

环回接口处理IP数据报的简单过程:


7.最大传输单元MTU
以太网和802.3对数据帧的长度都有限制,最大值分别是1500和1492字节,称为MTU。

如果IP层有一个数据报要传送,但是长度超过了MTU,则IP层就需要进行分片(fragmentation)。

8.路径MTU
当通信要通过多个网络时,每个网络的链路层MTU可能不同,路径中最小的MTU称为路径MTU。

路径MTU是不对称的,因为两个方向上的路由选路可能不同。