进程之间基于网络的通信
我们正式进入运输层的学习,先介绍进程之间基于网络的通信,我们在之前的学习中,已经介绍了物理层,数据链路层,网络层,它们共同解决并实现了主机到主机的通信
举例如下图所示:
局域网1中的主机A与局域网2中的主机B通过互联的广域网进行通信,网络层提供主机之间的逻辑通信
然而在计算机网络中,实际进行通信的真正实体是通信两端主机中的进程
如下图所示:
假设AP1与AP2是主机A中的与网络通信相关的两个应用进程,AP3与AP4是主机B中的与网络通信相关的两个应用进程,AP是应用进程的英文缩写词
那么运输层的任务来了
如下图所示:
应用进程与应用进程也被称之为端到端,也就是说运输层提供进程之间的逻辑通信。
我们来从计算机网络体系结构的角度来看运输层
假设主机A中的应用进程AP1要与主机B中的应用进程AP4进行基于网络的通信,主机A中的应用进程AP2要与主机B中的应用进程AP3进行基于网络的通信
主机A中的运输层使用不同的端口来对应不同的应用进程,然后通过网络层及其下层传输应用层报文,主机B中的运输层通过不同的端口将收到的应用层报文交付给应用层中相应的应用进程,如下图所示:
注意:
这里的端口,并不是像交换机路由器那样的看得见,摸得着的物理端口,而是用来区分不同应用进程的标识符。
另外,在学习和研究运输层时,为了简单起见,可以简单的认为,运输层直接为应用进程间的逻辑通信提供服务,逻辑通信的意思是运输层之间的通信好像是沿着水平方向传送数据,但事实上通信双方的运输层之间并没有一条水平方向的物理连接,要传送的数据是沿着图中的上下多次的虚线方向传送的
另外注意:
TCP与UDP这两个协议就是运输层最主要讨论的内容