TCP/IP,传输层提供和依赖的服务,通过端口号进行多路复用和多路分解
一、传输层服务:传输和区分应用层的报文
1、传输层提供的服务是应用进程之间的以报文为单位的逻辑传输。
2、发送方:将应用层的报文分成报文段,传递给网络层。
3、接收方:将报文段重组成报文,并将报文传递给应用层的指定进程。
二、传输层协议:tcp,udp
1、传输层依赖网络层提供的报文传输服务,但是网络层对报文的传输不保证可靠。
2、传输层基于网络层提供了可靠传输的协议tcp,保证了发送方发送的内容接收方可以完完全全的接收到。
3、传输层基于网络层提供了不可靠的协议udp,只是在网络层的基础上进行了多路复用和多路分解。
三、传输层和网络层的关系:
1、网络层提供的是主机之间的逻辑通信,无法区分主机上的进程,传输层提供的是进程间的逻辑通信。
2、传输层受限于网络层的延时,带宽。
3、传输层对网络层的部分服务进行增强,例如数据保真,确保发送顺序,加密等。
四、多路复用和多路分解
1、传输层的多路复用和解复用依赖于端口号port,
a、这里的端口号是操作系统分配给网络进程套接字的int32,一个端口号对应一个传输层协议的基础。
b、同一协议下(例如tcp),端口号是唯一不可重复的,不同协议下,同一个端口号可以统一存在,例如端口号21,可以分给tcp协议进程,同时还可以分配给udp协议进程,但是在tcp协议结束前,不能分配给另一个tcp协议进程。
2、在发送方主机中进行多路复用:
a、发送方主机将本机的多个进程的套接字传输的消息向外发送。
b、发送方主机从多个套接字中接收来自多个进程的报文,根据套接字对应的IP地址,协议类型和端口号等信息将报文段用头部加以封装,头部信息会用于接收方的解复用,
3、在接收方主机进行多路解复用:
a、接收方主机接收本机收到的所有信息并分发给本机上的不同进程。
b、根据报文段的头部信息中的IP地址和端口号将接收到的报文段发给正确的套接字和对应协议的应用进程。