运输层概述
运输层位于应用层和网络层之间,是分层网络体系结构中的重要部分,该层为在运行在不同主机上的应用进程提供直接的通信服务起着至关重要的作用。通常我们比较关注的就是TCP和UDP运输层协议。
网络层的两个端系统之间的交付服务扩展到运行在两个不同端系统上的应用层进程之间的交付服务。两个主要的问题就是:1.两个实体怎样才能在一种会丢失或损失的媒体上可靠的通信。2.控制运输层实体的传输速率以避免网络中的拥塞,或从拥塞中恢复过来。
网络应用程序可以使用多种的运输层协议,例如因特网有两种协议,即TCP和UDP,每种协议都能为条用应用程序提供一组不同的运输层服务。这些协议一种是UDP(用户数据报协议)它为调用他的应用程序提供了一种不可靠,无连接的服务。另外一种是TCP(传输控制层协议)它为调用他的应用程序提供了一种可靠的,面向连接的服务。
UDP-用户数据报协议
UDP服务模型提供了一种不可靠的,无连接的服务。在设计这种服务的时候,也许首先考虑使用一个无所事事的运输层协议,特别是在发送方一侧,考虑将来自应用进程的数据直接交给网络层;在接收方一侧,考虑从网络层到达的数据直接交付给网络层。运输层最低限度必须提供一种复用/分解(多路复用/多路分解)服务,以便在网络层与正确的应用级进程之间传递数据。
UDP只是做了运输协议能够做的最少工作,除了复用/分解功能以及少量的差错检测外,它几乎没有对IP增加别的东西。UDP从应用进程得到数据,附加上用于多路复用/分解服务的源和目的端口号字段,以及两个其他的小字段,然后将形成的报文段交给网络层。网络层将该运输层报文段封装到一个IP数据报中。然后尽力而为的将此报文段交付给接收主机。如果该报文段到达接受主机,UDP使用目的端口号将报文中的数据交付给正确的应用进程。需要注意的是,使用UDP时,