计算机网络通信协议的分析研究
2009-05-14陈应勋
陈应勋
【摘要】:计算机网络协议是有关计算机网络通信的一整套规则,或者说是为完成计算机网络通信而制订的规则、约定和标准。本文介绍了计算机网络协议的概念和分类,并通过解析网络协议介绍了如何实现网络模型,进而对网络协议进行了进一步的分析研究。
【关键词】:计算机网络协议网络模型应用研究
目前,计算机网络应用已遍及人类生活、学习、工作等活动的一切领域。这一切网络的应用都是通过网络协议实现的。
一计算机网络协议概述
1计算机网络协议的定义
网络协议(有时也称为通信协议)是指在计算机与计算机之间进行通信必须遵循的一些事先约定好的规则。网络协议必须遵循标准化的体系结构,目前主要有ISO的OSI标准和TCP/IP协议组标准。通信涉及的所有部分都必须认同一套用于信息交换的规则。
在OSI/RM层次模型中,把网络协议规定成7层模型。
一是物理层,给出了一个通信信道的物理媒体上传输原始的二进制数据流(也称比特流)时的协议(IS02110,IEEE802J IEEE802,2)二是数据链路层。给出了把二进制数据流划分成数据帧,并依照一定规则传送与处理的协议(SLIP,CSLIP,PPP,AR P,RARP,MTU);三是网络层把数据帧划分成更小的“分组”,规定分组的格式,给出使分组经过通信子网正确的从源传送到目的地的协议。网络层是控制通信子网正常运行的协议,它提供两类典型的数据分组传送服务方式(IP,ICMP,RIP,OSPF,BGP,IGMP)l四是传输层,根据高层用户的请求建立起有效的网络通信连接,处理端到端之间通信的差错控制、恢复处理和流量控制问题,也可以方便的撤消与拆除网络连接(TCP,UDP);五是会话层,允许不同主机上的各种进程之间进行会话;六是表示层,为应用层提供传输的信息在表示方面的规则与协议;七是应用层,为各类不同的网络应用提供使用网络环境的手段,具体规定了在用户级别需要的、带有通信任务的许多常用信息服务的规则和协议。
2计算机网络协议的分类
(1)局域网协议。局域网协议定义了在多种局域网介质上的通信。目前,常用的局域网协议主要有NetBEUI、IPX/SPX及其兼容协议和TCP/IP三类。
(2)广域网协议。广域网协议是在OSI参考模型的最下面三层操作。定义了在不同的广域网介质上的通信。主要用于广域网的通信协议比较多,如:高级数据链路控制协议、点到点协议(PPP)、数字数据网(DDN)、综合业务数字网(ISDN)、数字用户线(xDSL)、X.25协议等等。
(3)路由选择协议。路由选择协议是网络层协议,它负责路径的选择和交换。路由选择协议还分为内部路由协议(它是在一个自治系统内部交换路由信息的路由协议)和外部路由协议(它是为连接两个或多个自治系统的路由协议)。
二网络协议中ping程序及其应用
这个程序用来检铡一帧数据从当前主机传送到目的主机所需要的时间。当网络运行中出现故障时,采用这个实用程序来预测故障和确定故障源是非常有效的。如果执行ping不成功,则可以预测故障出现在以下几个方面:网线是否连通,网络适配器配置是否正确,IP地址是否可用等;如果执行ping成功而网络仍无法使用,那么问题很可能出在网络系统的软件配置方面,ping成功只能保证当前主机与目的主机间存在一条连通的物理路径。它还提供了许多参数,如-t使当前主机不断地向目的主机发送数据,直到使用Ctrl-c中断;-n可以自己确定向目的主机发送的数据帧数等等。
我们称发送回显请求的ping程序为客户,而称被ping的主机为服务器。大多数的TCP/IP央现都在内核中直接支持Ping服务器。ICMP回显请求和回显应答报文如图所示。
对于其他类型的ICMP查询报文,服务器必须响应标识符和序列号字段。另外,客户发送的选项数据必须回显,假设客户对这些信息都会感兴趣。
UNIX系统在实现Ping程序时是把ICMP报文中的标识符字段置成发送进程的ID号。这样即使在同一台主机上同时运行了多个Ping程序实例,Ping程序也可以识别出返回的信息。
序列号从0开始,每发送一次新的回显请求就加1。Ping程序打印出返回的每个分组的序列号,允许我们查看是否有分组丢失、失序或重复。IP是一种最好的数据报传递服务,因此这三个条件都有可能发生。旧版本的Ping程序曾经以这种模式运行,即每秒发送一个回显请求,并打印出返回的每个回显应答。但是,新版本的实现需要加Ac-s选项才能以这种模式运行。默认情况下,新版本的Ping程序只发送一个回显请求。
三网络协议应用的分析
TCP/IP的应用层协议有多个,HTTP协议是一个面向连接的协议。选用IRIS V4,07作为协议分析工具。这操作系统是WINDOWS XPSP2。运行IRIS的主机位于以太网内,具有内网的IP。
运行IRIS,用热键CTRL+B弹出IRIS地址表。在表中填写机器的IP地址,这里我们运行IRIs的主机IP为102,34,12,113,为了对抓取的包看得更清楚不要添主机的名字(name),设置好关闭此窗口。回到IRIS的主窗口,点击Kilters菜单项,在下拉的菜单中
选择only-http,ftl项。这是IRIS提供的过滤设置,此设置只抓取HTTP协议的数据包。在IRIS的主窗口,点击工具栏中的开始按钮,开始抓包。转到浏览器界面,输入任意一个常用的网址,待此页面在浏览器中完成后回到IRIS主窗口,可以看到抓取的多个包。如果此时没有再抓取新包,可以关闭WEB浏览器,再转到IRIS主窗口按下停止按钮。
为了更好的分析协议,我们先描述一下上述例子数据的传输步骤。第一、应用软件即WEB浏览器向DNS服务器发出请求,要求提供发往它的Web地址的相应的IP地址。第二、DNS服务器收到请求后,发回相应的IP地址。第三、TCP用所获得的IP向WEB服务器发出连接请求。双方建立连接。第四、WEB服务器向目的主机传送数据。第五、目的主机向WEB服务器发送数据传送完成确认。这是TCP建立数据传输通道的三次握手过程。TCP的数据包是靠IP协议来传输的。但IP协议提供的是无连接的服务,只管把数据送出去,不能保证IP数据报能成功地到达目的地,保证数据的可靠传输是靠TCP协议来完成的。当接收端收到来自发送端的信息时,接收端将发送一条应答信息,向对方表示已收到你的信息了。这三组数据将能看到这个过程。TCP是一个面向连接的协议。无论哪—方向另一方发送数据之前,都必须先在双方之间建立一条连接。建立连接的过程就是三次握手的过程。
计算机网络协议有很多,本文重点阐述了关于TCP/IP协议的应用。随着计算机技术的不断发展,相信网络应用会更加深入到人们的生活中去,期待更详尽、更深入的探讨供大家交流学习。