前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >速读原著-TCP/IP(以太网和IEEE 802封装)

速读原著-TCP/IP(以太网和IEEE 802封装)

作者头像
cwl_java
发布2020-03-02 14:41:10
8920
发布2020-03-02 14:41:10
举报
文章被收录于专栏:cwl_Javacwl_Java

第2章 链 路 层

2.1 引言

从图1 - 4中可以看出,在T C P / I P协议族中,链路层主要有三个目的: (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串行线路等。

在本章中,我们将详细讨论以太网链路层协议,两个串行接口链路层协议( S L I P和P P P),以及大多数实现都包含的环回( l o o p b a c k)驱动程序。以太网和 S L I P是本书中大多数例子使用的链路层。对 M T U(最大传输单元)进行了介绍,这个概念在本书的后面章节中将多次遇到。我们还讨论了如何为串行线路选择 M T U。

2.2 以太网和IEEE 802封装

以太网这个术语一般是指数字设备公司( Digital Equipment Corp.)、英特尔公司( I n t e l C 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。几年后,I E E E(电子电气工程师协会) 8 0 2委员会公布了一个稍有不同的标准集,其中802.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 . 2和8 0 2 . 3定义了一个与以太网不同的帧格式。文献 [Stallings 1987]对所有的IEEE 802标准进行了详细的介绍。

在T C P / I P世界中,以太网I P数据报的封装是在RFC 894[Hornig 1984]中定义的,IEEE 802网络的I P数据报封装是在RFC 1042[Postel and Reynolds 1988]中定义的。主机需求R F C要求每台I n t e r n e t主机都与一个10 Mb/s的以太网电缆相连接:

  1. 必须能发送和接收采用RFC 894(以太网)封装格式的分组。
  2. 应该能接收与RFC 894混合的RFC 1042(IEEE 802)封装格式的分组。
  3. 也许能够发送采用RFC 1042格式封装的分组。如果主机能同时发送两种类型的分组数据,那么发送的分组必须是可以设置的,而且默认条件下必须是 RFC 894分组。最常使用的封装格式是 RFC 894定义的格式。图 2 - 1显示了两种不同形式的封装格式。图中每个方框下面的数字是它们的字节长度。两种帧格式都采用48 bit(6字节)的目的地址和源地址( 8 0 2 . 3允许使用16 bit的地址,但一般是48 bit地址)。这就是我们在本书中所称的硬件地址。A R P和R A R P协议(第4章和第5章)对32 bit的I P地址和48 bit的硬件地址进行映射。

接下来的2个字节在两种帧格式中互不相同。在 8 0 2标准定义的帧格式中,长度字段是指

在这里插入图片描述
在这里插入图片描述

它后续数据的字节长度,但不包括 C R C检验码。以太网的类型字段定义了后续数据的类型。在8 0 2标准定义的帧格式中,类型字段则由后续的子网接入协议( Sub-network Access P r o t o c o l,S N A P)的首部给出。幸运的是, 8 0 2定义的有效长度值与以太网的有效类型值无一相同,这样,就可以对两种帧格式进行区分。

在以太网帧格式中,类型字段之后就是数据;而在 8 0 2帧格式中,跟随在后面的是 3字节的802.2 LLC和5字节的802.2 SNAP。目的服务访问点( Destination Service Access Point,D S A P)和源服务访问点(Source Service Access Point, SSAP)的值都设为0 x a a。Ct r l字段的值设为3。随后的3个字节o rg code都置为0。再接下来的2个字节类型字段和以太网帧格式一样(其他类型字段值可以参见 RFC 1340 [Reynolds and Postel 1992])。C R C字段用于帧内后续字节差错的循环冗余码检验(检验和)(它也被称为F C S或帧检验序列)。

8 0 2 . 3标准定义的帧和以太网的帧都有最小长度要求。 8 0 2 . 3规定数据部分必须至少为 3 8字节,而对于以太网,则要求最少要有 4 6字节。为了保证这一点,必须在不足的空间插入填充(p a d)字节。在开始观察线路上的分组时将遇到这种最小长度的情况。

在本书中,我们在需要的时候将给出以太网的封装格式,因为这是最为常见的封装格式。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-02-26 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 第2章 链 路 层
    • 2.1 引言
      • 2.2 以太网和IEEE 802封装
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档