模拟Ethernet帧的发送过程Word格式.docx
《模拟Ethernet帧的发送过程Word格式.docx》由会员分享,可在线阅读,更多相关《模拟Ethernet帧的发送过程Word格式.docx(21页珍藏版)》请在冰豆网上搜索。
![模拟Ethernet帧的发送过程Word格式.docx](https://file1.bdocx.com/fileroot1/2022-10/3/4ad34c5f-9298-4614-850a-cf29e7147845/4ad34c5f-9298-4614-850a-cf29e71478451.gif)
1.1设计目的 3
1.2设计要求 3
第2章 Ethernet相关知识介绍 4
2.1 Ethernet的网络体系结构 4
2.2 Ethernet的帧格式 10
第3章设计过程 13
第4章实现流程图 15
4.1 主流程图 15
4.2 线程流程图 16
第5章主要源代码 17
第6章调试运行 21
6.1编译工具及相关说明 21
6.2运行结果 21
第7章课程设计总结 22
参考文献 22
第1章课程设计的目的及要求
本次课程设计的题目是模拟Ethernet帧的发送过程。
1.1课程设计目的
局域网技术发展十分迅速,目前已在企业、机关、学校的信息管理与信息服务领域中得到了广泛的应用。
在早期,人们将局域网归为…种数据通信网络。
随着局域网体系结构和协议标准研究的进展、操作系统的发展以及光纤技术的引入,局域网技术得到了快速发展。
目前,Ethernet是应用最广泛的局域网。
因此,学习Ethernet技术对深入掌握局域网知识是非常重要的。
本课程设计的目的是模拟Ethernet帧的发送过程,使读者熟悉Ethernet帧的数据发送流程,即CSMA/CD32运作流程。
1.2课程设计要求
编写程序模拟Ethernet结点的数据发送流程。
具体要求:
1) 用两个线程a和b来模拟Ethernet上的两台主机。
2) 用一•个双字类型变量Bus来模拟总线(将其初始化为“\0”,并且总线等于“\0”时表示总线空闲)。
3) 两个子线程向总线发送自己的数据。
数据用该线程的线程号进行模拟,发送数据用线程号和Bus的“或”操作进行模拟(即Bus=Bus|lD,ID为该线程的线程号)。
4) 每台主机须向总线上成功发送10次数据,如果其中某次数据发送失败,则该线程结束。
5) 发送流程须遵循CSMA/CD。
随机延迟算法中的冲突窗口取0.005o在数据发送成功(即Bus==ID)后,报告“IDsendsuccess”,产生冲突(即Bus!
二ID)后报告"
IDsendcollision"
发送失败(即冲突计数器值为0)后报告“IDsendfailure”。
随着主机发送成功次数增加,报告其已发送成功的次数,如“主机A发送成功数二3”。
弟2章Ethernet相关知识介绍
以太网,指由施乐公司创建并由施乐、Intel和DEC公司联合开发的基带局域网规范。
以太网络使用CSMA/CD(载波监听多路访问及冲突检测技术)技术,并以10Mbps的速率运行在多种类型的电缆上。
90年代,交换型以太网得到了发展,并先后推出了100兆的快速以太网、1000兆的千兆位以太网和10000兆的万兆位以太网等更高速的以太网技术。
以太网的帧格式特别适合于传输IP数据包。
随着Internet的快速发展,以太网被广泛使用。
值得•提的是,如果接入网也采用以太网,将形成从局域网、接入网、城域网到广域网全部是以太网的结构,这样采用与IP数据包结构近似的以太网帧结构,各网之间无缝连接,中间不需要任何格式转换,可以提高运行效率,方便管理,降低成本,这种结构可以提供端到端的连接。
基于以上原因,以太网接入得到了快速发展,并且越来越受到人们的重视。
2.1Ethernet的网络体系结构
A发展简史
Ethernet是Xerox>
DigitalEquipment和Intel三家公司开发的局域网组网规范,并于80年代初首次出版,称为DIXI.0o1982年修改后的版本为DIX2.0。
这三家公司将此规范提交给IEEE(电子电气工程师协会)802委员会,经过IEEE成员的修改并通过,变成了IEEE的正式标准,并编号为IEEE802.3OEthernet和IEEE802.3虽然有很多规定不同,但术语Ethernet通常认为与802.3是兼容的。
IEEE将802.3标准提交国际标准化组织(ISO)第•联合技术委员会(JTC1),再次经过修订变成了国际标准IS08802.3o
40SI参考模型
TEEE802.3在制定时突出的•个基本思想是将系统进行逻辑划分,并研究如何将连接在•起。
我们知道,ISO组织将网络按其功能划分为7个功能层,每层都完成•特定功能。
图2—1所示为OST参考模型。
图2-10SI参考模型
下面将分别介绍OSI参考模型各层的功能与定义:
[物理层]:
物理层是0SI的第一层,它虽然处于最底层,却是整个开放系统的基础。
物理层为设备之间的数据通信提供传输媒体及互连设备,为数据传输提供可靠的环境。
a.媒体和互连设备
物理层的媒体包括架空明线、平衡电缆、光纤、无线信道等。
通信用的互连设备指DTE和DCE间的互连设备。
DTE既数据终端设备,又称物理设备,如计算机、终端等都包括在内。
而DCE则是数据通信设备或电路连接设备,如调制解调器等。
数据传输通常是经过DTE——DCE,再经过DCE——DTE的路径。
互连设备指将DTE、DCE连接起来的装置,如各种插头、插座。
LAN中的各种粗、细同轴电缆、T型接、插头,接收器,发送器,中继器等都属物理层的媒体和连接器。
b.物理层的主要功能
⑴为数据端设备提供传送数据的通路,数据通路可以是一•个物理媒体,也可以是多个物理媒体连接而成。
一•次完整的数据传输,包括激活物理连接,传送数据,终止物理连接。
所谓激活,就是不管有多少物理媒体参与,都要在通信的两个数据终端设备间连接起来,形成…条通路。
⑵传输数据。
物理层要形成适合数据传输需要的实体,为数据传送服务。
一是要保证数据能在其上正确通过,二是要提供足够的带宽(带宽是指每秒钟内能通过的比特(BIT)数),以减少信道上的拥塞。
传输数据的方式能满足点到点,一点到多点,申行或并行,半双工或全双工,同步或异步传输的需要。
⑶完成物理层的一些管理工作。
c.物理层的一些重要标准
物理层的一些标准和协议早在OSI/TC97/C16分技术委员会成立之前就己制定并在应用了,0SI也制定了一些标准并采用了一些已有的成果。
下面将一些重要的标准列出,以便读者查阅。
IS02110:
称为〃数据通信——25芯DTE/DCE接口连接器和插针分配〃。
它与EIA(美国电子工业协会)的〃RS-232-C〃基本兼容。
IS02593:
称为〃数据通信——34芯DTE/DCE——接口连接器和插针分配气
IS04092:
称为〃数据通信——37芯DTE/DEC——接口连接器和插针分配”。
与EIARS-449兼容。
CCITTV.24:
称为〃数据终端设备(DTE)和数据电路终接设备之间的接口电路定义表〃。
其功能与EIARS-232-C及RS-449兼容于100序列线上。
[链路层]:
数据链路可以粗略地理解为数据通道。
物理层要为终端设备间的数据通信提供传输媒体及其连接。
媒体是长期的,连接是有生存期的。
在连接生存期内,收发两端可以进行不等的一次或多次数据通信。
每次通信都要经过建立通信联络和拆除通信联络两过程。
这种建立起来的数据收发关系就叫作数据链路。
而在物理媒体上传输的数据难免受到各种不可靠因素的影响而产生差错,为了弥补物理层上的不足,为上层提供无差错的数据传输,就要能对数据进行检错和纠错。
数据链路的建立,拆除,对数据的检错,纠错是数据链路层的基本任务。
⑴链路层的主要功能
链路层是为网络层提供数据传送服务的,这种服务要依靠本层具备的功能来实现。
链路层应
具备如下功能:
①链路连接的建立,拆除,分离。
②帧定界和帧同步。
链路层的数据传输单元是帧,协议不同,帧的长短和界面也有差别,但无论如何必须对帧进行定界。
③顺序控制,指对帧的收发顺序的控制。
④差错检测和恢复。
还有链路标识,流量控制等等。
差错检测多用方阵码校验和循环码校验来检测信道上数据的误码,而帧丢失等用序号检测。
各种错误的恢复则常靠反馈重发技术来完成。
⑵数据链路层的主要协议
数据链路层协议是为发对等实体间保持一致而制定的,也为了顺利完成对网络层的服务。
主要协议如下:
A.IS01745—1975:
〃数据通信系统的基本型控制规程〃。
这是一•种面向字符的标准,利用10个控制字符完成链路的建立,拆除及数据交换。
对帧的收发情况及差错恢复也是靠这些字符来完成。
IS01155,ISO1177,IS02626,IS02629等标准的配合使用可形成多种链路控制和数据传输方式。
B.IS03309—1984:
称为〃HDLC帧结构〃。
IS04335—1984:
称为〃HDLC规程要素\IS07809-1984:
称为〃HDLC规程类型汇编〃。
这3个标准都是为面向比特的数据传输控制而制定的。
有人习惯上把这3个标准组合称为高级链路控制规程。
C.IS07776:
称为〃DTE数据链路层规程〃。
与CCITTX.25LAB"
平衡型链路访问规程〃相兼容。
⑶链路层产品
独立的链路产品中最常见的半属网卡,网桥也是链路产品。
MODEM的某些功能有人认为属于链路层,对些还有争议。
数据链路层将本质上不可靠的传输媒体变
成可靠的传输通路提供给网络层。
在IEEE802.3情况下,数据链路层分成了两个子层,一个是逻辑链路控制,另一个是媒体访问控制。
图2-2所示为IEEE802.3LAN体系结构。
[网络层]:
网络层的产生也是网络发展的结果。
在联机系统和线路交换的环境中,网络层的功能没有太大意义。
当数据终端增多时。
它们之间有中继设备相连。
此时会出现一台终端要求不只是与唯一的一台而是能和多台终端通信的情况,这就是产生了把任意两台数据终端设备的数据链接起来的问题,也就是路由或者叫寻径。
另外,当一条物理信道建立之后,被一对用户使用,往往有许多空闲时间被浪费掉。
人们自然会希望让多对用户共用一条链路,为解决这一问题就出现了逻辑信道技术和虚拟电路技术。
1.网络层主要功能
网络层为建立网络连接和为上层提供服务,应具备以下主要功能:
路由选择和中继。
激活,终止网络连接。
在一条数据链路上复用多条网络连接,多采取分时复用技术。
差错检测与恢复。
排序,流量控制。
服务选择。
网络管理。
2.网络层标准简介
网络层的一些主要标准如下:
ISO.DIS8208:
称为“DTE用的X.25分组级协议”,ISO.DIS8348:
称为“CO网络服务定义”(面向连接),IS0.DIS8349:
称为“CL网络服务定义”(面向无连接),IS0.DIS8473:
称为“CL网络协议”,IS0.DIS8348:
称为“网络层寻址”。
除上述标准外,还有许多标准。
这些标准都只是解决网络层的部分功能,所以往往需要在网络层中同时使用几个标准才能完成整个网络层的功能。
由于面对的网络不同,网络层将会采用不同的标准