第二章 链路层
1、链路层的作用
TCP/IP的四层模型中,处于最下层的是链路层。它的主要作用是:接收和发送IP模块的数据报;为APR模块发送ARP请求和接收APR应答;为RAPR模块发送RAPR请求和接收RAPR应答。
2、以太网协议和IEEE 802.3协议。
以太网协议时先提出来的,采用CSMA/CD(载波接听多路访问及差错控制)技术。IEEE902.3是后提出来的,针对所有的CSMA/CD网络。它和以太网协议稍有不同。
注意这里的目的地址和源地址都采用6字节,指的是物理地址。由ARP和RAPR模块进行网络地址(32位)和物理地址(48)之间的映射和转换。并且关注两种协议规定的数据字节数。
3、SLIP(穿行线路IP协议)
a)、概念
它是一种在串行线路上对IP数据报进行简单封装的形式。SLIP适用于家庭中每台计算机几乎都有的RS-232串行端口和高速调制解调器接入Internet。
b)、SLIP帧格式
· IP数据报以一个称作E N D(0 x c 0 )的特殊字符结束。同时,为了防止数据报到来之前 的线路噪声被当成数据报内容,大多数实现在数据报的开始处也传一个 E N D字符(如果有线 路噪声,那么E N D 字符将结束这份错误的报文。这样当前的报文得以正确地传输,而前一个错误报文交给上层后,会发现其内容毫无意义而被丢弃)。
· 如果I P报文中某个字符为 E N D ,那么就要连续传输两个字节 0 x d b和0 x d c来取代它。 0 x d b这个特殊字符被称作S L I P的E S C字符,但是它的值与A S C I I码的E S C字符(0 x 1 b )不同。
· 如果I P报文中某个字符为 S L I P的E S C字符,那么就要连续传输两个字节 0 x d b和0 x d d来 取代它。
下图展示了SLIP的封装
c)、SLIP的缺陷
·每一端必须知道对方的I P地址。没有办法把本端的I P地址通知给另一端。
·数据帧中没有类型字段(类似于以太网中的类型字段)。如果一条串行线路用于SLIP那么它不能同时使用其他协议。
·SLIP没有在数据帧中加上检验和(类似于以太网中的C R C字段)。如果S L I P传输的报被线路噪声影响而发生错误,只能通过上层协议来发现(另一种方法是,新型的调制解调可以检测并纠正错误报文)。
4、PPP(点对点的协议)
这个可以看做是对SLIP的改进。
5、回环接口
a)、概念
大多数的产品都支持环回接口(Loopback Interface),以允许运行在同一台主机上的客户程序和服务器程序通过T C P / I P进行通信。A类网络号1 2 7就是为环回接口预留的。根据惯例,大多数系统把I P地址1 2 7 . 0 . 0 . 1分配给这个接口,并命名为l o c a l h o s t。一个传给环回接口的I P数据报不能在任何网络上出现。示意图如下所示
6、MTU和路径MTU
MTU : 以太网和8 0 2 . 3对数据帧的长度都有一个限制,其最大值分别是1500字节和1492字节,链路层的这种特性称为MTU。不同的链路层有不同的MTU。
路径MTU : 两台主机可能不会处于同一个物理网络之中,那么数据在进行传输时的
长度一定要小于这个路径中的最小MTU。这叫做路径MTU。