网络协议全接触
协议就等于网络实体之间的通信规则,可以简单的理解为网络上个计算机彼此交流的一种“语言”。网络通信协议设计的基本原则是层次化,层和协议的集合被称为网络体系结构。相邻层之间的接口定义了下层向上层提供的基本操作服务,下层向上层提供的服务分两种形式:面向连接的服务和无连接的服务。
计算机网络中已经形成的网络体系结构主要有两个:
OSI
参考模型和
TCP/IP
参考模型。
OSI
开放系统互联参考模型
*
(
Open System Interconnection Reference Model
)由国际标准化组织(
ISO
)制定,共分为
7
层:物理层、数据链络层、网络层、传输层、会话层、表示层、应用层。
TCP/IP
参考模型是因特网的基础。和
OSI
的
7
层协议比较,
TCP/IP
参考模型中没有会话层和表示层。通常说
TCP/IP
是一组协议的总称,
TCP/IP
实际上是一个协议族(又称协议包),包括
100
多个相互关联的协议,其中
IP
(
Inteneet Protocol
网络协议)是网络层最主要的协议;
TCP
(
Transmission Control Protpcpl,
传输控制协议)和
UDP
(
User Datagram Prptpcpl,
用户数据包协议)是传输层中最主要的协议。一般认为
IP
、
TCP/UDP
是最根本的三种协议,是其它协议的基础。
IP
定义了数据按照数据包(
Datagram
)传输的格式和规则;
TCP
是提供可靠服务、面向连接的协议;
UDP
是不可靠的、无连接的协议。
TCP
建立在
IP
之上(这正是
TCP/IP
的由来)定义了网络上的程序到程序的数据传输格式和规则,提供了
IP
数据包的传输确认、丢失数据包的重新请求、将收到的数据包按照它们的发送次序重新装配的机制。
TCP
协议是面向连接的协议,类似于打电话在开始传输数据之前,必须先建立明确的连接(和我们经常建立的空连接一样)。
UDP
也建立在
IP
之上,但它是一种无连接协议,两台计算机之间的传输类似于邮递邮件:信息从一台电脑发送到另一天电脑上,两者之间没有明确的连接。
UDP
中的
Datagram
是一种自带的寻址信息的、独立地从数据源走的重点的数据包。
UDP
并不能保证数据的传输,也不能提供重新排列次序或重新请求功能,所以说他是不可靠的。虽然说
UDP
的不可靠性限制了它的应用场合,但它比
UDP
具有更好的传输效率。
TCP/IP
使用协议栈来工作,栈是所有用来在两台及其间完成一个传输的所有协议的几个集合。数据通过栈分成五个层,每一层都能从相邻的层中就收或发送数据,每一层都与许多协议相联系。
TCP/IP
协议族的最主要协议如下所示:
层次
主要协议
应用层:
HTTP FTP SMYP DNS Telnet Gopher WAIS
……
传输层:
TCP UDP DVP
……
接口层:
Enternet Arpanet PDN
下面介绍一些常见网络层的协议和应用的协议
网络层的协议
网络层的协议管理离散的计算机间的数据传输,用户一般注意不到,如
IP
协议为用户和远程计算机提供了信息包的传输方法,在及其
IP
地址和其它信息的基础上,
IP
确保信息包能正确的到达目标的机器。这一工程中,
IP
和其它网络层的协议共同用于数据传输,如果没有使用一些
IP
连接的监控工具,用户是看不到在系统里工作着的
IP
的。
重要的网络层协议包括:
ARP(
地址解析
)
、
ICMP
(
Internet
控制消息协议)、
IP
(网际协议)、
TCP
(传输控制协议)等。
ARP
(地址解析协议)的作用是将
IP
地址映射成物理地址。在一个信息(或其他数据)发送之前,被打包到
IP
包或适合于
Internet
传输的信息块里,里面这包括两台计算机的
IP
地址,在这个包离开发送计算机之前,必须要找到目标的硬件地址,这样就是
ARP
最初用到的地方。一个
ARP
请求信息在网上广播,请求由一个进程接受,它回复的物理地址。这个回复消息有原先的那台发送广播消息计算机接收,从而从而传输过程就开始了。
ARP
会利用一个缓存,将网络或远程计算机的硬件地址保存着,为接着的
ARP
请求做准备。这样可以节约时间和网络资源,但从而也会引起安全问题。
ICMP
(
Internet
控制消息协议)是用来在两台计算机之间传输时处理错误和控制消息的。
ICMP
可以实现检测网络问题的重要工具。其中,我们都知道
ping
命令吧它也是常用的有
ICMP
实现的网络工具。用
ping
从用户的计算机发送数据包到远程的计算机,这些包将返回测试数据到用户的计算机,由此可知网络是否畅通。这是一个很实用的命令。
应用层协议
应用层建立在网络层协议之上,是专门为用户提供服务的,一般是可见的。如利用
FTP
(文件传输协议)传输一个文件请求一个和目标计算机连接,在传输文件的过程中,用户和远程计算机交换的一部分是能看到的。还有常见的
HTTP FTP Telnet SMTP Gopher
等。
好现在讲以下
HTTP
(
Hyper Text Transport Protocol
超文本传输协议)是一个通用,面向对象的协议,在
Internet
上进行信息传输时广泛使用。通过扩展请求命令,可以用来实现许多任务。
HTTP
的允许系统相对独立于数据的传输,包括对该服务器上制定文件的浏览、下载、运行等。
HTTP
在不断的发转,支持的媒体也越来越多,使得我们可以更加方便地访问
Internet
上的各种资源。
FTP
FTP
(
file transfer protcol,
文件传输协议),可以实现从一个系统向另一个系统传输文件。通过
FTP
用户可以方便地连接到远程服务器上,查看远程服务器允许用户对该服务器上的文件进行管理,该用户可以把自己的文件传送到服务器上,让其他用户共享,还能自由的对服务器上面的文件进行修改如:编辑、移动、复制、重命名、删除等。
Telnet (
远程登录协议
)
它提供了一个相当通用,双向的,面向八位字节的通信机制的一个终端,通过协议的审核用户可以登录远程的计算机,便可以通过本地的机器来管理远程的计算机。
SMTP
(简单的邮件传输协议),可以实现邮件传输可靠和高效。当用户给
SMTP
服务期发送请求时,一个双向的连接便建立了起来,客户发送一个
MAIL
指令它想给
Internet
上的某处的一个收件人发个信息。如果
SMTP
允许这个操作,一个肯定的确认发回客户机。随后,会话开始。可以告知收信人的名称和
IP
地址,以及要发送的信息。
Gopher(
一种信息查询协议
)
,相当于一个分布式的文件获取系统。文档放在许多的服务器上,
Gopher
客户软件给客户提供一个层次项和目录,看上去像一个文件系统。
Gopher
服务功能相当强大。