... ... ....
下载
第5章接口:SLIP和环回
引言
在第 4章中,我们查看了以太网接口。在本章中,我们讨论 S L I P和环回接口,同样用
i o c t l命令来配置所有网络接口。 S L I P驱动程序使用的 T C P压缩算法在2 9 . 1 3节讨论。环回驱
动程序比较简单,在这里我们要对它进行完整地讨论。
像图4 - 2一样,图5 - 1列出了针对我们三个示例驱动程序的入口点。
i f n e t 以太网 S L I P 环回说明
i f _ i n i t l e i n i t 初始化硬件
i f _ o u t p u t e t h e r _ o u t p u t s l o u t p u t l o o u t p u t 接收并将要传输的分组进行排队
i f _ s t a r t l e s t a r t 开始传输帧
i f _ d o n e 输出完成(未用)
i f _ i o c t l l e i o c t l s l i o c t l l o i o c t l 从一个进程处理i o c t l命令
i f _ r e s e t l e r e s e t 将设备重新设置为一已知状态
i f _ w a t c h d o g 监视设备的故障或采集统计信息
图5-1 例子驱动程序的接口函数
代码介绍
S L I P和环回驱动程序的代码文件列于图 5 - 2中。
文件说明
n e t / i f _ s l v a r . h S L I P定义
n e t / i f _ s l . c S L I P驱动程序函数
n e t / i f _ l o o p . c 环回驱动程序
图5-2 本章讨论的文件
全局变量
在本章讨论S L I P和环回接口结构。全局变量见图 5 - 3。
变量数据类型说明
s l _ s o f t c struct sl_softc [] S L I P接口
l o i f struct 环回接口
图5-3 本章中介绍的全局变量
s l _ s o f t c是一个数组,因为可能有很多 S L I P接口。l o i f不是一个数组,因为只可能有
一个环回接口。
... ... ....
第 5章接口:S L I P和环回计计101
下载
统计量
在第4章讨论的i f n e t结构的统计也会被S L I P和环回驱动程序更新。采集的另一个统计量
(它不在i f n e t结构中)显示在图5 - 4中。
变量说明被S N M P使用
t k _ n i n 被任何串行接口(被S L I P驱动程序更新)接收的字节数
图5-4 变量tk _ n i n
SLIP接口
一个S L I P接口通过一个标准的异步串行线与一个远程系统通信。像以太网一样, S L I P定
义了一个标准的方法对传输在串行线上的 I P分组进行组帧。图 5 - 5显示了将一个包含 S L I P保留
字符的I P分组封装到一个S L I P帧中。
分组用SLIP END字符0 x c 0来分割开。如果 E N D字符出现在 I P分组中,则在它前面填充
SLIP ESC字符0 x d b,并且在传输时将它替换为 0 x d c。当E S C字符出现在I P分组中时,就在
它前面填充E S C字符0 x d b,并在传输时将它替换为 0 x d d。
因为在S L I P帧(与以太网比较)中没有类型字段,S L I P仅适用于传输I P分组。
IP分组
在分组中的END 在分组中的ESC
转义的END 转义的ESC
SLIP帧
图5-5 将一个I P分组进行S L I P封装
在RFC 1055 [Romkey 1988]中讨论了S L I P,陈述了它的很多弱点和非标准情况。
卷1中包含了S L I P封装的详细讨论。
点对点协议( P P P )被设计用来解决 S L I P的问题,并提供一个标准方法来通过一个
串行链路传输帧。P P P在RFC 1332 [McGregor 1992]和RFC 1548 [Simpson 1993]中定
义。N e t / 3不包含一个P P P的实现,因此我们不在本书中讨论它。关于 P P P的更多信息
见卷1的2 . 6节。附录B讨论在哪里获得一个P P P实现的参考。
SLIP线路规程:S L I P D I S C
在N e t / 3中,S L
接口:SLIP和环回 来自淘豆网m.daumloan.com转载请标明出处.