深入浅出计算机网络
上QQ阅读APP看书,第一时间看更新

1.1.2 Internet中常见的应用协议

Internet中有各种各样的应用,那些常见的应用定义了标准的通信协议,如访问网站、文件传输、域名解析、地址自动配置、发送电子邮件、接收电子邮件、远程登录等应用。下面列出了Internet中常见的应用协议,这些协议都是应用程序通信使用的协议,因此被称为“应用层协议”,部分应用层协议如图1-5所示。

(1)超文本传输协议—— HTTP,用于访问Web服务。

(2)安全的超文本传输协议—— HTTPS,能够将HTTP通信进行加密访问。

(3)简单邮件传输协议—— SMTP,用于发送电子邮件。

(4)邮局协议版本3—— POP3,用于接收电子邮件。

(5)域名解析协议—— DNS协议,用于域名解析。

(6)文件传输协议—— FTP,用于在Internet上传和下载文件。

(7)远程登录协议—— Telnet协议,用于远程配置网络设备和Linux操作系统。

(8)动态主机配置协议——DHCP,用于给计算机自动分配IP地址。

图1-5 常见的应用层协议

协议标准化能使不同厂家、不同公司开发的客户端和服务器端软件相互通信。

Internet上用于通信的服务器端软件和客户端软件往往不是一家公司开发的,例如,Web服务器有微软公司的IIS、开放源代码的Apache、俄罗斯人开发的Nginx等;浏览器有IE浏览器、UC浏览器、360浏览器、火狐浏览器、谷歌浏览器等,如图1-6所示。虽然Web服务器和浏览器是不同公司开发的,但这些浏览器却能够访问全球所有的Web服务器,这是因为Web服务器和浏览器都是参照HTTP进行开发的。

图1-6 HTTP使各种浏览器能够访问各种Web服务

HTTP定义了Web服务器和浏览器通信的方法,协议双方就是Web服务器和浏览器。为了更形象地说明,这里称Web服务器为甲方,浏览器为乙方。

HTTP是Internet中的一个标准协议,是一个开放式协议。由此可以想到,与之相对的肯定还有私有协议,如思科公司的路由器和交换机上运行的思科发现协议(Cisco Discovery Protocol,CDP)就只有思科的设备支持。又如,某公司开发的一款软件有服务器端和客户端,它们之间的通信规范由开发者定义,包括客户端向服务器端发送几个参数、参数之间使用什么分开、参数的长度;服务器端向客户端返回哪些响应、出现异常将错误代码返回给客户端……这些其实就是应用协议。不过软件开发人员如果没有系统学习过计算机网络相关知识,他们并不会意识到自己定义的通信规范就是协议。这样的协议没有标准化,只是给自己开发的程序使用,这种协议就是私有协议。