Chinaunix首页 | 论坛 | 博客
  • 博客访问: 547932
  • 博文数量: 287
  • 博客积分: 27
  • 博客等级: 民兵
  • 技术积分: 547
  • 用 户 组: 普通用户
  • 注册时间: 2012-01-01 20:20
文章分类

全部博文(287)

文章存档

2015年(1)

2014年(95)

2013年(90)

2012年(101)

分类: LINUX

2013-06-01 22:26:17

原文地址:数据链路层读书笔记 作者:fsfilove

数据链路层在tcp/ip层次中算是比较低的了。

链路层到底做了些啥,具体做了以下些事儿

 

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应答。

 

T C P / I P支持多种不同的链路层协议,这取决于网络所使用的硬件,如以太网、令牌环网、F D D I(光纤分布式数据接口)及R S-2 3 2串行线路等。

 

在这里主要总结一下以太网、IEEE 802RS232

 

.首先来总结一下以太网。

 

以太网是一个标准,由数字设备公司( 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。(但现在一般都是100Mb/s

 

然后IEEE有推出了稍有不同的标准集。

其中8 0 2 . 3针对整个C S M A / C D网络,8 0 2 . 4针对令牌总线网络, 8 0 2 . 5针对令牌环网络。这三者的共同特性由8 0 2 . 2标准来定义,那就是8 0 2网络共有的逻辑链路控制( L L C)。不幸的是,8 0 2 . 28 0 2 . 3定义了一个与以太网不同的帧格式。

 

下面是在生活中比较常见的数据封装格式。


在这个图里面802.3的长度和以太网类型这个两个值一样的长度。还好8 0 2定义的有效长度值与以太网的有效类型值无一相同,这样,就可以对两种帧格式进行区分。

 

在以太网帧格式中,类型字段之后就是数据;而在8 0 2帧格式中,跟随在后面的是3字节

802.2 LLC5字节的802.2 SNAP。目的服务访问点( Destination Service Access Point,

D S A P)和源服务访问点( Source Service Access Point, SSAP)的值都设为0 x a aCt r l字段的值设为3。随后的3个字节o rg code都置为0。再接下来的2个字节类型字段和以太网帧格式一样。这么看来以太网和802.3差别只是LLCSNMP。而且这些数据还是固定的。于是可变的部分都是一样的。看数据的长度还是不一样。难道在从以太网到802.3还得进行分片?如果有谁清楚,还请告诉我一下。

 

C R C字段用于帧内后续字节差错的循环冗余码检验(检验和)(它也被称为F C S或帧检验

序列)。这个FCS用的比较多,几乎都在用。

 

802.3标准定义的帧和以太网的帧都有最小长度要求。802.3数据部分至少为38字节

而以太网至少要46字节。为了保证这一点,必须填充。

PPP的数据格式图如下所示。


 

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

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

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

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

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

R F C定义的网络层有I PO S I网络层、D E C n e t以及A p p l e Ta l k。例如,IP NCP允许双方商定是

否对报文首部进行压缩,类似于C S L I P(缩写词N C P也可用在T C P的前面)。

RFC 1548[Simpson 1993]描述了报文封装的方法和链路控制协议。RFC 1332[McGregor

1 9 9 2 ]描述了针对I P的网络控制协议。

P P P数据帧的格式看上去很像I S OH D L C(高层数据链路控制)标准。图2 - 3P P P数据帧的格式。

 

因为定义了标志字符的值是0x7e,那么就会出现重复的现象,所以就需要转义。至于为什么,那肯定是防止数据被误认。

 

最大传输单元MTU

 


之所以有这个限制是因为硬件的能力限制。所以以太网和8 0 2 . 3对数据帧的长度都有一个限制,其最大值分别是1 5 0 01 4 9 2字节。

那么假设现在有一个很大的数据要发送。那怎么办,丢掉?还是分小发送。也就是分片发送。

 

专业术语是:IP层就需要进行分片( f r a g m e n t a t i o n),把数据报分成若干片,这样每一片都小于M T U

 

这里就会出现很多其他的思考

1:比如IP要分片,那么分片的工作都是IP做的。或者说其他的会不会分片呢,比如TCP UDP ICMP IGMP会不会分片呢。如果用TCP UDP也会分片,那和IP分片不是就重复了。既然在TCPIP存在这些分片,又为什么存在呢。

2:既然会分片,那怎重组呢。

3:数据包是一般是乱序到达的,又是怎么处理这个乱序的情况。

、、、、、、、、、、、、

哈,怎么那么多问题。发现一个最大的MTU,就可以提这么多问题。好吧,我太啰嗦了。

关于最大MTU出现的疑问,还是下一个总结中出现吧。

 

路径MTU,其实在两个主机交换数据链路中,最小的MTU

 

上面呢,基本都是书上现成的,这些只是一个了解。

阅读(631) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~