1. 传输层
- 传输层是负责端对端之间的传输,端指的是端点(port)
- 传输层协议有UDP协议,TCP协议
- 端口的划分:
0-1023:知名端口
3306:mysql数据库的端口
1521:oracle数据的端口
22:ssh服务器
21:ftp服务器
23:telnet服务器
80:http服务器
443:https服务器
2. UDP协议(传输层)
2.1 UDP协议特点
- 无连接
- 不可靠
- 面向数据报
2.2 UDP协议格式
UDP协议端格式
- 16位源端口:数据从哪一个端口发出来的,数据从哪一个进程发送出来的
- 16位目的端口:数据想要到哪一个端口去,数据想要去往哪一个进程
- 16位UDP长度:表示数据报(UDP首部+UDP数据)的最大长度
- 16位UDP检验和:如果16位的UDP校验和出错,就会直接丢弃
- 16位的数据长度:65536,指的是UDP数据的最大长度
问题: 想要使用UDP协议发送大于2^16的数据长度的数据,应该如何发送?
使用自定制协议,然后把数据分成几个段。
UDP缓冲区:
发送缓冲区:将应用层数据打上UDP报头之后,直接递交给网络层
接收缓冲区:去掉UDP报头之后,将数据递交给应用层,但是UDP协议并不保证数据的有序到达
2.3 UDP应用
- NFS:网络文件系统
- TFTP:简单文件传输协议
- DHCP:动态主机配置协议
- BOOTP:启动协议(用于无盘设备启动)
- DNS:域名解析协议