要讲网络协议,首先就地提到是开放系统互联参考模型(OSI Referenec Model),即我们通常所说的网络互联的七层框架,它是国际标准组织(International Organization for Standization)于1977年提出的标准,又称为ISO/IEC 7498或X.200建议。值得注意的是,OSI并没有提供一个可以实现的方法,它不是一个标准而只是一个制定标准时使用的概念性的框架,更不是一个网络协议。
OSI分为七层,其名字和功能分别如下:
1、物理层(Physical Layer):主要功能为定义了网络的物理结构,传输的电磁标准,Bit流的编码及网络的时间原则,如分时复用及分频复用。决定了网络连接类型(端到端或多端连接)及物理拓扑结构。说的通俗一些,这一层主要负责实际的信号传输。
2、据链路层(Data Link Review):在两个主机上建立数据链路连接,向物理层传输数据信号,并对信号进行处理使之无差错并合理的传输。
3、网络层(Network Layer):主要负责路由,选择合适的路径,进行阻塞控制等功能。
4、传输层(Transfer Layer):最关键的一层,向拥护提供可*的端到端(End-to-End)服务,它屏蔽了下层的数据通信细节,让用户及应用程序不需要考虑实际的通信方法。
5、会话层(Session Layer):主要负责两个会话进程之间的通信,即两个会话层实体之间的信息交换,管理数据的交换。
6、表示层(Presentation Layer):处理通信信号的表示方法,进行不同的格式之间的翻译,并负责数据的加密解密,数据的压缩与恢复。
7、应用层(Application Layer):保持应用程序之间建立连接所需要的数据记录,为用户服务。
在工作中,每一层会给上一层传输来的数据加上一个信息头(header),然后向下层发出,然后通过物理介质传输到对方主机,对方主机每一层再对数据进行处理,把信息头取掉,最后还原成实际的数据。本质上,主机的通信是层与层之间的通信,而在物理上是从上向下最后通过物理信道到对方主机再从下向上传输在实际应用中,最重要的是TCP/IP(Transport Control Protocol/Internet Protocol)协议,它是目前最流行的商业化的协议,相对于OSI,它是当前的工业标准或“事实的标准”,在1974年由Kahn提出的。它分为四个层次:应用层(与OSI的应用层对应),传输层(与OSI的传输层对应),互联层(与OSI的网络层对应),主机-网络层(与OSI的数据链路层和物理层对应)。TCP/IP协议主要用于广域网,在一些局域网中也有应用,比如在windows 9x和netware网中可以使用,但是在功能和速度方面还有差距,本来TCP/IP的设计目标就和IPX/SPX不一样。在设置TCP/IP协议的时候,主要有ip地址和子网掩码,网关(Gateway:在通信中提供网络协议之间的转换,适用于不同协议主机之间的信息交换),域名解析服务器(NDS: Domain Name System,即把你输入的网址转换为数字型的ip地址)和NetBIOS等等。
上面说到了IPX/SPX(Internetwork Packet Exchange/Sequenced Packet exchange)协议,现在解释一下这种应用很广的网络协议。您一定在局域网里享受过快速的网络游戏吧,您可知道,这都是IPX/SPX的功劳。IPX/SPX是基于施乐的XEROX’S Network System(XNS)协议,而SPX是基于施乐的XEROX’S SPP(Sequenced Packet Protocol:顺序包协议)协议,它们都是由novell公司开发出来应用于局域网的一种高速协议。它和TCP/IP的一个显著不同就是它不使用ip地址,而是使用网卡的物理地址即(MAC)地址。它也和TCP/IP协议一样不能和OSI完全对应。只包含了OSI中传输层和网络层的部分。在实际使用中,它基本不需要什么设置,装上就可以使用了。由于其在网络普及初期发挥了巨大的作用,所以得到了很多厂商的支持,包括microsoft(但是后来它开发出来了自己的兼容Novell’IPX/SPX的IPX/SPX协议)等,到现在很多软件和硬件也均支持这种协议。
相对于前面两种路由协议(路由,可以理解为在网络上两点间路径的选择)在日常应用中,还有两种非路由协议需要我们了解,它们是:NetBIOS(Network Basic Input/OutputSystem)和NetBEUI(NetBIOS Extended User Interface)。NetBIOS由microsoft和IBM开发,是会话层的协议,它建立允许不同计算机上的应用程序通过网络传输的连接会话。它是为只需要与别的在同一个网络上的计算机会话这一目的话设计的。在win9x&me中,当你在IPX/SPX中选定“希望在IPX/SPX启用NetBIOS”后,在TCP/IP的设置中可以选定“通过TCP/IP启用NetBIOS”。而NetBEUI则是IBM为自己作为网络传输站的网络产品设计的。它是NetBIOS的一个扩充版本,定义了没有被NetBIOS定义的祯类型,它能在中小规模的单网上传输数据。它可以在win9x&me中直接安装。在一些网络游戏中有可能需要这两种协议,如果你遇到不能玩的情况,可以试试装上它两,说不定能解你的燃眉之急。
以上介绍了目前应用最广的网络协议,其余的当然还有很多别的协议,比如DNA,SNA,APPLETALK等等,它们也很复杂。但是对于入门的网友来说,掌握了以上几种协议可以让您初步了解什么是网络协议和其工作原理,让您的工作更加高效,为以后深入学习打好了基础。希望我的文章能起到抛砖引玉的作用,对大家有所帮助。,对大家有所帮助。
一、网络协议是什么?
通俗地说,网络协议就是网络之间沟通、交流的桥梁,只有相同网络协议的计算机才能进行信息的沟通与交流。这就好比人与人之间交流所使用的各种语言一样,只有使用相同语言才能正常、顺利地进行交流。从专业角度定义,网络协议是计算机在网络中实现通信时必须遵守的约定,也就是通信协议。主要是对信息传输的速率、传输代码、代码结构、传输控制步骤、出错控制等作出规定并制定出标准。
二、网络协议的选择
面对众多网络协议,我们可能无从选择。不过要是事先了解到网络协议的主要用途,就可以有针对性的选择了。以下是几种常用的网络协议:
NetBEUI(NetBIOS Enhanced UserInterface)网络基本输入输出系统扩展用户接口
NetBEUI协议是IBM于1985年提出。NetBEUI主要为20到200个工作站的小型局域网设计的,用于NetBEUI、LanMan网、Windows For Workgroups及Windows NT网。NetBEUI是一个紧凑、快速的协议,但由于NetBEUI没有路由能力,即不能从一个局域网经路由器到另一个局域网,已不能适应较大的网络。如果需要路由到其他局域网,则必须安装TCP/IP或IPX/SPX协议。
IPX/SPX(Internetwork Packet Exchange/Sequential PacketExchange)互连网包交换/顺序包交换
它是由Novell提出的用于客户/服务器相连的网络协议。使用IPX/SPX协议能运行通常需要NetBEUI支持的程序,通过IPX/SPX协议可以跨过路由器访问其他网络。
HDLC(High-Level Data Link Control)高层数据链路协议
它是一组用于在网络结点间传送数据的协议。在HDLC中,数据被组成一个个的单元(称为帧)通过网络发送,并由接收方确认收到。HDLC协议也管理数据流和数据发送的间隔时间。HDLC是在数据链路层中最广泛最使用的协议之一。现在作为ISO的标准,HDLC是基于IBM的SDLC协议的,SDLC被广泛用于IBM的大型机环境之中。在HDLC中,属于SDLC的被称为通响应模式(NRM)。在通常响应模式中,基站(通常是大型机)发送数据给本地或远程的二级站。不同类型的HDLC被用于使用X.25协议的网络和帧中继网络,这种协议可以在局域网或广域网中使用,无论此网是公共的还是私人的。
HTTP1.1(Hypertext Transfer Protocol Vertion 1.1)超文本传输协议-版本1.1
它是用来在Internet上传送超文本的传送协议。它是运行在TCP/IP协议族之上的HTTP应用协议,它可以使浏览器更加高效,使网络传输减少。任何服务器除了包括HTML文件以外,还有一个HTTP驻留程序,用于响应用用户请求。您的浏览器是HTTP客户,向服务器发送请求,当浏览器中输入了一个开始文件或点击了一个超级链接时,浏览器就向服务器发送了HTTP请求,此请求被送往由IP地址指定的URL。驻留程序接收到请求,在进行必要的操作后回送所要求的文件。
HTTPS(Secure Hypertext Transfer Protocol)安全超文本传输协议
它是由Netscape开发并内置于其浏览器中,用于对数据进行压缩和解压操作,并返回网络上传送回的结果。HTTPS实际上应用了Netscape的完全套接字层(SSL)作为HTTP应用层的子层。(HTTPS使用端口443,而不是象HTTP那样使用端口80来和TCP/IP进行通信。)SSL使用40 位关键字作为RC4流加密算法,这对于商业信息的加密是合适的。HTTPS和SSL支持使用X.509数字认证,如果需要的话用户可以确认发送者是谁。
ICMP(Internet Control Message Protocol)Internet控制信息协议
它是一个在主机和网关之间消息控制和差错报告协议。ICMP使用IP数据报,但消息由TCP/IP软件处理,对于应用程序使用者是不可见的。在被称为Catenet的系统中,IP协议被用作主机到主机的数据报服务。网络连接设备称为网关。这些网关通过网关到网关协议(GGP)相互交换用于控制的信息。通常,赡养或目的主机将和源主机通信,例如,为报告在数据报过程中的错误。为了这个目的才使用了ICMP,它使用IP做于底层支持,好象它是一个高层协议,而实际上它是IP的一部分,必须由其它IP模块实现。ICMP消息在以下几种情况下发送:当数据报不能到达目的地时,当网关的已经失去缓存功能,当网关能够引导主机在更短路由上发送。IP并非设计为设计为绝对可靠,这个协议的目的是为了当网络出现问题的时候返回控制信息,而不是使IP协议变得绝对可靠,并不保证数据报或控制信息能够返回。一些数据报仍将在没有任何报告的情况下丢失。
IMAP4(Internet Mail Access Protocol Version 4)Internet邮件访问协议-版本4
它是用于从本地服务器上访问电子邮件的标准协议,它是一个C/S模型协议,用户的电子邮件由服务器负责接收保存。IMAP4改进了POP3的不足,用户可以通过浏览信件头来决定是不是要下载此信,还可以在服务器上创建或更改文件夹或邮箱,删除信件或检索信件的特定部分。在用户访问电子电子邮件时,IMAP4需要持续访问服务器。在POP3中,信件是保存在服务器上的,当用户阅读信件时,所有内容都会被立刻下载到用户的机器上。我们有时可以把IMAP4看成是一个远程文件服务器,把POP3可以看成是一个存储转发服务。
NNTP(Network News Transfer Protocol)网络新闻传输协议
NNTP同POP3协议一样,也存在某些局限性。
IOTP(Internet Open Trading Protocol)Internet开放贸易协议
Internet开放贸易协议是一系列的标准,它使电子购买交易在客户,销售商和其它相关部分都是一致的,无论使用何种付款系统。IOTP适用于很多的付款系统,如SET,DigiCash,电子支票或借记卡。付款系统中的数据封装在IOTP报文中。IOTP处理的交易可以包括客户、销售商、信用支票、证明、银行等部分。IOTP使用XML语言(Extensible Markup).