计算机网络课程设计-封装Ethernet1帧.doc_第1页
计算机网络课程设计-封装Ethernet1帧.doc_第2页
计算机网络课程设计-封装Ethernet1帧.doc_第3页
计算机网络课程设计-封装Ethernet1帧.doc_第4页
计算机网络课程设计-封装Ethernet1帧.doc_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课程设计课程设计 课程名称计算机网络 题目名称封装 Ethernet 帧 学生学院计算机学院 专业班级 学 号 学生姓名 指导教师柳毅 2011 年 12 月 25 日 目目 录录 一、课程设计目的与意义2 二、课程设计要求2 三、帧结构分析2 1帧的介绍2 2CRC 校验分析4 四、帧封装的过程7 1、填充帧头部字段7 2、填充数据字段8 3、CRC 校验9 五、帧封装流程图11 六、帧封装方法的相关扩展12 1、比特型算法12 2、字节型算法12 七、程序调试分析与结果13 八、课程设计心得与体会14 附录一:参考文献15 附录二:帧封装源程序16 一、课程设计目的与意义一、课程设计目的与意义 AAL(ATM 适配层):标准协议的一个集合,用于适配用户业务。AAL 分为会聚子 层(CS)和拆装子层(SCR) 。AAL 有 4 种协议类型:AAL1、AAL2、AAL3/AAL4 和 AAL5 分别支持各种 AAL 业务类型。 AAL1(ATM 适配层 1):AAL1 向用户提 供恒定比特率的数据传送能力、并提供定时信息和结构信息的能力。在必要时还能提 供一定的纠错能力和报错的能力。AAL1 支持 A 类业务。 AAL2 (ATM 适配层 2): AAL2 用于支持可变比特率的面向连接业务。并同时传送业务时钟信息 AAL3/4 (ATM 适配层 3/4):AAL3/4 既支持无连接的也支持面向连接链路,但主要用于在 ATM 网络上传输 SMDS 数据包。 AAL5(ATM 适配层 5):AAL5 支持面向连接的、 VBR 业务,它主要用于 ATM 网及 LANE 上传输标准的 IP 业务。AAL5 采用了 SEAL 技术,并且是目前 AAL 推荐中最简单的一个。AAL5 提供低带宽开销和更为简单的处 理需求以获得简化的带宽性能和错误恢复能力。 AARP(AppleTalk 地址解析协议): 把数据链路地址映射成网络地址的 AppleTalk 协议栈中的协议。 Access list(访问表) :由路由器保存,防止具有某一 IP 地址的数据包进/出路由器某一特殊的接口。 Access server(接入服务器):一般放在 PSTN 与 INTERNET 之间,通过网络和终端 仿真软件把异步设备连接到某一局域网或广域网上的通信处理器。 Active hub(有源 集线器):放大局域网传输信号的多端口设备。 Address mask(地址掩码):用于描 述地址的哪一部分是指网络或子网,哪一部分是指主机的比特组合。有时简称为掩码。 Address resolution(地址解析):通常指解决计算机寻址方式之间差别的方法。地址 解析通常指把网络层(第三层)地址映射成数据链路层(第二层)地址的方法。 Administrative distance (管理位距):路由选择信息源的可信度的级别。数值越高, 可信度级别越低。 ANSI(美国国家标准协会):由公司、政府和其它成员组成的自 愿组织。它们协商与标准有关的活动,审议美国国家标准,并努力提高美国在国际标 准化组织中的地位。此外,ANSI 使有关通信和网络方面的国际标准和美国标准得到 发展。ANSI 是 IEC 和 ISO 的成员之一。 API(应用程序接口):即函数调用规则说 明,它定义了一个与服务器的接口。 AppleTalk(苹果计算机公司设计出来的通信协议 系列):目前有两个阶段。第一个阶段是早期的版本,支持只有一个网络号和只在一 个地区的单个物理网络。第二个阶段是比较新的版本,支持单个物理网路上的多个逻 辑网并允许网络分布在不止一个地区。 ARP(地址解析协议):把 IP 地址映射到 MAC 地址的因特网协议。定义在 RFC826 中。 ASBR(自主系统边界路由器): ASBR 位于 OSPF 自主系统和非 OSPF 网络之间。ASBRs 可以运行 OSPF 和另一路由 选择协议(如 RIP) 。ASBR 必须处于非存根 OSPF 区域中。 ATM(异步传输模式): 信元中继的国际标准,在 ATM 中,各种服务类型(例如语音、视频或树据)都以固 定长度(53 字节)信元的形式进行传送。固定长度的信元使得可以在硬件中对信元进 行处理,从而减少了通过延迟。ATM 的设计应能利用高速传输介质如 E3,SONET 和 T3。 AUI(连接单元接口):MAU 和 NIC(网络接口卡)之间的 IEEE 802.3 接口。 AUI 这一名词也可以指后面板端口(AUI 电缆连接在它上面)。 Autonomous system(自 主系统):在共享一公共路由选择策略公共管理下的网络集合。自主系统按区域细分, 一个自主系统必须由 LANA 分配一个独特的 16 比特号码。 Backbone cabling(主 干电缆):提供配线室之间、配线室与 POP 之间以及同一局域网大楼之间的相互连接 的电缆。 Back off(退避):发生冲突时的强制性重传延迟。 Bandwidth(带宽): 网络信号所能达到的最高频和最低频之差。这一术语也用于描述某网络介质或协议的 额定吞吐能力。 Bandwidth reservation(带宽预留):把带宽分配给用户和网络服务 的应用程序的过程。包括根据业务流重要性和延迟敏感性为不同业务流分配优先级。 这样就最大限度地利用了可用带宽,如果网络发生拥塞,低优先级的业务就被丢弃。 有时也称为带宽分配。 BECN(后向显式拥挤通告):在与遇到一拥塞路径的传输方 向相反的帧中,由帧中继网络设置的比特,DTE(接收带有 BECN 比特设置的帧)会请 示较高层协议采取合适的流量控制行动。 Bit-oriented protocol(面向比特协议):能 不管帧内容而传送帧的数据链路层通讯协议类别。与面向字节协议相比,面向比特协 议提供全双工操作并更加高效和可靠。 BPDU(网桥协议数据单元):是一种生成树 协议问候数据包,它以可配置的间隔发出,用来在网络的网桥间进行信息交换。 BRI(基本速率接口):ISDN 接口由用于话音、视频和数据电路交换通信的两个 B 信 道和一个 D 信道组成。 Bridge(网桥):在使用相同通信协议的两个网段间连接和传 递分组的装置。网桥在 OSI 参考模型的数据链路层(第二层)上运行。一般地,网桥 能过滤、转发、或扩散一输入帧(基于该帧的 MAC 地址)。 Broadcast(广播):传给 网络所有节点的数据包。由广播地址确定广播。 Broadcast address(广播地址):预 留给向所有站点传送信息的特殊地址。一般地,广播地址是所有地址的 MAC 目的地 址,通常是把 MAC 地址设为全 1。 Broadcast domain(广播区域):能接收集合内任 一设备发出的广播帧所有设备的集合。因为路由器不转发广播帧,广播区域一般由路 由器设定边界。 Broadcast storm(广播风暴):是一种讨厌的网络事件,事件发生时, 许多广播同时在所有网段上传送。广播风暴占用相当可观的网络带宽,并且一般会引 起网络超时。 Buffer(缓冲器):用于处理转接数据的存储区域。缓冲区用在互联网 络中可以退避网络设备间处理速度的差别。数据突发可存在缓冲区,直到它们可以被 较慢的设备处理。有时也称为包缓冲区。 Byte-oriented protocol(面向字节协议): 数据链路通信协议的类别,该数据链路通信协议使用用户字符集中的一个特定字符划 定帧的界限。这些协议大多数已被面向比特的协议取代。 Category 1 cabling(第一类 电缆):第一类电缆是 EIA/TIA-568B 标准中所描述的五类非屏蔽双绞线电缆之一。 它用于电话通信,但不适于传输数据。 Category 2 cabling(第二类电缆):第二类电 缆是 EIA/TIA-568B 标准中所描述的五类非屏蔽双绞线电缆之一。它能够 以高达 4Mbps 的速率传输数据。 Category 3 cabling(第三类电缆):第三类电缆是 EIA/TIA- 568B 标准中所描述的五类非屏蔽双绞线电缆之一。它用于 10BaseT 的网络中,并且能 够以高达 10Mbps 的速率传输数据。 Category 4 cabling(第四类电缆):第四类电缆 是 EIA/TIA-568B 标准中所描述的五类非屏蔽双绞线电缆之一。它用于令牌环网络中, 并且能够以高达 16Mbps 的速率传输数据。 Category 5 cabling(第五类电缆):第五 类电缆是 EIA/TIA-568B 标准中所描述的五类非屏蔽双绞线电缆之一。它用于运行 CDDI,并且能够以高达 100Mbps 的速率传输数据。 CBR(恒定比特率):由 ATM 论坛为 ATM 网络定义的 QOS 级别。恒速率应用于依靠精确时钟保证无失真传输的连 接。 CCITT(国际电报电话咨询委员会):负责开发通信协议的国际组织。现在改名 为国际电信联盟-电信标准化部分。 Channelized E1(信道化的 E1 线路):E1 线路被 分成 30 个 B 信道和 1 个 D 信道后,以 2.048 Mbps 速率运行的接入链路。它支持 DDR 、帧中继、和 X.25。 CHAP(Challenge 握手鉴权协议):为了防止未授权访问 而使用端对端协议封装的线路上所支持的安全特性。它自己本身并不能防止未授权的 访问,它只是用于辨识终端。然后路由器或访问服务器就能够决定该用户是否可以访 问。 CIDR(无级别域内路由):BGP4 支持的基于路由累加的技术,它允许路由器 为了减少核心路由器携带的路由信息而把路由组合成组。通过使用 CIDR,几个 IP 网 络对于组外的网络而言就像是单一的大网络。 CIR(指定信息速率):帧中继网络在 正常条件下允许的信息传送速率,它是在最小的一段时间里的速率均值。CIR 是以每 秒多少比特计算的,它是 tariff metrics 协商出中的一个关键计量单位。 Circuit switching(电路交换):在呼叫进行期间,发送方和接收方必须存在一条专用的物理 电路的交换系统即电路交换。它主要应用于电话公司网络中。电路交换作为一种信道 访问技术,可以与争用 和 令牌环传递技术相比; 作为一种交换技术,电路交换可 以与报文交换 和分组交换 技术相比。 Client-server computing(客户机/服务器计算) :该术语用来描述分布式计算(处理)网络系统,在这些网络系统中事物责任被分成 两部分:客户机(前端)和服务器(后端) 。这两个术语(客户机和服务器)既可以 用于软件程序,也可以应用于实际的计算设备。这也被称作分布式计算(处理) 。 CO(中心局):它指的是给定区域内所有本地环路连接到的本地电话公司,在中心局 内进行用户线路的电路交换。 Coaxial cable(同轴电缆):包着一根内部线缆的空心 的圆柱状导体,当前用于局域网的两种同轴电缆是:用于数字信令的 50-ohm 电缆, 和用于模拟信号和高速数字信令的 75-ohm 电缆。 CODEC(编码器/译码器):使用 PCM 技术将模拟信号转化成数字比特流,并能够再将数字信号转换回模拟信号的设备。 Collision(冲突):在以太网中,当两个节点同时传输数据时,从两个设备发出的帧 将会碰撞,当它们在物理介质上相遇时,彼此的数据都会被破坏。 Collision domain(冲突域):在以太网中,冲突域指的是位于传播发生的帧冲突的网络区域。重 发器和集线器都会传播冲突;局域网交换机,网桥和路由器不会传播冲突。 Communication server(通信服务器):通过网络和终端模拟软件连接异步设备到局域 网或者广域网的通信处理器。它只执行 IP 和 IPX 协议的异步例程。 Convergence(集 中):在互联网的拓扑结构有变化以后,一组运行特定的路由选择协议的互联网连接 设备同意该拓扑结构变化的速度和能力。 CPE(用户站设备):电话公司提供的终接 设备,比如终端,电话,调制解调器。它安装在用户所在地点,并和电话公司的网络 相连。 CRC(循环冗余校验):一种差错校验技术。帧的接收端通过把帧的内容除 以原始二进制除数来计算余数,并把计算所得的余数和发送端存储在帧中的值相比较。 CSMA/CD(带有冲突检测的载波侦听多路访问):一种介质访问机制,在这种机制 下,准备传输数据的设备首先检查载波通道。如果在一定时间内没有侦听到载波,那 么一个设备就可以发送数据。如果两个设备同时发送数据,冲突就会发生并被所有冲 突设备所检测到。这种冲突便延缓了这些设备的重传,使得它们在隔某一随机时间后 才发送数据。CSMA/CD 访问用于以太网和 IEEE 802.3 中。 CSU(通道服务单元): 把终端用户和本地数字电话环路相连的数字接口设备。通常它和 DSU 统称为 CSU/DSU。 Cut-through packet switching(通断式分组交换):一种分组交换方法。 它通过交换机传送数据,使得分组的前面部分在整个分组进入输入端口前,在交换机 上的输出端口上离开交换机。使用伺机通过分组交换的设备在检查目的端地址和确定 输出端口时,便读取,处理和转发分组。它也称为 on-the-fly 分组交换。帧校验字段 (FCS)采用 32 位的 CRC 校验。校验的范围包括目的地址字段、 源地址字段、长度字段、LLC 数据字段。 此处,为了简便起见,采用 8 位的 CRC 校验。CRC 校验的生成多项式为: G(x)= x8+ x2+x+1 某些帧结构中还会包括帧类型字段,用来识别些帖所承载的数据的类型。当 一个帧到达指定的计算机时,操作系统根据帧类型决定用哪个协议软件模块对 它进行处理。自识别帧的主要优点是,可以在同一物理网络中使用多个协议而 互不干扰。 2CRC 校验分析 我们已经知道了差错控制在通信中的重要意义,以及简单的差错校验码计 算过程。在这里我们进一步来了解循环冗余编码(CRC)的编码方式。它是一种重 要的线性分组码、编码和解码方法,具有简单、检错和纠错能力强等特点,在 通信领域广泛的用于实现差错控制。实际上,除数据通信外,CRC 在很多领域 也是大有用武之地的。 利用 CRC 进行检错的过程可简单描述如下:在发送端根据要传送的 k 位二 进制码序列,以一定的规则产生一个校验用的 r 位监督码(CRC 码),附在原始 信息的后边,构成一个新的二进制码序列(共 k+r 位),然后发送出去。在接收 端,根据信息码和 CRC 码之间所遵循的规则进行检验,以确定传送中是否出错。 这个规则在差错控制理论中称为“生成多项式” 。 (1)CRC 编码的代数学原理 在代数编码理论中,将一个码组表示为一个多项式,码组中的各码元作为 多项式的系数。 例如,1100101 表示为 1x6+1x5+0x4+0x3+1x2+0x+1, 即 x6+x5+x2+1。 设编码前的原始信息多项式为 P(x), P(x)的最高幂次加等于 k;生成多 项式为 G(x),G(x)的最高幂次等于 r;CRC 多项式为 R(x);编码后的带 CRC 的 信息多项式为 T(x)。 发送编码的方法是:将 P(x)乘以 xr(即对应的二进制码序列左移 r 位), 再除以 G(x),得余式即为 R(x)。 用公式可以表示为 T(x)=xrP(x)+R(x) 接收方解码的方法是:将 T(x)除以 G(x),如果余数为 0,则说明传输中无 错误发生,否则说明传输有误。 举例来说,设信息码为 1100,生成多项式为 1011,即 P(x)=x+x,G(x) =x+x+1,则可以用以下方法计算 CRC 。 xrP(x) x3(x3+x2) x6+x5 x - = - = - = (x3+x2+x) + - G(x) x3+x+1 x3+x+1 x3+x+1 即 R(x)=x。注意到 G(x)最高幂次 r=3,得出 CRC 为 010。如果用竖式除法,计 算过程为: 1110 1011/1100000 (1100 左移 3 位) 1011 1110 1011 1010 1011 0010 0000 010 因此,T(x)=(x6+x5)+(x)=x6+x5+x,即 1100000+010=1100010。 如果传输无误,则 T(x) x6+x5+x G(x) x+x+1 无余式。看一下上面的竖式除法,如果被除数是 1100010,显然在商第 3 个 1 时,就能除尽。 上述推算过程有助于我们理解 CRC 的概念。但如果直接编程来实现上面的 x+x 算法,不仅繁琐,而且效率也不高。实际上在工程中不会直接这样去计算和验 证 CRC。 表一 标准的 CRC 名称 生成多项式 简记式* 应用举例 CRC-4 x4+x+1 ITU G.704 CRC-12 x12+x11+x3+x+1 CRC-16 x16+x12+x2+1 1005 IBM SDLC CRC-ITU* x16+x12+x5+1 1021 ISO HDLC, ITU X.25, V.34/V.41/V.42, PPP-FCS CRC-32 x32+x26+x23+.+x2+x+1 04C11DB7 ZIP, RAR, IEEE 802 LAN/FDDI, IEEE 1394, PPP- FCS CRC-32c x32+x28+x27+.+x8+x6+1 1EDC6F41 SCTP Y N Y Y 发送帧 装配帧 总线忙 启动发送 冲突? 发送完成? 发送成功 冲突加强 冲突次数加 1 等待后退 延迟时间 计算后 退延迟 发送失败 冲突次数16? Y N N N 该表中列出了一些标准 CRC 资料。 生成多项式的最高幂次项系数是固定的 1,故在简记式中,将最高的 1 统一去掉了,如 04C11DB7 实际上是 104C11DB7 。 前称 CRC-CCITT。ITU 的前身是 CCITT。 (2)CRC 的硬件电路实现 图 2 给出了 CRC 运算通用电路的方框图。 g1 g2 gn-2 gn + + + 数据输入 LSB MSB b0 b1 b2 bn-2 bn-1 图二 CRC 运算通用电路方框图 CRC 计算生成多项式 G(x)通常用 n 次多项式定义:G(x)=Xn+gn-1Xn- 1+giXi+g2X2+g1X+1,其中 gi为 0 或 1,i=1,2,n-1。通常 CRC 计算可 以用有 n 个存储器级的移位寄存器实现,如图二所示。如果多项式的相应项的 系数为 1,那么相应的存储器级输入端的模 2 加法器是有分支的。根据应用的 不同,在系统开始工作前将所有的移位寄存器全部置“0”或“1” 。 在图二中输入端送入的是原始数据序列,移位寄存器各级的输出 b0、b1、bn-2、bn-1便是 CRC 码字。其中 b0和 bn-1分别代表最低有效位(LSB) 和最高有效位(MSB)。 (3)CRC 的基本实现 以 CRC-8(X8+X2+X1+1)为例(如图三所示),它由多个移位寄存器和加法器组 成。编码、解码前将个寄存器初始化为 0,输入位作为最右边异或操作的输入 之一。三个寄存器上的移位操作同时进行,均为左移一位,左边寄存器的最左 一位作为三个异或操作的输入之一。每次移位时,最右边的寄存器内容作为中 间异或操作的输入之一,中间的寄存器的内容作为最左边异或操作的输入之一, 各个异或操作的结果作为与它左边那个寄存器的移入位。重复以上步骤,每输 入一个位就做一次移位操作,直到输入了所有要计算的数据为止。这时,这个 寄存器组中的数据就是 CRC-8 的结果。图三给出了 CRC 基本实现方法。 输入 图三 CRC 基本实现 XORXOR CRC 的工作原理是,CRC 在发送端编码和接受端校验时,都可以利用事先约 定的生成多项式 G(x)来得到,K 位要发送的信息位可对应于一个(K-1)次多项式 K(x),r 为冗余位则对应于一个(r-1)次多项式 R(x),有 r 位冗余位组成的 n=k+r 位码字则对应与一个(n-1)次多项式 T(x)= Xr*K(x)+R(x)。 (4)循环冗余校验码的特点 CRC 校验码的检测能力很强,不仅能检查出离散错误,还能检查出突发错 误。CRC 校验码具有以下检错能力: CRC 检验码可检测出所有单个错误。 CRC 检验码可检测出所有奇数位错误。 CRC 检验码可检测出所有双位的错误。 CRC 检验码可检测出所有小于、等于校验位长度的突发错误。 CRC 检验码可以1- (1/2)k-1的概率检测出长度为(K+1)位的突发错误。 四、帧封装的过程四、帧封装的过程 1、填充帧头部字段 要完成一次帧封装的过程,首先要完成的就是帧头部的装入,这一过程非 常简单,只要将前导码、定界符、目的地址、源地址、长度字段的响应数值按 顺序写入就可以了。其中,长度字段的值即为要发送的数据的实际长度。我们 可以通过以下两种方式来获得长度字段的值。 方法一方法一 While(!in.eof() /读数据至缓冲区 buf in.get(a); bufj=a; /通过 j 来记录输入数据的长度 j+; 方法二方法二 infile.open(argv1,ios:binary); /打开指定输入文件 infile.seekg(0,ios:end); /将文件读指针移到末尾 short length=(short)infile.tellg(); /获得位置偏移量,即为输入文件长 度 file.put(char(length/256); /将该长度写入数据长度字段(2B) file.put(char(length%256); 注意,上面程序的最后两行是把读到的数据长度值按逆序填入长度字段。 这就涉及网络字节序的问题。 先进入 Microsoft Visual C+ 6.0 中,编译运行源程序,生成可执行文件。 其可执行文件名为 Ethernet.exe。 然后进入 DOS 中,进行帧的封装,其过程如下图五所示。 图六 帧封装过程图 其中,输入命令行中的“Ethernet”指的是生成的可执行文件,这里生成 的是 Ethernet.exe;“原始数据文件” 指的是在可执行文件存放路径下的一 个数据文件,我在这里新建了一个文本文档 he.txt: 其二进制形式如下图七所示: 图七 原始数据的二进制形式图 “输出结果”是将原始数据文件进行封装后所得到的一个文件,它也将存放在 可执行文件存放的路径下,这里封装后的文件名是:hjq.txt 其二进制形式如下图八所示: 图八 输出结果的二进制形式图 八、课程设计心得与体会八、课程设计心得与体会 课程设计是培养学生综合运用所学知识,发现、提出、分析和解决实际问 题, 锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。随 着科学技术发展的日新日异,当今计算机应用在生活中可以说得是无处不在, 因此作为二十一世纪的大学来说掌握计算机开发技术是十分重要的。 回顾起此次课程设计,我感慨颇多。它不仅巩固了我所学过的知识,而且 让我学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了 理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理 论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,提高自 己的实际动手能力和独立思考的能力。在该设计过程中我遇到了许多的问题, 让我发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不 够牢固,看到了自己的实践经验还是比

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论