|
源代码+程序+论文+开题+答辩稿+翻译+文献综述
目 录
摘要…………………………………………………………………………………3
Abstract……………………………………………………………………………4
第一章 引言………………………………………………………………………5
第二章 基于IPv4的ICMP的认识……………………………………………5
2.1 OSI参考模型和TCP/IP参考模型的比较 ………………………………5
2.2 TCP/IP在网络中的地位和作用…………………………………………6
2.3 ICMP的介绍…………………………………………………………………7
2.3.1 ICMP协议报头…………………………………………………………7
2.3.2 ICMP协议的消息………………………………………………………8
2.3.3 ping命令………………………………………………………………8
2.3.4路由跟踪traceroute…………………………………………………8
2.4 ICMP攻击影响网络安全…………………………………………………8
第三章ICMP部分功能的模拟实现…………………………………………10
3.1背景………………………………………………………………………10
3.1.1 ping命令的深入认识…………………………………………………………10
3.2存在的问题…………………………………………………………………………12
3.3 CPing的功能特点…………………………………………………………………13
3.3.1网络的连通……………………………………………………………………13
3.3.2可视化界面……………………………………………………………………13
3.3.3 显示简单,对一般用户容易看懂……………………………………13
3.3.4 容量小,易携带……………………………………………………13
3.4模拟环境……………………………………………………………………………14
3.5.1硬件环境………………………………………………………………………14
3.5.2软件环境………………………………………………………………………14
3.5实现………………………………………………………………………14
3.5.1 文件组成……………………………………………………………14
3.5.2 网络套接字…………………………………………………………16
3.6操作过程及结果的显示…………………………………………………16
第四章ICMP的发展趋势(基于Ipv6的ICMP)……………………18
参考文献…………………………………………………………………………19
摘要
本文较深入地研究了TCP/IP协议组中的ICMP协议。ICMP是“Internet Control Message Protocol”(Internet控制报文协议)的缩写,是一个非常重要的协议。ICMP是一种与IP协议并行运行在网络层的协议,用于在IP主机、路由器之间传递控制消息。控制消息包含网络通不通、主机是否可达、路由是否可用等网络本身的消息。本文还深入研究了在常用操作系统下(如UNIX,Windows,DOS)利用ICMP协议实现的ping命令,它是用来测试网络是否通畅,主机是否可达,以及用Visual C++制作模拟ping命令的小软件PingDemo,它虽小,但是简便,面向一般用户。
关键词:ICMP,TCP/IP,ping
第一章 引言
随着科学技术的飞速发展,21世纪的地球人已经生活在信息时代。20世纪人类两大科学技术成果--计算机技术和网络技术,均已深入到人类社会的各个领域,Internet把“地球村”的居民紧密联系在一起,“天涯若比邻”已然成为现实。互联网之所以能这样迅速蔓延,被世人接受,是因为它具备特有的信息资源。近年来Internet的迅速发展,给人们的日常生活带来了全新的感受,“网络生存”已经成为时尚,同时人类社会诸如政治、科研、经济、军事等各种活动对信息网络的依赖程度已经越来越强,“网络经济”时代已初露端倪。
ping命令早已是耳熟能详的检查网络畅通的得力方法之一,但是ping命令是来自于哪个网络层次的哪个协议,就不是每个人能说得上的了。同样,对于TCP/IP协议我们一定非常熟悉,但是对于ICMP协议可能就一无所知了。ICMP协议是一个非常重要的协议,它对于网络安全、网络的正常运作具有极其重要的意义。它被用于在IP主机、路由器之间传递控制消息,如网络通不通、主机是否可达、路由是否可用等。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。而且,ICMP协议本身的特点又决定了它非常容易被用于攻击网络上的路由器和主机,造成CPU疲于奔命,系统瘫痪,主机死机。以上所言,ICMP的研究将会带领我们进入一个丰富多彩的未知领域。
第二章 基于IPV4的ICMP的认识
2.1 OSI参考模型和TCP/IP参考模型的比较
尽管OSI模型在各种场合得到了广泛的应用,但由于其建立时间过早,各种网络的发展不断突破了OSI参考模型,特别是互联网的发展,对OSI模型是一个巨大的挑战。OSI参考模型的教训是:首先,引入时间过晚,建立标准时TCP/IP已在大学使用,而后来又被广泛使用;其次,在技术上不能完全适应网络发展现状,如会话层在大多数应用中很少使用,表述层几乎是空的。相反数据链路层和网络层内容过多,有时不得不分成子层,每一子层赋予不同的功能。OSI的另一个问题是有些功能在不同的层一再出现,如编址、流量控制、纠错等等。有些功能放在那里很难达成一致意见,如安全性、加密及网络管理层很难达成一致而干脆未包括在内。同时OSI完全忽略了无连接业务的相应的协议,而这在LAN和演播室局域网中得到了广泛的应用,只是后来才加以补充。另一个严重问题是OSI主要考虑通信,而计算机世界有相当多的不同点。最后在OSI的实现和政策上都有一些问题。
我们再来看一下TCP/IP参考模型,如图1。
可以看到,其中不存在会晤层和表述层,主要面向连接的网络层也被以包交接为基础的无连接互联网络层代替,称为互联网层,数据链路层和物理层也大大简化为主机到网络层(Host-To-Network),除了指出主机必须使用能发送IP包的协议外并不规定什么。在互联网层中定义了包结构和相应的协议,称为互联网协议(IP:Internet Protocol),主要作用是将IP包送到相应的地址。TCP/IP传送层的作用类似于OSI传送层的作用,是使源和目标设备相互对话。
TCP/IP定义了两种端到端协议,第一种是传输控制协议(TCP:Transmission Control Protocol),是可靠的面向连接的协议,能确保拜特流无误码从源设备传送到互联网中的其他设备。它将输入拜特流分割成较小的信息并将其每一个都放入互联网层,在接收端,接收TCP重组所接收的信息还原成原拜特流。TCP还进行流量控制,确保较高速的发送端不会使较低速的接收设备过载。第二种协议是用户数据报协议(UDP:User Datagram Protocol),是一个非确保的无连接协议,用于那些不需要TCP顺序和流量控制的应用,广泛用于单项数据传输、服务器用户类型的应答应用。在这些应用中,即时传送比精确传送更重要,典型的应用就是语言和视频传输。
2.2 TCP/IP在网络中的地位和作用
TCP/IP协议并不完全符合OSI的七层参考模型。传统的开放式系统互连参考模型,是一种通信协议的7层抽象的参考模型,其中每一层执行某一特定任务。该模型的目的是使各种硬件在相同的层次上相互通信。这7层是:物理层、数据链路层、网路层、传输层、话路层、表示层和应用层。而TCP/IP通讯协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。这4层分别为:应用层、传输层、互连网络层、网络接口层。
网际协议IP是TCP/IP的心脏,也是网络层中最重要的协议。IP层接收由更低层(网络接口层例如以太网设备驱动程序)发来的数据包,并把该数据包发送到更高层---TCP或UDP层;相反,IP层也把从TCP或UDP层接收来的数据包传送到更低层。IP数据包是不可靠的,因为IP并没有做任何事情来确认数据包是按顺序发送的或者没有被破坏。IP数据包中含有发送它的主机的地址(源地址)和接收它的主机的地址(目的地址)。 |