计算机网络之传输层概述

时间:2020-12-11 14:35:12

计算机网络之传输层

任务:为两台主机中进程之间的通信提供通用的数据传输服务
通信:向上面的应用层提供通信服务,同时使用网络层提供的服务。

(1)功能

提供进程和进程之间的逻辑通信
复用和分用
传输层对收到的报文进行差错检测

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

(2)两个重要协议

用户数据报协议UDP

解释:TCP是面向连接的协议,传送数据之前必须建立连接,接收方收到TCP报文需要给出确认,数据传送完毕之后必须释放连接。因为提供可靠的传输服务,所以增加了许多开销,比如连接管理、流量控制、确认、计时器等。

传输控制协议TCP

解释:UDP是无连接的协议,意味着可以随时直接发送数据,而不需要建立连接,接收方收到UDP报文后也不需要给出任何确认。

(3)传输层的端口

此处端口是指软件端口,是应用层的各种协议进程与运输实体进行层间交互的一种地址。硬件端口是不同硬件设备进行交互的接口,比如路由器或交换机上的硬件端口。

端口号只有本地意义,它只是为了标志计算机应用层中各个进程在传输层交互时的层间接口。

传输层的端口分为两大类:

1.服务器端使用的端口号

其中又分熟知端口号(端口号0~1023)和登记端口号(端口号1024~49151)。熟知端口号又叫系统端口号,是IANA指派给了TCP/IP最重要的一些应用程序,让所有用户都熟知。登记端口号是为没有熟知端口号的应用程序使用的,当一个新的应用程序出现后,在IANA处登记使用的端口号。

计算机网络之传输层概述

2.客户端使用的端口号

也叫短暂端口号,端口号为49152~65535。这类端口号是仅在客户端进程运行时动态选择,暂时使用进程结束端口号即不存在了,又可以被其他客户进程使用。

(4)套接字

在网络中采用套接字来识别端点,套接字唯一的标示了网络中的一台主机和它上面的一个进程。

套接字socket = (IP地址:端口号)

需要注意的是,在不同的地方,套接字socket可能表示不同的意思。