网络协议实践教程课程设计-网络拓扑构建与协议分析_第1页
网络协议实践教程课程设计-网络拓扑构建与协议分析_第2页
网络协议实践教程课程设计-网络拓扑构建与协议分析_第3页
网络协议实践教程课程设计-网络拓扑构建与协议分析_第4页
网络协议实践教程课程设计-网络拓扑构建与协议分析_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

1、课程设计(大作业)报告课程名称:TCP/IP协议课程设计 设计题目:网络拓扑构建与协议分析 院 系:信息技术学院 专业及班级:计科(2)班 设 计 者:xxxx 学 号:20101101024x 指导教师:范 丰 仙 设计时间:2013年1月14 日1月 18日 昆明学院1 / 26昆明学院课程设计(大作业)任务书姓 名:赵娜院(系):信息技术学院专 业:计算机科学与技术学 号:201011010247任务起止日期:2013.1.142013.1.18课程设计题目:网络拓扑构建与协议分析 课程设计要求及任务描述:理解TCP/IP协议族在Internet中的地位和作用,结合具体网络环境,分析网络

2、协议的运行机理,捕捉协议数据包的组成成分,以理解TCP/IP协议是如何管理和组织计算机网络协调运行的。通过观察TCP/IP的具体细节,掌握常用协议的工作原理和应用机制,分析具体网络环境所采用的主要协议,同时, 利用协议分析工具进行具体网络协议的数据采集和分析理解。1、分析网络拓扑图的结构与组成,观察网络设备在拓扑图中的表示方法,学习根据拓扑图进行网络构建的基本步骤,了解网络组建的过程。分析网络中可能用到的网络协议,说明其应用目的和实现机理。2、掌握协议分析工具的安装、配置和基本操作。利用协议分析工具分析现实中某种网络应用的协议工作过程,通过分析工具捕获网络数据的具体传输,分析该应用在协议栈个层

3、次中数据包的具体内容,从而理解各层协议的作用与协同工作的过程,达到能更加深入掌握网络协议原理的目的。工作计划及安排:1、布置任务、讲授设计 0.5天2、总体设计 0.5天3、测试 0.5天4、数据分析 2天5、书写设计报告 1天6、验收、考核 0.5天合计: 5天指导教师签字 2013年 月 日 2 / 26课程设计(大作业)成绩学号:201011010247 姓名:赵娜 指导教师:范丰仙课程设计题目:网络拓扑构建与协议分析完成情况总结:通过本次试验,我学会了怎样去使用一个自己不会的软件,遇到问题怎样去解决,对待问题有自己的一套能解决问题的办法。课程设计主要是锻炼我们的网络知识应用能力,以及我

4、们对相关软件的应用和熟练程度。当看到大作业设计要求的时候我有点紧张,好多东西只见过,很少实际操作甚至有的东西我根本也就没有见过,更不用说在课程设计中还需要运用。但在这几天的课程设计时间里,我对网络拓扑图的设计,构建有的更深一层的了解。对VLAN的划分从一开始的理论知识,到现在的运用到虚拟网络。特别是在为路由器端口配置IP上,更加的熟练了。在第二部分的协议分析中,运用packet tracter软件抓包,分析包的详细内容,传送包时所用到的各种协议都有了更深入的了解。通过5天的课程设计,我对网络拓扑图构建、交换机、路由器、主机、服务器的配置以及Tracter命令的使用有了更进一步的理解。课程设计的

5、目的就是把所学的知识运用到生活中,在课程设计中,我们能够巩固知识,学以致用。通过课程设计来对理论知识进行另一种学习,理论和实践有很大的差别,理论只有在实践中才能发挥作用,并指导实践,然而理论和实践的结合才能使我们做事得心应手。指导教师评语:成绩:3 / 26填表时间:指导教师签名:4 / 26目录1题目分析511. 网络拓扑构建及协议跟踪512 .协议分析52网络拓扑的构建721.调试过程及调试结果722.测试结果及分析1123.协议的选择和分析123协议分析1331协议分析平台的搭建及操作步骤1332各层次协议的数据分析153.2.1.网络接口层163.2.2.网络层163.2.3.传输层1

6、73.2.4.应用层1733数据交换过程1934.协议原理分析及协议间的协调过程分析193.4.1. ICMP原理193.4.2. ICMP常用类型203.4.3. Tracert 工作原理203.4.3. 用 tracert 解决问题214.试验心得215.参考文献225 / 26课程设计(大作业)报告1题目分析11. 网络拓扑构建及协议跟踪1. 在S3550与S2126G两台设备创建相应的VLAN;a) S2126GG的VLAN20包含F0/3-5端口; b) S2126G的VLAN30包含F0/6-10; c) S3550的VLAN10包含F0/22;2.S3550与S2126G两台设备

7、利用F0/1与F0/2建立ACCESS链路;a) S2126G的F0/1和S3550的F0/1建立ACCESS链路; b) S2126G的F0/2和S3550的F0/2建立ACCESS链路;3.S3550与S2126G两台设备通过交叉线相连;a) 利用802.3ad技术配置聚合链路,提高链路带宽;4.在RA上配置接口IP地址;a) 根据拓扑要求为每个接口配置IP地址;b) 保证所有配置的接口状态为UP;5. 配置二层交换机的路由功能;a) 配置S3550实现VLAN10、VLAN20、VLAN30、VLAN40之间的互通;b) S3550通过VLAN10中的F0/24接口和RA相连,在S355

8、0上ping路由器A的F1/0地址。6.配置静态路由a) 在S3550、RA上分别配置静态路由,实现全网的互通; b) 在RA和S3550上对外网做默认路由; c) 利用ping命令,测试全网的连通性;7.配置服务器的IP地址、子网掩码;12 .协议分析在本次试验中用到的协议有:ICMP、HTTP、TCP/IP、ARP、RIP。各协议的作用如下:1. ICMP协议a.ICMP协议的作用ICMP是“Internet Control Message Protocol”(Internet控制消息协议)的缩写。它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络

9、通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。6 / 26我们在网络中经常会使用到ICMP协议,只不过我们觉察不到而已。比如我们经常使用的用于检查网络通不通的Ping命令,这个“Ping”的过程实际上就是ICMP协议工作的过程。还有其他的网络命令如跟踪路由的Tracert命令也是基于ICMP协议的。b.ICMP的重要性ICMP协议对于网络安全具有极其重要的意义。ICMP协议本身的特点决定了它非常容易被用于攻击网络上的路由器和主机. 比如,可以利用操作系统规定的ICMP数据包最大尺寸不超过64KB这一规定,向主机发起“

10、Ping of Death”(死亡之Ping)攻击。“Ping of Death” 攻击的原理是:如果ICMP数据包的尺寸超过64KB上限时,主机就会出现内存分配错误,导致TCP/IP堆栈崩溃,致使主机死机。 此外,向目标主机长时间、连续、大量地发送ICMP数据包,也会最终使系统瘫痪。大量的ICMP数据包会形成“ICMP风暴”,使得目标主机耗费大量的CPU资源处理,疲于奔命。 2.HTTP协议HTTP:Hypertext Transfer Protocol超文本传输协议(HTTP)是应用层协议,由于简捷、快速的方式。适用于分布式和超媒体信息系统。自1990年起,HTTP就已经被应用于WWW全球

11、信息服务系统。HTTP协议允许使用自有答复的方法表明请求目的,它建立在统一资源识别器(URI)提供的参考原则下,作为一个地址(URL)或名字(URN),用以标志采用哪种方法,它用类似于网络邮件和多用途网际邮件扩充协议(MIME)的格式传递信息。HTTP协议也可用作普通协议,实现用户代理与连接其它Internet服务(如SMTPNMTPFTPGOPHER:及WAIS)的代理服务器或网关之间的通信,允许基本的超媒体访问各种应用提供的资源,同时简化了用户代理系统的实施。3.TCP协议TCP/IP协议 Transmission Control Protocol/Internet Protocol的简写

12、,中译名为传输控制协议/因特网互联协议,又名网络通讯协议 应用层 文件传输,电子邮件,文件服务,虚拟终端 TFTP,HTTP,SNMP,FTP,SMTP,DNS,RIP,Telnet表示层: 数据格式化,代码转换,数据加密 没有协议会话层: 解除或建立与别的接点的联系 没有协议传输层:提供端对端的接口 TCP,UDP网络层: 为数据包选择路由 IP,ICMP,OSPF,BGP,IGMP,ARP,RARP数据链路层 传输有地址的帧以及错误检测功能 SLIP,CSLIP,PPP,MTU,ARP,RARP物理层 以二进制数据形式在物理媒体上传输数据 ISO2110,IEEE802,IEEE802.2

13、TCP/IP协议,包含了一系列构成互联网基础的网络协议。TCP负责发现传输的问题,一有问题就发出信号,要求重新传输,直到所有数据安全正确地传输到目的地。而IP是给因特网的每一台电脑规定一个地址。4.ARP协议arp是一个重要的tcp/ip协议,并且用于确定对应ip地址的网卡物理地址。实用arp命令,你能够查看本地计算机或另一台计算机的arp高速缓存中的当前内容。此外,使用arp命令,也可以用人工方式输入静态的网卡物理/ip地址对,你可能会使用这种方式为缺省网关和本地服务器等常用主机进行这项作,有助于减少网络上的信息量。 按照缺省设置,arp高速缓存中的项目是动态的,每当发送一个指定地点的数据报

14、且高速缓存中不存在当前项目时,arp便会自动添加该项目。一旦高速缓存的项目被输入,它们就已经开始走向失效状态。例如,在windows nt网络中,如果输入项目后不进一步使用,物理/ip地址对就会在2至10分钟内失效。因此,如果arp高速缓存中项目很少或根本没有时,请不要奇怪,通过另一台计算机或路由器的ping命令即可添加。所以,需要通过arp命令查看高速缓存中的内容时,请最好先ping 此台计算机(不能是本机发送ping命令)。 8 / 265.RIP协议RIP是一种在网关与主机之间交换路由选择信息的标准。RIP 是一种内部网关协议。在国家性网络中如当前的因特网,拥有很多用于整个网络的路由选择

15、协议。作为形成网络的每一个自治系统,都有属于自己的路由选择技术,不同的 AS 系统,路由选择技术也不同。RIP作为IGP(内部网关协议)中最先得到广泛使用的一种协议,主要应用于 AS 系统,即自治系统(Autonomous System)。连接 AS 系统有专门的协议,其中最早的这样的协议是“EGP”(外部网关协议),目前仍然应用于因特网,这样的协议通常被视为内部 AS 路由选择协议。RIP 主要设计来利用同类技术与大小适度的网络一起工作。因此通过速度变化不大的接线连接,RIP 比较适用于简单的校园网和区域网,但并不适用于复杂网络的情况。 RIP是一种分布式的基于距离向量的路由选择协议,是因特

16、网的标准协议,其最大的优点就是简单。RIP协议要求网络中每一个路由器都要维护从它自己到其他每一个目的网络的距离记录。RIP协议将“距离”定义为:从一路由器到直接连接的网络的距离定义为1。从一路由器到非直接连接的网络的距离定义为每经过一个路由器则距离加1。“距离”也称为“跳数”。RIP允许一条路径最多只能包含15个路由器,因此,距离等于16时即为不可达。可见RIP协议只适用于小型互联网。RIP 2 由 RIP 而来,属于 RIP 协议的补充协议,主要用于扩大装载的有用信息的数量,同时增加其安全性能。RIPv1和RIPv2 都是基于 UDP 的协议。在 RIP2 下,每台主机或路由器通过路由选择进

17、程发送和接受来自 UDP 端口520的数据包。RIP协议默认的路由更新周期是30S。2网络拓扑的构建21.调试过程及调试结果a.根据题目分析构建网络拓扑图;8 / 26b.进行网络连通性的测试:打开主机0上的命令提示符,输入ping命令和主机1的IP地址,主机0与主机1的网络连通性,测试结果如下:主机0的IP地址为:,子网掩码为:,主机1的IP地址为:,子网掩码为:。9 / 26测试结果标明:主机0与主机1是不通的,数据不能在主机0和主机1之间进行传输。打开用路由器A的S1/2端口的命令行输入p

18、ing命令和路由器B的S1/2端口的IP地址进行网络连通性的测试,测试结果如下:路由器A的S1/2端口的IP地址为:,子网掩码为:52,路由器B的S1/2端口的IP地址为:,子网掩码为:52。测试结果标明:路由器A的S1/2端口与路由器B的S1/2端口是连通的,数据可以在路由器A的S1/2端口和路由器B的S1/2端口之间进行传输。打开服务器上的命令提示符,输入ping命令和路由器B的F1/0端口的IP地址,检查路由器B的F1/0端口与服务器的网络连通性,测试结果如下:服务器的IP地址为:10.1.1

19、.18,子网掩码为:,路由器B的F1/0端口的IP地址为:,子网掩码为:。测试结果标明:路由器B的F1/0端口与服务器是连通的,数据可以在路由器B的F1/0端口和服务器之间进行传输。c.将测试环境由实时切换到模拟环境下;d.编辑过滤器,设置过滤条件;e.选择自动捕获/播放:10 / 26f.在模拟环境下进行数据传输,测试结果如下:g.捕获到的协议数据包如下:11 / 2622.测试结果及分析在试验中,网络协议对数据的通信起着重要的作用,数据在网络上的传输是由于有协议的支持。如果网络没有了协议,那么它就是一个空壳,失去了意义。在

20、网络通信中各层协议相互独立,同时又相互配合。在测试中我检查了不同局域网之间主机的连通性,不同局域网的网络号不相同,不能直接进行通信,用ping命令去测试它们之间的连通性,收到的信息是超时。我还测试了路由器与路由器之间的连通性,两个路由器想要连通,那么它们的网络号必须要相同,它们之间的接口也必须是同一类型。同时我还测试了服务器与路由器的连通性,因为它们的网络号相同,所以它们之间都是连通的。12 / 26在网络拓扑图的构建及其模拟中,由于我的个人能力有限,所以不能完整的把整个网络拓扑图调试通,任然存在很多的问题,我也尝试着去努力将它连通,但由于知识有限,最终还是以失败结束。这是我觉得比较遗憾的一点

21、。如果有机会,我还是希望能将其调通,这样对我们对协议的分析及数据在网络上的传输能比较好的掌握。23.协议的选择和分析数据要想在网络上传输,除了有基本的硬件设备的支持外,还需要有协议的支持。下面就这次网络拓扑图的搭建及其模拟测试中可能用到的一些进行分析。运用层:在运用层上可能用到的协议有HTTP协议、DNS协议、FTP协议等。是惟一直接为用户应用进程访问OSI环境提供手段和服务的层次,向运用进程提供的服务是所有层提供服务的总和。传输层:在数据的传输过程中,传输层用到的协议有TCP协议、UDP协议。负责获取全部的信息,为上层提供端到端的透明的、可靠地数据传输服务,它还负责对数据进行流量和差错控制机

22、制。网络层:在数据的传输过程中,用到的网络层协议有ARP协议、ICMP协议等。选择合适的网间路由和交换结点,确保数据及时传送到目的地,不提供差错检测和流量控制技术,交给上一层来实现。数据链路层:在数据的传输过程中,用到的数据链路层协议有PPP协议等。用于建立相邻结点之间的数据链路(逻辑的),通过差错控制提供数据帧在信道上无差错传输,提供可靠地数据传输,其功能主要有物理地址寻址、数据成帧、流量控制、数据检错和重发等。物理层:主要规定了通信设备的机械特性、电气特性、功能特性和规程协议,用于建立、维护和拆除物理链路的连接。主机A->路由器(零个或多个)->主机B举个例子:主机A上的应用程

23、序a想要和主机B上面的应用程序b通信,大致如下程序a将要通信的数据发到传送层,在传送层上加上与该应用程序对应的通信端口号(主机A上不同的应用程序有不同的端口号),如果是用的TCP的话就加上TCP头部,UDP就加上UDP头部。在传送成加上头部之后继续向往下传到网络层,然后加上IP头部(标识主机地址以及一些其他的数据,这里就不详细说了)。然后传给下层到数据链路层封装成帧,最后到物理层变成二进制数据经过编码之后向外传输。在这个过程中可能会经过许多各种各样的局域网,举个例子: 主机A->(局域网1->路由器->局域网2)->主机B这个模型比上面一个稍微详细点,其中括号里面的可以

24、没有也可能有一个或多个,这个取决于你和谁通信,也就是主机B的位置。主机A的数据已经到了具体的物理介质了,然后经过局域网1到了路由器,路由器接受主机A来的数据先经过解码,还原成数据帧,然后变成网络层数据,这个过程也就是主机A的数据经过网络层、数据链路层、物理层在路由器上面的一个反过程。然后路由器分析主机A来的数据的IP头部(也就是在主机A的网络层加上的数据),并且修改头部中的一些内容之后继续把数据传送出去。一直到主机B收到数据为止,主机B就按照主机A处理数据的反过程处理数据,直到把数据交付给主机B的应用程序b。完成主机A到主机B的单方向通信。13 / 26这里的主机A、B只是为了书写方便而已,可

25、能通信的双方不一定就是个人PC,服务器与主机,主机与主机,服务器与服务器之间的通信大致都是这样的。再举个例子,我们开网页上百度:就是我们的主机浏览器的这个应用程序和百度的服务器之间的通信。应用成所用的协议就是HTTP,而服务器的端口号就是熟知端口号80。3协议分析31协议分析平台的搭建及操作步骤a.选择搭建需要的网络设备,在这里路由器选择1841型号,交换机选择2950-24型号,主机选择PC-PT型号,Server-PT型号。b.选择服务器之间的连接线,相同设备之间选用交叉线,不同设备之间选用直连线。c.选择线之后选择连接线与设备之间的接口,进行连线。d.线连接好以后,配置路由器的IP地址、

26、默认子网掩码,主机的IP地址、默认网关、DNS服务器地址、子网掩码,最后配置服务器的IP地址、默认网关、DNS服务器地址、子网掩码。搭建的网络拓扑图如下:e.将网络环境由实时切换到模拟测试环境下,设置过滤器。这里选择HTTP、ICMP、ARP协议。f. 从服务器到主机使用协议数据单元。g.点击自动捕获播放。h.使用协议单元进行数据传输测试结果如下:14 / 26i.在模拟环境下进行数据传输,测试结果如下:j.捕获到的协议数据包如下:15 / 26k.打开主机0的命令提示符,输入Tracert命令进行跟踪,跟踪结果如下图:32各层次协议的数据分析层次概述TCP/IP协议不是TCP和IP这两个协议

27、的合称,而是指因特网整个TCP/IP协议族。从协议分层模型方面来讲,TCP/IP由四个层次组成:网络接口层、网络层、传输层、应用层。TCP/IP协议并不完全符合OSI的七层参考模型,OSI(Open System Interconnect)是传统的开放式系统互连参考模型,是一种通信协议的7层抽象的参考模型,其中每一层执行某一特定任务。该模型的目的是使各种硬件在相同的层次上相互通信。这7层是:物理层17 / 26、数据链路层(网络接口层)、网络层(网络层)、传输层、会话层、表示层和应用层(应用层)。而TCP/IP通讯协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。由

28、于ARPNET的设计者注重的是网络互联,允许通信子网(网络接口层)采用已有的或是将来有的各种协议,所以这个层次中没有提供专门的协议。实际上,TCP/IP协议可以通过网络接口层连接到任何网络上,例如X.25交换网或IEEE802局域网。TCP/IP结构对应OSI结构TCP/IPOSI应用层应用层表示层会话层主机到主机层(又称传输层)传输层网络层(又称互联层)网络层网络接口层(链路层)数据链路层物理层3.2.1.网络接口层物理层是定义物理介质的各种特性:1、机械特性;2、电子特性;3、功能特性;4、规程特性。数据链路层是负责接收IP数据包并通过网络发送,或者从网络上接收物理帧,抽出IP数据包,交给

29、IP层。常见的接口层协议有:Ethernet 802.3、Token Ring 802.5、X.25、Frame relay、HDLC、PPP ATM等。3.2.2.网络层负责相邻计算机之间的通信。其功能包括三方面。一、处理来自传输层的分组发送请求,收到请求后,将分组装入IP数据报,填充报头,选择去往信宿机的路径,然后将数据报发往适当的网络接口。二、处理输入数据报:首先检查其合法性,然后进行寻径-假如该数据报已到达信宿机,则去掉报头,将剩下部分交给适当的传输协议;假如该数据报尚未到达信宿,则转发该数据报。三、处理路径、流控、拥塞等问题。网络层包括:IP(Internet Protocol)协议

30、、ICMP(Internet Control Message Protocol)控制报文协议、ARP(Address Resolution Protocol)地址转换协议、RARP(Reverse ARP)反向地址转换协议。17 / 26IP是网络层的核心,通过路由选择将下一条IP封装后交给接口层。IP数据报是无连接服务。ICMP是网络层的补充,可以回送报文。用来检测网络是否通畅。Ping命令就是发送ICMP的echo包,通过回送的echo relay进行网络测试。ARP是正向地址解析协议,通过已知的IP,寻找对应主机的MAC地址。RARP是反向地址解析协议,通过MAC地址确定IP地址。比如无

31、盘工作站还有DHCP服务。3.2.3.传输层提供应用程序间的通信。其功能包括:一、格式化信息流;二、提供可靠传输。为实现后者,传输层协议规定接收端必须发回确认,并且假如分组丢失,必须重新发送,即耳熟能详的“三次握手”过程,从而提供可靠的数据传输。传输层协议主要是:传输控制协议TCP(Transmission Control Protocol)和用户数据报协议UDP(User Datagram protocol)。3.2.4.应用层向用户提供一组常用的应用程序,比如电子邮件、文件传输访问、远程登录等。远程登录TELNET使用TELNET协议提供在网络其它主机上注册的接口。TELNET会话提供了基

32、于字符的虚拟终端。文件传输访问FTP使用FTP协议来提供网络内机器间的文件拷贝功能。应用层协议主要包括如下几个:FTP、TELNET、DNS、SMTP、RIP、NFS、HTTP。FTP(File Transfer Protocol)是文件传输协议,一般上传下载用FTP服务,数据端口是20H,控制端口是21H。Telnet服务是用户远程登录服务,使用23H端口,使用明码传送,保密性差、简单方便。DNS(Domain Name Service)是域名解析服务,提供域名到IP地址之间的转换。SMTP(Simple Mail Transfer Protocol)是简单邮件传输协议,用来控制信件的发送、

33、中转。RIP (Router Information Protocol)是路由信息协议,用于网络设备之间交换路由信息。NFS (Network File System)是网络文件系统,用于网络中不同主机间的文件共享。HTTP(Hypertext Transfer Protocol)是超文本传输协议,用于实现互联网中的WWW服务。18 / 26总结OSI中的层功能TCP/IP协议族应用层文件传输,电子邮件,文件服务,虚拟终端TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet等等表示层数据格式化,代码转换,数据加密没有协议会话层接触或建立与别的接点的联系没有协议传书层提供端对端的

34、接口TCP,UDP网络层为数据包选择路由IP,ICMP,OSPF,EIGRP,IGMP,RIP数据链路层传输有地址的帧以及错误检测功能SLIP,CSLIP,PPP,MTU,ARP,RARP物理层以二进制数据形式在物理媒体上传输数据IS01110,IEEE802,IEEE802.2网络层中的协议主要有IP,ICMP,IGMP等,由于它包含了IP协议模块,所以它是所有基于TCP/IP协议网络的核心。在网络层中,IP模块完成大部分功能。ICMP和IGMP以及其他支持IP的协议帮助IP完成特定的任务,如传输差错控制信息以及主机/路由器之间的控制电文等。网络层掌管着网络中主机间的信息传输。传输层上的主要

35、协议是TCP和UDP。正如网络层控制着主机之间的数据传递,传输层控制着那些将要进入网络层的数据。两个协议就是它管理这些数据的两种方式:TCP是一个基于连接的协议;UDP则是面向无连接服务的管理方式的协议。TCP/IP模型的主要缺点有:第一,它在服务、接口与协议的区别上就不是很清楚。一个好的软件工程应该将功能与实现方法区分开来,TCP/IP恰恰没有很好地做到这点,就使得TCP/IP参考模型对于使用新的技术的指导意义是不够的。TCP/IP参考模型不适合于其他非TCP/IP协议簇。第二,主机-网络层本身并不是实际的一层,它定义了网络层与数据链路层的接口。物理层与数据链路层的划分是必要和合理的,一个好

36、的参考模型应该将它们区分开,而TCP/IP参考模型却没有做到这点。数据格式数据帧:帧头+IP数据包+帧尾 (帧头包括源和目标主机MAC地址及类型,帧尾是校验字)IP数据包:IP头部+TCP数据信息(IP头包括源和目标主机IP地址、类型、生存期等)TCP数据信息:TCP头部+实际数据 (TCP头包括源和目标主机端口号、顺序号、确认号、校验字等)19 / 2633数据交换过程信息规则TCP/IP协议叫做传输控制/网际协议,它是Internet国际互联网络的基础。TCP/IP是网络中使用的基本的通信协议。 虽然从名字上看TCP/IP包括两个协议,传输控制协议(TCP)和网际协议(IP),但TCP/I

37、P实际上是一组协议,它包括上百个各种功能的协议,如:远程登录、文件传输和电子邮件等,而TCP协议和IP协议是保证数据完整传输的两个基本的重要协议。通常说TCP/IP是Internet协议族,而不单单是TCP和IP。TCP/IP协议的基本传输单位是数据包(datagram),TCP协议负责把数据分成若干个数据包,并给每个数据包加上包头(就像给一封信加上信封),包头上有相应的编号,以保证在数据接收端能将数据还原为原来的格式,IP协议在每个包头上再加上接收端主机地址,这样数据找到自己要去的地方,如果传输过程中出现数据丢失、数据失真等情况,TCP协议会自动要求数据重新传输,并重新组包。总之,IP协议保

38、证数据的传输,TCP协议保证数据传输的质量。TCP/IP协议数据的传输基于TCP/IP协议的四层结构:应用层、传输层、网络层、接口层,数据在传输时每通过一层就要在数据上加个包头,其中的数据供接收端同一层协议使用,而在接收端,每经过一层要把用过的包头去掉,这样来保证传输数据的格式完全一致。34.协议原理分析及协议间的协调过程分析ICMP协议是一种面向连接的协议,用于传输出错报告控制信息。它是一个非常重要的协议,它对于网络安全具有极其重要的意义。它是TCP/IP协议族的一个子协议,属于网络层协议,主要用于在主机与路由器之间传递控制信息,包括报告错误、交换受限控制和状态信息等。当遇到IP数据无法访问

39、目标、IP路由器无法按当前的传输速率转发数据包等情况时,会自动发送ICMP消息。3.4.1. ICMP原理ICMP提供一致易懂的出错报告信息。发送的出错报文返回到发送原数据的设备,因为只有发送设备才是出错报文的逻辑接受者。发送设备随后可根据ICMP报文确定发生错误的类型,并确定如何才能更好地重发失败的数据包。但是ICMP唯一的功能是报告问题而不是纠正错误,纠正错误的任务由发送方完成。我们在网络中经常会使用到ICMP协议,比如我们经常使用的用于检查网络通不通的Ping命令(Linux和Windows中均有),这个“Ping”的过程实际上就是ICMP协议工作的过程。还有其他的网络命令如跟踪路由的T

40、racert命令也是基于ICMP协议的。ICMP的全称是 Internet Control Message Protocol 。从技术角度来说,ICMP就是一个“错误侦测与回报机制”,其目的就是让我们能够检测网路的连线状况也能确保连线的准确性其功能主要有:a·侦测远端主机是否存在;20 / 26b· 建立及维护路由资料;c· 重导资料传送路径;d· 资料流量控制; 3.4.2. ICMP常用类型ICMP在沟通之中,主要是透过不同的类别(Type)与代码(Code) 让机器来识别不同的连线状况。常用的类别如下表所列ICMP 是个非常有用的协议尤其是当我们要

41、对网路连接状况进行判断的时候。下面让我们看看常用的 ICMP 实例,以更好了解 ICMP 的功能与作用。使用 tracert 跟踪网络连接Tracert(跟踪路由)是路由跟踪实用程序,用于确定 IP 数据报访问目标所采取的路径。Tracert 命令用 IP 生存时间 (TTL) 字段和 ICMP 错误消息来确定从一个主机到网络上其它主机的路由。该诊断实用程序将包含不同生存时间 (TTL) 值的 Internet 控制消息协议 (ICMP) 回显数据包发送到目标,以决定到达目标采用的路由。要在转发数据包上的 TTL 之前至少递减 1,必需路径上的每个路由器,所以 TTL 是有效的跃点计数。数据包

42、上的 TTL 到达 0 时,路由器应该将“ICMP 已超时”的消息发送回源系统。Tracert 先发送 TTL 为 1 的回显数据包,并在随后的每次发送过程将 TTL 递增 1,直到目标响应或 TTL 达到最大值,从而确定路由。路由通过检查中级路由器发送回的“ICMP 已超时”的消息来确定路由。不过,有些路由器悄悄地下传包含过期 TTL 值的数据包,而 tracert 看不到。 tracert -d -h maximum_hops -j computer-list -w timeout target_name 使用 tracert 跟踪网络连接 Tracert(跟踪路由)是路由跟踪实用程序,用

43、于确定 IP 数据报访问目标所采取的路径。Tracert 命令用 IP 生存时间 (TTL) 字段和 ICMP 错误消息来确定从一个主机到网络上其他主机的路由。 3.4.3. Tracert 工作原理 通过向目标发送不同 IP 生存时间 (TTL) 值的“Internet 控制消息协议 (ICMP)”回应数据包,Tracert 诊断程序确定到目标所采取的路由。要求路径上的每个路由器在转发数据包之前至少将数据包上的 TTL 递减 1。数据包上的 TTL 减为 0 时,路由器应该将“ICMP 已超时”的消息发回源系统。 Tracert 先发送 TTL 为 1 的回应数据包,并在随后的每次发送过程将

44、 TTL 递增 1,直到目标响应或 TTL 达到最大值,从而确定路由。通过检查中间路由器发回的“ICMP 已超时”的消息确定路由。某些路由器不经询问直接丢弃 TTL 过期的数据包,这在 Tracert 实用程序中看不到。 Tracert 命令按顺序打印出返回“ICMP 已超时”消息的路径中的近端路由器接口列表。如果使用 -d 选项,则 Tracert 实用程序不在每个 IP 地址上查询 DNS。 在下例中,数据包必须通过两个路由器( 和 )才能到达主机 9。主机的默认网关是 , 网络上的路由器的 I

45、P 地址是 。 21 / 26C:>tracert 9 -d Tracing route to 9 over a maximum of 30 hops 1 2s 3s 2s 2 75 ms 83 ms 88 ms 3 73 ms 79 ms 93 ms 9 Trace complete. 3.4.3. 用 tracert 解决问题 可以使用 tracert 命令确定数据包在网络上的停止位置。下例中,默认网关确定 9 主机没有有效路径。这可能是路由器配置的问题,或者是 网络不存在(错误的 IP 地址)。 C:>tracert 9 Tracing route to 9 over a maximum of 30 hops 1 reports:Destination net unreach

温馨提示

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

评论

0/150

提交评论