ImageVerifierCode 换一换
格式:PPT , 页数:50 ,大小:671.50KB ,
资源ID:3347667      下载积分:20 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-3347667.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(网络原理关于路由器的实验.ppt)为本站会员(dzzj200808)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

网络原理关于路由器的实验.ppt

1、1,计算机网络 课程实验,2005-10-14,2,互联网五层体系结构,3,主要内容,实验环境 路由器与主机 实验内容 实验准备 实验一:实现数据链路层协议 实验二:路由协议( RIP )的简单实现 实验三: 传输控制协议(TCP)的简单实现 实验四:文件传输协议(FTP)的设计和实现 实验要求,4,实验环境,地点 计算机系,东主楼,10区1楼106 时间 周二,周三,周四,下午2:005:30 硬件 服务器(1台) 48台DELL主机,每6台一组 每组一台路由器和交换机,通过级连形成局域网。 操作系统 Redhat Linux 9.0,5,实验内容,6,实验准备(1),网络基本操作 远程登录

2、操作 telnet (RFC854) 从本机登录到另外一台机器(目标机)上 完全使用目标机的资源 文件传送操作 ftp(File Transfer Protocol, RFC959) 在本机和另外一台主机之间传送文件,7,实验准备(2),RFC 全称:Request for Comments 组织:IETF Internet Engineering Task Force 一个标准诞生过程的几个阶段: Experimental Draft Proposed Standard Standard,8,实验准备(3),TCP,FTP,p5/p6,实验四,实验一,实验三,RIP,实验二,9,实验一:实现

3、数据链路层协议,10,实验一:实现数据链路层协议(1),数据链路层协议特点 保证通信双方在有差错的通信线路上进行无差错的数据传输。 是计算机网络各层协议中通信控制功能最典型的一层协议。 使用“滑动窗口”等数据传输关键技术。,11,实验一:实现数据链路层协议(2),实验内容 理解和掌握“滑动窗口”技术 在一个数据链路层的模拟实验环境中用C语言实现“退回到N重发”的滑动窗口协议(协议5,P158)和“选择重发”的滑动窗口协议(协议6,P161),12,实验一:实现数据链路层协议(3),实验说明 sim.c 控制整个模拟系统,包含main函数 worker.c 实现支持函数,如wait_for_ev

4、ent()等 common.h 通用的头文件,包含类型定义等 protocol.h 支持函数的预定义 协议文件使用的头文件,13,实验一:实现数据链路层协议(4),实验说明 已经写好P2.cP6.c 已经写好makefile sim protocol events timeout pct_loss pct_cksum debug_flags debug_flags SENDS 0x0001 RECEIVE 0x0002 TIMEOUTS 0x0004 PERIODIC 0x0008,14,实验一:实现数据链路层协议(5),实验要求 要求看懂P2-P6,能够说明其原理 学写makefile 编译

5、、运行sim 正确解释执行结果,15,实验二:路由协议(RIP)的简单实现,16,实验二:路由协议(RIP)的简单实现(1),RIP(Routing Information Protocol)协议是一种域内的路由协议。其特点是:运行开销小、简单、范围广。 RFC1058 RIP RFC1723 RIPv2,17,实验二:路由协议(RIP)的简单实现(2),18,实验二:路由协议(RIP)的简单实现(3),每个报文都包括一个报文命令字段、一个报文版本字段以及一些路由信息项(一个RIP 报文中最多允许25 个路由信息项)。RIP 报文的最大长度为4+20*25=504 字节,加上UDP 报头的8字

6、节,一共是512 字节。 Command 字段:表示RIP 报文的类型,目前RIP 只支持两种报文类型,分别是请求报文(request)和响应(response)报文。 Version 字段:表示RIP 报文的版本信息,RIPv1 报文中此字段为1。 Address Family Identifier 字段:表示路由信息所属的地址族,目前RIP 中规定此字段必须为2,表示使用IP 地址族。 IPv4 Address 字段:表示路由信息对应的目的地IP 地址,可以是网络地址、子网地址以及主机地址。 Metric 字段:表示从本路由器到达目的地的距离,目前RIP 将路由路径上经过的路由器数作为距离

7、度量值。,19,实验二:路由协议(RIP)的简单实现(4),20,实验二:路由协议(RIP)的简单实现(5),实验要求 多个接口的实现不要求。 在一个路由器上,RIPv1 可以同时在多个网络接口上运行。本实现不要求多个接口,即实验室的Linux 主机都只有一块网卡。 定时器的时间的随机生成不要求。 为了防止整个网络中参与RIP 协议交互的路由器同时广播路由更新报文从而造成网络的拥塞,协议规定在30秒的基本更新时间间隔上附加一个随机变化量,此变化量为5秒。这个部分可以不作要求。 掩码mask 的处理不要求。 由于RIPv1的路由信息项中不包括路由的掩码信息,所以当路由器处理RIPv1报文的路由信

8、息项中,它不能确定该路由的子网掩码。例如对于目的地址为166.111.68.0 的路由,路由器将不能确定它是一个子网路由还是一个主机路由。,21,实验二:路由协议(RIP)的简单实现(6),实验检查 配置cisco路由器,观察Linux机器上RIP协议是否可以正确进行路由交互。 RIP协议模拟十条路由表项(C类地址)。 若干秒后,打出cicso路由器失效的路由表项。测试时钟是否正确(统一15秒失效)。 收到错误的RIP报文可以正确丢弃,并打印错误提示信息。 要求实现RIPv1,学有余力的同学可以参考RFC1723实现RIPv2(考虑加分),22,实验三:传输控制协议(TCP)的简单实现,23,

9、实验三:TCP的简单实现(1),RFC793 Transmission Control Protocol TCP/IP协议是目前在Internet上主要采用的传输技术,而TCP协议在TCP/IP协议族中是比较复杂的 它为两个任意处理速率的、使用不可靠IP连接机制的机器之间的通信提供可靠的、具有流量控制的、端到端的数据流服务,在整个的网络体系结构中占有非常重要的地位。,24,实验三:TCP的简单实现(2),TCP协议实现所提供服务的特点: 面向连接(Connection Orientation) 完全可靠(Complete Reliability) 全双工通信(Full Duplex Commu

10、nication) 流接口(Stream Interface) 可靠的连接建立(Reliable Connection Startup) 完美的连接终止(Graceful Connection Shutdown),25,实验三:TCP的简单实现(3),TCP使用IP来携带数据。每一个TCP消息封装在一个IP数据报后通过互联网。当数据报到达目的主机,IP实体将数据报的内容再传给TCP实体。 本实验的目的是让学生了解TCP协议的机制及其实现结构,加深对TCP中 “三次握手”、“滑动窗口”、时钟等概念的理解。,26,实验三:TCP的简单实现(4),27,实验三:TCP的简单实现(5),28,实验三:

11、TCP的简单实现(6),29,实验三:TCP的简单实现(7),TCP提供的服务: tcp_socket,tcp_bind, tcp_listen,tcp_accept, tcp_connect, tcp_write,tcp_read,tcp_close,30,实验三:TCP的简单实现(8),TCP的实现要求: 不要求对于TCP的复用,只要支持一个连接即可。 不要求对于TCP选项(Option)的处理,因而避免了“最大段长”的协商问题。 在控制位(Control Bits)中,只要支持SYN、FIN、ACK,不用考虑RST、URG、PSH。 不考虑TCP报文乱序到达问题,使用“否定性确认”机制(

12、NAK:Negative Acknowledgement)。 只考虑滑动窗口的控制(流量控制)而不考虑拥塞控制,即不实现Slow Start算法。 超时重传时间的时间使用常数,不用动态计算。,31,实验三:TCP的简单实现(9),测试过程要求 为了检验TCP实现的正确性,需要利用TCP向上提供的接口编制两个应用程序。一个作为Server,一个作为Client。 (1)启动Server,使Server进入listen状态。 (2)启动Client,与Server建立连接。 (3)Client向Server传输一定数量的数据。 (4)Client主动关闭连接。 (5)Server关闭连接。,32,

13、实验三:TCP的简单实现(10),这是一个标准的Client-Server通信过程,涉及了TCP的主动打开(Active Open)、被动打开(Passive Open)、连接的建立(三次握手)、数据的传输(包括滑动窗口的处理)、连接的关闭(三次握手)等内容。由于规定的向上接口与一般的Socket接口很类似,所以可以象编写一般的Socket程序那样来编写测试程序。,33,实验三:TCP的简单实现(11),TCP的实现结构一般为3个进程(线程): Input:负责处理到来的TCP报文。 Output:负责发送TCP报文。 Timer:负责管理TCP的时钟。 这3个进程间有一些共享数据(如TCB:

14、Tcp Control Block),建议用线程来实现以上的三个进程,比较容易共享数据。在测试时,用户的测试程序也应当作为线程,与以上的三个TCP线程共同运行于一个UNIX进程中。,34,实验三:TCP的简单实现(12),Raw socket,35,实验三:TCP的简单实现(13),Raw socket创建sockfd = socket(PF_INET, SOCK_RAW, protocol);参数protocol用来指明所要接收的协议包,如果是象IPPROTO_TCP(6)这种协议,则内核碰到ip头中protocol域和创建socket所使用参数protocol相同的IP包,就会交给这个ra

15、wsocket来处理. Raw socket接收-| ip header | tcp header(or x header)| data |- 用recvfrom收到的数据包括一个IP头,一个相应的协议头,然后是数据 Raw socket发送当我们发送IP包的时候,却不用亲自处理IP包头,只需要填 充参数protocol所指定的相应的协议头即可.也就是说,用sendto的时候,我们提供给它的缓冲区数据是从IP包头的第一个字节开始,如下,只需要构造这么一个缓冲区就可以了.-|tcp header(or udp header or x header)| data |-,36,实验四:文件传输协议(

16、FTP)的设计和实现,37,实验四:FTP的设计和实现(1),File Transfer Protocol, RFC959 文件传输协议FTP是一个最基本的应用层协议。希望通过本实验能够了解FTP的具体实现细节。 实验室已经提供了使用UNIX进程通信Socket接口的例程。 利用Linux开发环境,设计和实现一个简单的文件传输协议。,38,实验四:FTP的设计和实现(2),用Socket编程接口编写两个程序,分别为客户端程序(client.c)和服务器端程序(server.c),服务器端程序在后台进行时,运行客户端程序,应能够实现以下功能: get: 获取远方的一个文件; put: 传送给远方

17、一个文件; pwd: 显示远方的当前目录; dir: 列出远方当前目录下的内容; cd: 改变远方的当前目录; ?:显示可以提供的命令,即Help; quit: 退出返回。 一个server应该可以同时和多个client通信,39,实验四:FTP的设计和实现(3),通过Socket的一系列操作来实现进程间 的通信,从而实现FTP。,40,实验四:FTP的设计和实现(4),通过Socket的一系列操作来实现进程间的通信,从而实现FTP。,Server Process,Client Process,connect(),41,实验四:FTP的设计和实现(5),严格按照RFC959实现的同学会得到相应

18、加分 Server方Bind的TCP端口 为避免和系统冲突,建议取学号后四位数加上2000,如学号后四位为1234,则定义: #define SERV_PORT 3234 不正常关闭程序时,可能系统将保留该端口几分钟。 socket例程:server.c和client.c。,42,实验四:FTP的设计和实现(6),注意事项 数据顺序,例如:0x00123456 网络顺序:0x00123456 主机顺序:0x56341200 htonl htons ntohl ntohs,低地址,43,实验要求,44,实验安排(1),每位同学具有独立的帐号,帐号为 s(学号),如s2001011582 。密码为

19、空,密码更新命令为yppasswd。其他没有学号的同学可向辅导教师申请一个帐号。所有同学选定帐号后,统一登记,以便于实验及检查。上机时间为24+学时: 第六周至第十四周共九周(第十四周主要是检查)每周星期二、三、四下午2:00-5:30,每班每周一次,有辅导教师负责指导、答疑和检查。,各班学习委员或班长说明各班的上机时间,经协调后最终确定,45,实验安排(2),时间分配: 第6-7周,熟悉环境和检查实验一 第8-9周,实验二,第10-11周检查 第10-11周,实验三,第12-13周检查 第12-13周,实验四,第14-15周检查 实验检查采用阶段检查方式 每个实验都将应当在规定的时间内完成,

20、以避免期末集中检查产生的诸多不良问题。,46,实验安排(3),可以提前但不能拖后 提前完成将按照一定比例加分 拖后检查将按照一定比例扣分(额度较大) 该比例与拖后的时间相关,47,实验指导,http:/ 网络学堂,48,实验资料,ftp:/ username: netcourse password: netcourse,49,实验验收,实验检查分为上机检查和书面实验报告。 阶段检查 实验一第6-7周检查,并提交实验报告 占期末成绩的5 实验二第10-11周检查并提交报告(10%+2%) 实验三第12-13周检查并提交报告(10%+5%) 实验四第14-15周检查并提交报告(10%+2%) 在最后成绩的实验分值中上机检查占75%,书面实验报告占25%。 严禁抄袭!,50,结束语,要求同学们认真完成实验! 希望同学们通过实验有所收获! 欢迎同学们对于实验提出建议和意见!,

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报