首页 > 其他 > 详细

传输层概述

时间:2021-05-23 17:07:31      阅读:10      评论:0      收藏:0      [点我收藏+]

传输层服务

传输层协议为运行在不同主机上的应用进程之间提供了逻辑通信。

  • 传输层运行在应用层和网络层之间,他将不同进程通过套接字传递下来的报文(message)收集在一起(多路复用),交付给网络层,当收到网络层传递上来的消息,它把他们分解通过不同的套接字交付给相应的应用进程(多路分解)。

  • 传输层是运行在网络边缘端系统上的协议,在网络核心中不处理有关传输层的报文。

  • 传输层的功能明显受制于底层网络层协议提供的服务,比如网络层无法为主机到主机之间发送的传输层报文段提供时延带宽的保证,传输层也就为应用进程之间的通信无法提供时延带宽的保证。

  • 因特网传输层为应用层提供两种服务

    • UDP:唯一的功能是差错检查和数据交付,不提供不必要的服务。
    • TCP:首先提供可靠数据传输(reliable data translate), 还有拥塞控制,确保每一条连接都能公平的共享网络链路的带宽。

多路复用与多路分解

将网络层提供主机到主机之间的服务扩展成进程到进程逻辑通信的服务。

通过使用封装在传输层的首部的端口(port)来区分不同的套接字。

  • 无连接的多路复用与多路分解

    一个UDP的套接字是由一个(src.ip, src.port)的二元组来标识的,当一个分组的(src.ip, src.port)相同时他们会被定向到相同的套接字。

  • 面向连接的多路复用与多路分解:

    与UDP套接字不同,TCP套接字是由(src.ip, src.port, dst.ip, dst.port)四元组来标识,通信时首先要三次握手建立连接。

    client_socket.connect() # 客户端
    
    conn_socket = server_socket.accept() # 服务端等待连接
    

    然后这个conn_socket 就和client_socket 绑定了,通过套接字向下交付的数据都会原原本本地通过另一个套接字交给对方进程。

传输层概述

原文:https://www.cnblogs.com/yiwei-jun/p/14801384.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!