TCP/IP详解卷1:第二章(链路层)

1. 以太网和IEEE 802封装

TCP/IP详解卷1:第二章(链路层)


2. SLIP:串行线路IP

    SLIP的全称是serial line IP。它是一种在串行线路上对IP数据报进行封装的简单形式。下列规格描述SLIP的帧格式:

1) IP数据报以一个称作END(0xc0)的特殊字符结束。同时,为了防止数据报到来之前的线路噪声被当做数据报内容,大多数实现在数据报开始处也传一个END字符(如果有线路噪声,那么END字符将结束这份错误的报文。这样当前的报文得以正确的传输,而前一个错误报文上交给上层后,会发现其内容毫无意义而被丢弃)

2)如果IP报文中某个字符为END,那么就连续传输两个字节0xdb和0xdc来取代它。0xdb这个特殊的字符被称作SLIP的ESC字符,但是不同于ASCII的ESC字符

3) 如果IP报文中某个字符为SLIP的ESC字符,那么就要连续传输两个字节0xdb和0xdd来取代它。

TCP/IP详解卷1:第二章(链路层)

    但是SLIP有以下缺陷:

1) 每一端必须知道对方的IP地址。没有办法把本端的IP地址通知给另一端。

2) 数据帧中没有类型字段。如果一条串行线路用于SLIP,那么它不能同时使用其他协议。

3) SLIP没有在数据帧中加上校验和。


3. PPP:点对点协议

    PPP,点对点协议修改了SLIP协议中的所有缺陷。PPP包括以下三个部分:

1) 在串行链路上封装IP数据报的方法。

2) 建立,配置及测试数据链路的链路控制协议。

3) 针对不同网络层协议的网络控制协议体系。

TCP/IP详解卷1:第二章(链路层)

    具体实现过程如下:

1) 当遇到字符0x7e时,需连续传送两个字符:0x7d和0x5e,以实现标志字符的转义。

2) 当遇到转义字符0x7d时,需连续传送两个字符:0x7d和0x5d,以实现转义字符的转义。

3) 默认情况下,如果字符的值小于0x20,一般都要进行转义。

    PPP比SLIP的优势如下:

1) PPP支持在单根串行线路上运行多种协议,不只是IP协议

2) 每一帧都有循环冗余校验

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

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

5) 链路控制协议可以对多个数据链路选项进行设置。


4. 环回接口

    环回接口:允许运行在同一台主机上的客户程序和服务器程序通过TCP/IP进行通信。

TCP/IP详解卷1:第二章(链路层)

1) 传给环回地址(一般为127.0.0.1)的任何数据均作为IP输入

2) 传给广播地址或多播地址的数据报复制一份传给环回接口,然后送到以太网上。

3) 任何传给该主机IP地址的数据均送到环回接口。


你可能感兴趣的:(unix,tcp/ip详解卷1)