1.传输层提供的服务及功能概述

5.1.1 传输层提供的服务及功能概述、端口、套接字--Socket、无连接UDP和面向连接TCP服务 - 图1
传输层的功能如下:
1)传输层提供应用进程之间的逻辑通信(即端到端的通信)。

  • 与网络层的区别是,网络层提供的是主机之间的逻辑通信。
  • 从网络层来说,通信的双方是两台主机,IP 数据报的首部给出了这两台主机的IP地址。
  • 但“两台主机之间的通信”实际上是两台主机中的应用进程之间的通信,应用进程之间的通信又称端到端的逻辑通信。
  • 这里“逻辑通信”的意思是:传输层之间的通信好像是沿水平方向传送数据,但事实上这两个传输层之间并没有–条水平方向的物理连接。
  • 5.1.1 传输层提供的服务及功能概述、端口、套接字--Socket、无连接UDP和面向连接TCP服务 - 图2

2)复用和分用。

  • 复用是指发送方不同的应用进程都可使用同一个传输层协议传送数据;
  • 分用是指接收方的传输层在剥去报文的首部后能够把这些数据正确交付到目的应用进程。
  • 注意:
  • 传输层的复用分用功能与网络层的复用分用功能不同。
  • 网络层的复用是指发送方不同协议的数据都可以封装成IP数据报发送出去,
  • 网络层的分用是指接收方的网络层在剥去首部后把数据交付给相应的协议。
  • 5.1.1 传输层提供的服务及功能概述、端口、套接字--Socket、无连接UDP和面向连接TCP服务 - 图3
    5.1.1 传输层提供的服务及功能概述、端口、套接字--Socket、无连接UDP和面向连接TCP服务 - 图4

3)传输层还要对收到的报文进行差错检测(首部和数据部分)。

  • 网络层只检查IP数据报的首部,不检验数据部分是否出错。

4)提供两种不同的传输协议,即面向连接的TCP和无连接的UDP。

  • 网络层无法同时实现两种协议(即在网络层要么只提供面向连接的服务,如虚电路;要么只提供无连接服务,如数据报,而不可能在网络层同时存在这两种方式)。

    2.传输层的寻址与端口

    (1)端口的作用

  • 端口能够让应用层的各种应用进程将其数据通过端口向下交付给传输层,以及让传输层知道应当将其报文段中的数据向上通过端口交付给应用层相应的进程。

  • 端口是传输层服务访问点(TSAP),它在传输层的作用类似于IP地址在网络层的作用或MAC地址在数据链路层的作用,只不过IP地址和MAC地址标识的是主机,而端口标识的是主机中的应用进程。
  • 数据链路层的SAP是MAC地址,网络层的SAP是IP地址,传输层的SAP是端口。
  • 在协议栈层间的抽象的协议端口是软件端口,它与路由器或交换机上的硬件端口是完全不同的概念。
  • 硬件端口是不同硬件设备进行交互的接口,而软件端口是应用层的各种协议进程与传输实体进行层间交互的一种地址。
  • 传输层使用的是软件端口。

    (2)端口号的分类

    5.1.1 传输层提供的服务及功能概述、端口、套接字--Socket、无连接UDP和面向连接TCP服务 - 图5
    重要的端口号记忆:
    image.png

    (3)套接字

  • 在网络中通过IP地址来标识和区别不同的主机,通过端口号来标识和区分一台主机中的不同应用进程。在网络中采用发送方和接收方的套接字(Socket)组合来识别端点

  • 5.1.1 传输层提供的服务及功能概述、端口、套接字--Socket、无连接UDP和面向连接TCP服务 - 图7

    3.无连接UDP和面向连接TCP服务

    5.1.1 传输层提供的服务及功能概述、端口、套接字--Socket、无连接UDP和面向连接TCP服务 - 图8
    5.1.1 传输层提供的服务及功能概述、端口、套接字--Socket、无连接UDP和面向连接TCP服务 - 图9