TCP/IP协议族

OSI模型和网际协议族

描述网络中各协议层的一般方法是国际标准化组织(ISO)的计算机通信开放系统互联(open systems interconnection,OSI)模型。OSI和网际协议族的近似映射如下图:

TCP/IP协议族_第1张图片

TCP/IP协议族包括TCP、UDP、ICMP、IGMP、IPv4、IPv6、ICMPv6、ARP、RARP、BPF、DLPI等协议,协议族概貌如下图:

TCP/IP协议族_第2张图片

TCP和UDP的比较

TCP

UDP

TCP提供可靠的字节流连接

UDP提供不可靠的数据报传送

TCP提供确认、序列号、RTT估算、超时及重传等机制

UDP不提供确认、序列号、RTT估算、超时及重传等机制

TCP提供流量控制

UDP不提供流量控制

TCP是全双工的连接

UDP可以是全双工的

TCP连接的建立和终止

服务端会使用socket、bind和listen函数完成接收外来连接的准备,称为被动打开。

客户端通过调用connect函数主动打开。进行TCP三次握手过程,如下图:

TCP/IP协议族_第3张图片

TCP需要三个分节(三次握手)建立连接,终止一个连接则需要四个分节(四次挥手)。

TCP/IP协议族_第4张图片

TCP状态转换图、

TCP/IP协议族_第5张图片

TCP连接中的分组交换

TCP/IP协议族_第6张图片

缓存区大小相关

MTU:最大传输单元,由硬件规定,以太网的最大传输单元大小是1500字节

TCP头部大小:20字节       UDP头部大小:8字节

IPv4头部大小:20字节        IPv6头部大小:40字节

MMS:用于告知对方在每个分节中能发送的最大的TCP的数据量,MMS经常设置成MTU减去IP和TCP头部的固定长度,MMS值为16位,最大值为65535,这很适合TPv4,因为IPv4的最大TCP数据量为65495。IPv6较特殊,当前不必关心。在以太网中,使用IPv4的MMS为1460,使用IPv6的为1440。

你可能感兴趣的:(unix网络编程)