1.传输层协议介绍
1.1 TCP协议(Transmission Control Protocol)
- 传输控制协议,是为了在不可靠的互联网络上提供可靠的端到端字节流而专门设计的一个传输协议。
1.2 UDP协议(User Datagram Protocol)
- 用户数据报协议,是一个简单的面向数据报的传输层协议。提供的是非面向连接的、不可靠的数据流传输。
服务器的一般是固定的,客户机是随机产生的(30000+)。 服务程序: 一旦启动 一直运行,后台运行
| 协议 | 端口号 |
|---|---|
| http | 80 |
| https | 443 |
| ftp | 20 21 |
| dhcp | 67 68 |
| tftp | 69 |
| mysql | 3306 |
| tcp/udp | 80 |
| redis | 6379 |
| 0 | 一般不用的 |
在一个系统中 如果tcp 80 被占用了 其他使用80 的程序就打不开了。
2. TCP协议
2.1 tcp的报文格式
2.2 tcp特点
- 工作在传输层
- 面向连接协议,反馈失败,就不会传数据。
- 全双工协议
- 半关闭
- 错误检查
- 将数据打包成段,排序
- 确认机制,确认号
- 数据恢复,重传
- 流量控制,滑动窗口
2.3 三次握手
- PC1 发送一个序号为X 同步位为1的请求建立连接的报文
- PC2 收到请求建立连接的报文,会回复一个序号为y 同步位为1 确认位为1,确认号为x+1,同意建立连接的报文。
- PC1收到同意连接的报文后,会回复一个序号为x+1,确认位为1,确认号为y+1的确认报文。
SYN=1 请求建立链接
SYN=1 ACK=1 同意建立连接
FIN=1 请求断开链接
FIN=1 ACK=1 同意断开链接
ACK=1 半断开状态
2.4 四次挥手
2.5 常见的协议
3. UDP协议
3.1 特点
- 无连接、不可靠的传输协议
- 传输速度快,不稳定
- 花费的开销小
| 源端口号(16) | 目标端口号(16) |
|---|---|
| UDP长度(16) | UDP校验和(16) |
UDP长度:用来指出UDP的总长度,为首部加上数据。 校验和:用来完成对UDP数据的差错检验,它是UDP协议提供的唯一的可靠机制。
3.2 协议
3.2.1 TFTP 简单文件传输协议,进行小文件传输。端口号:69。 3.2.2 NTP 用于协调和同步全球范围内的时间。通过使用NTP服务器,用户可以将本地计算机的时间设置为各地区标准时间(时间同步)。端口号:123。 3.2.3 dhcp 动态获取ip地址,是一种网络管理协议,用于集中对用户IP地址进行动态管理和配置。端口号:67、68。