链路层的三个目的
- 为IP模块发送和接收IP数据报
- 为ARP模块发送ARP请求和接收ARP应答
- 为RARP模块发送RARP请求和接收RARP应答
以太网和IEEE802 封装
以太网是什么?
以太网是1982年由DEC、Intel和Xerox联合公布的一个标准。他是当今TCP/IP采用的主要的局域网技术。它采用了一种叫做CSMA/CD的媒体接入方法,意思是带冲突检测的载波侦听多路接入技术。它的速率为10Mb/s,地址为48位。
IEEE802
IEEE(电子电气工程师协会)802委员会公布了一个和以太网稍有不同的标准。
最常用的封装格式是以太网的封装格式。
两种帧格式都采用48bit的目的地址和源地址。也就是所谓的硬件地址。
802标准和以太网的帧都有最小长度要求。802.3规定数据部分必须最少为38字节,以太网要求最少为46字节。为了保证这一点,必须在不足空间插入填充字节。
SLIP:串行线路IP
什么是串行线路?
就是一个比特一个比特地传输数据的线路,和并行线路对应。
SLIP:Serial Line IP,在串行线路上对IP数据报进行封装的简单形式。
SLIP的缺陷:
- 每一端必须知道对方的IP地址。没有办法把本端的IP地址通知给另一端
- 帧中没有类型字段,不用同时使用其他协议。
- 没有检验和。传输中发生错误只能通过上层发现。
压缩的SLIP
为什么会有CSLIP(压缩的SLIP)?
- 串行线路的传输速率较低,通信经常是交互的,所以会有很多小的TCP分组交换
- 为了传输1个字节的数据可能需要20个字节的IP首部和20个字节的TCP首部
- 为了克服这个性能上的缺陷,人们提出了CSLIP
CSLIP把上面的40个字节压缩到3到5个字节,能在CSLIP每一端维持16TCP连接。压缩的首部大大缩短了交互响应时间。
PPP:点对点协议
PPP协议修改了SLIP协议中的所有缺陷。
PPP协议包含三个部分:
- 在串行链路上封装IP数据报的方法
- 建立、配置及测试数据链路的链路控制协议(LCP)。允许通信双方进行协商
- 针对不同网络层协议的网络控制协议(NCP)。例如IP、OSI网络层、DECnet以及AppleTalk
PPP比SLIP具有的优点:
- PPP支持在单根串行线路上运行多种协议,不只是IP协议
- 每一帧都用循环冗余检验
- 通信双方可以进行IP地址的动态协商
- 对TCP和IP报文首部进行压缩
- 链路控制协议可以对多个数据链路选项进行设置
环回接口
环回接口允许运行在用一台主机上的客户程序和服务器程序通过TCP/IP通信。
A类网络号127就是为环回接口预留的。多数系统把127.0.0.1分配个这个接口,命名位localhost。一个传给环回接口的IP数据报不能出现在任何网络上。
最大传输单元MTU
链路层对数据帧的最大长度有一个限制,称为MTU。
它是一个逻辑限制,为了给交互使用提供足够快的响应时间。
路径MTU
- 如果两台主机通信经过多个网络,每个网络可能有不同的MTU
- 两台通信主机路径中的最小MTU,称作路径MTU
- 路径MTU在两个方向上不一定是一致的
TCP/IP成功的原因之一是它几乎能在任何数据链路技术上运行。