计算机网络的各层中存在着许多协议,它们是定义通过网络进行通信的规则。接收方与发送方同层的协议必须一致,否则,一方将无法识别另一方发出的信息。
在应用层中,定义了很多面向应用的协议,应用程序通过本层协议利用网络完成数据交互的任务。这些协议主要有 FTP、TFTP、HTTP、SMTP、DHCP、Telnet、DNS 和 SNMP 等。
FTP(File TransportProtocol,文件传输协议) 是网络上两台计算机传送文件的协议,运行在 TCP 之上,是通过 Internet 将文件从一台计算机传输到另一台计算机的一种途径。FTP 的传输模式包括 Bin(二进制)和 ASCII(文本文件)两种,除了文本文件之外,都应该使用二进制模式传输。FTP 在客户机和服务器之间需建立两条 TCP 连接,一条用于传送控制信息(使用 21 号端口),另一条用于传送文件内容(使用 20 号端口)。
TFTP(Trivial FileTransfer Protocol,简单文件传输协议) 是用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。TFTP 建立在 UDP(User Datagram Protocol,用户数据报协议)之上,提供不可靠的数据流传输服务,不提供存取授权与认证机制,使用超时重传方式来保证数据的到达。
HTTP(Hypertext TransferProtocol,超文本传输协议) 是用于从 WWW 服务器传输超文本到本地浏览器的传送协议。它可以使浏览器更加高效,使网络传输减少。HTTP 建立在 TCP 之上,它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示等。
SMTP(Simple Mail TransferProtocol,简单邮件传输协议) 建立在 TCP 之上,是一种提供可靠且有效的电子邮件传输的协议。SMTP 是建模在 FTP 文件传输服务上的一种邮件服务,主要用于传输系统之间的邮件信息,并提供与电子邮件有关的通知。
DHCP(Dynamic HostConfiguration Protocol,动态主机配置协议) 建立在 UDP 之上,是基于客户机/服务器模型设计的。所有的 IP 网络设定数据都由 DHCP 服务器集中管理,并负责处理客户端的 DHCP 要求;而客户端则会使用从服务器分配下来的 IP 环境数据。DHCP 通过租约(默认为 8 天)的概念,有效且动态地分配客户端的 TCP/IP 设定。当租约过半时,客户机需要向 DHCP 服务器申请续租;当租约超过 87.5%时,如果仍然没有和当初提供 IP 的 DHCP 服务器联系上,则开始联系其他的 DHCP 服务器。DHCP 分配的 IP 地址可以分为三种方式,分别是固定分配、动态分配和自动分配。
Telnet(远程登录协议) 是登录和仿真程序,建立在 TCP 之上,它的基本功能是允许用户登录进入远程计算机系统。以前,Telnet 是一个将所有用户输入送到远程计算机进行处理的简单的终端程序。目前,它的一些较新的版本是在本地执行更多的处理,可以提供更好的响应,并且减少了通过链路发送到远程计算机的信息数量。
DNS(Domain NameSystem,域名系统) 在 Internet 上域名与 IP 地址之间是一一对应的,域名虽然便于人们记忆,但机器之间只能互相识别 IP 地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,DNS 就是进行域名解析的服务器。DNS 通过对用户友好的名称查找计算机和服务。当用户在应用程序中输入 DNS 名称时,DNS 服务可以将此名称解析为与之相关的其他信息,例如,IP 地址。
SNMP(Simple NetworkManagement Protocol,简单网络管理协议) 是为了解决 Internet 上的路由器管理问题而提出的,它可以在 IP、IPX、AppleTalk 和其他传输协议上使用。SNMP 是指一系列网络管理规范的集合,包括协议本身、数据结构的定义和一些相关概念。目前,SNMP 已成为网络管理领域中事实上的工业标准,并被广泛支持和应用,大多数网络管理系统和平台都是基于 SNMP 的。
传输层主要有两个传输协议,分别是 TCP 和 UDP(User Datagram Protocol,用户数据报协议),这些协议负责提供流量控制、错误校验和排序服务。
TCP 是整个 TCP/IP 协议族中最重要的协议之一,它在 IP 协议提供的不可靠数据服务的基础上,采用了重发技术,为应用程序提供了一个可靠的、面向连接的、全双工的数据传输服务。TCP 协议一般用于传输数据量比较少,且对可靠性要求高的场合。
UDP 是一种不可靠的、无连接的协议,可以保证应用程序进程间的通信,与 TCP 相比,UDP 是一种无连接的协议,它的错误检测功能要弱得多。可以这样说,TCP 有助于提供可靠性,而 UDP 则有助于提高传输速率。UDP 协议一般用于传输数据量大,对可靠性要求不是很高,但要求速度快的场合。
网络层中的协议主要有 IP、ICMP(Internet Control Message Protocol,网际控制报文协议)、IGMP(Internet Group Management Protocol,网际组管理协议)、ARP(Address Resolution Protocol,地址解析协议)和 RARP(Reverse Address Resolution Protocol,反向地址解析协议)等,这些协议处理信息的路由和主机地址解析。
IP 所提供的服务通常被认为是无连接的和不可靠的,它将差错检测和流量控制之类的服务授权给了其他的各层协议,这正是 TCP/IP 能够高效率工作的一个重要保证。网络层的功能主要由 IP 来提供,除了提供端到端的分组分发功能外,IP 还提供很多扩充功能。例如,为了克服数据链路层对帧大小的限制,网络层提供了数据分块和重组功能,这使得很大的 IP 数据包能以较小的分组在网络上传输。
ARP 用于动态地完成 IP 地址向物理地址的转换。物理地址通常是指计算机的网卡地址,也称为 MAC(Media Access Control,媒体访问控制)地址,每块网卡都有唯一的地址;
RARP 用于动态完成物理地址向 IP 地址的转换。
ICMP 是一个专门用于发送差错报文的协议,由于 IP 协议是一种尽力传送的通信协议,即传送的数据可能丢失、重复、延迟或乱序传递,所以需要一种尽量避免差错并能在发生差错时报告的机制,这就是 ICMP 的功能。
IGMP 允许 Internet 中的计算机参加多播,是计算机用作向相邻多目路由器报告多目组成员的协议。多目路由器是支持组播的路由器,它向本地网络发送 IGMP 查询,计算机通过发送 IGMP 报告来应答查询。多目路由器负责将组播包转发到网络中所有组播成员。