UNIX网络编程卷1-第二章笔记

oneNeko 于 2021-03-11 发布

这一章主要是讲传输层,包括TCP、UDP和SCTP,并提供这些协议的实际设计、实现的具体描述。目前略过了SCTP

TCP/IP 总图

以下是TCP/IP协议族的主要成员 img

TCP连接的建立和终止

三路握手

建立一个TCP连接会发生以下情形:

这种交换至少需要3个分组,因此称为TCP的三路握手 img 三路握手 每个SYN的ACK的序列号是该SYN序列号+1

TCP选项

每个SYN可以含有多个TCP选项,下面是常用的TCP选项

TCP连接终止

TCP建立需要3个分节,终止则需要4个分节,称为四路握手 img TCP连接终止 img TCP状态

TIME_WAIT状态

两个存在的理由:

端口号

端口一般分为众所周知的端口(well-known port)和临时端口。众所周知的端口为0~1023 一台服务器理论上能够创建最多的连接数取决于四元组(本地IP、本地端口、外地IP、外地端口)的数量

缓冲区大小及限制

常见因特网应用的协议使用

img 常见因特网应用的协议使用

小结

UDP是一个简单的、不可靠、无连接的协议,TCP是复杂、可靠、面向连接的协议。SCTP组合了这两个协议的特性,并提供了TCP不具备的额外特性