posts - 297,  comments - 1618,  trackbacks - 0
 

说明:本文为《TCP/IP详解,卷1:协议》的第二章“链路层”的学习笔记。

一.             引言

1. 链路层的目的

1) I P模块发送和接收I P数据报;

2) A R P模块发送A R P请求和接收A R P应答;

3) R A R P发送R A R P请求和接收R A R P应答。

2. 本章学习内容

 将详细讨论以太网链路层协议,两个串行接口链路层协议( S L I PP P P),

以及大多数实现都包含的环回( l o o p b a c k)驱动程序。

 

二.             以太网和IEEE 802封装

1. 以太网术语解释

 以太网这个术语一般是指数字设备公司( Digital Equipment Corp.)、英特尔公司( I n t e lC o r p .)和X e r o x公司在1 9 8 2年联合公布的一个标准。它是当今T C P / I P采用的主要的局域网技术。它采用一种称作C S M A / C D的媒体接入方法,其意思是带冲突检测的载波侦听多路接入Carrier Sense, Multiple Access with Collision Detection)。它的速率为10 Mb/s,地址为48 bit

 T C P / I P世界中,以太网I P数据报的封装是在RFC 894[Hornig 1984]中定义的,IEEE 802网络的I P数据报封装是在RFC 1042[Postel and Reynolds 1988]中定义的。

2. 封装格式

1) IEEE 802.2/802.3封装

 

2) 以太网封装

以太网封装是最常见的封装格式。

三.             尾部封装

 它是一个早期B S D系统在DEC VA X机上运行时的试验格式,它通过调整I P数据报中字段的次序来提高性能。在以太网数据帧中,开始的那部分是变长的字段(I P首部和T C P首部)。把它们移到尾部(在C R C之前),这样当把数据复制到内核时,就可以把数据帧中的数据部分映射到一个硬件页面,节省内存到内存的复制过程。

 尾部封装已遭到反对。

 

四.             SLIP:串行线路IP

 全称:Serial Line IP。它是一种简单的帧封装方法。它是一种在串行线路上对I P数据报进行封装的简单形式,在RFC 1055[Romkey 1988]中有详细描述。S L I P适用于家庭中每台计算机几乎都有的R S - 2 3 2串行端口和高速调制解调器接入I n t e r n e t

S L I P协议定义的帧格式如下:

1IP数据报以一个称作E N D0 x c 0)的特殊字符结束。同时,为了防止数据报到来之前的线路噪声被当成数据报内容,大多数实现在数据报的开始处也传一个E N D字符(如果有线路噪声,那么E N D字符将结束这份错误的报文)。

2如果I P报文中某个字符为E N D,那么就要连续传输两个字节0 x d b0 x d c来取代它。

0 x d b这个特殊字符被称作S L I PE S C字符。

3如果I P报文中某个字符为S L I PE S C字符,那么就要连续传输两个字节0 x d b0 x d d来取代它。

SLIP的缺陷如下:

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

2 数据帧中没有类型字段(类似于以太网中的类型字段)。如果一条串行线路用于S L I P

那么它不能同时使用其他协议。

 3 S L I P没有在数据帧中加上检验和(类似于以太网中的C R C字段)。如果S L I P传输的报文被线路噪声影响而发生错误,只能通过上层协议来发现(另一种方法是,新型的调制解调器可以检测并纠正错误报文)。

 

五.             压缩的SLIP

 C S L I P(即压缩S L I PRFC 1144[Jacobson 1990a]中被详细描述。它能在C S L I P的每一端维持多达1 6T C P连接,并且知道其中每个连接的首部中的某些字段一般不会发生变化。对于那些发生变化的字段,大多数只是一些小的数字和的改变。这些被压缩的首部大大地缩短了交互响应时间。

 

六.             PPP:点到点协议

点对点协议修改了S L I P协议中的所有缺陷。P P P包括以下三个部分:

1.在串行链路上封装I P数据报的方法。P P P既支持数据为8位和无奇偶检验的异步模式

(如大多数计算机上都普遍存在的串行接口),还支持面向比特的同步链;

2.建立、配置及测试数据链路的链路控制协议( L C PLink Control Protocol)。它允许通

信双方进行协商,以确定不同的选项。

3.针对不同网络层协议的网络控制协议( N C PNetwork Control Protocol)体系。

 PPP数据桢的格式如下图:

S L I P类似,由于P P P经常用于低速的串行链路,因此减少每一帧的字节数可以降低应用程序的交互时延。

总的来说, P P PS L I P具有下面这些优点:

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

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

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

4)  C S L I P类似,对T C PI P报文首部进行压缩;

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

 

七.             环回接口

大多数的产品都支持环回接口( 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数据报不能在任何网络上出现。

 需要注意的几点:

 1. 传给环回地址(一般是1 2 7 . 0 . 0 . 1)的任何数据均作为I P输入;

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

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

 

八.             最大传输单元MTU

 以太网和8 0 2 . 3对数据帧的长度都有一个限制,其最大值分别是1 5 0 01 4 9 2字节。链路层的这个特性称作M T U最大传输单元

 如果I P层有一个数据报要传,而且数据的长度比链路层的M T U还大,那么I P层就需要进行分片( f r a g m e n t a t i o n

 

九.             路径MTU

当在同一个网络上的两台主机互相进行通信时, 两台通信主机路径中的最小M T U。被称作路径M T U

 两台主机之间的路径M T U不一定是个常数。它取决于当时所选择的路由。而选路不一定

是对称的(从AB的路由可能与从BA的路由不同),因此路径M T U在两个方向上不一定是一致的。

 

十.             串行电路吞土量计算

 关于人的有关研究表明,交互响应时间超过1 0 0200 ms就被认为是不好的。

 

十一.  小结

本章讨论了I n t e r n e t协议族中的最底层协议,链路层协议。我们比较了以太网和I E E E

8 0 2 . 2 / 8 0 2 . 3的封装格式,以及S L I PP P P的封装格式。由于S L I PP P P经常用于低速的链路,二者都提供了压缩不常变化的公共字段的方法。这使交互性能得到提高。

大多数的实现都提供环回接口。访问这个接口可以通过特殊的环回地址,一般为1 2 7 . 0 . 0 . 1。也可以通过发送I P数据报给主机所拥有的任一I P地址。当环回数据回到上层的协议

栈中时,它已经过传输层和I P层完整的处理过程。

我们描述了很多链路都具有的一个重要特性, M T U,相关的一个概念是路径M T U。根据典型的串行线路M T U,对S L I PC S L I P链路的传输时延进行了计算。

本章的内容只覆盖了当今T C P / I P所采用的部分数据链路公共技术。T C P / I P成功的原因之一是它几乎能在任何数据链路技术上
posted on 2007-08-22 18:46 阿蜜果 阅读(1366) 评论(2)  编辑  收藏 所属分类: 网络通信相关


FeedBack:
# re: 《TCP/IP详解,卷1:协议》学习笔记——2. 链路层 [未登录]
2007-08-22 19:41 | -274°C
我的姐姐是超人。你认识她吗?哈哈  回复  更多评论
  
# re: 《TCP/IP详解,卷1:协议》学习笔记——2. 链路层 [未登录]
2007-08-22 21:04 | anson
真的佩服你,要向你学习才行^_^~~  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航:
 
<2007年8月>
2930311234
567891011
12131415161718
19202122232425
2627282930311
2345678

      生活将我们磨圆,是为了让我们滚得更远——“圆”来如此。
      我的作品:
      玩转Axure RP  (2015年12月出版)
      

      Power Designer系统分析与建模实战  (2015年7月出版)
      
     Struts2+Hibernate3+Spring2   (2010年5月出版)
     

留言簿(262)

随笔分类

随笔档案

文章分类

相册

关注blog

积分与排名

  • 积分 - 2285125
  • 排名 - 3

最新评论

阅读排行榜

评论排行榜