1.域名系统
DNS时一个分布式数据库,提供了主机名和IP地址之间的相互转换的服务。这里的分布式数据库是指,每个站点只保留它自己的那部分数据
域名具有层次结构,从上到下依次为: 根域名,顶级域名,二级域名
DNS可以使用UDP或者TCP进行传输,使用的端口号都为53
。大多数情况下DNS使用UDP进行传输,这就要求域名解析器和域名服务器都必须自己处理超时和重传从而保证可靠性
- 在两种情况下会使用TCP进行传输
- 如果返回响应超过的512字节(UDP最大只支持512字节的数据)
- 区域传送(区域传送是主域名向辅助域名服务器传送变化的那部分数据)
2.文件传送协议
FTP 使用TCP进行连接,它需要两个连接来传送一个文件
- 控制连接: 服务器打开端口号21等待客户端的连接,客户端主动建立连接后,使用这个连接将客户端的命令传送给服务器,并传回服务器的应答
- 数据连接: 用来传送一个文件数据
根据数据连接是否是服务器主动建立,FTP有主动和被动两种模式
- 主动模式: 服务器主动建立数据连接,其中服务器端端口号为20,客户端的端口号随机,但是必须大于1024,因为0-1023是熟知端口号
- 被动模式: 客户端主动建立数据连接,其中客户端的端口号由客户端自己制定,服务端的端口号随机
- 主动模式要求客户端开放端口号给服务器端,需要去配置客户端的防火墙
- 被动模式只需要服务器端口开放即可,无需客户端配置防火墙
- 但是被动模式会导致服务器端的安全性减弱,因为开放了过多的端口号
3.动态主机配置协议
DHCP(Dynamic Host Configuration Protocol)提供了即插即用的联网方式,用户不再需要手动配置IP地址等信息
DHCP配置的内容不仅是IP地址,还包括子网掩码,网关IP地址
DHCP工作流程:
- 客户端发送Discover报文,该报文的目的地址为255.255.255.255:67,源地址为0.0.0.0:68,被放入UDP中,该报文被广播到同一个子网的所有主机上。如果客户端和DHCP服务器不在同一个子网,就需要使用中继代理
- DHCP服务器收到Discover报文之后,发送Offer报文给客户端,该报文包含了客户端所需要的信息。因为客户端可能收到多个DHCP服务器提供的信息,因此客户端需要进行选择
- 如果客户端选择了某个DHCP服务器提供的信息,那么就发送Request报文给该DHCP服务器
- DHCP服务器发送ACK报文,表示客户端此时可以使用提供给他的信息
4.远程登陆协议
Telnet 用于登录到远程主机上,并且远程主机上的输出也会返回
Telnet可以适应许多计算机和操作系统的差异,例如不同操作系统系统的换行符定义
5.电子邮件协议
一个电子邮件系统由三个部分组成: 用户代理,邮件服务器以及邮件协议
邮件协议包含发送协议和读取协议,发送协议通常使用SMTP,读取协议常用POP3和IMAP
5.1 SMTP
SMTP只能发送ASCII码,而互联网邮件扩充MIME可以发送二进制文件
MIME并没有改动或者取代STMP,而是增加邮件主体的结构,定义了非ASCII码的编码规则
5.2 POP3
POP3的特点是只要用户从服务器上读取了邮件,就把该邮件删除
但是最新版本的POP3可以不删除邮件
5.3 IMAP
IMAP协议中客户端和服务器时尚的邮件保持同步,如果不手动删除邮件,那么服务器上的邮件也不会被删除
IMAP这种做法可以让用户随时随地访问服务器上的邮件
6.常用端口
-
域名解析:
- 应用层协议: DNS
- 端口号: 53
- 传输层协议: TCP/UDP
- 备注:长度超过512使用TCP
-
动态主机配置协议:
- 应用层协议: DHCP
- 端口号: 67/68
- 传输层协议: UDP
-
简单网络管理协议:
- 应用层协议: SNMP
- 端口号: 161/162
- 传输层协议: UDP
-
文件传输协议
- 应用层协议: FTP
- 端口号: 20/21
- 传输层协议: TCP
- 备注: 控制连接21,数据连接20
-
远程终端协议:
- 应用层协议: TELNET
- 端口号: 23
- 传输层协议: TCP
-
超文本传送协议:
- 应用层协议: HTTP
- 端口号: 80
- 传输层协议: TCP
-
简单邮件传送协议
- 应用层协议: SMTP
- 端口号: 25
- 传输层协议: TCP
-
邮件读取协议
- 应用层协议: POP3
- 端口号: 110
- 传输层协议: TCP
-
网际报文存取协议
- 应用成协议:IMAP
- 端口号: 143
- 传输层协议: TCP