传输层的复用和解复用
来源:互联网 发布:知已知彼百战不殆 编辑:程序博客网 时间:2024/06/01 10:12
复用和解复用
- 将端到端的网络层协议扩展到进程到进程的传输层协议称为复用和解复用。复用和解复用是所有计算机网络都需要的
- 在目的端主机上,传输层将段中的数据传送给相应的进程中。一个进程可以有一个或多个socket,在接收主机中,传输层并不是直接将数据传送给一个进程,而是传送给一个中间socket,因为在每个时刻都有多个socket在接收端主机中,每个socket都有一个唯一的识别码。
- 每个传输层段中都有一组信息,接收端主机传输层检查这些信息,将这些段直接传送给相应的socket,这个过程称为解复用 。在源端主机中,从不同的socket中将数据片收集起来,加上头部信息封装成段,并且将段传送给网络层称为复用
- 复用需要两个条件:
- socket有唯一识别码
- 每个段都有一个特殊的域用来表明这个段被传送给哪个socket
这两个特殊的域别成为源端口号和目的端口号。每个端口号都是16位整数,从0-65535,其中0-1023是知名端口号,被一些熟知的应用占用
无连接的复用和解复用
一般,客户端应用让传输层自动分配端口号,而服务器端应用需要分配一个指定的端口号。UDP socket需要两元组(目的主机IP地址和目的端口号)
假定一个进程在主机A中,使用UDP端口号1234,箱发送数据到主机B上的进程上,该进程的UDP端口号为5678。那么主机A的传输层创建一个传输层段,包好应用数据,源端口号和目的端口号,然后将这个段传送给网络层,网络层将这些段封装成IP数据报提供尽最大努力传输,如果这个段到达主机B,传输层将检查段中的目的端口号,并将它送往端口号为5678的socket中。
- 段中源端口号的作用是,当主机B需要向主机A返回信息时,这个源端口号就作为返回地址
面向连接的复用和解复用
TCP socket需要四元组(源IP地址,源端口号,目的IP地址,目的端口号),两个源IP地址不同的TCP段到达目的主机,将被送往不同的socket中
TCP连接中,传输层段在目的主机中,根据这四个值进行解复用
TCP通信过程:
- 服务器端有一个欢迎socket,等待从客户端来的连接建立请求
- TCP客户端建立一个socket,并将这个socket与服务器相连
- 一个连接建立请求就是第一个TCP段,包含目的端口号和特殊的连接建立位(头部),也包含源端口号
- 当服务器收到连接建立请求,就创建一个专门的通信socket负责这两个进程的通信
- 接下来两个进程就可以相互通信了
阅读全文
0 0
- 传输层的复用和解复用
- 传输层的知识点
- 关于webservice大数据量传输时的压缩和解压缩
- webservice大数据量传输时的压缩和解压缩
- UDP传输时IP层的分片是怎么回事? UDP传输时为什么不要用tcpdump过滤端口来抓包?
- 传输层 和网络层的区别
- 应用层和传输层的关系
- 应用层和传输层的关系
- 应用层和传输层的关系
- 网络层和传输层的区别
- 网络层与传输层的区别
- 传输层与应用层的关系
- 传输层 和网络层的区别
- 计算机网络传输层的功能
- 网络传输层的基本知识
- 传输层提供的服务
- 用ASP.NET实现文件的在线压缩和解压缩
- 用ASP.Net实现文件的在线压缩和解压缩
- 模拟银行ATM取款机
- 输入一行字符,分别统计出包含英文字母、空格、数字和其它字符的个数
- together进度报告9
- 世界首个合法授权:双人飞行汽车GyroDrive已上路
- 网络层协议IP/ICMP/DHCP/ARP/TCP数据的捕获与分析
- 传输层的复用和解复用
- 【LeetCode64 Minimum Path Sum】动态规划计算路径
- 3.1 Linux中的文件IO (13、14节)
- Spring(1-1、基于xml装配Bean)
- C8051F没有无法进main函数的解决办法之一
- 解决IIS+PHP出现的“500
- 7. Reverse Integer
- Java基础教程18-方法传参和返回值
- Lecture 2: Supervised machine learning