传输层协议为运行在不同主机上的应用进程之间提供了逻辑连接
传输层协议运行在端系统上:
传输层协议:TCP、UDP
网络层提供了主机之间的逻辑通信,传输层提供了进程之间的逻辑通信
运输层分组被称为数据报
英特网网络层协议一个名字叫IP,为主机之间提供了逻辑通信。IP的服务模型为尽力而为交付服务(best-effort delivery service),该模型:
因此IP被称为不可靠服务
在一个主机上运行的多个进程中,每个进程都有着一个或多个套接字,主机需要将到达传输层的报文段定向到合适的套接字,为此,每个报文段中具有几个字段
运输层复用的要求
这些特殊字段是指源端口号字段和目的端口号字段
端口号为以16bits的数,0 ~ 1023为周知端口号,使用受限,专门留给HTTP等周知的应用层协议
UDP套接字由一个二元组全面标识,该二元组包含一个目的IP地址和一个目的端口号。两个有不同源IP地址或端口号的UDP报文段,如果有相同的目的IP地址与目的端口号,则它们将通过相同的目的套接字定位到相同进程。
源端口号可被当做“返回地址”的一部分
TCP套接字由一个四元组标识:
接收端使用全部的四个值将报文段定向到适当的套接字,与UDP不同,TCP会将不同源IP地址或端口号而具有相同目的IP与端口号的报文段定向到不同的套接字,除非TCP报文段携带了初始创建连接的请求
如今的高性能Web服务器通常只使用一个进程,但会为每个新的用户连接创建一个具有新的连接套接字的线程(可被看作是一个轻量级的子进程)。
基于UDP的应用程序直接与IP“打交道”。UDP从应用程序得到数据,附加上用于多路复用/分解的源和目的端口号字段以及其他两个小字段,将行程的报文段交给网络层,网络层将其封装到一个数据报中后尽力将其交付给接受主机。若报文传到,UDP将数据交付给相应进程。
在这一过程中,发送方与接收方的实体都没有进行握手,因此,UDP被称为是无连接的
部分应用更适合用UDP:
UDP检验和提供了差错检测的功能,用于确定当UDP报文段从源到达目的地移动时,其中的比特是否发生了改变。
UDP提供差错检验,但对差错恢复没有能力,仅能在差错出现时提供警告
原文:https://www.cnblogs.com/Nreyab/p/12505435.html