TCP/IP 卷Ⅰ协议-数据链路层

链路层

简介:从前一章节可以看出,TCP/IP协议族中,链路层主要有三个目的:

  1. IP模块接收和发送数据报
  2. ARP模块发送ARP请求和接收ARP应答
  3. RARP模块发送RARP请求和接收RARP应答

TCP/IP支持多种类型的链路层协议,这取决于网络所使用的硬件,如以太网令牌环网等。
本文主要讨论的是以太网链路层协议,两个串行接口链路层协议(SLIPPPP ),以及大部数实现都包含的环回(loop back) 驱动程序。

1.、以太网IEEE 802封装

在TCP/IP族中,以太网IP数据报的封装是在 RFC 894中定义的,IEEE 802网络的IP数据报分装实在RFC 1042中定义的。主机需求RFC要求每台Internet主机都与一个10Mb/s的以太网电缆相连接:

  1. 必须能发送和接收采用RFC 894封装格式的分组
  2. 应该能接收与RFC 894混合的RFC 1042封装格式的分组
  3. 也许能够发送采用RFC 1042格式封装的分组。如果主机能同时发送两种类型的分组数据,那么发送的分组必须是可以设置,而且默认条件下必须是RFC 894分组。

最常使用的封装格式是RFC 894定义的格式。

下图显示了两种不同形式的封装格式;

封装格式

两种帧格式都采用48bit(6字节)的目的地址源地址,这就是我们在本书中所称的硬件地址。ARPRARP32 bitIP地址48 bit硬件地址进行映射;
接下来的两个字节在两种帧格式中互不相同。在802标准定义的帧格式中,长度字段表示它后续字段的字节长度,但不包括CRC检验码。以太网的类型字段的定义了后续数据的类型。在802标准定义的帧格式中,类型字段则由后续的子网接入协议( Sub-network Access Protocol,SNAP)的首部给出。幸运的是,802定义的有效长度值与以太网的有效类型值无一相同,这样,就可以对两种帧格式进行区分.
在以太网帧格式中,类型字段之后就是数据;而在 802帧格式中,跟随在后面的是 3字节的802.2 LLC和5字节的802.2 SNAP。目的服务访问点( Destination Service Access Point,D S A P)和源服务访问点(Source Service Access Point, SSAP)的值都设为0xaaCtrl字段的值设为3。随后的3个字节orgcode都置为0。再接下来的2个字节类型字段和以太网帧格式一样(其他类型字段值可以参见 RFC 1340 [Reynolds and Postel 1992])。CRC字段用于帧内后续字节差错的循环冗余码检验(检验和)(它也被称为FCS或帧检验序列)。802.3标准定义的帧和以太网的帧都有最小长度要求。802.3规定数据部分必须至少为 38字节,而对于以太网,则要求最少要有 46字节。为了保证这一点,必须在不足的空间插入填充(pad)字节。在开始观察线路上的分组时将遇到这种最小长度的情况。在本书中,我们在需要的时候将给出以太网的封装格式,因为这是最为常见的封装格式。

2、尾部封装

现在已经遭到反对,故不再讲解;

3、SLIP:串行线路IP

SLIP全称为:Serial Line Ip 。它是一种在串行线路上对IP数据报进行封装的简单形式,

它的要求如下:

  1. IP数据报以一个称作 END (0xc0) 的特殊字符结束;同时为防止线程噪声的干扰,大多数实现在数据报的开始也加入一个END字符。
  2. 如果IP报文中含有END字符,则使用连续传输两个字节 0xdb (也被称为SLIPESC字符)和0xdc来取代它.
  3. 如果报文中某个字符为SLIPESC字符,那么就要连续传输两个字节0xdb0xdd取代它。

一个简单的例子如下:


SLIP

SLIP是一种简单的帧封装方法,还有一些值得一提的缺陷:

  1. 每一端都必须知道对方的IP地址,没有办法把本端的IP地址通知给另一端。
  2. 数据帧中没有类型字段,类似于以太网中的类型字段,如果一条串行线路用于SLIP,它就不能同时使用其他协议;
  3. SLIP没有校验和,类似于以太网的CRC字段,如果传输报文受到线路噪声影响而发生错误,只能通过上层协议来实现。

4、PPP:点对点协议

点对点协议,修改了SLIP协议中的所有缺陷;

5、环回接口

大多是产品都支持环回接口,以允许运行在同一台主机上的客户程序与服务器程序通过TCP/IP进行通信。A 类网络好 127就是为环回接口预留的。大多显示系统把IP 地址为 127.0.0.0分配给环回接口,命名为localhost
一旦传输层检测到目的端地址为环回地址时,可以省掉部分传输层与所有网络层的逻辑操作。

下面时环回接口处理IP数据报的简单过程:

环回接口

关键点

  1. 传给广播地址或多播地址的数据报复制一份传给环回接口,然后送到以太网上。
  2. 任何传给该主机IP地址的数据均送到环回接口。
  3. 传给环回地址的任何数据均作为IP输入。

6、最大传输单元 MTU

以太网和802.3 对数据帧的长度都有一个限制,其最大值分别为1500 和1492字节。链路层的这个特性称作MTU,最大传输单元。
如果IP层有一个数据报长度比链路层的MTU要大,则要对该数据报进行分片操作,要求每一片都小于MTU

7、路径MTU

当在同一网络上的两台主机进行互相通信时,该网络的MTU就会很重要了。此时,两台通信主机路径中的最小MTU,被称为此路径的路径MTU
详细内会在后续章节进行解读;

8、穿行线路吞吐量计算

线路速度为 V b/s,而一个字节为 a bit ,再加上其实和结束 bit,则线路的速率为 v= V/(a+2) B/s. 而一个分组为 m 字节,则需要时间为: m/v ms;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,830评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,992评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,875评论 0 331
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,837评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,734评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,091评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,550评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,217评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,368评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,298评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,350评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,027评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,623评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,706评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,940评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,349评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,936评论 2 341