路由与交换技术_第1页
路由与交换技术_第2页
路由与交换技术_第3页
路由与交换技术_第4页
路由与交换技术_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

1、路由与交换技术实验报告课程名称 路由与交换 实验名称 将PC转化为路由器 分组名单 教师审批 2015年6月一. 实验名称基于quagga及linux,将PC转换为路由器。 2 实验要求 利用两台交换机完成其之间的RIP及OSPF路由。三实验环境 Linux系统,quagga软件二. 实验目的实现两台虚拟机之间的RIP及OSPF路由,掌握路由器相关知识,熟悉配置操作,提高动手能力,加深课程体会。三. 实验内容及步骤、结果为了熟悉软件操作及使用,在完成这个实现几个要求的综合网络拓扑前,我对几个要求分别进行了实验。小实验1:配置zebra小实验2:配置ripd小实验3:配置ospfd综合实验:使用

2、虚拟机进行RIP和OSPF路由实验原理:虚拟机间路由定义为使用路由器从一个虚拟机向另一个虚拟机 转发网络流量的过程。虚拟机与网络中唯一的 IP 地址相关联。这种配置为实现多网段环境中的路由过程提供了依据。通过路由器进行 虚拟机间路由时,路由器接口可连接到不同的网段。网络拓扑设计:1、配置Zebra1)启动zebra进程,设置hostname为Router,以及eth0的ip address为192.168.1.2/24,eth0:0的ip address为192.168.4.1/242)用show running-config查看运行配置3)用show 

3、interface description查看端口状态:4)将运行配置保存到startup-config中2、配置RIP1)启动ripd,进入ripd进程,并修改名称,ripd的进程号是2602,于是我们可以使用命令telnet localhost 2602进入Router的ripd设置,登陆口令默认是zebra2)启动rip协议,并指定哪个网络使用rip协议3)查看运行配置,并将运行配置保存到startup-config中4)show ip rip查看Router的路由表:5)通过debug查看路由器之间的通信状况3、配置ospfd1)启动ospfd,进入osp

4、fd进程,并修改名称,ospfd的进程号是2604,于是我们可以使用命令telnet localhost 2604进入Router的ospfd设置,登陆口令默认是zebra2)启动ospf协议,指定哪个网络使用ospf协议3)查看运行配置,并将运行配置保存到startup-config中4)show ip ospf查看Router中的OSPf协议信息5)show ip ospf查看Router中的ospf1中的路由信息信息6)通过debug查看路由器之间的通信状况四. RIP路由协议源代码分析(一)代码的结构关系、重要子函数之间的调用关系及关键函数的调用1、帮助信息显示:u

5、sage (char *progname, int status)2、SIGHUP处理器:sighup (void)3、刷新配置文件:vty_read_config (config_file, config_default)4、创建VTY的包:vty_serv_sock5、SIGINT处理程序:sigint (void)6、ripd的主程序:main (int argc, char *argv)1)初始化记录:zlog_default = openzlog (progname, ZLOG_RIP, LOG_CONS|LOG_NDELAY|LOG_PID, LOG_DAEMON)2)命令行选项解

6、析3)准备主线程:master = thread_master_create ()4)库初始化5)RIP相关初始化6)排序所有已安装的命令:sort_node ()7)获取配置文件:vty_read_config (config_file, config_default)8)开始执行只如果不是在干运行模式 if(dryrun) return (0);9)更改为守护程序10)PID文件创建:pid_output (pid_file)11)创建VTY的包: vty_serv_sock (vty_addr, vty_port, RIP_VTYSH_PATH);12)打印横幅:zlog_notice1

7、3) 执行每个线程:while (thread_fetch (master, &thread)14)Not reached(二)重要报文格式其中:·Metric:到下一路由器的权值。·Address Family Identifier:指示路由项中的地址种类,这里应为2。·Ip Address:地址域,包括网络类和IP 地址在内,RIP报文中对每一网络共有14个字节的地址空间。·RIP Version 2 报文的特有的一些属性:·Route Tag:外部路由标记,是表示路由是保留还是重播的属性。它提供一种从外部路由中分离内部路由的方法,

8、用于传播从外部路由器协议(EGP)获得的路由信息。· Subnet mask:子网掩码,应用于IP地址产生非主机部分地址,为0时表示不包括子网掩码部分,使得RIP能够适应更多的环境。· Next Hop:下一驿站,可以对使用多路由协议的网络环境下的路由进行优化。· 认证,确认合法的信息包,目前支持纯文本的口令形式。(三)核心变量及参数设置1、ripd的选择:static struct option longopts= "daemon", no_argument, NULL, 'd', "config_file"

9、;, required_argument, NULL, 'f', "pid_file", required_argument, NULL, 'i', "help", no_argument, NULL, 'h', "dryrun", no_argument, NULL, 'C', "vty_addr", required_argument, NULL, 'A', "vty_port", required_argume

10、nt, NULL, 'P', "retain", no_argument, NULL, 'r', "user", required_argument, NULL, 'u', "group", required_argument, NULL, 'g', "version", no_argument, NULL, 'v', 0 ;2、ripd的特权:struct zebra_privs_t ripd_privs 3、配置文件和目录:conf

11、ig_default= SYSCONFDIR RIPD_DEFAULT_CONFIG;,*config_file=NULL4、路由保留模式标志:retain_mode=05、RIP VTY绑定地址:*vty_addr=NULL6、RIP VTY连接端口:vty_port=RIP_VTY_PORT7、线程:thread_master8、进程ID保存由init SYSTE使用:*pid_file= PATH_RIPD_PID;(三)主要流程当路由器A刚启动RIP时,以广播的形式向相邻路由器B发送请求报文,路由器B的RIP收到请求报文后,响应请求,回发包含本地路由表信息的响应报文。路由器A的RIP收

12、到响应报文后,修改本地路由表的信息,同时以触发修改的形式向相邻路由器B广播本地路由修改信息。路由器B收到触发修改报文后,又向其各自的相邻路由器发送触发修改报文。在一连串的触发修改广播后,各路由器都得到修改并保持最新消息。同时,RIP每30秒向相邻路由器广播本地路由表,各相邻路由器在RIP收到路由报文后,对本地路由进行的维护,在众多路由中选择一条最佳路由,并向各自的相邻网广播路由修改信息,使路由达到全局有效。(四)路由表计算1、增加路由表规则:rip_route_match_add (struct vty *vty, struct route_map_index *index,const cha

13、r *command, const char *arg)2、删除路由表规则:rip_route_match_delete (struct vty *vty, struct route_map_index *index,const char *command, const char *arg)3、更新路由表:rip_route_map_update (const char *notused)4、匹配:route_match_metric (void *rule, struct prefix *prefix, route_map_object_t type, void *object)5、匹配接口

14、:route_match_interface (void *rule, struct prefix *prefix,route_map_object_t type, void *object)6、匹配IP下一跳:route_match_ip_next_hop (void *rule, struct prefix *prefix,route_map_object_t type, void *object)7、匹配IP地址:route_match_ip_address (void *rule, struct prefix *prefix, route_map_object_t type, void *object)8、匹配标识:route_match_tag (void *rule, struct prefix *prefix, route_map_object_t type, void *object)五. 心得体会经过这次实验,学习了用quagga路由的整体流程。我觉得这次实验,让我对原有的知识从

温馨提示

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

评论

0/150

提交评论