1. 简介
应用层对应用程序的通信提供服务。
应用层协议应当定义:
- 应用进程交换的报文类型,如请求报文和响应报文。
- 各种报文类型的语法,如报文中的各个字段及其详细描述。
- 字段的语义,即包含在字段中的信息的含义。
- 进程何时、如何发送报文,以及对报文进行响应的规则。
常用服务 | 协议 | 端口 |
---|---|---|
DNS | UDP | 53 |
FTP(控制) | TCP | 21 |
FTP(数据) | TCP | 20 |
TFTP | UDP | 59 |
TELNET | TCP | 23 |
HTTP | TCP | 80 |
HTTPS | TCP | 443 |
SMTP | TCP | 25 |
POP3 | TCP | 110 |
2. DNS
DNS(域名系统)用来将域名转换为对应的 IP
地址。例如 www.baidu.com
对应的IP为 61.135.169.121
。
DNS 查询过程如下图所示
3. FTP
FTP
提供不同种类主机系统(硬、软件体系等都可以不同)之间的文件传输能力。
FTP 的基本工作原理
在文件传输的过程中,进程遇到以下问题:
- 计算机存储数据的格式不同
- 文件的目录结构和文件命名的规定不同
- 对于相同的文件存取功能,操作系统使用的命令不同
- 访问控制方法不同
而 FTP 的主要功能则是尽可能减少或消除在不同操作系统下处理文件的不兼容性。
FTP 使用客户服务器方式。一个 FTP 服务器可以同时为多个客户端提供服务。FTP 的服务器由两大部分组成:一个主进程(负责接受新的请求);另外有若干个从属进程(负责处理单个请求)。
主进程的工作步骤如下:
- 打开熟知端口(21),使客户进程能够连接
- 等待客户进程发出连接请求
- 启动从属进程来处理客户进程发来的请求。从属进程对客户进程的请求处理完毕后即终止,但从属进程在运行期间根据需要还可能创建其他一些子进程。
- 回到等待状态,继续接受其他客户进程发来的请求。主进程与从属进程的处理是并发地进行。
FTP
的客户端和服务器之间要建立两个并行的 TCP
连接控制连接和数据连接。
FTP
客户发出的传送请求,通过控制连接发送给服务器端的控制进程,但控制连接并不用来传送文件。
实际用于传输文件的是“数据连接”。
3. TFTP
TFTP
同样是一个文件传送协议,是基于 UDP
实现的。
TFTP 的优点:
1、我们知道 UDP
的特点是可以进行一对一、一对多、多对多通信。如果我们需要将程序或文件同时向许多机器下载时就往往需要使用 TFTP
。
2、TFTP
代码所占的内存较小。
TFTP 的特点:
(1)每次传送的数据报文中有 512
字节的数据,但最后一次可不足512
字节。
(2)数据报文按序编号,从1
开始。
(3)支持 ASCII
码或二进制传送。
(4)可对文件进行读或写。
(5)使用很简单的首部。
我们知道 UDP
是不能保证可靠性的,但是如果 TFTP
也不能保证可靠性的话,那么必然会造成,在传送文件时数据因丢失而频频失败,所以 TFTP
能够保证数据不能丢失,那么其如何做到呢?
TFTP
的工作类似停止等待协议。发送完一个文件块后就等待对方的确认,确认时应指明所确认的块编号。发送数据后在规定时间内收不到确认就要重发数据 PDU
。发送确认 PDU
的乙方,若在规定时间内收不到下一个文件块,也要重发确认 PDU
。
4. TELNET
TELNET
能将用户的击键传到远程主机,同时远程主机的输出通过 TCP
连接返回到用户屏幕。
5. HTTP
6. HTTPS
7. SMTP
SMTP
(Simple Mail Transfer Protocol
)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。