《计算机通信与网络》课程设计指导2个.docx
- 文档编号:4698906
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:22
- 大小:1.03MB
《计算机通信与网络》课程设计指导2个.docx
《《计算机通信与网络》课程设计指导2个.docx》由会员分享,可在线阅读,更多相关《《计算机通信与网络》课程设计指导2个.docx(22页珍藏版)》请在冰豆网上搜索。
《计算机通信与网络》课程设计指导2个
《计算机通信与网络》课程设计
(无线通信081/光纤081/信息071)
南京工程学院通信工程学院
课程设计是课程教学中的一项重要内容,是完成教学计划达到教学目标的重要环节,是教学计划中综合性较强的实践教学环节。
它对帮助学生全面牢固地掌握课堂教学内容、培养学生的实践和实际动手能力、提高学生全面素质具有很重要的意义。
《计算机通信与网络》是一门理论性和实践性都很强的课程,课程设计环节占有很重要的地位。
希望同学们要按照教学计划要求,充分利用课程设计的时间,综合应用所学知识,独立完成课程设计任务,提高自己的应用技术能力。
一、课程设计题目
以太网帧的封装与解析的设计
帧是在数据链路层数据进行传输与交换的基本单位。
构造帧对于理解网络协议的概念、协议执行过程以及网络问题处理的一般方法具有重要意义。
IP数据包的捕获与解析的设计
IP数据包是在网络层进行数据传输的基本单位,本课题目的在熟悉IP数据包的分片与重组加深理解网络层次结构,以及网络问题处理的一般方法具有重要意义。
IP数据包结构中个字段的含义与用途,深入理解网络层与下面各层的关系。
模拟路由器的配置和路由协议的实现
熟悉使用模拟路由器的步骤;根据网络结构设计计算机网络的配置拓扑;分别根据RIP、OSPF、BGP协议的工作原理,分别配置路由器的接口和运行方法;掌握测试这三种协议的常用命令,并能解释各命令显示结果的含义。
二、课程设计目的
本次课程设计的目的是应用数据链路层与介质访问控制层的知识,根据数据链路层的基本原理,通过构造一个具体的Ethernet帧,深入理解网络协议的基本概念与网络问题处理的一般方法。
二、课程设计时间
课程设计时间共1周。
四、课程设计要求
1.整个课程设计的各个环节都要自己动手。
2.编写程序,根据给出的原始数据,组装一个IEEE802.3格式的帧。
默认的数据文件为二进制原始数据,如文件名为input1和input2。
(1)要求程序为命令行程序。
如,可执行文件名为framer.exe,则命令行形式为:
framerinputfileoutputfile
其中,inputfile为原始数据文件,outputfile为输出结果。
使用的操作系统、编程语言和编译环境不限,但在报告中必须注明。
(2)输出
输出结果存放于数据文件中。
3.对课程设计进行总结,撰写课程设计报告。
五、课程设计分析
1.帧
以太网的帧结构
1)前导码与帧定界符字段
2)目的地址和源地址
3)长度字段
4)数据字段
5)校验字段
2.文件的读写操作
由以太网帧数据需要从输入文件获取,数据字段内容需要写入输入文件,首先文件打开、度曲、写入与定位等,通过fstream、ifstream、ofstream可以完成相关操作。
3.解析帧头部字段
首先进行帧头部的解析:
根据每个字段的规定长度依次读取,按照要求的格式输出,例如:
前导码(oxaa),帧定界符字段(oxab)
4.解析数据字段
IEEE802.3标准规定字段的最小长度为46字节,若不足最小长度值,通过填充”0”来补足。
5.程序流程图
N
Y
六、课程设计报告及其编写基本要求
课程设计报告是课程设计工作的总结和提高,课程设计报告应该反映出作者在课程设计过程中所做的主要工作及取得的主要成果,以及作者在课程设计过程中的心得体会。
1.每个学生必须独立完成课程设计报告。
2.课程设计报告书写规范、文字通顺、图表清晰、数据完整、结论明确。
3.课程设计报告主要内容:
课程设计报告的写作方法是多种多样的,并没有一个固定的格式,对于本课程设计,一般应该包括以下几个主要部分:
题目,作者,摘要,关键词;引言;主体正文;结论;致谢(可以没有此项);参考文献;附录。
其中,主体正文是课程设计报告的重要组成部分。
4.统一课程设计报告封面,并装订成册。
要求抄写清晰认真,书面干净。
如果条件许可最好打印装订成册。
5.课程设计小结(附在课程设计报告后面)
本部分内容不限,字数不限。
欢迎畅谈收获、体会、倾诉苦衷、抱怨以及提出批评和建议等。
6.课程设计完成后一周内上交课程设计报告。
七、本次课题设计具体安排
1.2011.1.4上午8:
00在计算机通信实验室,统一布置本次课程设计的具体任务。
2.2011.1.4~2011.1.7日为上机设计时间。
3.2011.1.7日开始撰写课程设计报告。
2010年12月30日
模拟路由器的配置和路由协议的实现
RIP路由协议模拟
一、RIP路由协议工作原理
RIP(RoutingInformationProtocol)路由协议是一种比较传统的距离向量路由协议,它已经在小型同介质网络中得到了广泛应用。
RFC1058文档中定义的RIPv1有许多不足,RFC1388提出了改进的RIPv2,并在RFC1723和RFC2453中进行了修订。
RIPv2定义了一套有效的改进方案,支持子网路由选择、CIDR、组播等,并提供了明文认证、MD5密文等验证机制。
RIP使用UDP报文交换路由信息,UDP端口号为520。
通常情况下RIPv1报文为广播报文;而RIPv2报文为组播报文,组播地址为224.0.0.9。
RIP每隔30秒向外发送一次更新报文。
如果路由器经过180秒没有收到来自对端的路由更新报文则将所有来自此路由器的路由信息标志为不可达,若在240秒内仍未收到更新报文就将这些路由从路由表中删除。
RIP使用跳数来衡量到达目的地的距离,取值为1~15,跳数为16表示网络不可达。
运行RIP路由协议的路由器,可以从邻居学到缺省路由,也可以自己产生缺省路由。
RIP将向指定网络的接口发送更新报文,如果接口的网络没有与RIP路由进程关联,该接口就不会通告任何更新更新报文。
对于相同距离路径的处理采用先入为主的原则,即当到达相同目标网络的路径有若干条距离相同时,采用广播报文先到的网关路径。
0-----------------------------------------------310----------------------------------------------31
命令
版本
全零
命令
版本
路由选择
地址族
全零
地址族
路径标签
IP地址
IP地址
全零
子网掩码
全零
下一站的IP地址
度量值
度量值
(1)RIPv1
(2)RIPv2
图.1RIP报头格式
两种版本RIP协议的报头格式不同,如图.1所示。
RIP是一个基于UDP协议的,所以受UDP报文的限制一个RIP的数据包不能超过512字节。
从报文中格式看出,RIPv1没有子网掩码,不能运行在含有子网的自治系统中。
RIPv2有子网掩码,可以运行在包含有子网的自治系统中。
Ø命令字段:
范围是从1到5。
1标识一个请求报文,2标识一个相应报文,3、4标识过时,5留作Sun公司内部使用。
Ø地址族:
表示地址类型,对于IP地址该字段的值为2。
ØIP地址:
包括网络类和IP地址在内,RIP报文中对每一网络共有14个字节的地址空间。
Ø度量值:
这里为站点计数。
以下是RIPv2不同于RIPv1的字段:
Ø路由选择域:
与该报文相关的路由选择守护进程的标识符。
在UNIX系统中,该字段是一个进程的标识符。
一台机器通过使用路由选择域,就可以同时运行多个RIP。
Ø路径标签:
表示路由是保留的还是重播的。
它提供一种从外部路由中分离内部路由的方法,用于传播从外部网关协议(EGP)获得的路由信息。
若干RIP支持(EGP),该字段包含一个自治系统号。
Ø子网掩码:
IP地址的子网掩码。
Ø下一站的IP地址:
如果该字段为0,则表明数据报应当发送到正在发送该RIP报文的机器,否则,该字段包含一个IP地址,指明应将数据报发往何处。
为了防止形成环路路由,RIP采用了以下手段:
水平分割(SplitHorizon)、毒性逆转(PoisonReverse)、路由拒绝时间(Holddowntime)。
然而对于非广播多路访问网络(如帧中继、X.25网络),水平分割可能造成部分路由器学习不到全部的路由信息。
在这种情况下,可能需要关闭水平分割。
如果一个接口配置了次IP地址,也需要注意水平分割的问题。
对于小型网络,RIP就所占带宽而言开销小,易于配置、管理和实现,因此应用较广。
二、RIP路由器协议的配置
运用BosonNetworkDesigner绘制如图.2所示的网络拓扑图。
路由器的型号都选择Cisco2611,广域网端口都选择1个。
R3选择一块2个Serial接口的广域网插卡,R1、R2、R4选择一块1个Serial接口的广域网插卡。
接口之间的连接方式如表.1所示。
图.2RIP协议实验网络拓扑结构
表.1RIP协议实验设备接口IP地址与连接对应表
设备与接口编号
IP地址
所连设备与接口编号
IP地址
子网掩码
R1Ethernet0
192.168.12.1
R2Ethernet0
192.168.12.2
255.255.255.0
R3Serial0(DCE)
192.168.23.3
R2Serial0(DTE)
192.168.23.2
R3Serial1(DCE)
192.168.34.3
R4Serial0(DTE)
192.168.34.4
对R1进行如下配置:
上述过程中,前面的步骤对接口E0进行了配置,后面的步骤在路由器上启动了RIP路由协议,该协议主要包括两个命令:
Ørouterrip:
启动RIP路由协议,进入路由器配置模式;
Ønetwork网络地址:
发布与路由器所有接口相连的使用RIP协议的网段,将该网段的地址放入路由更新包中发送给邻居路由器,以使得其它路由器可以学习到该网段的路由,如果发布与自己不直接连接的地址会使得网络学习到错误的路由。
R1只打开了一个接口,相连的网络也只有一个。
路由器R2的配置过程如下:
R2的E0和S0两个接口都打开了,相连的网络有两个。
路由器R4的配置过程如下:
路由器R3的配置过程如下:
R3的S0和S1两个接口都是DCE,需要设置时钟。
配置完成后切换到R1,输入“ping192.168.34.4”,测试与R4的连通性。
如果测试为连通,配置完成。
三、查看RIP路由协议的配置
(1)显示路由器配置
使用“showrunning-config”命令查看4个路由器的配置,以下是R3的主要配置信息:
这说明上节R3两个接口和RIP协议的配置已经生效。
(2)查看路由表信息
使用“showiproute”命令查看各个路由器的路由表。
以下是R1的路由表,可以看出,网络192.168.12.0与E0接口直接相连;网络192.168.23.0可以通过与E0接口相连的、下一跳地址为192.168.12.2的接口到达,跳数为1;网络192.168.34.0也可以通过与E0接口相连的、下一跳地址为192.168.12.2的接口到达,跳数为2。
后面的两条路由记录是通过RIP路由协议,从相邻路由器学习到的动态路由信息。
以下是R3的路由表,可以看出,网络192.168.23.0和192.168.34.0分别与S0、S1接口直接相连;网络192.168.12.0可以通过与S0接口相连的、下一跳地址为192.168.23.2的接口到达,跳数为1,该记录通过RIP路由协议学习获得。
(3)查看路由公告信息
使用“showipprotocols”命令查看各个路由器的路由公告详细信息。
以下是R3的路由信息公告。
从以上公告中的如下信息需要说明:
Øsendingupdatesevery30seconds,nextduein14seconds
表示RIP每隔30秒发布一次路由信息,下次发布在14秒后进行,即16秒前已经发布了一次。
ØInvalidafter180seconds,holddown180,flushedafter240
表示R3如果连续180秒没有收到某一个路由器的更新,它将把该路由器标记为不可用;如果连续240秒没有收到更新信息,它将把该路由器从路由表删除。
ØDefaultversioncontrol:
sendversion1,receiveanyversion
表示S0和S1接口RIP的缺省配置是发送RIPv1版本的更新报文,接收RIPv1和RIPv2版本的更新报文。
ØRoutingInformationSource:
192.168.23.212000:
00:
03
表示RIP协议的网关为192.168.23.2,管理距离为120,上次收到更新的时间是3秒以前。
OSPF路由协议模拟
一、OSPF路由协议工作原理
OSPF是一种常用的链路状态路由协议,它可以在很短的时间里使路由选择表收敛,并能够防止回路。
OSPF需要将链路状态通过广播数据包LSA(LinkStateAdvertisement)传送给在某一区域内的所有路由器,而距离矢量路由协议只要将部分或全部的路由表传递给与其相邻的路由器即可,这是两类内部网关路由协议一个重要不同之处。
在运行OSPF的每个路由器中都维护一个描述自治系统拓扑结构的统一的数据库,该数据库由每一个路由器的局部状态信息(该路由器可用的接口信息、邻居信息)、路由器相连的网络状态信息(该网络所连接的路由器)、外部状态信息(该自治系统的外部路由信息)等组成。
每一个路由器在自治系统范围内扩散相应的状态信息。
所有的路由器运行同样的算法,根据该路由器的拓扑数据库构造出以它自己为根节点的最短路径树,该最短路径树的叶子节点是自治系统内部的其它路由器。
当到达同一目的路由器存在多条相同代价的路由时,OSPF能够实现在多条路径上分配流量。
与RIP不同,OSPF将一个自治域再划分为区,相应地即有两种类型的路由选择方式:
当源和目的地在同一区时,采用区内路由选择;当源和目的地在不同区时,则采用区间路由选择。
这就大大减少了网络开销,并增加了网络的稳定性。
当一个区内的路由器出了故障时并不影响自治域内其它区路由器的正常工作,这也给网络的管理、维护带来方便。
0--------------7--------------15------------------------31------------------------------------------------63
版本号
类型
报文长度
路由器ID
区域ID
校验和
认证类型
认证字
图.3OSPF报头格式
OSPF的报头长度为24字节,格式如图.3所示,以下说明了各个字段的含义:
Ø版本号:
定义所采用的OSPF路由协议的版本。
Ø类型:
定义OSPF数据包类型。
OSPF使用五种类型的数据包在各路由器间交换信息。
✧类型1:
Hello协议包,用于寻找和维护路由器所连网络上的邻居关系。
通过周期性地发出Hello包,来确定和维护邻居路由器接口是否仍在起作用。
✧类型2:
数据库描述包,用于描述整个数据库,该数据包仅在OSPF初始化时发送。
路由器在交换的过程中建立主从关系,主路由器发送包,而从路由器通过序列号认可接收到的包。
✧类型3:
链路状态请求包,用于向相邻的OSPF路由器请求部分或全部的数据,这种数据包是在当路由器发现其数据已经过期时才发送的。
✧类型4:
链路状态更新包,用于实现LSA的传播。
每个链路状态更新包包含一个或多个LSA,而每个包通过使用链路状态确认包来认可。
✧类型5:
链路状态确认包,用于对LSA数据包的响应。
这些包发送到三个地址之一:
多点传送地址AllDRouters,多点传送地址AllSPFRouters,或单点传送地址。
Ø报文长度:
定义整个数据包的长度。
Ø路由器ID:
用于描述数据包的源地址,以IP地址来表示。
Ø区域ID:
用于区分OSPF数据包所属区域,所有OSPF数据包都属于一个特定区域。
Ø校验和:
用于标记数据包在传递时有无误码。
Ø认证类型:
定义OSPF验证类型。
Ø认证字:
包含OSPF验证信息,长为8个字节。
二、OSPF路由器协议的配置
运用BosonNetworkDesigner绘制如图.4所示的网络拓扑图。
路由器的型号都选择Cisco2611,广域网端口都选择1个。
R1、R2、R3选择一块2个Serial接口的广域网插卡,R11、R33选择一块1个Serial接口的广域网插卡。
接口之间的连接方式如表.2所示。
图.4OSPF协议实验网络拓扑结构
表.2OSPF协议实验设备接口IP地址与连接对应表
设备与接口编号
IP地址
所连设备与接口编号
IP地址
子网掩码
R1Serial0(DCE)
192.168.12.1
R2Serial0
192.168.12.2
255.255.255.0
R1Serial1(DCE)
192.168.13.1
R3Serial0
192.168.13.2
R2Serial1(DCE)
192.168.23.2
R3Serial1
192.168.23.3
R1Ethernet0
192.168.1.1
R11Ethernet0
192.168.1.11
R3Ethernet0
192.168.3.3
R33Ethernet0
192.168.3.33
对R1进行如下配置:
上述过程中,前面的步骤对接口S0、S1、E0进行了配置,后面的步骤在路由器上启动了OSPF路由协议,该协议主要包括两个命令:
Ørouterospf进程号:
启动OSPF路由协议,进入路由器配置模式。
process-id是进程号,范围是1~65535,在同一个使用OSPF协议的网络中的不同路由可以使用不同的进程号,一台路由器可以启动多个进程。
Ønetwork网络地址通配符掩码area区域号:
发布与路由器所有接口相连的使用OSPF协议的网段。
通配符掩码与子网掩码正好相反,但是作用是一样的,区域号的范围是0~65535,0号是骨干区域,OSPF路由协议在发布网段的时候必须指明其所属区域,单区域OSPF里区域号必须是0。
路由器R2的主要配置过程如下:
路由器R3的主要配置过程如下:
在OSPF的非骨干区域里,区域的内部路由器不需要了解其它区域的路由,它们只要使用一条默认路由的静态路由,把目的地是其它区域的数据包发送给边界路由器。
这里的R11、R33只有一个出口,属于桩网络,只配置默认静态路由即可。
路由器R11的主要配置过程如下:
路由器R33的主要配置过程如下:
配置完成后切换到R11,输入“ping192.168.3.33”,测试与R33的连通性。
如果测试为连通,配置完成。
三、查看OSPF路由协议的配置
除了可以使用上节的“showrunning-config”命令查看路由器的配置、“showiproute”命令查看路由表、“showipprotocols”命令查看路由公告之外,还有几条OSPF协议专用的命令查看路由配置。
(1)显示OSPF状态
使用“showipospf”命令查看OSPF链路状态更新的时间间隔以及网络收敛的次数等信息,以下是在R1运行该命令的结果:
从以上结果的如下信息需要说明:
Ø第1行:
使用S1接口的IP地址做为OSPF1的进程ID。
Ø第2行:
提供支持的服务类型号(只有类型0)。
Ø第3行:
SPF表的时延为5秒,最大为10秒。
Ø第4行:
LSA最小间隔为5秒,传输时间1秒。
Ø第5-7行:
没有外部的LSA。
Ø余下的行:
说明了这个路由器的3个接口都在一个骨干区域内,该区域没有认证,SPF算法执行了4次确定了区域的范围。
(2)查看各接口信息
使用“showipospfinterface”命令查看各个接口的信息,下面给出了在R1运行该命令的结果。
这里以S0接口为例说明以下这些信息的含义。
ØSerial0isup,lineprotocolisupInternetAddress192.168.12.1/24,Area0
这些信息说明S0接口开启,地址为192.168.12.1/24,在区域0内。
ØProcessID1,RouterID192.168.13.1,Cost:
64TransmitDalyis1sec,Priority1
端口所属路由器ID:
192.168.13.1,传输时所需花费:
64,传输时延:
1s,优先级:
1。
ØTimerintervalsconfigured,Hello10,Dead40,Wait40,Retransmit5Helloduein00:
00:
02
Hello报文间隔:
10,失效时间:
40,等待时间:
40,回应时间:
5,预定发送时间:
2秒后。
ØNeighborCountis1,Adjacentneighborcountis1Adjacentwithneighbor192.168.12.2
该端口有1个邻居,邻居地址:
192.168.12.2。
ØSuppresshellofor0neighbor(s)由于是模拟软件,没有向邻居发送hello报文。
(3)查看邻居信息
使用“showipospfneighbordetail”命令查看邻居的详细信息。
以下在R1运行该命令的结果:
ØNeighbor192.168.23.2,interfaceaddress192.168.12.2inthearea1viainterfaceSerial0
给出了S0相连的路由器R2的ID号以及接口地址,本软件中路由器取与所有接口的最大IP地址做为ID号。
ØNeighborpriorityis0,StateisFULL,6statechanges
邻居优先级为0,邻居状态为全部相邻,经过了6次状态转换。
ØDRis0.0.0.0,BDRis0.0.0.0
指定路由器DR和备份指定路由器BDR的地址,本模拟软件中路由器之间不进行DR和BDR的选择。
(4)查看数据库信息
使用“showipospfdatabase”命令查看OSPF数据库的信息。
以下在R1运行该命令的结果:
该命令显示了路由器管理的拓扑结构表的内容、路由器标识、OSPF进程,各字段含义如下:
ØLinkID:
路由器ID号
ØADVRouter:
广告路由器ID
ØAge:
连接状态时间
ØSeq#:
连接状态顺序号(探测老的或复制的连接状态广告)
ØChecksum:
连接状态广告完整内容的校验和
ØLinkcount:
为路由器探测的接口号。
BGP路由协议模拟
一、BGP路由协议工作原理
BGP是一种在自治系统之间动态交换路由信息的路由协议,它可以完成自治系统AS间的路由选择,称为现代整个网络的支架。
BGP路由协议有多个版本,现代Internet实施的BGPv4,它支持CIDR寻址和AS路径聚合,可以减缓BGP表
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机通信与网络 计算机 通信 网络 课程设计 指导