传输层中的UDP、TCP
2020-11-23 本文已影响0人
CyberDunk1997
1. 传输层做了些什么?
传输层的工作位置传输层的功能
2. 进程与进程之间的通信
- 同一台设备下进程间通信的方式有:
- Unix域套接字
- 共享内存
- 不同设备下进程间通信的方式有:
- 网络通信
2. 1如何识别计算机上不同的进程?
-
答:使用端口(Port)来标记不同的网络进程。端口使用16bit位来表示(0 - 65535)。
常用的端口号
3. UDP协议
- UDP(User Datagram Protocol:用户数据报协议),是一个简单地协议。
- UDP协议对于上一层传输来的数据,【不合并,不拆分】,直接进行封装后传输。
3.1 UDP的特点
- UDP是【无连接】协议,即通信前不需要提前建立链接。
- UDP【不保证可靠】的数据交付,即不保证数据是否丢失,而是随时都能发送。
- UDP【没有拥塞控制】
- UDP【首部开销很小】
3.2 UDP所在位置
UDP所在的位置3.3 UDP数据格式
- 第一行:
- 16位源端口号
- 16位目的端口号
- 第二行:
- 16位UDP长度
- 16位UDP校验和
-
第3-n行:UDP数据
UDP数据格式
4. TCP协议
TCP协议4.1 TCP的特点
- TCP是【面向连接】协议,即通信前需要提前建立链接。
- TCP提供【可靠】的传输服务。
- TCP协议提供【全双工】的通信
- TCP【面向字节流】的协议
面向字节流
4.2 TCP首部格式
TCP的首部格式- 上图中有六个控制位,对于建立和结束连接非常关键,解释如下:
- URG(Urgent):紧急字段,可以让该报文不按报文顺序优先被处理。比如用户突然终止传输关闭连接。
- ACK(Acknowledge):所有建立连接后传送的报文ACK必须为1.
- PSH(Push):发送方讲该报文推送向前,可以不用等缓存填满先提交给应用程序。
- RST(Reset):连接出现严重差错时候设为1,重新建立连接。也可用于拒绝建立连接。
- SYN(Synchronize):建立连接时候的同步标志。SYN=1而ACK=0时表示建立连接请求。
- FIN(Finish):终止时标志位。
下面这篇文章讲的非常详细:
TCP协议概述:https://www.jianshu.com/p/f35f386ea9c1