兰州理工大学以太网帧的封装与成帧设计解析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
*******************
实践教学
*******************
兰州理工大学
计算机与通信学院
2015年秋季学期
计算机通信课程设计
题目:以太网帧的封装与成帧设计
专业班级:
姓名:
学号:
指导教师:王慧琴
成绩:
本次课程设计应用了计算机通信技术中有关于以太网的帧结构的知识,应用数据链路层的相关知识,通过对帧中固定的前导码,源地址,目的地址等写入,在处理数据字段之后与其一起进行封装,构造成一个具体的帧。在VC6.0中采用与封装与解析数据包相关的代码编写“工程”,其中利用windsock库函数进行封装与解析命令。
关键字:装封; 成帧; 以太网; 计算机通信
前言 (1)
一、基本原理 (2)
1、以太网工作原理 (2)
2、以太网帧结构 (3)
二、需求分析 (6)
三、系统分析 (7)
1、主流程 (7)
2、封装帧 (8)
3、解析帧 (14)
四、分析结果 (22)
五、心得体会 (23)
六、参考文献 (24)
计算机网络是计算机技术与通信技术相互渗透、密切结合而形成的一门交叉学科。计算机网络的应用可以大大缩短人与人交往的时间和空间的距离,更进一步扩大了人类社会群体之间相互与协作范围,因此人们一定会很快接受在计算机网络环境中的工作方式,同时计算机网络也会对社会的进步产生不可估量的作用。计算机网络正在改变人们的工作方式和生活方式,网络技术的发展已成为影响一个国家与地区政治、经济、科学与文化发展的重要因素之一。
以太网是当今现有局域网采用的最通用的通信协议标准。该标准定义了在局域网(LAN)中采用的电缆类型和信号处理方法。以太网在互联设备之间以10-100Mbps的速率传送信息包,双绞线电缆10 Base T以太网由于其低成本、高可靠性以及10Mbps的速率而成为应用最为广泛的以太网技术。许多制造商提供的产品都能采用通用的软件协议进行通信,开放性最好。目前LAN接入方式就是俗称的“以太网”,带宽也达不到10-100Mbps,不过是2-4Mbps,比ADSL接入稍好一点。
一、基本原理
1、以太网工作原理
以太网采用共享信道的方法,即多台主机共用一个信道进行数据传输。为了解决多个计算机的信道征用问题,以太网采用IEEE802.3标准规定的CSMA/CD(载波监听多路访问/冲突检测)协议,它是控制多个用户共用一条信道的协议,CSMA/CD的工作原理如下:
(1)载波监听(先听后发)
使用CSMA/CD协议时,总线上各个节点都在监听总线,即检测总线上是否有别的节点发送数据。如果发现总线是空闲的,既没有检测到有信号正在传送,即可立即发送数据;如果监听到总线忙,即检测到总线上有数据正在传送,这时节点要持续等待直到监听到总线空闲时才能将数据发送出去,或等待一个随机时间,再从新监听总线,一直到总线空闲再发送数据。载波监听也称作先听后发。
(2)冲突检测
当两个或两个以上的节点同时监听到总线空闲,开始发送数据时,就会发生碰撞冲突;传输延迟可能会使第一个节点发送的数据还没有到达目标节点时,另一个要发送的数据的节点就已经监听到总线空闲,并开始发送数据,这也会带至冲突的产生。当两个帧发生冲突时,两个传输的帧就会被破坏,被损坏帧继续传输毫无意义,而且信道无法被其他站点使用,对于有限的信道来讲,这是很大的浪费。如果每个发送节点边发送边监听,并在监听到冲突之后立即停止发送,就可以提高信道的利用率,当节点检测到纵向上发生冲突时,就立即取消传输数据,随后发送一个短的干扰信号,一个较强冲突信号,告诉网络上的所有的节点,总线已经发生了冲突。在阻塞信号发生后,等待一个随机事件,然后再将要发送的数据发送一次。如果还有冲突,则重复监听、等待和重传操作。
CSMA/CD采用用户访问总线时间不确定的随机竞争方式,有结构简单、轻负载时时延小等特点,但当网络通信负载增大时,由于冲突增多,网络吞吐率下降、传输延时增长,网络性能会明显下降。
从以上可看出以太网的工作方式就像没有支持人的座谈会中,所有的参会者都通过一个共同的介质来互相交谈。每个参加会议的人在讲话前,都礼貌的等到别人把话讲完。如果两个客人同时开始讲话,那么他们都停下来,分别随机等待
一段时间再开始讲话,这是如果两个客人等待的时间不同,冲突就不会出现,如果讲话冲过了一次以上,将采用退避指数加强等待的时间。
2、以太网帧结构
帧格式
Ethernet II帧格式:
----------------------------------------------------------------------------------------------
| 前序| 目的地址| 源地址| 类型| 数据| FCS | ---------------------------------------------------------------------------------------------- | 8 byte | 6 byte | 6 byte | 2 byte | 46~1500 byte | 4 byte|
IEEE802.3一般帧格式
--------------------------------------------------------------------------------------------------------------
| 前序| 帧起始定界符| 目的地址| 源地址| 长度| 数据| FCS | ------------------------------------------------------------------------------------------------------------
| 7 byte | 1 byte | 2/6 byte |2/6 byte| 2 byte | 46~1500 byte | 4 byte | Ethernet II和IEEE802.3的帧格式比较类似,主要的不同点在于前者定义的2字节的类型,而后者定义的是2字节的长度;所幸的是,后者定义的有效长度值与前者定义的有效类型值无一相同,这样就容易区分两种帧格式了。
1)前序字段
前序字段由8个(Ethernet II)或7个(IEEE802.3)字节的交替出现的1和0组成,设置该字段的目的是指示帧的开始并便于网络中的所有接收器均能与到达帧同步,另外,该字段本身(在Ethernet II中)或与帧起始定界符一起(在IEEE802.3中)能保证各帧之间用于错误检测和恢复操作的时间间隔不小于9.6毫秒。
2)帧起始定界符字段
该字段仅在IEEE802.3标准中有效,它可以被看作前序字段的延续。实际上,该字段的组成方式继续使用前序字段中的格式,这个一个字节的字段的前6个比特位置由交替出现的1和0构成。该字段的最后两个比特位置是11,这两位中断了同步模式并提醒接收后面跟随的是帧数据。
当控制器将接收帧送入其缓冲器时,前序字段和帧起始定界符字段均被去除。类