精华内容
下载资源
问答
  • 多路复用和多路分解

    2021-06-07 16:19:58
    前言:此博客主要为学习总结,方便以后查看。...2.绿色块表示套接字,一个进程可以有一个或者个套接字,从进程的角度看(应用层以下都属于网络),它相当于从网路向进程传递数据从进程向网络传递数

    前言:此博客主要为学习总结,方便以后查看。基于《计算机网络——自定向下方法》第六版

    一 运输层功能(或服务)

      网络层提供从主机到主机的交付服务,运输层扩展了网络层交付服务,提供从进程(运行在主机上的应用程序)到进程的交付服务。如下图所示:

    在这里插入图片描述
    注释
    1.源主机的P1表示实现某协议(如HTTP协议)的客户进程,目的主机的P1表示某协议(如HTTP协议)的服务器进程。
    2.绿色块表示套接字一个进程可以有一个或者多个套接字,从进程的角度看(应用层以下都属于网络),它相当于从网路向进程传递数据和从进程向网络传递数据的门户。在接受主机(目的主机)中运输层实际上并没有直接将数据交付给进程,而是交付给了一个中间套接字
    3.多路复用:在源主机从不同的套接字(体现多路)收集数据块,并为每个数据块封装首部信息(该信息可用于多路分解)从而生成报文段,然后将报文段传递到网络层。
    4.多路分解:在目的主机中,把网路层获取的报文段中的数据交付到正确的(或者说对应的)套接字中。

    二、 端口号

    1、端口号的由来

    运输层将数据的交付服务从网络层的主机到主机扩展到了进程到进程,主要实现依赖于多路复用和多路分解,简单描述就是,收集不同套接字中的数据,添加首部信息,封装成报文段和从报文段中提取数据交付到正确的套接字。

    我们知道同一时刻,主机上可能存在多个进程,进而存在多个套接字,那么多路分解需要把数据交付给正确的套接字,需要保证两点:

    1. 套接字要有唯一标识符;
    2. 报文段中有特殊字段来指示该报文段中的数据所要交付到的套接字;

    于是就有了端口号

    2. 端口号在报文段中的应用

    在这里插入图片描述
    源端口号字段和目的端口号字段为16比特,因此端口号范围为0 ~ 65535。其中,0 ~ 1023为周知端口号,使用是受限的,保留给了诸如HTTP、FTP等周知应用层协议使用。

    3.端口号的分类

    (1) 服务器端使用的端口号

      包括周知端口号和登记端口号

    周知端口号,分配给周知的应用程序(一般是服务器端应用程序),范围0~1023

    应用程序(协议)周知端口号
    HTTP80
    HTTPS443
    DNS53
    FTP21
    TELNET23

    登记端口号,分配给某些著名公司的常用的应用程序,避免重复,使用时需要登记,范围1023~49151

    应用程序端口号
    mysql3306

    (2) 客户端使用的端口号

    客户端使用的端口号(又称,短暂端口号),有操作系统动态分配给客户端进程,范围49152~65535。

    四、多路复用和多路分解实现

      IP地址可以标识一台主机,端口号可以标识一台主机上的某个进程,因此,在网络上的任意一个进程就可以通过【IP地址+端口号】进行标识。由于网络上进程间数据的传递是依靠套接字进行的,更准确的说,【IP地址+端口号】标识了一个套接字。

    1. UDP的多路复用和多路分解

    UDP的套接字标识是一个二元组【目的主机IP地址:目的端口号】

    在报文端从源主机A到达目的主机B后,目的主机运输层的UDP协议检查报文段的目的端口号,然后把该报文段中的数据定向交付(分解)到相应的套接字;

    2.TCP的多路复用和多路分解

    未完待续…

    展开全文
  • 3.2 多路复用和多路分解 运输层的多路复用和多路分解,也就是将由网络层提供的主机到主机交付服务延伸到为运行在主机上的应用程序提供进程到进程的交付服务。需要强调的是,多路复用和多路分解服务是所有计算机网络...

    3.2 多路复用和多路分解

    运输层的多路复用和多路分解,也就是将由网络层提供的主机到主机交付服务延伸到为运行在主机上的应用程序提供进程到进程的交付服务。需要强调的是,多路复用和多路分解服务是所有计算机网络都需要的

    在接收端,运输层检查这些字段,标识出接收套接字,进而将报文段定向到该报文段。将运输层报文段中的数据交付到正确的套接字的工作称为多路分解

    在源主机从不同套接字中收集数据块,并为每个数据块封装上首部信息从而生成报文段,然后将报文段传递到网络层,这称之为多路复用

    这就像是两个家庭之间相互寄邮件,寄件家庭的爸爸,妈妈和儿子都要寄邮件,而爸爸把大家的邮件收集在一起交给邮差,这就是多路复用,这样免去了每个人都要去找邮差寄件,就如同计算机中的进程不需要独占一条网线一样。而收件家庭的妈妈把全家人的邮件都一起从邮差手里取了回来,分给了其他人,这就是多路分解

    为了实现多路复用和多路分解,计算机网络有如下特性

    ①套接字(Socket)有唯一的标识符。

    ②每个报文段有特殊字段来指示该报文段所要交付到的套接字。而这些特殊的字段就是源端口号字段目的端口号字段

    端口号就如同门牌号。每个主机就如同一栋大厦,报文段到达了目的主机之后,需要前往对应的端口号,将信息给对应端口号的进程才行

    端口号是一个16比特的数,范围在065535之间。01023这个范围的端口号称为周知端口号。是受限的,这些端口号留给比如HTTP或者FTP之类的周知应用层协议来使用的。

    在主机上每个套接字(Socket)可以分配一个端口号,当报文段到达主机的时候,运输层检查报文段中的目的端口号。并将其定位到相应的端口号中。然后报文段中的数据通过套接字进入其所连接的进程。

    1.无连接的多路复用与多路分解

    在Python中只需要一行代码就可以创建一个UDP套接字。

    clientSocket = socket(AF_INEF, SOCK_DGRAM)
    

    当用这一种方法创建一个套接字的时候,运输层会自动地为这个套接字分配一个随机的端口号。这个端口号一定是没有被占用的。当然你也可以通过bind()方法指定UDP套接字关联一个端口号

    clientSocket.bind(('', 11451))
    

    如果应用程序是一个周知协议的服务器端,那么开发者就必须为其分配一个相应的周知端口。也就是说,通常,应用程序客户端会让运输层自动地分配一个端口号,而服务端会分配到一个特定的端口号。

    一个UDP套接字是由一个二元组全面标识的,该二元组包含一个目的IP地址和一个目的端口号。因此,两个UDP报文有着不同的源IP/源端口号,但是还是会通过相同的套接字被定向到相同的目标进程。

    2. 面向连接的多路复用和多路分解

    TCP套接字和UDP套接字之间的一个细微差别是TCP套接字是由一个四元组(源IP地址,源端口号,目的IP地址,目的端口号)。特别和UDP不同的是,两个具有不同源IP地址或者端口号的到达TCP报文段将会被定向到两个不同的套接字,除非TCP报文段携带了初始创建连接的请求。

    服务器注意到TCP报文段中有个四元组。所以所有目的IP,目的端口号,源端口号,源IP都相同的TCP报文段才会被定向到对应的相同的套接字。来源不同的TCP报文段会被定向到不同的套接字。

    服务器主机可以支持很多并行的TCP套接字,每一个套接字和一个进程联系,并且由其四元组来表示每个套接字。

    展开全文
  • 1.多路分解 运输层报文段中的数据交付到正确的套接字工作称为多路分解 运输层从紧邻其下的网络层接收报文段。 运输层负责将这些报文段中的数据交付给主机上运行的适当应用程序进程,一个进程有一个或多个套接字,套...

    运输层
    1.多路分解
    运输层报文段中的数据交付到正确的套接字socket工作称为多路分解
    运输层从紧邻其下的网络层接收报文段。 运输层负责将这些报文段中的数据交付给主机上运行的适当应用程序进程,一个进程有一个或多个套接字,套接字的作用是从网络向进程传递数据和从进程向网络传递数据,在接收主机的运输层实际上并没有直接将数据交付给进程,而是将数据交给了一个中间的套接字,主机会将一个到达运输层报文定向到适当的套接字。每个运输层报文段中具有几个字段,在接收端运输层检查这些字段,标识出接收套接字,进而将报文段定向到该套接字

    2.多路复用
    在源主机从不同套接字中收集数据报,并为每个数据块封装上首部信息(这将在以后用于分解)从而生成报文段,然后将报文段传递到网络层,所有这些工作称为多路复用

    参考
    《计算机网络 自顶向下》

    展开全文
  • 一文带你看懂多路复用多路分解

    千次阅读 多人点赞 2020-04-16 08:14:49
    写在前面:这里是小王成长日志,一名普通在校大学生,想成学习之余将自己的学习笔记分享出来,记录自己的成长轨迹,帮助可能需要的人,平时博客内容主要是一些系统的学习笔记,项目实战笔记,一些技术的探究自己的...

    写在前面:这里是小王成长日志,一名普通在校大学生,想成学习之余将自己的学习笔记分享出来,记录自己的成长轨迹,帮助可能需要的人,平时博客内容主要是一些系统的学习笔记,项目实战笔记,一些技术的探究和自己的一些思考。欢迎大家关注,你们的每一个评论点赞关注我都会仔仔细细去看的。有任何问题欢迎交流,我会尽我所能帮助大家的,共创CSDN美好环境。

    最近在看计算机网络,这算是学习笔记吧,因为是自学,水平有限,不一定很有深度,但保证发出来的东西一定是自己思考整理过后的,每句话都经过了查证,欢迎大佬指导,若有错,请轻喷。

    前置知识

    进程如何取得来自网络的数据

    首先我们了解进程从网络中接收数据的过程:

    在目的主机,运输层需要从其下层的网络层接收报文段。

    而运输层则负责将这些报文段中的数据交付给目标进程的指定套接字(而一个进程可能有多个套接字)

    因此套接字(Socket)充当从进程向网络传递数据和从进程向网络传递数据的门户。
    如下图

    在这里插入图片描述

    运输层报文结构

    如上我们可见 每个运输层报文中都有两个首部字段-源端口号和目的端口号

    而在主机上,每个套接字都对应着一个进程,而每个套接字都能够分配一个端口号

    所以当报文段到达主机时,运输层检查报文段中的目的端口号,并将其定向到相应的套接字 (多路分解),然后报文段中的数据通过套接字进人其所连接的进程。

    概述

    多路分解

    每个运输层报文段中具有几个字段(就是指上面的源端口号和目的端口号)。在接收端,运输层检查这些字段,标识出接收套接字并与套接字的标识信息进行比对,如果符合则将报文段定向到该套接字。

    多路复用

    在源主机从不同套接字中收集数据块,并为每个数据块封装上首部信息(封装源端口号和目的端口号,这将在以后用于分解)从而生成报文段,然后将报文段传递到网络层。

    举个栗子

    我们用书上的一个栗子来形象地说明一下什么是多路分解和多路复用:

    在这个栗子中总共有两个家庭(两个端系统),每个家庭有7个孩子(进程),每个家庭的孩子每周会互相写一封信,例如老大给老大写,老二给老而写(信以及信封上的字符象征应用层报文)。

    我们让第一家的小B和第二家的老A负责家庭内部的邮件收发(运输层从IP层接收报文并传递给相应的进程)。明显外部的邮政系统则充当了两个端系统之间的信息传输通道。

    每一个孩子通过他们的名字来标识。当 小B 从邮递员( IP 层)处收到一批信件,并通过查看收信人名字(报文上的目的端口号)而将信件亲手交付给他的兄弟姐妹们(进程)时,他执行的就是一个分解操作。

    当老A从兄弟姐妹们(进程)那里收集信件并将它们交给邮递员(IP层)时,她执行的就是一个多路复用操作。

    UDP和TCP中的多路复用和多路分解有何不同

    主要是scoket的不同:

    UDP套接字-无连接的多路分解与多路复用

    当我们创建一个UDP套接字时,运输层会自动或者我们人为为套接字绑定一个1024 - 65535之间的端口(其余端口是周知端口,留给一些周知应用层协议)。

    UDP套接字由二元组来进行全面标识

    • 该二元组包含一个目的IP地址和一个目的端口号

      因此,如果两个UDP报文段有不同的源IP地址或源端口号,但具有相同的目的IP地址和目的端口号,那么这两个报文段将通过相同的目的套接字被定向到相同的目的进程。(多路分解)

    • 源端口号用作“返回地址”的一部分填充到回复报文的目的端口,这很明显

    在这里插入图片描述

    TCP套接字-面向连接的多路复用与多路分解

    而TCP套接字接字和UDP套接字之间有一个细微差别TCP套接字由一个四元组(源IP地址,源端口号,目的IP地址,目的端口号)来进行标识

    因此因为使用了四个值来进行套接字的定位,所以来自不同IP但源端口相同的两个TCP报文段将被定向到两个不同的套接字,反之亦然。(多路分解)

    服务器主机可以支持很多并行的TCP套接字,每个套接字与一个进程相联系,并由其四元组来标识每个套接字。当一个TCP报文段到达主机时,所有4个字段(源P地址,源端口,目的P地址,目的端口)被用来报文段定向(分解)到相应的套接字

    在这里插入图片描述

    Web服务器与TCP

    还是看上面的图。

    上面的图显示了一台服务器为每条连接生成一个新进程 。 如图所示,每个这样的进程都有自己的连接套接字,通过这些套接字可以收到HTTP 请求和发送 HTTP 响应

    • 连接套接字与进程之间并非总是有着一 一对应的关系 。
    • 当今的高性能 Web 服务器通常只使用一个进程,但是为每个新的客户连接创建一个具有新连接套接字的新线程 。 (线程可被看作是一个轻量级的子进程 。 )
    • 如果客户与服务器使用持续 HTTP ,则在整条连接持续期间,客户与服务器之间经由同一个服务器套接字交换 HTTP 报文 。 然而,如果客户与服务器使用非持续连接,则对每一对请求/响应都创建一个新的 TCP 连接并在随后关闭,因此对每一对请求/响应创建一个新的套接字并在随后关闭 。 这种套接字的频繁创建与关闭会严重地影响一个繁忙的 Web服务器的性能(虽然有许多操作系统技巧可用来减轻这个问题的影响) 。

    都看到这里了,各位哥哥姐姐叔叔阿姨给小王点个赞 关个注 留个言吧,和小王一起成长吧,你们的关注是对我最大的支持。
    有事没事,进来看看吧 : 小王博客目录索引,进来看看吧,说不定有你想要的呢


    如果以上内容有任何不准确或遗漏之处,或者你有更好的意见,就在下面留个言让我知道吧-我会尽我所能来回答。

    展开全文
  • 一、什么是多路复用和多路分解 我们知道,在网络上主机与主机之间的通信,实质上是主机上运行的应用进程之间的通信。例如,当你通过Http上网浏览网页时,实质上是你所访问的主机的服务器进程与你本机的浏览器进程在...
  • 多路分解:在接收端,运输层检查报文段,标识出接收socket,进而将报文段定向至该socket,将运输层报文段交付至正确的socket称为多路分解多路复用:从源主机的不同socket收集数据块,并为每个数据块装上首部信息...
  • 今天刚读到运输层这一章,开头详细讲解了运输层的多路复用多路分解,我觉得颇有收获,所以写篇博客分享一下这一部分内容。 二、解析  2.1 应用层、运输层以及网络层的关系   想要解析多路复用多路分解,首先...
  • 计算机网络运输层之多路复用多路分解

    万次阅读 多人点赞 2014-03-21 00:13:10
    一、什么是多路复用和多路分解 我们知道,在网络上主机与主机之间的通信,实质上是主机上运行的应用进程之间的通信。例如,当你通过Http上网浏览网页时,实质上是你所访问的主机的服务器进程与你本机的浏览器进程在...
  • 因特网运输层 运输层位于应用层网络层之间,是分层的网络体系结构的重要...这种主机间交付扩展到进程间交付被称为运输层的多路复用多路分解。另外UDPTCP还可以通过在其报文段首部中包括差错检查字段而提供...
  • 行业分类-设备装置-多路复用分解器电路.zip
  • 一个进程有一个或个套接字,它相当于从网络向进程传递数据从进程向网络传递数据的门户。因此,在接收主机中的运输层实际上并没有直接将数据交付给进程,而是将数据交给了一个中间的套接字。由于在任一时刻,在...
  • UDP套接字(目的IP地址,目的端口号),若两个UDP报文段有不同源IP地址/或源端口号,但有相同目的IP地址目的端口号,则这两个报文段将通过相同的套接字被定向到相同的目的进程。TCP套接字(源IP地址,源端口号,...
  • 在提到多路分解和多路复用之前先了解一下大概运输层和网络层之间的关系。网络层是提供不可靠的传输服务。网络层协议有一个名字叫做IP,即网际协议。IP为主机之间提供了逻辑通信。IP的服务模型是尽力而为交付服务,但...
  • 一、主要的概念多路复用:从源主机的不同套接字中收集数据...以上就是多路复用和多路分解的概念,对我们理解网络层运输层在进行数据交互的时候很重要。如果觉得说的还不是很直接的话,接下来将用图示再进一步分析 ...
  • 面向连接的套接字比无连接套接字的组成多了以下两部分 ...多路分解过程 若接收方UDP发现收到的报文中目的端口号不正确,此时该如何处理。 由ICMP发送“端口不可达”报错给发送方 ...
  • 多路复用技术

    2021-11-04 17:23:00
    1.频分多路复用 频分多路复用(FDM)是在一条传输介质上使用多个频率不同的模拟载波信号进行多路传输。该技术对整个物理信道的可用带宽进行分割,利用载波调制技术实现原始信号的频谱迁移,使得多路信号在整个物理...
  • 传输层(多路分解多路复用

    千次阅读 2018-06-25 10:28:53
    为什么要多路分解和多路复用?因为:如果某层的一个协议对应直接上层的多个协议/多个实体,则需要多路分解和多路复用。例子:这里值得注意的是,在发送之前,需要为每个数据封装上头部信息才会生成Segment,交给网络...
  • 多路复用 我们知道,一个主机有多个进程,而一个主机的进程于另外一个主机的进程进行通信主要靠的就是套接字,进程将数据封装起来,发送到套接字中,(到了套接字后面的工作就是网络层的事情了),而一个主机将所有...
  • 多路复用多路分解 标识应用(端口)、标识主机(ip),这是在主机通信的基础上进一步应用之间的相互通信。 端口 定位器端口(port)连同IP地址,唯一标识进程 端口扩展了网络地址 进程标识符标识本地进程 进程通过...
  • 同时级多路分解和波长多播的高非线性光子晶体光纤中级联四波混频光时分多路复用系统的设计
  • 行业文档-设计装置-时分多路复用多路分解方法
  • 行业分类-设备装置-编解码设备及编码多路复用设备解码多路分解设备.zip

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 12,069
精华内容 4,827
关键字:

多路复用和多路分解

友情链接: TaskManager.zip