- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
traceroute程序设计与实现剖析
Traceroute程序设计与实现
学生姓名: 樊冠宇 指导老师:姜文超
摘 要 本文主要讲述了路由追踪的基本程序设计与实现,并给出了一种基于IP网络的路由追踪命令Tracert,详细分析了实现路由追踪的基本原理,归纳了路由追踪的基本流程。Tracert通过ICMP协议和IP header中TTL(存活时间)利用路由器对数据报存活时间的处理方式来实现路由探测的。首先根据任务书设计好流程图,然后编写程序代码,运行得到Traceroute的命令窗口。提取tracert的输出,再结合现有IP数据库及自建地名- 坐标数据库对路由中各节点IP进行定位,最终实现了动态显示追踪的详细信息和路径。
关键词: IP 地址,ICMP协议,TTL,Tracert路由追踪
1 引 言
Internet,是目前世界上最大的计算机网络,更确切的说是网络中的网络,它由遍布全球的几万局域网和数百万台计算机组成,并通过用于异构网络的TCP/IP协议进行网间通信。互联网中,信息的传送是通过网中许多段的传输介质和设备从一端到达另一端。每一个连接在Internet上的设备,如主机、路由器、接入服务器等一般情况下都会有一个独立的IP地址。通过Traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路劲。当然每次数据包由某一同样的出发点到达某一同样的目的地走的路劲可能会不同,但基本上来说大部分时候所走的路由是相同的。随着Internet(国际互联网)的发展,越来越多的服务通过网络提供给大众,与此同时,针对互联网的攻击事件也越来越频繁。所谓路由追踪实际上就是在IP网络上判断从源到达目的所经过的路由器的IP地址,其基本的实现手段都是向目的地发送数据包以获取经过的路由器的IP。由于Internet上的路由协议是动态的,所以每次形成的数据包从同一个出发点到达目的地的路由可能会不一样,但由于路由算法有一定的稳定性,在大部分时侯所走的路由会是相同的。
1.1 课程设计目的
1.这次课程设计,主要为了加深同学们对计算机网络网络的理解和认识
2.了解信息在计算机网络与网络之间的传送和接收
3.进一步加深了解网络与网络之间的协议
4.理解网络中的IP地址以及路由之间的相关命令。
1.2 课程设计内容
1.已知参数:输入:目的节点IP地址或主机名;输出:从控制台屏幕输出IP报文由本机出发到达目的主机所经过的路由信息。
2.设计要求:通过原始套接字编程,实现Tracert的基本功能
2.1初始化Windows Sockets网络环境;
2.2解析命令行参数,构造目的端socket地址;
2.3定义IP、ICMP报文;
2.4接收ICMP差错报文并进行解析。
1.3课程设计要求
(1)按要求编写课程设计报告书,能正确阐述设计结果。
(2)通过课程设计培养学生严谨的科学态度,认真的工作作风和团队协作精神。
(3)学会文献检索的基本方法和综合运用文献的能力。
(4)在老师的指导下,要求每个学生独立完成课程设计的全部内容。
2设计原理
raceroute是一个路由跟踪命令 它是TCP/IP协议族的一个子协议,属于网络层面向无连接的协议,主要用于在主机与路由器之间传递控制信息,包括报告错误、交换受限控制和状态信息等。当遇到IP数据无法访问目标、IP路由器无法按当前的传输速率转发数据包等情况时,会自动发送ICMP消息。
2.2traceRoute程序的基本原理
路由追踪的主要原理是根据路径上各路由器对数据报的存活时(Time to Live,TTL)做不同的处理,使其产生超时ICMP消息响应,反馈至源主机,从而获得此跳路由器或主机的IP。照此再发送下一个TTL经过自增的数据报,直至获得整个路由中各节点的IP或者接收到错误的消息。详细过程描述如下:
1) 置n = 1。假设该过程中共经过M个路由器。
2) 源主机S向目标主机D发送一个TTL为n的UDP数据报。并设定端口号(一般大于30 000) 。
3) 路由器(或者网关、主机) Rn 对接收到的数据报的TTL 值n做减1处理。
4) 若n = 0,则丢弃UDP数据报,向源主机S发送ICMP超时报文。
5) 若n ≥ 1,继续向目标主机D发送经过处理的数据报。
6) 源主机S分析返回的ICMP报文, 从中提取出发送者Rn的地址IPn并做记录。
7) 若收到“端口不可达”的ICMP报文,则发送方即目标主机D,记录其地址IPn,追踪完成。
8) 置n = n +1,继续向目标主机D发送TTL为n的数据报。
注意,这里使UDP数据报的端口号大于30000,是因为一般的应用程序不可能使用如此高的端口号。当然这并非绝对,若出现例外,则源主机会发现等待
您可能关注的文档
最近下载
- 2025年秋新人教版三年级上册数学全册教学课件.pptx
- 初中道德与法治统编版七年级上册第三单元 珍爱我们的生命第八课 生命可贵认识生命 (1).pptx
- 长期卧床患者的皮肤护理与预防压疮课件.pptx VIP
- iso-10816-3-2009机械振动标准.docx VIP
- 健康管理学知到智慧树期末考试答案题库2025年上海健康医学院.docx VIP
- (2025秋)部编版二年级语文上册 《 去外婆家》精品教案.pdf VIP
- HD 60364-4-41-2017 国外国际规范.pdf VIP
- 从维熙《秋山寻野》.docx VIP
- 初中道德与法治新人教版七年级上册第三单元《珍爱我们的生命》教案(2024秋).doc VIP
- 居住建筑节能设计标准.pdf VIP
文档评论(0)