传输层协议
从之前介绍的网络层协议来看,通信的两端是两台主机,IP数据报首部就标明了这两台主机的IP地址,但是从传输层来看,是发送方主机中的一个进程与接收方主机中的一个进程在交换数据,因此严格地说,通信双方不是主机,而是主机中的进程。
主机中常常有多个应用进程同时在于外部通信,如下图:
A主机的AP1进程在于B主机的AP3进行通信,同时主机A的AP2进程也在与B主机的AP4进程通信。
两个主机的传输层之间有一个灰色双向箭头,写者“传输层提供应用进程间的逻辑通信”。
逻辑通信
看起来数据似乎是沿着双向箭头在传输层水平传输的,但实际上是沿图中的虚线经多个协议层次而传输。
TCP/IP协议栈传输层有两个重要协议——UDP和TCP,不同的应用进程在传输层使用TCP或UDP之一。
一、端口
端口的作用体现在传输层。
在上图中,AP1与AP3的通信与AP2与AP4的通信可以使用同一个传输层协议来传输(TCP/UDP),根据IP地址或MAC地址都只能把数据传到正确的主机,但具体需要传到哪一个进程,是通过端口来辨认的。
比如同时使用浏览器和QQ,浏览器占用80端口,QQ占用4000端口,那么发送过来的QQ消息便会通过4000端口显示在QQ客户端