计算机网络 传输层

传输层低层为网络层,上层为应用层。
传输层的主要目的是实现可靠的端到端连接,为实现应用层的各种网络服务功能做好保证。
主要功能是实现分布式进程通信。

为了实现主要功能,需要注意以下几个问题:
1、网络层IP地址标识了主机和路由器的位置信息;路由选择算法可以在Internet中选择一条由多段“点-点”组成的传输路径;IP协议通过这条传输路径完成传输IP分组。传输层会利用低层提供的服务,建立进程与进程之间的“端-端”连接。这里的端意味着端口。
2、网络层提供的是一种尽力而为的服务,所以可靠控制需要交由传输层来负责。
3、传输层可以屏蔽传输网实现技术的差异性,弥补网络层提供服务的不足。

为了实现上述功能,传输层引入了一些新的概念。
传输实体:如果说上述都是概念,那么实现这些概念的就是实体。那在计算机中,实现概念的就是软件,所以传输层中实现传输层协议的软件就称为传输实体。
TPDU:传输协议数据单元,传输层之间传输的报文。
计算机网络 传输层
套接字:在一台计算机中,不同的进程需要用进程号唯一标识。进程号也称为端口号。在网络环境中,标识一个进程必须同时使用IP地址与端口号。如“151.8.22.51:80”
计算机网络 传输层

网络中标识进程的方法

实现网络环境中分布式进程通信首先要解决两个问题:进程的标识和多重协议的识别。
前者在套接字处有了个印象,我们再深入了解一下。

由于Internet应用程序类型很多,例如C/S工作模式的FTP,SNMP,E-mail等,以及很多P2P的工作模式应用。这些应用分别使用了TCP或者UDP。为了区别不同的网络应用工作程序,TCP与UDP规定用不同的端口号来表示不同的应用程序。

端口号的分配方式:
TCP/IP协议中,端口号的数值范围为0~65535.
端口号的类型:
熟知端口号:0~1023.TCP/IP给每种标准的Internet服务器进程分配一个确定的全局端口号,称为熟知端口号。
计算机网络 传输层
计算机网络 传输层
注册端口号:1024~49151.当用户开发了一种新的网络应用程序时,为了防止这种应用在Internet上使用时发生冲突,可以为这种新的网络应用的服务器程序在IANA登记一个注册端口号。
临时端口号:49152~65535.客户进程使用临时端口号,它是由运行在客户上的TCP/IP软件随机选取的。临时端口号只对一次通信有效。

多重协议的识别:网络中的两台主机要使用进程通信,必须规定好使用的传输层协议,也就是在通信前就确定都采用TCP还是都使用UDP。
所以网络中一个进程的全网唯一标识应该是:协议+IP地址+端口号。

传输层的多路复用与多路分解

其实很好理解,一台计算机上基本不可能只跑着一个应用程序。假设一个情况,客户端和服务端同时运行四个应用程序,分别为域名服务(DNS)、Web服务(HTTP)、电子邮件(SMTP)与网络管理(SNMP)。其中SMTP与HTTP使用TCP协议,其余两个使用UDP协议。
现在开始想,虽然他们在传输层是四个TPDU,但是在网络层,它们都要被封装进IP分组里面再传输给接收端。在接收端再重新取出为四个TPDU。
这个过程就是多路复用和多路分解。
计算机网络 传输层
TCP和UDP就交给另一篇文章讨论了
https://blog.****.net/qq_43652500/article/details/96487330