目录
1.1传输层的主要功能
1.2传输层的寻址与端口
1.2.1端口的作用
1.2.2端口号
1.2.3套接字
1.3无连接服务与面向连接服务
1.1传输层的主要功能
- 物理层、数据链路层和网络层共同解决了主机通过异构网络互联起来所面临的问题,实现了主机到主机的通信。
- 然而在计算机网络中实际进行的通信的真正实体,是位于通信两端主机中的进程。
- 如何为运行在不同主机上的应用进程提供直接的逻辑通信服务,就是传输层的主要任务。
传输层的功能如下:
1)
传输层向高层用户屏蔽了低层网络核心的细节(如网络拓扑、路由协议等),它提供进程之间的逻辑通信(端到端通信),网络层提供的是主机之间的逻辑通信(点到点通信)。
逻辑通信的意思是:传输层之间的通信好像是沿水平方向传送数据,但事实上这两个传输层之间并没有一条水平方向的物理连接。如下图所示:
- 当传输层采用面向连接的TCP时,尽管网络层是不可靠的数据报服务,但传输层还是为应用进程之间提供了相当于全双工的可靠的端到端通信信道。
- 当传输层采用无连接的UDP时,这种逻辑通信信道仍然是一条不可靠信道。
2)
- 复用是指发送方不同的应用进程都可使用同一个传输层协议传送数据。
- 分用是指接收方的传输层在剥去报文的首部后能够把这些数据正确交付到目的应用进程。
3)
传输层还要对收到的报文进行差错检测(包括首部和数据部分)。而网络层只检查IP数据报的首部,不检查数据部分是否出错。
1.2传输层的寻址与端口
1.2.1端口的作用
计算机上的进程是使用进程控制块(PCB)中的进程标识符(PID)来标识的。但不同的操作系统使用不同格式的PID,故应使用统一的方法对TCP/IP体系的应用进程进行标识。
端口是一种逻辑(软件)接口,是传输层的服务访问点TSAP。IP(网络层SAP)地址和MAC(数据链路层SAP)地址标识的是主机或路由器的各接口,而端口标识的是主机中的应用进程。
1.2.2端口号
端口号长度为16比特,取值范围是0~ 65535
不同主机中的相同端口号没有关系,TCP端口号和UDP端口号之间也没有关系。
应用进程的一些常用熟知端口号如下:
1.2.3套接字
端口号拼接到IP地址即构成套接字Socket。 在网络中采用发送方和接收方的套接字来识别端点。套接字实际上是一个通信端点。
套接字Socket=(IP地址:端口号)
它唯一地标识网络中的一台主机和其上的一个应用(进程)。
1.3无连接服务与面向连接服务
面向连接服务就是在通信双方进行通信之前必须先建立连接;在通信过程中,整个连接的情况一直被实时地监控和管理;通信结束后,在释放这个连接。这就保证了服务的可靠性和顺序性。
无连接服务是指通信双方的通信不需要先建立好连接,需要通信时,直接将信息发送到网络中,让该信息在网络上尽力最大努力交付。
TCP/IP协议在IP层之上使用了两个传输协议: