计网-传输层

351 阅读5分钟

根据王道的相关计算机网络知识讲解,所作笔记

传输层提供的服务

传输层的功能

从通信和信息处理的角度看,传输层向它上面的应用层提供通信服务,它属于面向通信部分的最高层,同时也是用户功能的最低层

传输层位于网络层之上,它为运行在不同主机上的进程之间提供了逻辑通信,网络层提供主机之间的逻辑通信

网络边缘部分的主机使用网络核心部分功能进行端到端的通信

只有主机的协议栈才有传输层和应用层,而路由器在转发分组时都只用到了下3层

即通信子网中没有传输层

传输层的功能如下: 1)传输层提供应用进程之间的逻辑通信(即端到端的通信)。

  • 与网络层的区别是,网络层提供的是主机之间的逻辑通信。
  • 从网络层来说,通信的双方是两台主机,IP 数据报的首部给出了这两台主机的IP地址。
  • 但“两台主机之间的通信”实际上是两台主机中的应用进程之间的通信,应用进程之间的通信又称端到端的逻辑通信。
  • 这里“逻辑通信”的意思是:传输层之间的通信好像是沿水平方向传送数据,但事实上这两个传输层之间并没有–条水平方向的物理连接。

2)复用和分用

  • 复用是指发送方不同的应用进程都可使用同一个传输层协议传送数据;
  • 分用是指接收方的传输层在剥去报文的首部后能够把这些数据正确交付到目的应用进程。

注意:

  • 传输层的复用分用功能与网络层的复用分用功能不同。
  • 网络层的复用是指发送方不同协议的数据都可以封装成IP数据报发送出去,
  • 网络层的分用是指接收方的网络层在剥去首部后把数据交付给相应的协议。

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

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

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

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


传输层的寻址与端口

端口的作用

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

端口号

应用进程通过端口号进行标识,端口号长度为16bit ,能够表示65536个不同的端口号

端口号只具有本地意义,即端口号只标识本计算机应用层中的各进程,在因特网中不同计算机的相同端口号是没有联系的

根据端口号的范围可将端口号分为两类:

1️⃣服务器端使用的端口号:

又分为两类:熟知端口号:给TCP/IP中最重要的一些应用程序 (如HTTP服务端口号80 DNS为53.... )范围:0-1023

登记端口号:为没有熟知端口号的应用程序使用的 。范围 1024-49151

2️⃣客户端使用的端口号: 仅在客户进程运行时才动态的选择,因此又称短暂端口号(临时端口号)。通信结束后,刚用过的客户端口号就不存在了

套接字

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

在这里插入图片描述

无连接服务和面向连接服务

面向连接的传输控制协议(TCP),采用TCP时,传输层向上提供的是一条全双工的可靠逻辑通路

TCP报文段在传输层抽象的逻辑信道上传输,对路由器是不可见的,对于TCP的可靠传输并不是直接依靠网络层的虚电路或无连接方式

网络层只能采用虚电路方式或无连接方式,不能两个同时采用

传输层采用TCP不影响网络层采用无连接的方式

若用户程序使用UDP进行数据传输,则应用层协议必须承担可靠性方面的工作