网络协议实践教程课程设计 袁兴才

更新时间:2024-01-20 06:44:02 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

课程设计(大作业)报告

课程名称: TCP/IP协议课程设计 设计题目: 网络拓扑构建与协议分析 院 系: 信息技术学院 专业及班级:2011级计科3班 设 计 者: 袁 兴 才 学 号: 201111010331 指导教师: 范丰仙 设计时间:2014年1月7 日~1月 11 日

- 1 -

昆明学院课程设计(大作业)任务书

姓 名:袁兴才 专 业:计算机科学与技术 任务起止日期:2014.1.7—2014.1.11 院(系):信息技术学院 学 号:201111010331 课程设计题目:网络拓扑构建与协议分析 课程设计要求及任务描述: 理解TCP/IP协议族在Internet中的地位和作用,结合具体网络环境,分析网络协议的运行机理,捕捉协议数据包的组成成分,以理解TCP/IP协议是如何管理和组织计算机网络协调运行的。通过观察TCP/IP的具体细节,掌握常用协议的工作原理和应用机制,分析具体网络环境所采用的主要协议,同时, 利用协议分析工具进行具体网络协议的数据采集和分析理解。 1、分析网络拓扑图的结构与组成,观察网络设备在拓扑图中的表示方法,学习根据拓扑图进行网络构建的基本步骤,了解网络组建的过程。分析网络中可能用到的网络协议,说明其应用目的和实现机理。 2、掌握协议分析工具的安装、配置和基本操作。利用协议分析工具分析现实中某种网络应用的协议工作过程,通过分析工具捕获网络数据的具体传输,分析该应用在协议栈个层次中数据包的具体内容,从而理解各层协议的作用与协同工作的过程,达到能更加深入掌握网络协议原理的目的。 工作计划及安排: 1、 布置任务、讲授设计 0.5天 2、 总体设计 0.5天 3、 测试 0.5天 4、 数据分析 2天 5、 书写设计报告 1天 6、 验收、考核 0.5天 合计: 5天 指导教师签字 2014年 月 日 - 2 -

课程设计(大作业)成绩 学号:201111010331 姓名:袁兴才 指导教师:范丰仙 课程设计题目:网络拓扑构建与协议分析 完成情况总结: 通过本次试验,我学会了怎样去使用一个自己不会的软件,遇到问题怎样去解决,对待问题有自己的一套能解决问题的办法。课程设计主要是锻炼我们的网络知识应用能力,以及我们对相关软件的应用和熟练程度。当看到大作业设计要求的时候我有点紧张,好多东西只见过,很少实际操作甚至有的东西我根本也就没有见过,更不用说在课程设计中还需要运用。但在这几天的课程设计时间里,我对网络拓扑图的设计,构建有的更深一层的了解。对VLAN的划分从一开始的理论知识,到现在的运用到虚拟网络。特别是在为路由器端口配置IP上,更加的熟练了。在第二部分的协议分析中,运用packet tracter软件抓包,分析包的详细 内容,传送包时所用到的各种协议都有了更深入的了解。 通过五天的课程设计,我对网络拓扑图构建、交换机、路由器、主机、服务器的配置以及Tracter命令的使用有了更进一步的理解。课程设计的目的就是把所学的知识运用到生活中,在课程设计中,我们能够巩固知识,学以致用。通过课程设计来对理论知识进行另一种 学习,理论和实践有很大的差别,理论只有在实践中才能发挥作用,并指导实践,然而理论 和实践的结合才能使我们做事得心应手。通过课程设计来对理论知识进行另一种学习,理论和实践有很大的差别,理论只有在实践中才能发挥作用,并指导实践,然而理论和实践的结合才能使我们做事得心应手。再次感谢范老师的指点和耐心的教导使得本次试验取得圆满成功。 指导教师评语: 成绩: 填表时间:

指导教师签名 - 3 -

目录

课程设计(大作业)报告 .......................................................................................................... - 1 - 昆明学院课程设计(大作业)任务书 ...................................................................................... - 2 - 课程设计(大作业)报告 .......................................................................................................... - 4 - 一、题目分析 .............................................................................................................................. - 4 - 第一部分: 网络拓扑构建及协议跟踪 ...................................................................................... - 4 - 第二部分: 协议分析 .................................................................................................................. - 5 -

2.1用协议分析工具分析DNS以及以下各层协议的工作机制 ....................................... - 5 - 二、 网络拓扑构建及协议跟踪 ................................................................................................ - 5 -

2.1 pc机的配置 ................................................................................................................ - 6 - 2.2交换机VLAN配置 ....................................................................................................... - 7 - 2.3 交换机的生成树配置 ................................................................................................ - 10 - 3.测试结果及分析 .................................................................................................................... - 10 -

3.1查看各网段、各端口机及ip的配置情况 ............................................................... - 10 - 3.2 ping命令测试配置情况 ........................................................................................... - 11 - 4、协议的选择和分析 .............................................................................................................. - 12 - 三、协议分析 ............................................................................................................................ - 12 - 3.DNS相关协议分析 ............................................................................................................. - 12 - 3.1 DNS的服务器的配置 ................................................................................................. - 12 - 3.2 DNS服务器的进行域名的解析配置 ......................................................................... - 13 - 3.3 ICMP协议 ................................................................................................................... - 13 - 3.4 TCP协议 ..................................................................................................................... - 14 - 3.5 ARP协议 ..................................................................................................................... - 14 - 3.6 RIP协议 ..................................................................................................................... - 15 - 四、DNS协议配置的测试 ......................................................................................................... - 15 -

4.1 调试过程及调试结果 ................................................................................................ - 15 - 4.2 测试结果及分析 ........................................................................................................ - 16 - 4.3 DNS协议的分析 ......................................................................................................... - 16 - 五、协议分析操作步骤 ............................................................................................................ - 17 -

5.1协议分析平台的搭建及操作步骤 ............................................................................. - 17 - 5.2各层次协议的数据分析 ............................................................................................. - 24 - 5.3数据交换过程 ............................................................................................................. - 26 - 六、心得体会 ............................................................................................................................ - 29 - 七、参考文献 ............................................................................................................................ - 30 -

课程设计(大作业)报告

一、题目分析

第一部分: 网络拓扑构建及协议跟踪

1.1在全网所有设备上按照要求配置正确的IP地址。

1.2在交换机SWC上创建VLAN10、 VLAN20、VLAN30,并根据网络拓扑图 规划交换机接口加入相应的Vlan。

- 4 -

1.3在交换机SWB上创建VLAN100,并根据网络拓扑图规划规划交机接口加相应的Vlan。

根据题目的需求,将该网络拓扑进行划分在不同的网段。在PC-C上划分3个不同的网段vlan10(port:1-4) 、vlan20(port:5-8)、vlan30(port:9-12) 在SWC-X划分vlan100(port:3-6) 。在二层交换机PC-C与三层机以及两个三层交换机之间要连通将要用生成树来完成。 第二部分: 协议分析

2.1用协议分析工具分析DNS以及以下各层协议的工作机制

根据题目的要求

DNS全称为domain name system,中文为计算机域名系统,它是由解析器和域名服务器组成的,域名服务器是指存在有该网络中所有主机的域名和对应ip地址,并具有将域名转换为ip地址功能的服务器,其中域名必须对应一个ip地址,为ip不一定有域名。将域名映射为ip地址的过程就称为“域名解析”。在intrenet上域名与ip地址之间是一对一的,域名解析需要由专门的域名服务器来完成,DNS就是进行域名解析的服务器。DNS命名用于interent等TCP/IP网络中,通过名称查找计算机和服务。域名的最终指向ip。

就根据这样的原理,我们将拓扑图,依次的完成题目的要求。 二、 网络拓扑构建及协议跟踪

- 5 -

1.构建的网络拓扑图如下图所示:

2.1 pc机的配置

对各主机的iP配置时,根据聚合网段的/27将子网掩码设置为255.255.255.224 网关根据交换机的不同而不同。 2.1.1 PC-C的ip配置

2.1.2主机PC-A的ip配置

- 6 -

2.1.2主机PC-B的ip配置

2.2交换机VLAN配置

PC-C划分一个VLAN 10:172.16.1.1/27 lab, VLAN 20:172.16.2.1/27 class, VLAN 30:172.16.3.1/ teacher,这些VLAN的配置都是在交换机C 2960-24上配置和添加的,我们还添加了一个三层交换机3560-24PS进行不同VLAN的链接。交换机B 2960-24属于不同的网段而这个网段的VLAN号是100。 2.2.1 SWC-X交换机Valn的划分

划分不同的网段并命名为vlan10 、vlan20、vlan30

对所分给的网段划分端口号

- 7 -

查考所划分的端口号是否正确

- 8 -

配置端口号为24为一个为连接上一个交换机做准备

将SWC-X的配置存盘

2.2.2 SWB-X交换机Valn的划分

设置SWB-X的网段并命名为vlan100(port3-6)

配置交换SWB-X的iP

配置好的存盘

- 9 -

2.3 交换机的生成树配置

对SWA-X的配置实际上就是交换机的生成树配置,为了使其能正常的传输数据我们将采用trunk(主干、干线、中继线)模式。SWA-X与SWB-X两台交换机间采用port1和port2端口来建立端口汇聚,如下是采用OSPF算法来实现的。

(1)对port1和port2命名

(2)配置vlan之间的iP

OSPF是目前局域网最常用的内部网关协议,上图是在配置主干网trunk采用的ip,在两台交换机上分别启用路由并配置相应的ip,图中172.16.10.0 是wlan100的网段,0.0.0.31 是子网掩码(反子网掩码),因为要启用路由原来的ip是255.255.255.224,,所以反掩码就为 0.0.0.31 ,后面Area 0是说明从那条干道出去。同样另一个交换机也是这样配置的。

3.测试结果及分析

3.1查看各网段、各端口机及ip的配置情况

交换机SWA—X与SWB—X之间端口与ip的配置:

- 10 -

Vlan100给端口的划分:

通过以上配置的情况的检测、查询。各个端口机ip的配置是正常的。 3.2 ping命令测试配置情况

主机Pc-c ping pc-A的情况,结果完全的正确。

- 11 -

主机Pc-A ping pc-C的情况,结果完全的正确。

4、协议的选择和分析

根据使用题目的要求,及设计的网络拓扑,我将不断的探索在网络端口聚合时要采用的协议。经过不断的讨论,我选择在网络拓扑之间采用了OSPF算法来实现。在实现不同网段之间实现数据交换时将用到了许多的协议,下面将对协议进行分析:

最底层是物理层,这一层负责传送比特流.物理层只能看见0和1,只与电信号技术和光信号技术的物理特征相关。物理层可能受到的安全威胁是搭线窃听和监听,可以利用数据加密、数据标签加密,数据标签,流量填充等方法保护物理层的安全。

数据链路层:与其他层一样,它肩负两个责任:发送和接收数据。还要提供数据有效传输的端到端连接。在发送方,数据链路层负责将指令、数据等包装到帧中,帧是该层的基本结构。帧中包含足够的信息,确保数据可以安全地通过本地局域网到达目的地。

网络层:在本实验中主要用到的协议就在这层,主要有:网际协议(IP)、地址解析协议(ARP)、互联网组管理协议IGMP(ping、track)和互联网控制报文协议(ICMP)。在单个局域网中,网络层是冗余的,因为报文是直接从一台计算机传送到另一台计算机的。

三、协议分析

3.DNS相关协议分析 3.1 DNS的服务器的配置

- 12 -

3.2 DNS服务器的进行域名的解析配置

3.3 ICMP协议

ICMP是“Internet Control Message Protocol”(Internet控制消息协议)

- 13 -

的缩写。它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。

我们在网络中经常会使用到ICMP协议,只不过我们觉察不到而已。比如我们经常使用的用于检查网络通不通的Ping命令,这个“Ping”的过程实际上就是ICMP协议工作的过程。还有其他的网络命令如跟踪路由的Tracert命令也是基于ICMP协议的。 3.3.1ICMP的重要性

ICMP协议对于网络安全具有极其重要的意义。ICMP协议本身的特点决定了它非常容易被用于攻击网络上的路由器和主机.

比如,可以利用操作系统规定的ICMP数据包最大尺寸不超过64KB这一规定,向主机发起“Ping of Death”(死亡之Ping)攻击。“Ping of Death” 攻击的原理是:如果ICMP数据包的尺寸超过64KB上限时,主机就会出现内存分配错误,导致TCP/IP堆栈崩溃,致使主机死机。

此外,向目标主机长时间、连续、大量地发送ICMP数据包,也会最终使系统瘫痪。大量的ICMP数据包会形成“ICMP风暴”,使得目标主机耗费大量的CPU资源处理,疲于奔命。 3.4TCP协议

TCP/IP协议 Transmission Control Protocol/Internet Protocol的简写,中译名为传输控制协议/因特网互联协议,又名网络通讯协议 应用层 文件传输,电子邮件,文件服务,虚拟终端 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

TCP/IP协议,包含了一系列构成互联网基础的网络协议。TCP负责发现传输的问题,有问题就发出信号,要求重新传输,直到所有数据安全正确地传输到目的地。而IP是给因特网的每一台电脑规定一个地址。 3.5ARP协议

ARP是一个重要的TCP/IP协议,并且用于确定对应IP地址的网卡物理地址。实用ARP命令,你能够查看本地计算机或另一台计算机的ARP高速缓存中的当前内容。此外,使用ARP命令,也可以用人工方式输入静态的网卡物理/IP地址对,你可能会使用这种方式为缺省网关和本地服务器等常用主机进行这项作,有助于减少网络上的信息量。

按照缺省设置,ARP高速缓存中的项目是动态的,每当发送一个指定地点的数据报且高速缓存中不存在当前项目时,ARP便会自动添加该项目。一旦高速缓存的项目被输入,它们就已经开始走向失效状态。例如,在windows nt网络中,如果输入项目后不进一步使用,物理/IP地址对就会在2至10分钟内失效。因此,如果ARP高速缓存中,项目很少或根本没有时,请不要奇怪,通过另一台计

- 14 -

算机或路由器的ping命令即可添加。所以,需要通过ARP命令查看高速缓存中的内容时,请最好先ping 此台计算机(不能是本机发送ping命令)。 3.6RIP协议

RIP是一种在网关与主机之间交换路由选择信息的标准。RIP 是一种内部网关协议。在国家性网络中如当前的因特网,拥有很多用于整个网络的路由选择协议。作为形成网络的每一个自治系统,都有属于自己的路由选择技术,不同的 AS 系统,路由选择技术也不同。

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

RIP是一种分布式的基于距离向量的路由选择协议,是因特网的标准协议,其最大的优点就是简单。RIP协议要求网络中每一个路由器都要维护从它自己到其他每一个目的网络的距离记录。RIP协议将“距离”定义为:从路由器到直接连接的网络的距离定义为1。从一路由器到非直接连接的网络的距离定义为每经过一个路由器则距离加1。“距离”也称为“跳数”。RIP允许一条路径最多只能包含15个路由器,因此,距离等于16时即为不可达。可见RIP协议只适用于小型互联网。

RIP 2 由 RIP 而来,属于 RIP 协议的补充协议,主要用于扩大装载的有用信息的数量,同时增加其安全性能。RIPv1和RIPv2 都是基于 UDP 的协议。在 RIP2 下,每台主机或路由器通过路由选择进程发送和接受来自 UDP 端口520的数据包。RIP协议默认的路由更新周期是30S。

四、DNS协议配置的测试 4.1调试过程及调试结果 (1)、同一个VLAN间的主机进行调试

主机PC-A主机PC-B,它们属于同一个VLAN。

(2)、不同VLAN间的主机进行调试

主机PC-A主机PC-C是ping不通的,因为它们属于不同的VLAN。

- 15 -

(3)、在同一个网段下的主机与服务器进行调试 主机A ping 服务器,ping 通。

4.2测试结果及分析

DNS的调试过程,首先先输入一个域名name。选择Type类型,输入Address地址。

4.3DNS协议的分析

DNS是域名系统(Domain Name System)的缩写,该系统用于命名组织到域层次结构中的

计算机和网络服务。域名是由圆点分开一串单词或缩写组成的,每一个域名都对

- 16 -

应一个惟一

的IP地址,在Internet上域名与IP地址之间是一一对应的,DNS就是进行域名解析的服务器。

DNS查询和响应的一般格式

DNS的调试过程,首先先输入一个域名name。选择Type类型,输入Address地址。

五、协议分析操作步骤

5.1协议分析平台的搭建及操作步骤 a.选择搭建需要的网络设备,在这里路由器选择1841型号,交换机选择2950-24型号,主机选择PC-PT型号,Server-PT型号。 b.选择服务器之间的连接线,相同设备之间选用交叉线,不同设备之间选用直连线。

c.选择线之后选择连接线与设备之间的接口,进行连线。

d.线连接好以后,配置路由器的IP地址、默认子网掩码,主机的IP地址、默认网关、DNS服务器地址、子网掩码,最后配置服务器的IP地址、默认网关、DNS

- 17 -

服务器地址、子网掩码。搭建的网络拓扑图如下:

e.将网络环境由实时切换到模拟测试环境下,设置过滤器。这里选择HTTP、ICMP、协议。

f. 从服务器到主机使用协议数据单元。 g.点击自动捕获播放。

h.使用协议单元进行数据传输测试结果如下:

- 18 -

i.在模拟环境下进行数据传输,测试结果如下:

j.捕获到的协议数据包如下:

输入PDU:

输出PDU

k.打开主机0的命令提示符,输入Tracert命令进行跟踪,跟踪结果如下图:

DNS抓包分析:

- 19 -

DNS实验图

连通成功:

DNS配置:(为DNS设了2个地址)

- 20 -

DNS输出层

DNS头部(DNS查询和响应的一般格式)

QR:表示响应报文; opcode:表示服务器状态请求; AA:表示名字服务器是权限服务器。

TC:表示当应答的总长度超过512字节时,只返回512字节。 RD:递归查询和迭代查询。 RA:可用递归。

Zero:保留位为000。

Rcode:表示查询中制定的域名不存在。 NDS进入层:

- 21 -

DNS发出 :

DNS 返回:

172.16.10.20 172.16.10.21

- 22 -

DNS访问成功:

- 23 -

5.2各层次协议的数据分析 5.2.1层次概述

TCP/IP协议不是TCP和IP这两个协议的合称,而是指因特网整个TCP/IP协议族。

从协议分层模型方面来讲,TCP/IP由四个层次组成:网络接口层、网络层、传5.2.2传输层、应用层。

TCP/IP协议并不完全符合OSI的七层参考模型,OSI(Open System Interconnect)是传统的开放式系统互连参考模型,是一种通信协议的7层抽象的参考模型,其中每一层执行某一特定任务。该模型的目的是使各种硬件在相同的层次上相互通信。这7层是:物理层、数据链路层(网络接口层)、网络层(网络层)、传输层、会话层、表示层和应用层(应用层)。而TCP/IP通讯协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。由于ARPNET的设计者注重的是网络互联,允许通信子网(网络接口层)采用已有的或是将来有的各种协议,所以这个层次中没有提供专门的协议。实际上,TCP/IP协议可以通过网络接口层连接到任何网络上,例如X.25交换网或IEEE802局域网。 TCP/IP结构对应OSI结构 TCP/IP OSI 应用层 应用层 表示层 会话层 主机到主机层(又称传输层) 传输层 网络层(又称互联层) 网络层 网络接口层(链路层) 数据链路层 物理层 5.2.3网络接口层

物理层是定义物理介质的各种特性: 1、机械特性; 2、电子特性; 3、功能特性; 4、规程特性。

数据链路层是负责接收IP数据包并通过网络发送,或者从网络上接收物理帧,抽出IP数据包,交给IP层。 常见的接口层协议有:

Ethernet 802.3、Token Ring 802.5、X.25、Frame relay、HDLC、PPP ATM等。 网络层

负责相邻计算机之间的通信。其功能包括三方面。

(1)处理来自传输层的分组发送请求,收到请求后,将分组装入IP数据报,填充报头,选择去往信宿机的路径,然后将数据报发往适当的网络接口。

(2)处理输入数据报:首先检查其合法性,然后进行寻径--假如该数据报已到达信宿机,则去掉报头,将剩下部分交给适当的传输协议;假如该数据报尚未到达信宿,则转发该数据报。

(3)处理路径、流控、拥塞等问题。

- 24 -

网络层包括:IP(Internet Protocol)协议、ICMP(Internet Control Message Protocol)

控制报文协议、ARP(Address Resolution Protocol)地址转换协议、RARP(Reverse ARP)反向地址转换协议。 IP是网络层的核心,通过路由选择将下一条IP封装后交给接口层。IP数据报是无连接服务。

ICMP是网络层的补充,可以回送报文。用来检测网络是否通畅。

Ping命令就是发送ICMP的echo包,通过回送的echo relay进行网络测试。 ARP是正向地址解析协议,通过已知的IP,寻找对应主机的MAC地址。 RARP是反向地址解析协议,通过MAC地址确定IP地址。比如无盘工作站还有DHCP服务。 传输层

提供应用程序间的通信。其功能包括:一、格式化信息流;二、提供可靠传输。为实现后者,传输层协议规定接收端必须发回确认,并且假如分组丢失,必须重新发送,即耳熟能详的“三次握手”过程,从而提供可靠的数据传输。

传输层协议主要是:传输控制协议TCP(Transmission Control Protocol)和用户数据报协议UDP(User Datagram protocol)。 .应用层

向用户提供一组常用的应用程序,比如电子邮件、文件传输访问、远程登录等。远程登录TELNET使用TELNET协议提供在网络其它主机上注册的接口。TELNET会话提供了基于字符的虚拟终端。文件传输访问FTP使用FTP协议来提供网络内机器间的文件拷贝功能。

应用层协议主要包括如下几个:FTP、TELNET、DNS、SMTP、RIP、NFS、HTTP。 FTP(File Transfer Protocol)是文件传输协议,一般上传下载用FTP服务,数据端口是20H,控制端口是21H。

Telnet服务是用户远程登录服务,使用23H端口,使用明码传送,保密性差、简单方便。

DNS(Domain Name Service)是域名解析服务,提供域名到IP地址之间的转换。 RIP (Router Information Protocol)是路由信息协议,用于网络设备之间交换路由信息。

NFS (Network File System)是网络文件系统,用于网络中不同主机间的文件共享。

HTTP(Hypertext Transfer Protocol)是超文本传输协议,用于实现互联网中的WWW服务。

- 25 -

总结 OSI中的功能 TCP/IP协议族 层 应用层 文件传输,电子邮件,文件TFTP,HTTP,SNMP, 服务,虚拟终端 FTP,SMTP,DNS,Telnet等等 表示层 数据格式化,代码转换,数没有协议 据加密 会话层 接触或建立与别的接点的联没有协议 系 传书层 提供端对端的接口 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完成特定的任务,如传输差错控制信息以及主机/路由器之间的控制电文等。网络层掌管着网络中主机间的信息传输。 传输层上的主要协议是TCP和UDP。正如网络层控制着主机之间的数据传递,传输层控制着那些将要进入网络层的数据。两个协议就是它管理这些数据的两种方式:TCP是一个基于连接的协议;UDP则是面向无连接服务的管理方式的协议。 TCP/IP模型的主要缺点有:

第一,它在服务、接口与协议的区别上就不是很清楚。一个好的软件工程应该将功能与实现方法区分开来,TCP/IP恰恰没有很好地做到这点,就使得TCP/IP参考模型对于使用新的技术的指导意义是不够的。TCP/IP参考模型不适合于其他非TCP/IP协议簇。

第二,主机-网络层本身并不是实际的一层,它定义了网络层与数据链路层的接口。物理层与数据链路层的划分是必要和合理的,一个好的参考模型应该将它们区分开,而TCP/IP参考模型却没有做到这点。 数据格式

数据帧:帧头+IP数据包+帧尾 (帧头包括源和目标主机MAC地址及类型,帧尾是校验字)

IP数据包:IP头部+TCP数据信息(IP头包括源和目标主机IP地址、类型、生存期等)

TCP数据信息:TCP头部+实际数据 (TCP头包括源和目标主机端口号、顺序号、确认号、校验字等) 5.3数据交换过程

信息规则TCP/IP协议叫做传输控制/网际协议,它是Internet国际互联网络

- 26 -

的基础。TCP/IP是网络中使用的基本的通信协议。

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

5.3.1协议原理分析及协议间的协调过程分析

ICMP协议是一种面向连接的协议,用于传输出错报告控制信息。它是一个非常重要的协议,它对于网络安全具有极其重要的意义。

它是TCP/IP协议族的一个子协议,属于网络层协议,主要用于在主机与路由器之间传递控制信息,包括报告错误、交换受限控制和状态信息等。当遇到IP数据无法访问目标、IP路由器无法按当前的传输速率转发数据包等情况时,会自动发送ICMP消息。

5.3.2 ICMP原理

ICMP提供一致易懂的出错报告信息。发送的出错报文返回到发送原数据的设备,因为只有发送设备才是出错报文的逻辑接受者。发送设备随后可根据ICMP报文确定发生错误的类型,并确定如何才能更好地重发失败的数据包。但是ICMP唯一的功能是报告问题而不是纠正错误,纠正错误的任务由发送方完成。

我们在网络中经常会使用到ICMP协议,比如我们经常使用的用于检查网络通不通的Ping命令(Linux和Windows中均有),这个“Ping”的过程实际上就是ICMP协议工作的过程。还有其他的网络命令如跟踪路由的Tracert命令也是基于ICMP协议的。

ICMP的全称是 Internet Control Message Protocol 。从技术角度来说,ICMP就是一个“错误侦测与回报机制”,其目的就是让我们能够检测网路的连线状况﹐也能确保连线的准确性﹐其功能主要有: a·侦测远端主机是否存在; b· 建立及维护路由资料; c· 重导资料传送路径; d· 资料流量控制;

5.3.3ICMP常用类型

ICMP在沟通之中,主要是透过不同的类别(Type)与代码(Code) 让机器来识别不同的连线状况。常用的类别如下表所列﹕

ICMP 是个非常有用的协议﹐尤其是当我们要对网路连接状况进行判断的时候。下面让我们看看常用的 ICMP 实例,以更好了解 ICMP 的功能与作用。

5.3.4使用 tracert 跟踪网络连接

- 27 -

Tracert(跟踪路由)是路由跟踪实用程序,用于确定 IP 数据报访问目标所采取的路径。Tracert 命令用 IP 生存时间 (TTL) 字段和 ICMP 错误消息来确定从一个主机到网络上其它主机的路由。

该诊断实用程序将包含不同生存时间 (TTL) 值的 Internet 控制消息协议 (ICMP) 回显数据包发送到目标,以决定到达目标采用的路由。要在转发数据包上的 TTL 之前至少递减 1,必需路径上的每个路由器,所以 TTL 是有效的跃点计数。数据包上的 TTL 到达 0 时,路由器应该将“ICMP 已超时”的消息发送回源系统。Tracert 先发送 TTL 为 1 的回显数据包,并在随后的每次发送过程将 TTL 递增 1,直到目标响应或 TTL 达到最大值,从而确定路由。路由通过检查中级路由器发送回的“ICMP 已超时”的消息来确定路由。不过,有些路由器悄悄地下传包含过期 TTL 值的数据包,而 tracert 看不到。

tracert [-d] [-h maximum_hops] [-j computer-list] [-w timeout] target_name

5.3.5使用 tracert 跟踪网络连接

Tracert(跟踪路由)是路由跟踪实用程序,用于确定 IP 数据报访问目标所采取的路径。Tracert 命令用 IP 生存时间 (TTL) 字段和 ICMP 错误消息来确定从一个主机到网络上其他主机的路由。

5.3.6Tracert 工作原理

通过向目标发送不同 IP 生存时间 (TTL) 值的“Internet 控制消息协议 (ICMP)”回应数据包,Tracert 诊断程序确定到目标所采取的路由。要求路径上的每个路由器在转发数据包之前至少将数据包上的 TTL 递减 1。数据包上的 TTL 减为 0 时,路由器应该将“ICMP 已超时”的消息发回源系统。

Tracert 先发送 TTL 为 1 的回应数据包,并在随后的每次发送过程将 TTL 递增 1,直到目标响应或 TTL 达到最大值,从而确定路由。通过检查中间路由器发回的“ICMP 已超时”的消息确定路由。某些路由器不经询问直接丢弃 TTL 过期的数据包,这在 Tracert 实用程序中看不到。

Tracert 命令按顺序打印出返回“ICMP 已超时”消息的路径中的近端路由器接口列表。如果使用 -d 选项,则 Tracert 实用程序不在每个 IP 地址上查询 DNS。

在下例中,数据包必须通过两个路由器(10.0.0.1 和 192.168.0.1)才能到达主机 172.16.0.99。主机的默认网关是 10.0.0.1,192.168.0.0 网络上的路由器的 IP 地址是 192.168.0.1。 C:\\>tracert 172.16.0.99 -d

Tracing route to 172.16.0.99 over a maximum of 30 hops 1 2s 3s 2s 10.0.0.1

2 75 ms 83 ms 88 ms 192.168.0.1 3 73 ms 79 ms 93 ms 172.16.0.99 Trace complete.

5.3.8用 tracert 解决问题

可以使用 tracert 命令确定数据包在网络上的停止位置。下例中,默认网关确定 192.168.10.99 主机没有有效路径。这可能是路由器配置的问题,或者是 192.168.10.0 网络不存在(错误的 IP 地址)。 C:\\>tracert 192.168.10.99

Tracing route to 192.168.10.99 over a maximum of 30 hops

- 28 -

1 10.0.0.1 reports:Destination net unreachable. Trace complete.

Tracert 实用程序对于解决大网络问题非常有用,此时可以采取几条路径到达同一个点。

Tracert 命令行选项

Tracert 命令支持多种选项,如下表所示。

tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout] target_name -d 指定不将 IP 地址解析到主机名称。

-h maximum_hops 指定跃点数以跟踪到称为 target_name 的主机的路由。 -j host-list 指定 Tracert 实用程序数据包所采用路径中的路由器接口列表。 -w timeout 等待 timeout 为每次回复所指定的毫秒数。 target_name 目标主机的名称或 IP 地址。 使用 tracert 命令跟踪路径 打开 命令提示符,然后键入: tracert host_name

或者键入 tracert ip_address

其中 host_name 或 ip_address 分别是远程计算机的主机名或 IP 地址。 例如,要跟踪从该计算机到的连接路由,请在命令提示行键入: tracert [url]

六、心得体会

通过本次试验,我在我们小组中完成了DNS及ICMP的协议机制的分析以及配置,知道遇到问题怎样去解决,通过老师的指点和查阅资料是我做的部分基本完成实验内容。课程设计主要是锻炼我们的网络知识应用能力,以及我们对相关软件的应用和熟练程度。当看到大作业设计要求的时候我有点不知所措,好多东西只是见过,很少实际操作甚至有的东西我根本也就没有见过,更不用说在课程设计中还需要运用这就考验我们的自学能力的时候了。通过自学我懂得了怎样去使用软件,虽然还是有很多不懂,但至少比起以前知道了许多没有接触过的知识。但在这几天的课程设计时间里,我对网络拓扑图的设计,构建有的更深一层的了解。对VLAN的划分从一开始的理论知识,到现在的运用到虚拟网络。特别是在为路由器端口配置IP上,更加的熟练了。在第二部分的协议分析中,运用packet tracter软件抓包,分析包的详细内容,传送包时所用到的各种协议都有了更深入的了解。通过一个星期的课程设计,我对网络拓扑图构建、交换机、路由器、主机、服务器的配置以及Tracter命令的使用有了更进一步的理解。课程设计的目的就是把所学的知识运用到生活中,在课程设计中,我们能够巩固知识,学以致用。通过课程设计来对理论知识进行另一种学习,理论和实践有很大的差别,理论只有在实践中才能发挥作用,并指导实践,然而理论和实践的结合才能使我们做事得心应手。再次感谢范老师的指点和耐心的教导使得本次试验取得圆满成功。

- 29 -

七、参考文献

1.《计算机网络设计(第2版)》易建勋 姜腊林 史长琼 编著 人民邮电出版社 2.《TCP/IP详解 卷 1 协议》W.Richard Stevens 3.中国协议分析网|www.cnpaf.net 5.《TCP/IP协议原理与应用》(第3版)Laura A. Chappell Ed Tittel 著 张长富译 清华大学出版社 2009年11月 6.《TCP/IP协议族》(第4版)Behrouz A Forouzan著 王海等译 清华大学出版社 2011年1月

7.《计算机网络基础》 jamesF Kurose keith.Ross 著 陈鸣 译

- 30 -

本文来源:https://www.bwwdw.com/article/dsbo.html

Top