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