端口
- 每个应用程序进出网络都需要经过一个唯一端口,通过端口号来识别数据交由哪个应用程序处理
- 服务端:固定端口号
- 客户端:1024以上随机端口
知名端口号
- TCP80 HTTP
- TCP21 20 FTP
- TCP23 TELNET
- TCP25 SMTP
- UDP53 DNS
TCP的原理
TCP头部封装格式
- source Port 源端口
- Destination Port 目的端口
- Seq 序列号 标识本机发送的数据报文的编号
- Acknowledgement 确认号 标识请求对方下次发送的数据报文的编号
- Data Offset 数据偏移 标识数据分段在完整数据中的位置
- Reserved 保留位 没啥用目前
- URG 紧急开关
- Ack 确认位开关
- Psh
- Rst 复位开关 用于强行中断TCP连接
- Syn 握手开关
- Fin 结束开关
- window 窗口尺寸 用来告知本机的接收能力
- Checksum 检验序列
- Urgent Pointer 紧急指针
- Options 可选性
TCP可靠性机制
确认机制
- Seq=上一次ack
- Ack=上一次的seq+length
- 若果没有接收到,或接收到的是不完整数据们会再次发送Ack请求对方重发