- 功能
链路层主要有三个目的:
a) 为IP模块发送和接收IP数据报
b) 为ARP模块发送ARP请求和接收ARP应答
c) 为RARP模块发送RARP请求和接收RARP应答 - 以太网和IEEE802封装
以太网:为当今TCP/IP采用的主要的局域网技术。它采用一种称为CSMA/CD的媒体接入方法,意思是带冲突检测的载波侦听多路接入。速率为10Mb/s,地址为48bit。
以太网IP数据报的封装是在RFC894中定义的,IEEE802网络的IP、数据报封装是在1042中定义。因此主机需求RFC要求每台Internet主机都与一个10Mb/s的以太网电缆相连接:
a) 必须能发送和接收采用RFC894的封装格式的分组。
b) 必须能够接收与RFC894混合的RFC1042封装格式的分组。
c) 也许能够发送采用RFC1042格式封装的分组。如果主机能够同时发送两种类型的分组数据,那么发送的分组必须是可以设置的,而且默认条件下必须是RFC894分组。
802定义的有效值长度与以太网定义的有效类型值五一相同,这样,就可以对两种帧格式进行区分。CRC字段用于帧内后续字节差错的循环冗余检验。802.3标准定义的帧和以太网定义的帧都有最小长度要求,802.3规定数据部分必须至少38字节,对于以太网,要求最少46字节。 - 尾部封装
尾部封装是一个早期的BSD系统在DEC VAX机上运行时的试验格式,它通过调整IP数据报中字段的次序来提高性能。在以太网数据帧中,开始的那部分是变长的字段(IP首部和TCP首部)。把它们移到尾部(CRC之前),这样当把数据复制到内核是,就可以把数据帧中的数据部分映射到一个硬件页面,节省内存到内存的复制过程。 - SLIP:串行线路IP
SLIP适用于家庭中每台计算机几乎都有的RS-232串行端口和高速调制器接入Internet。SLIP协议定义的帧格式规则:
a) IP数据报以一个END的特殊字符结束。如果有线路噪声,那么END字符将结束这份错误的报文。
b) 如果IP数据报中某个字符为END,那么就要连续传输两个字节0xdb和0xdc来取代它。0xdb这个特殊字符被陈祚SLIP的ESC字符。
c) 如果IP数据报中某个字符为ESC,那么就要连续传输两个字节0xdb和0xdd来取代它。
SLIP缺陷:
a) 每一端都必须知道对方的IP地址。没有办法将本段的IP地址通知给另一端。
b) 数据帧中没有类型字段。如果一条串行线路用于SLIP,那么它不能同时使用其他协议。
c) 没有在数据帧中加入检验和类似于以太网中的CRC字段。 - 压缩的SLIP:CSLIP
压缩首部,缩短交互响应时间。 - PPP:点对点协议
PPP,点对点协议修改了SLIP协议中的所有缺陷,PPP包括以下三个部分:
a) 在串行链路上封装IP数据报的方法。PPP既支持数据为8位和无奇偶检验的异步模式,还支持面向比特的同步链接。
b) 建立、配置及测试数据链路的链路控制协议。允许双方进行协商,以确定不同的选项。
c) 针对不同网络层协议的网络控制协议体系。
每一帧都已标志字符0x7e开始和结束,然后是一个地址字符,值始终都是0xff,然后是值为0x03的控制字节。接下来是协议字段,类似于以太网中类型字段的功能。当它的值为0x0021时,表示信息字段是一个IP数据报;值为0xc021时,表示信息字段时链路控制数据,值为0x8021时,表示信息字段是网络控制字段。
PPP比SLIP具有以下优点:
a) PPP支持在单根串行线路上运行多种协议,不只是IP协议。
b) 每一帧都有循环冗余检验。
c) 通信双方可以进行IP地址的动态协商。
d) 对TCP和IP报文首部进行压缩。
e) 链路控制协议可以对多个数据链路选项进行设置。 - 环回接口
环回接口:运行在同一台主机上的客户程序和服务器成都通过支持TCP/IP继续通信。127.0.0.1,命名localhost,此IP分配给这个接口。一个环回接口的数据报不能出现在任何网络上。
TCP/IP协议之链路层
最新推荐文章于 2023-07-28 19:49:10 发布