MST

星途 面试题库

面试题:网络编程中传输层多路复用与多路分解技术基础

请阐述传输层多路复用与多路分解技术的基本概念,以及它们在网络通信中的作用,并且说明TCP和UDP协议是如何实现这两种技术的。
47.0万 热度难度
后端开发网络编程

知识考点

AI 面试

面试题答案

一键面试

传输层多路复用与多路分解基本概念

  • 多路复用:在发送端,传输层将从多个应用进程接收到的数据,封装到不同的传输层报文段中,并通过网络层发送出去。它使得多个应用层进程的数据可以共享网络传输资源。
  • 多路分解:在接收端,传输层根据传输层报文段中的首部信息,将接收到的报文段正确地交付到对应的应用层进程。

在网络通信中的作用

  • 多路复用:提高网络资源利用率,减少网络连接数量,降低成本。多个应用数据能通过相同网络连接传输,避免为每个应用单独建立连接。
  • 多路分解:确保接收方的应用层进程能准确接收属于自己的数据,避免数据混淆。

TCP和UDP协议实现方式

  • TCP
    • 多路复用:TCP通过端口号来标识不同的应用进程。当TCP从多个应用进程接收数据时,会为每个应用进程的数据加上对应的源端口号,封装成TCP报文段后交给网络层。
    • 多路分解:TCP在接收端,根据TCP报文段首部中的目的端口号,将报文段中的数据准确交付到相应的应用进程。此外,TCP还通过序号、确认号等机制保证数据按序、可靠交付,这也是其多路分解的一部分保障机制,确保数据正确的先后顺序和完整性。
  • UDP
    • 多路复用:UDP同样利用端口号。当从多个应用进程接收数据时,UDP为每个应用进程的数据添加源端口号,封装成UDP用户数据报,再交由网络层传输。
    • 多路分解:UDP在接收端,依据UDP用户数据报首部中的目的端口号,将数据交付到对应的应用进程。但UDP没有如TCP那样复杂的可靠性机制,只是简单地根据端口号进行数据交付。