1. 应用层
1.1. 域名系统DNS
DNS是一个分布式数据库,提供了主机名和ip地址之间互相转换的服务。 域名系统具有层次结构,从上到下依次为:根域名、顶级域名、二级域名。 DNS可以使用UDP或者TCP 进行传输,使用的端口号都为53 。大多数情况下DNS使用UDP进行传输,这就要求域名解析器和域名服务器都必须自己处理超时和重传 保证可靠性。在两种情况下会使用TCP进行传输:
- 如果返回的响应超过512字节(UDP最大只支持512字节的数据)
- 区域传送:主域名服务器向辅助域名服务器传送变化的那部分数据
1.2. 文件传送协议FTP
FTP使用TCP进行连接,它需要两个连接来传送文件。
- 控制连接:服务器打开端口
21 等待客户端连接,客户端主动建立连接后,使用这个连接将客户端的命令传送给服务端,并传回服务器的应答。 - 数据连接:用来传送一个文件数据。
根据数据连接是否是服务器端主动建立,FTP有主动和被动两种模式:
1.3. 动态主机配置协议DHCP
DHCP提供了即插即用的连网方式,用户不再需要手动配置IP地址等信息。 端口67/68 UDP传输
windows查看DHCP: cmd —> services.msc
1.4. 远程登录协议TELNET
TELNET用于登录到远程主机上,并且远程主机上的输出也会返回。 端口号:23 ,TCP传输
1.5. 电子邮件协议
一个电子邮件系统由三部分组成:用户代理 (发送方/接收方)、邮件服务器 (发送方/接收方邮件服务器)以及邮件协议 。 邮件协议包含发送协议 和读取协议 ,发送协议常用SMTP,读取协议常用POP3和IMAP.
1.6. 常用端口
应用 | 应用层协议 | 端口号 | 传输层协议 | 备注 |
---|
域名解析 | DNS | 53 | USP/TCP | | 动态主机配置协议 | DHCP | 67/68 | UDP | 目的端口67 源端口68 | 文件传送协议 | FTP | 20/21 | TCP | 控制连接21 数据连接20 | 远程终端协议 | FTP | 23 | TCP | | 超文本传输协议 | HTTP | 80 | TCP | | 简单邮件传送协议 | SMTP | 25 | TCP | | 邮件读取协议 | POP3 | 110 | TCP | | 网际报文存取协议 | IMAP | 142 | TCP | |
1.7. Web页面请求过程
- DHCP配置主机信息
- ARP解析MAC地址
- DNS解析域名
- HTTP请求页面
2. 传输层
网络层只把分组发送到目的主机,但是真正通信的并不是主机,而是主机中的进程 。传输层提供了进程 间的逻辑通信 ,传输层向高层屏蔽了下面网络层的核心细节,使应用程序看起来像是在两个实体之间有一条端到端的逻辑通信信道。
2.1. UDP和TCP的特点
- 用户数据报UDP 是
无连接 的、尽最大可能交付 的、没有拥塞控制 的、面向报文 的(对于应用程序传下来的报文不合并不拆分直接加上UDP首部)、支持一对一、一对多、多对一和多对多 的交互通信协议。 - 传输层协议TCP 是
面向连接 的、提供可靠服务 的、有流量控制 和拥塞控制 、提供全双工通信 、面向字节流 (把应用层传下来的报文看成字节流,把字节流组织成大小不等的数据块),每一条TCP连接只能是点对点 的(一对一)。
2.2. UDP首部格式
2.3. TCP首部格式
序号:字节流编号。 确认号:期望得到的下一个报文的编号。 数据偏移:即首部的长度。 ACK: 确认号,ACK=1,表示报文有效。 SYN:建立连接时使用。SYN=1,ACK=0 表示这个报文是请求连接;SYN=1,ACK=1:服务端同意建立连接。对请求的响应。 FIN:断开连接时使用。FIN=1,表示传输完成,可以释放连接了。
2.4. TCP的三次握手
2.5. TCP的四次挥手
2.6. TCP可靠传输
2.7. TCP滑动窗口
2.8. TCP流量控制
2.9. TCP拥塞控制
3. 网络层
3.1. 概述
3.2. IP数据报格式
3.3. IP地址编址方式
3.4. 地址解析协议ARP
3.5. 网际控制报文协议ICMP
3.6. 虚拟专用网VPN
3.7. 网络地址转换NAT
3.8. 路由器的结构
3.9. 路由器分组转发流程
3.10. 路由选择协议
|