北邮计算机实践大三实验报告三周俊雯.docx
《北邮计算机实践大三实验报告三周俊雯.docx》由会员分享,可在线阅读,更多相关《北邮计算机实践大三实验报告三周俊雯.docx(23页珍藏版)》请在冰豆网上搜索。
北邮计算机实践大三实验报告三周俊雯
计算机网络技术实践
实验报告
实验名称实验三RIP和OSPF路由协议的配置及协议流程_
姓名_____周俊霞________实验日期:
2014-4-11
学号_____2011211320____实验报告日期:
2014-4-17
报告退发:
(订正、重做)
一.环境(详细说明运行的操作系统,网络平台,网络拓扑图)
操作系统:
win7
网络平台:
Internet
网络拓扑图:
(由于偶然间发现Microsoftvisio可以来画网络拓扑图,所以就试用了一下,学号后三位320,320%255=65;
没有画DCE,DTE和时钟~~)
二.实验目的
✧复习和进一步掌握实验一二的内容。
✧自己会设计较复杂的网络物理拓扑和逻辑网段。
✧掌握路由器上RIP协议的配置方法,能够在模拟环境中进行路由器上RIP协议的配置,并能通过debug信息来分析RIP协议的工作过程,并观察配置水平分割和没有配置水平分割两种情况下RIP协议工作过程的变化。
✧掌握路由器上OSPF协议的配置方法,能够在模拟环境中上进行路由器上OSPF协议的配置,并能够通过debug信息分析OSPF协议的工作工程。
三.实验内容及步骤(包括主要配置流程,重要部分需要截图)
在上一次实验的基础上实现RIP和OSPF路由协议
自己设计网络物理拓扑和逻辑网段,并在其上实现RIP和OSPF协议(不能少于4台路由器,要求IP地址第三位是学号后三位%255)
通过debug信息详细描述RIP和OSPF协议的工作过程。
(要修改部分链路,观察工作过程)
RIP协议中观察没有配置水平分割和配置水平分割后协议的工作流程;(要修改部分链路,观察区别)
OSPF中数据库同步信息的格式和同步对象?
链路改变信息如何发送,具体格式
实验前准备工作:
设备之间已经连接好,必须配置指定的接口
端口配置完成后一定要激活,noshutdown
串口连接时,配上时钟的一段就是DCE
串口上如果不配置ppp协议,默认的数据链路层是HDLC协议
每个接口的配置要进入到该接口下进行
当配置错误时,在配置完整的命令前加no即可去掉该配置
Ipadd1.1.1.1255.0.0.0
Noipadd1.1.1.1255.0.0.0
PC1和PC2也要配置路由
在拓扑控制台中,大小写敏感,startPC1
Dynagen(.net)
autostart=false
[localhost]
port=7200
udp=10000
workingdir=..\tmp\
C7200
Slot0:
C7200-IO-FE<------>支持1个Fastethernet接口
C7200-IO-2FE<------>支持2个Fastethernet接口(DynamipsGUI2.3里面没有这个选项,想用只有自己添加了)
C7200-IO-GE-E<------>插这个卡以后会同时出现2个端口,Ethernet0/0和GigabitEthernet0/0
注意:
这三个卡只允许插在Slot0口,如果插入后面的slot口是无效的.
Slot1-5:
PA-2FE-TX<------>支持2个Fastethernet接口
PA-FE-TX<------>支持1个Fastethernet接口
PA-4E<------>支持4个Ethernet接口
PA-4T+<------>支持4个serial接口
PA-8E<------>支持8个Ethernet接口
PA-8T<------>支持8个serial接口
PA-A1<------>支持1个ATMportadapter接口
PA-GE<------>支持1个GigabitEthernet接口
PA-POS-OC3<------>支持1个PacketOverSONET/SDH接口(用于更高速度的接口)
c2600(2610/2611/2620/2621/2610XM/2620XM/2650XM)
NM-16ESW<------>支持16个Fastethernet接口
NM-1E<------>支持1个Ethernet接口
NM-1FE-TX<------>支持1个Fastethernet接口
NM-4E<------>支持4个Ethernet接口
CISCO2600-MB-2E<------>支持2个Ethernet接口
CISCO2600-MB-2FE<------>支持2个Fastethernet接口
C3600(3620/3640/3660)
NM-16ESW<------>支持16个Fastethernet接口(交换模块,在使用此模块做交换实验时候,请使用noiprouting关闭端口路由)
NM-1E<------>支持1个Ethernet接口
NM-1FE-TX<------>支持1个Fastethernet接口
NM-4E<------>支持4个Ethernet接口
NM-4T<------>支持4个serial接口
Leopard-2FE<------>支持2个Fastethernet接口(3660专用,并且只能在slot0下使用)
注意:
3620只能使用2个slot,3640可以使用4个slot,除Leopard-2FE模块做了限制,其他模块没有做限制插具体哪个slot
c3725/c3745/c2691
GT96100-FE<------>支持2个Fastethernet接口(只限制在slot0)
NM-16ESW<------>支持16个Fastethernet接口(不做重复说明)
NM-1FE-TX<------>支持1个Fastethernet接口
NM-4T<------>支持4个serial接口
看完了指导内容,下面就开始动手做实验!
!
步骤一、(拓扑图见上面的那个4个路由2个PC的环形网拓扑)我们来看一下.net文件,虽然是.net文件,但可以以记事本方式打开并根据自己的拓扑图进行相应修改;
autostart=false
[localhost]
port=7200
udp=10000
workingdir=..\tmp\
[[routerR1]]
image=..\ios\unzip-c7200-is-mz.122-37.bin
model=7200
console=3001
npe=npe-400
ram=64
confreg=0x2102
exec_area=64
mmap=false
slot0=PA-C7200-IO-FE
slot1=PA-4T
f0/0=PC1f0/0
s1/1=R2s1/0
[[routerR2]]
image=..\ios\unzip-c7200-is-mz.122-37.bin
model=7200
console=3002
npe=npe-400
ram=64
confreg=0x2102
exec_area=64
mmap=false
slot0=PA-C7200-IO-FE
slot1=PA-4T
s1/1=R3s1/0
[[routerR3]]
image=..\ios\unzip-c7200-is-mz.122-37.bin
model=7200
console=3003
npe=npe-400
ram=64
confreg=0x2102
exec_area=64
mmap=false
slot0=PA-C7200-IO-FE
slot1=PA-4T
f0/0=PC2f0/0
s1/1=R4s1/0
[[routerR4]]
image=..\ios\unzip-c7200-is-mz.122-37.bin
model=7200
console=3004
npe=npe-400
ram=64
confreg=0x2102
exec_area=64
mmap=false
slot0=PA-C7200-IO-FE
slot1=PA-4T
s1/1=R1s1/0
[[routerPC1]]
model=2621
ram=20
image=..\ios\unzip-c2600-i-mz.121-3.T.bin
mmap=False
confreg=0x2102
console=3005
[[routerPC2]]
model=2621
ram=20
image=..\ios\unzip-c2600-i-mz.121-3.T.bin
mmap=False
confreg=0x2102
console=3006
当然中间遇到了一些问题,网上搜索了半天解决了一部分,又问了个同学,当然,学霸级别的,原来是S口对应问题;
没有仔细研究接口,S口,以太网口,串口,就着急改.net文件,结果漏洞百出啊;于是又返回研究接口;等把一些琐碎的问题结束后,就可以启动虚拟服务了~~
二、接下来就启动Dynamips虚拟服务:
步骤三、编辑控制台文件,Windows命令脚本,一开始不知道怎么修改,当然,编辑的时候也是以记事本打开:
主要是修改路径,找到自己的.net拓扑
然后是打开控制台:
这是自己修改后的控制台文件(修改了路径,路径设置为寻找自己设计的那个.net文件),.exe打开
将各个路由器和PC都启动;
使用命令startR1,启动路由器R1,
输入idlepcgetR1,
选择合适的值,(打星号的,值最大的)
输入idlepssavedb;保存设置;
接着地洞路由器R2,R3,R4,不需要再进行idlepc设置;
启动PC1,设置idlepc,启动PC2;
步骤四、然后就是telnet了,虚拟服务已经启动,控制台已经打开,各个设备都已经running,当然要登录到各个设备上进行配置和Ping通。
模拟远程登录,从本机登录到远程的路由器R1,R2,R3,R4,P1,P2;
进行相关参数的配置;
以R1为例配置一遍:
当然,首先是打开CMD,输入telnet127.0.0.13001
此时便登录了路由器R1,
enable
R1#configuret
首先进行更名设置:
再配置它的三个接口;
分别是:
f0/0:
处于网5.0.0.0;与PC1的f0/0相连,ip地址是5.1.65.1,掩码255.0.0.0;
s1/1:
处于网1.0.0.0;与R2的s1/1相连,ip地址是1.1.65.1,掩码255.0.0.0;
s1/0:
处于网4.0.0.0;与R4的s1/0相连,ip地址是4.1.65.1,掩码255.0.0.0;
选择f0/0接口:
加一个ip地址:
类似的,给R1的另外两个药用到的接口也加上ip地址
然后exit退出配置到R1#,show一下:
显示一下R1的路由表:
步骤五、将其他3台路由器和两台PC的Ip地址都添加结束后,开始添加RIP协议!
配置RIP
Conf
R2
Routerrip
version2
network1.0.0.0
network3.0.0.0
neighbor1.1.1.1
R1
Conf
Routerrip
version2
network1.0.0.0
network2.0.0.0
neighbor1.1.1.2
Debugiprip
noipsplit-horizon(在s1/1中)
Showiproute
R1.1.1.1[120/2]via2.1.1.1,00:
00:
02,s0/0
***RIP版本1配置:
全局模式下:
routerrip
network网段
***RIP版本2配置:
全局模式下:
routerrip
noauto-summary
version2
network网段
***路由汇总:
在接口模式下:
ipsummary-addressrip汇总成的网段子网掩码
***被动接口:
被动接口原理:
只收路由信息而不发送路由信息。
在路由配置模式下:
passive-interfaces1/1将S1/1配置为被动接口。
***默认路由:
通过RIP传递默认路由共有5种方法
1default-information
2手工写一条默认路由(到NULL0)然后重分布到RIP中
3手工写一条默认路由(到NULL0)在进程中宣告
4ipdefault-network
5在接口汇总0.0.0.0/0到NULL0的路由
***路由重分布:
在路由配置:
redistributestatic把rip路由重分布到静态路由中
修改metric值:
在rip协议下:
offset-l1in8s1/0解释为:
从s1/0口进来的metric值为1的偏移值为8,即metric值加8。
(有out和in之分)。
***修改计时器:
接口下:
timersbasic[Intervalbetweenupdates][Invalid][Holddown][Flush]
***show命令
Showiprouterip:
只显示RIP路由表
Showiproute:
显示所有IP路由表
Showipinterface:
显示IP接口配置
Showrunning-config:
显示当前配置
showrunning-config|ripshow命令管道符|过滤器只显示rip配置信息
debugiprip命令显示了发送和接收到的RIP路由选择更新,路由器RIP版本
以R1为例:
其他3台路由器也进行相应的配置;
PC1和PC2虽然是路由器模拟的,但实际真实情况毕竟不是路由器,所以,不应进行RIP的配置;
PC1:
PC2:
配置完RIP协议后:
看一下R2的路由表:
貌似都是从s1/0出去的,除了去2.0.0.0,即直连的网2;
为何会绕远路,不经过R3直接去网3,却要经过R1,R2再到网3呢?
好吧,不饶弯子了,R3出了问题!
!
除了R3和PC2之外,其他设备不知道网6的存在!
!
经过老师指导,Debug之后,R3的协议版本号竟是错的!
!
回想起来,当时R3的RIP协议确实忘了vertion2语句!
!
所以说,不要忽视任何一个细节。
。
步骤六、RIP配完后,查看路由表,并互相Ping,是否可以Ping通;
很明显的,各个路由器均可到达任一网段;
再放大一下R1的路由表观察一下:
有三个是直接到达的;
另外有两个是通过R2到到网2,通过R4到达网4;
最后一个网6,通过R4或者R2都可以~~
尝试用PC1pingPC2:
成功了~~
然后进行debugiprip
R1:
R2:
以上是把R1删除RIP,对R2进行debug~~
步骤七、删掉RIP协议,改为OSPF协议:
OSPF配置
先去除RIP
Conf
Norouterrip
R1
Conf
Routerospf10
Network1.0.0.0255.0.0.0area0
Network2.0.0.0255.0.0.0area0
Interfaces1/1
Ipospfhello-interval5
Ipospfdead-interval20
R2
Conf
Routerospf20
Network1.0.0.0255.0.0.0area0
Network3.0.0.0255.0.0.0area0
Interfaces1/0
Ipospfhello-interval5
Ipospfdead-interval20
Debugipospfevents
Debugipospfflood
Shipospfneighbor
以R1为例:
路由表:
然后配置R2,配置好R2时,R1的窗口显示:
看一下R1的路由表:
可以发现已经将R2的链路状态加入了R1;
OSPF成功!
Debug一下:
四.实验结果(包括最终实验结果,需要截图)
验收要求
自己设计网络拓扑结构,实现上面的两个实验,不得少于四台路由器;自己设计IP地址;(要求IP地址第三位是学号后三位%255)
不同网络中的PC能够互相ping通;
各个路由器的路由表都正确。
能够改变IP地址,修改拓扑结构;
分两阶段验收,先验收RIP,再验收OSPF
4月11日上午8:
00-10:
30在主楼910和919验收(学号2011211458之前的同学)
RIP协议结果:
尝试用PC1pingPC2:
Ospf结果:
可以看到各个路由器都可以到6个网段;
而且边配R3,R4的OSPF边debugR1和R2,可以看到Ospf的工作过程;
试一下用PC1PingPC2:
好成功了,并且没有丢包;
再回头看一下R4的路由表:
网1和网5是通过R1同步的;
网2和网6是通过R3加入的;
OSPF的调试Debug信息分析 其他例子:
学习计算机网络,如果想要更加深层次的学习和掌握技能,就必须学会查看Debug信息,这个是目前唯一的可以看到路由协议走向的查询工具。
开启Debug测试信息:
1 R1#debug ip ospf adj 开始OSPF的邻居信息的debug 2
3 OSPF adjacency events debugging is on 4
5 R1#clear ip ospf process 重新启动OSPF的邻居计算 6
7 Reset ALL OSPF processes?
[no]:
y 8 R1# 9
10 01:
12:
04:
OSPF:
Interface Serial1/0 going Down 接口重置为down 11
12 01:
12:
04:
OSPF:
1.1.1.1 address 199.99.1.1 on Serial1/0 is dead, state DOWN 13
14 01:
12:
04:
OSPF:
2.2.2.2 address 199.99.1.2 on Serial1/0 is dead, state DOWN 15
16 01:
12:
04:
%OSPF-5-ADJCHG:
Process 100, Nbr 2.2.2.2 on Serial1/0 from FULL to DOWN, Neighbor Down:
Interface down or detached 17 R1# 18
19 01:
12:
04:
OSPF:
Interface Loopback0 going Down 20
21 01:
12:
04:
OSPF:
1.1.1.1 address 1.1.1.1 on Loopback0 is dead, state DOWN 22
23 01:
12:
04:
OSPF:
Interface Serial1/0 going Up 接口开始UP 24
25 01:
12:
04:
OSPF:
Interface Loopback0 going Up 26
27 01:
12:
05:
OSPF:
Build router LSA for area 0, router ID 1.1.1.1, seq 0x80000001 本地路由ID的计算和进程序列号的计算 28 R1# 29
30 01:
12:
08:
OSPF:
2 Way Communication to 2.2.2.2 on Serial1/0, state 2WAY 路由OSPF计算的2WAY状态 31
32 01:
12:
08:
OSPF:
Send DBD to 2.2.2.2 on Serial1/0 seq 0x1968 opt 0x42 flag 0x7 len 32 发送自己的DBD数据库给邻居 33
34 01:
12:
08:
OSPF:
Rcv DBD from 2.2.2.2 on Serial1/0 seq 0x2234 opt 0x42 flag 0x7
五.实验中的问题及心得(需要认真写,不要写空话、套话)
(1)实验中,采用下一跳和转发接口这两种方式配置PC1和PC2有什么区别?
会导致在你的拓扑结构中丢包数有什么变化?
用arp表中的内容来解释。
网关地址即指下一跳路由器的IP地址,或者直接连接的网络IP地址。
转发接口即指从哪个接口(包括物理接口和逻辑接口)转发匹配该静态路由的数据包。
实际上,所有的路由项都必须明确下一跳地址。
在发送数据包时,首先根据报文的目的地址寻找路由表中与之匹配的路由。
只有路由指定了下一跳地址,链路层才能通过下一跳IP地址找到对应的链路层地址,然后按照该地址转发数据包。
视转发接口类型的不同,网关地址或转发接口的设置与否、以及设置方式是不同的。
下一跳的丢包数较转发接口的丢包数要少;
(2)OSPF中广播的信息有哪些?
在OSPF的链路状态广播中包括所有接口信息、所有的量度和其它一些变量。
利用OSPF的路由器首先必须收集有关的链路状态信息,并根据一定的算法计算出到每个节点的最短路径。
而基于距离向量的路由协议仅向其邻接路由器发送有关路由更新信息。
与RIP不同,OSPF将一个自治域再划分为区,相应地即有两种类型的路由选择方式:
当源和目的地在同一区时,采用区内路由选择;当源和目的地在不同区时,则采用区间路由选择。
这就大大减少了网络开销,并增加了网络的稳定性。
当一个区内的路由器出了故障时并不影响自治域内其它区路由器的正常工作,这也给网络的管理、维护带来方便。
OSPF包类型总结
包类型描述
Hello用于邻居路由器之间建立和维护邻接关系
数据库描述包DBD描述每台OSPF路由器的链路状态数据库的内容
链路状态请求包LSR请求链路状态数据库的部分内容
链路状态更新包LSU传送链路状态数据通告LSA给邻居路由器
链路状态确认包LSA