推荐书籍:《TCP/IP详解》
相关读书笔记专栏:《TCP/IP详解》读书笔记
1. TCP vs UDP
TCP 是一种面向连接的、可靠的、字节流服务, UDP 无连接、不可靠的数据报服务。1. 连接方面: TCP 面向连接,交换数据之前必须通过三次握手先建立一个 TCP 连接。在
一个 TCP 中仅有两方彼此通信,多播和广播不能用 TCP。 UDP 是不可靠的传输,传输前不
需要建立链接,可以应用多播和广播实现一对多的通信。
2. 可靠性: TCP 提供端到端的流量控制,对收到的数据进行确认,采用超时重发,对失序
的数据进行重新排序等机制保证数据通信的可靠性。而 UDP 是一种不可靠的服务,接收方
可能不能收到发送方的数据报。
3.TCP 是一种流模式的协议, UDP 是一种数据报模式的协议。进程的每个输出操作都正好
产生一个 UDP 数据报,并组装成一份待发送的 IP 数据报。 TCP 应用程序产生的全体数
据与真正发送的单个 IP 数据报可能没有什么联系。
4. 效率上:一般 TCP 速度慢,传输过程中需要对数据进行确认,超时重发,还要对数据进
行排序。 UDP 没有这些机制所以速度快。数据比例, TCP 头至少 20 个字节, UDP 头 8
个字节,系统组装上 TCP 相对慢。
5. 用途上:用于 TCP 可靠性。而 UDP 速度快,视频,在线游戏多用UDP ,保证实时性。
2. 三次握手
3. 列举你所知道的 tcp 选项,并说明其作用。
1.窗口扩大因子(WSopt):用来增加 TCP 接收窗口的大小。
2.SACK 选择确认选项:使 TCP 只重新发送丢失的包,不用发送后续所有的包