一、传输层原理 1、传输层是进程与进程 之间的服务,是远程主机之间的逻辑通信 2、传输层的报文传输过程 发送方 :将应用层的报文分为报文段,然后传送给网络层; 接收方 :将报文段重组成报文,然后传递给应用层 3、传输层与网络层之间的关系 (1)传输层协议:TCP和UDP,网络层协议:IP分组的传输协议 (2)传输层服务:主机之间的逻辑通信,网络层服务:进程之间的逻辑通信 传输层依赖于网络层的服务,并对网络层提供的服务进行加强 ,如: IP向上提供的服务是不可靠的,可通过传输层TCP进行加强,TCP提供的服务是不安全的,再向上提供服务可以靠SSL加强。 (3)在网络层是主机与主机之间的通信,这个一个复用过程 ,将传输的信息内容进行聚合;传输至传输层时,是进程与进程之间的通信,这个解复用过程
二、复用与解复用 1、TCP复用与解复用 (1)过程 :主机A创建Socket(TCP Socket包含源IP、目标IP、源端口、目标端口)并将Message向下传输,传输至应用层,通过TCP将源端口、目标端口以及报文分为报文段,再向下传输,同时源IP与目标IP也向下传输,到传输层通过IP协议将TCP传输过来的报文段结合源IP、目标IP装为数据报,数据报根据IP地址传至目标主机,目标主机的传输层拿到数据报再向上传输,传输至应用层除去IP地址封装的头部也就为TCP报文段,TCP报文段再向上传输,根据传输的源IP、目标IP、源端口、目标端口知道Socket的值,也就知道了对应的进程,则传输给对应的进程。 (2)结论 :所以从源主机发送报文开始,向下是不断的进行封装,到应用层加上源端口、目标端口封装为报文段,然后再向下传输封装为IP数据报,这是一个复用的过程;当传输至目标主机时,不断的进行解复用,首先传输层向上传输,需要解复用,向上传输了TCP报文段,再向上传输又将报文段解复用为原本的Message,然后再根据Socket进行传输给进程。
2、UDP的复用与解复用 与TCP大致一样,只不过要注意的是UDP的Socket封装的自是自身IP以及端口,所以在目标端收到的时候是只有Message还有包含自身IP及端口的Socket,而传输的源端需要传输自身Socket、Message以及目标端的IP及端口。
注意 : 上面说描述的只是在传输的Message刚好是一个报文段的情况下,实际会分为多个报文段,报文段再传输为数据报,每个数据报都包含源IP地址和目标IP地址 ,每份数据都承载一个传输层报文段,而每个报文段也同样会包含源端口号和目标端口号 ,最后是主机联合IP地址和端口号将报文段发送给合适的套接字。 3、多路复用和解复用 (1)发送方主机多路复用 在多个套接字接收来自多个进程的报文 ,根据套接字对应的IP地址和端口号等信息对报文段用头部加以封装 (该头部信息用于以后的解复用) (2)在接收方主机多路解复用 根据报文段的头部信息中的IP地址和端口号将接收到的报文段发给正确的套接字 (和对应的应用进程) ·
|