协议,网络协议的简称,网络协议是通信计算机双方必须共同遵从的一组约定。如怎么样建立连接、怎么样互相识别等。只有遵守这个约定,计算机之间才能相互通信交流。它的三要素是:语法、语义、时序。
为了使数据在网络上从源到达目的,网络通信的参与方必须遵循相同的规则,这套规则称为协议(protocol),它最终体现为在网络上传输的数据包的格式。
协议往往分成几个层次进行定义,分层定义是为了使某一层协议的改变不影响其他层次的协议。
协议的概念
协议总是指某一层的协议。准确地说,它是在同等层之间的实体通信时,有关通信规则和约定的集合就是该层协议,例如物理层协议、传输层协议、应用层协议。
网络协议,也可简称协议,通常由三要素组成:
(1)语法:即数据与控制信息的结构或格式;
(2)语义:即需要发出何种控制信息,完成何种动作以及做出何种响应;
(3)时序(同步),即事件实现顺序的详细说明。
是对数据格式和计算机之间交换数据时必须遵守的规则的正式描述。简单的说,网络中的计算机要能够互相顺利的通信,就必须讲同样的语言,协议就相当于语言,它分为Ethernet、NetBEUI、IPX/SPX以及TCP/IP协议。
协议的特点
协议还有其他的特点:
1) 协议中的每个人都必须了解协议,并且预先知道所要完成的所有的步骤。
2) 协议中的每个人都必须同意并遵循它。
3) 协议必须是清楚的,每一步必须明确定义,并且不会引起误解。
在计算机网络中用于规定信息的格式以及如何发送和接收信息的一套规则称为网络协议或通信协议
协议也可以这样说,就是连入网络的计算机都要遵循的一定的技术规范,关于硬件、软件和端口等的技术规范。
协议的基本原理
国际标准化组织(ISO)为了规范协议层次的划分制定了开发系统互联(OSI,Open Systems Interconnection)模型,即ISO/OSI参考模型。此模型根据网络功能制定出7层网络协议结构,由低到高分别为物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。
(1)物理层:简单地说,物理层协议对与基本物理信号传输有关的机械、电气等功能进行描述。若生产相互连接的两个设备的两个厂商都遵循相同物理层规范,则二者必定能被连接在一起,并能接收对方发来的电、光或其他的物理信号,而且能正确地将这些物理信号理解为二进制的0和1序列。物理层只负责正确地接收和发送比特,并不关心这些比特的具体含义。
(2)数据链路层:数据链路层简称链路层,它依赖物理层提供的比特传输能力把数据组织成为有边界的传输单位,称为“帧”。链路层把来自网络层的数据组织成“帧”,然后再通过物理层向外发送。当然,链路层也要负责从来自物理层的比特序列(或者字节序列)中区分出一个个的帧,并将帧中的数据传递给网络层。为了将各个帧区分开来,需要在帧的头部和尾部附加一些特点的信息,这个过程称为“封装”,其相反的过程称为“解封装”。“封装”的概念不只在链路层中存在,在更高的各层协议中同样存在。所有层上的“封装”问题的共同特征是把来自高层的封装单位根据本层的需要附加上特定信息形成本层的封装单位,然后向低层传递,同时把来自低层的数据解封装后向高层传递。另外,链路层还可以有其他的诸如差错校验、流量控制等功能,但要理解整个协议体系,则首先应记住它和帧之间的密切关系,因为帧使无头无尾的比特序列变成容易控制的有界单位。
(3)网络层:网络层解决如何标识通信各方和数据如何从源到达目的这个问题。网络层用特定的网络层地址来标识整个网络中的一个节点,并负责使来自传输层的应该到达某个网络层地址的数据能够被送达这个网络层地址所对应的网络节点。网络层的封装单位称为“包”,“包”需要被进一步封装成链路层的帧然后才能通过物理层发送出去,而在接收方,包在链路层的帧中被解封装出来。最典型的的网络层协议就是在Internet中使用的IP协议,它使用IP地址唯一地标识Internet中的一台主机,路由设备根据IP包中的目的IP地址将IP包一步步转发至目的主机。
(4)传输层:依赖物理层、数据链路层和网络层,任意一个网络节点都能把任何信息传递到其他任意节点,而传输层在物理层、数据链路层和网络层提供的节点间的通信能力基础上进一步提供了面向应用的服务。传输层向上层提供屏蔽了传输细节的数据传输服务,将来自高层的数据进行分段并将来自低层的数据重组,对数据传输进行差错恢复和流量控制。通过对每个网络节点的多个进程进行标识,传输层可以实现对网络层的多路复用。
(5)会话层:会话层用于建立和管理不同主机的两个进程之间的对话。会话层可以管理对话,可允许对话在两个方向上同时进行,也可以强制对话同时只在一个方向上进行。在后一种情况下,会话层可以提供会话令牌来控制某时刻哪一方可以发生数据。会话层还可以提供同步服务,它可以在数据流中插入同步点,每当因网络出现故障而造成大量数据传输中断时,通过同步点机制可以使两个进程之间的数据传输不需要从头开始,而是从最后一个同步点开始继续传输。
(6)表示层:表示层协议规定对来自应用层的数据如何进行表达,例如采用什么样的文字编码、是否及如何进行压缩、是否及如何加密等。
(7)应用层:应用层是ISO/OSI模型中最靠近用户的一层,应用层协议直接面对用户的需求,例如与发送邮件相关的应用层协议可以规定诸如邮件地址的格式、邮件内容的段落表示、客户与服务器进行交互的命令串等。
常用的协议
TCP/IP协议毫无疑问是这三协议中最重要的一个,作为互联网的基础协议,没有它就根本不可能上网,任何和互联网有关的操作都离不开TCP/IP协议。不过TCP/IP协议也是这三大协议中配置起来最麻烦的一个,单机上网还好,而通过局域网访问互联网的话,就要详细设置IP地址,网关,子网掩码,DNS服务器等参数。
TCP/IP尽管是最流行的网络协议,但TCP/IP协议在局域网中的通信效率并不高,使用它在浏览“网上邻居”中的计算机时,经常会出现不能正常浏览的现象。此时安装NetBEUI协议就会解决这个问题。
NetBEUI即NetBios Enhanced User Interface ,或NetBios增强用户接口。它是NetBIOS协议的增强版本,曾被许多操作系统采用,例如Windows for Workgroup、Win 9x系列、Windows NT等。NETBEUI协议在许多情形下很有用,是WINDOWS98之前的操作系统的缺省协议。NetBEUI协议是一种短小精悍、通信效率高的广播型协议,安装后不需要进行设置,特别适合于在“网络邻居”传送数据。所以建议除了TCP/IP协议之外,小型局域网的计算机也可以安上NetBEUI协议。另外还有一点要注意,如果一台只装了TCP/IP协议的WINDOWS98机器要想加入到WINNT域,也必须安装NetBEUI协议。
IPX/SPX协议本来就是Novell开发的专用于NetWare网络中的协议,但是也非常常用--大部分可以联机的游戏都支持IPX/SPX协议,比如星际争霸,反恐精英等等。虽然这些游戏通过TCP/IP协议也能联机,但显然还是通过IPX/SPX协议更省事,因为根本不需要任何设置。除此之外,IPX/SPX协议在非局域网络中的用途似乎并不是很大.如果确定不在局域网中联机玩游戏,那么这个协议可有可无。