MST

星途 面试题库

面试题:网络编程:TCP/IP协议栈分层中传输层的主要功能及常见协议有哪些

请阐述TCP/IP协议栈传输层在整个协议栈中的作用,以及列举出传输层常见的两个协议,并简要说明它们的特点与适用场景。
49.7万 热度难度
后端开发网络编程

知识考点

AI 面试

面试题答案

一键面试

TCP/IP协议栈传输层的作用

传输层位于TCP/IP协议栈的第三层,主要作用是为应用层提供端到端的可靠数据传输服务。它负责将应用层的数据进行分段、封装,添加相应的传输层首部信息,然后交给网络层进行传输。同时,传输层还对从网络层接收的数据进行重组、校验和排序等处理,确保数据准确无误地交付给应用层。传输层屏蔽了网络层及以下各层的细节,使应用层能够专注于数据处理,而无需关心底层网络的具体实现。

传输层常见的两个协议

  1. 传输控制协议(TCP)
    • 特点
      • 面向连接:在数据传输之前,需要在发送端和接收端建立一条逻辑连接,通过三次握手过程来确保连接的可靠性。
      • 可靠传输:TCP采用了确认机制、重传机制、流量控制和拥塞控制等技术,保证数据能够准确、有序地到达接收方。
      • 字节流:TCP将应用层的数据看作是无结构的字节流,不保留应用层数据的边界信息。
    • 适用场景:适用于对数据准确性和完整性要求较高的场景,如文件传输(FTP)、电子邮件(SMTP、POP3、IMAP)、网页浏览(HTTP)等,这些应用需要确保数据无差错、按顺序到达。
  2. 用户数据报协议(UDP)
    • 特点
      • 无连接:不需要在发送端和接收端建立连接,直接将数据报发送出去,减少了连接建立和拆除的开销。
      • 不可靠传输:UDP不提供确认、重传等机制,数据是否能正确到达接收方取决于网络状况,可能会出现数据丢失、乱序等情况。
      • 数据报:UDP对应用层的数据保留边界,即应用层一次发送的数据量与UDP数据报的大小相对应。
    • 适用场景:适用于对实时性要求较高,但对数据准确性要求相对较低的场景,如实时视频流(RTSP、RTP)、音频流(VoIP)、网络游戏等,这些应用允许一定程度的数据丢失,但要求数据能够快速传输,以保证实时性。