OSI模型和网际协议族
描述网络中各协议层的一般方法是国际标准化组织(ISO)的计算机通信开放系统互联(open systems interconnection,OSI)模型。OSI和网际协议族的近似映射如下图:
TCP/IP协议族包括TCP、UDP、ICMP、IGMP、IPv4、IPv6、ICMPv6、ARP、RARP、BPF、DLPI等协议,协议族概貌如下图:
TCP和UDP的比较
TCP |
UDP |
TCP提供可靠的字节流连接 |
UDP提供不可靠的数据报传送 |
TCP提供确认、序列号、RTT估算、超时及重传等机制 |
UDP不提供确认、序列号、RTT估算、超时及重传等机制 |
TCP提供流量控制 |
UDP不提供流量控制 |
TCP是全双工的连接 |
UDP可以是全双工的 |
TCP连接的建立和终止
服务端会使用socket、bind和listen函数完成接收外来连接的准备,称为被动打开。
客户端通过调用connect函数主动打开。进行TCP三次握手过程,如下图:
TCP需要三个分节(三次握手)建立连接,终止一个连接则需要四个分节(四次挥手)。
TCP状态转换图、
TCP连接中的分组交换
缓存区大小相关
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。
来源:CSDN
作者:夢小逗
链接:https://blog.csdn.net/UFOfuck/article/details/103974704