网络基础:数据通信技术之数据交换技术——分组交换
技术 2019-05-24 19:00:02 字数:5392

引言

大家好,早在20世纪40年代,电报通讯系统采用了报文交换方式,它与电路交换的工作原理是不同的,每个报文传送的时候,它没有连接建立或者是连接释放这两个阶段。

文章目录

  • 2.报文交换技术
  • 3.分组交换技术
  • 4.三者的比较

2.报文交换技术

在报文交换节点接收到一份报文以后,首先就是予以这个存储,并且是排队输出线路空闲的时候在报文的报头中包含的收益人地址来进行转发,目前由于该交换方式已经不再使用了,所以大家只需要简单了解一下它的特点就可以了。

网络基础:数据通信技术之数据交换技术——分组交换

它的特点是

  • 因为采用的是存储转发技术,所以每个报文交换机采用存储转发方式,对每份报文完整地加以处理。
  • 每份报文中含有的报头中必须包含收发双方的地址,以便交换节点进行路由选择,还可以一对多的去传送报文。
  • 由于它不采用资源预分配,所以每个报文它的存储转发时延大随机性也会大一些。
网络基础:数据通信技术之数据交换技术——分组交换


3.分组交换技术

接下来我们学习分组交换技术。分组交换也是一种存储转发处理方式,它和报文交换方式的不同之处,就是首先就是存储转发的基本单位是分组。

最早的时候分组是怎么产生的?其实当时的主机只能够产生报文,然后需要通过一个分组装拆设备,来把一个用户的原始的报文去分成若干个小的数据单元来传送,这个数据单元就被称之为分组,也可以称之为包,每个分组中必须附加一个分组头,包含了收信人的地址等信息。

我们现在看到的例子中给出了三台分组交换机互联而成的分组交换网,并且假设每台分组交换机个连接一台主机,分组网为分组的传输提供了两种服务方式,分别是数据报和虚电路

网络基础:数据通信技术之数据交换技术——分组交换

目前因特网中采用的是数据报方式,在数据报方式中每个分组是被独立的进行路由选择的,也就是从同一主机发出的若干个分组要到同样的目的主机的时候,由于每个分组被独立的进路由选择,所以大家走的路可能不一样,也就意味着接收的顺序和发送的顺序可能不一致。

由于目前虚电路方式用的比较少,所以我们在这里就以数据报方式为例,通过动画演示给大家介绍一下分组的传输过程。

视频加载中...

我们可以看到左边的主机A要发报文给主机B,该报文被拆成了四个分组,四个分组按照顺序到达第一台交换机,假如第一台交换机根据网络的现状为第一个分组选择的是送给右边的交换机,为第二个,第三个分组选择的是下面的交换机,最终四个分组分别到达了目的地。

因为早期的主机它只能够接受报文,所以由接收端的分组装拆设备再把每个分组的头部去掉,重新装配成一个长长的报文送给目的主机。

当然现在的因特网是每台主机都是直接产生分组,并且也是直接接收分组的,而且从多路复用的角度来说,每条链路上采用的是动态的时分复用技术。

通过刚才的讲解,我们再来归纳一下关于提供了数据报服务的分组交换技术的特点

  • 在数据传输之前不需要建立连接。
  • 由于提供了动态时分复用,因此提高了通信线路的利用率。
  • 网络的生存性好,当网络线路或者设备产生故障后,可以自动的为分组选择一条迂回路由,避开故障点,不会引起通信的中断,这也是当初分组交换网产生的动力。
  • 我们也要看由于采用存储转发方式处理分组,所以分组在网络内的平均时延要比电路交换方式高。
  • 每个分组由于都要包含完整的目的地址等信息,这些信息都放在附加的分组头里,都需要由交换机来进行分析处理,所以会增加额外的开销。

尽管分组交换技术存在着一定的缺点,但是因特网的飞速发展也说明了分组交换技术仍然是一种非常优秀的数据交换技术。

4.三者的比较

最后我们再从实验方面对电路交换、报文交换和分组交换做一个比较。

纵坐标是时间,A和D是源主机和目的主机,B和C是中间的交换机。

网络基础:数据通信技术之数据交换技术——分组交换

由于电路交换需要在发送数据之前先建连接数据传输完毕以后要拆除连接,所以数据传输的前后都需要额外花时间,但是在数据传输的过程中总的时延还是非常小的,所以适合于实施性比较强的应用。

网络基础:数据通信技术之数据交换技术——分组交换

报文交换虽然不需要建立连接,但是由于报文比较长,并且报文到达中间交换机以后存储排队的时间比较长,所以总的时延比较大。

网络基础:数据通信技术之数据交换技术——分组交换

分组交换中的数据报方式不需要建立连接,由于同样长的报文被拆成了若干个分组来传输,各个分组再传输时间上有重叠,所以从发送第一个分组开始到目的主机接收到最后一个分组总的时延比报文交换要小得多,并且处理起来也比较灵活。

网络基础:数据通信技术之数据交换技术——分组交换

通过对数据交换的定义分类以及电路交换、报文交换和分组交换的原理以及特点等几个方面介绍了数据交换技术。那如果说在传输的过程中,由于某些原因出现了接收端收到的内容和发送端发送的内容不一致的情况那应该怎么去处理?那么接下来要给大家介绍的差错控制技术就会给出你相应的答案。

0人参与回答
  • 未添加任何数据~~


提示信息

联系电话:
1585150508*
QQ交谈:
小编
站长微信:
站长邮箱: service@qingjiuzhubei.com
280.51msRequest Duration2MBMemory UsageGET zixun/detail/{id?}.htmlRouteAuth status
    • Booting (16.81ms)
    • Application (268.99ms)
      6 templates were rendered
      • site.zixun.detail (resources/views/site/zixun/detail.blade.php)8blade
        Params
        0
        prevArticle
        1
        nextArticle
        2
        newDetail
        3
        comment
        4
        hotnews
        5
        t
        6
        d
        7
        k
      • layouts.site.layout (resources/views/layouts/site/layout.blade.php)18blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        device
        4
        isMobile
        5
        errors
        6
        prevArticle
        7
        nextArticle
        8
        newDetail
        9
        comment
        10
        hotnews
        11
        t
        12
        d
        13
        k
        14
        __empty_1
        15
        __currentLoopData
        16
        loop
        17
        hotnewsVal
      • layouts.site.top (resources/views/layouts/site/top.blade.php)18blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        device
        4
        isMobile
        5
        errors
        6
        prevArticle
        7
        nextArticle
        8
        newDetail
        9
        comment
        10
        hotnews
        11
        t
        12
        d
        13
        k
        14
        __empty_1
        15
        __currentLoopData
        16
        loop
        17
        hotnewsVal
      • layouts.site.bottom (resources/views/layouts/site/bottom.blade.php)18blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        device
        4
        isMobile
        5
        errors
        6
        prevArticle
        7
        nextArticle
        8
        newDetail
        9
        comment
        10
        hotnews
        11
        t
        12
        d
        13
        k
        14
        __empty_1
        15
        __currentLoopData
        16
        loop
        17
        hotnewsVal
      • common.upgrade_vip (resources/views/common/upgrade_vip.blade.php)18blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        device
        4
        isMobile
        5
        errors
        6
        prevArticle
        7
        nextArticle
        8
        newDetail
        9
        comment
        10
        hotnews
        11
        t
        12
        d
        13
        k
        14
        __empty_1
        15
        __currentLoopData
        16
        loop
        17
        hotnewsVal
      • kefu.kefu (resources/views/kefu/kefu.blade.php)18blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        device
        4
        isMobile
        5
        errors
        6
        prevArticle
        7
        nextArticle
        8
        newDetail
        9
        comment
        10
        hotnews
        11
        t
        12
        d
        13
        k
        14
        __empty_1
        15
        __currentLoopData
        16
        loop
        17
        hotnewsVal
      uri
      GET zixun/detail/{id?}.html
      middleware
      web
      controller
      App\Http\Controllers\Site\ZixunController@detail
      namespace
      App\Http\Controllers
      prefix
      /zixun
      where
      as
      zixunDetail
      file
      app/Http/Controllers/Site/ZixunController.php:105-132
      7 statements were executed250.22ms
      • select * from `news` where `news`.`id` = '43019' and `news`.`deleted_at` is null limit 112.28ms/app/Http/Controllers/Site/ZixunController.php:109zzshuju
        Metadata
        Bindings
        • 0. 43019
        Hints
        • Use SELECT * only if you need all columns from table
        • LIMIT without ORDER BY causes non-deterministic results, depending on the query execution plan
        Backtrace
        • 14. /app/Http/Controllers/Site/ZixunController.php:109
        • 22. /vendor/silber/page-cache/src/Middleware/CacheResponse.php:38
        • 56. /public/index.php:53
      • select * from `new_cates` where `new_cates`.`id` in ('52') and `new_cates`.`deleted_at` is null480μs/app/Http/Controllers/Site/ZixunController.php:109zzshuju
        Metadata
        Bindings
        • 0. 52
        Hints
        • Use SELECT * only if you need all columns from table
        Backtrace
        • 19. /app/Http/Controllers/Site/ZixunController.php:109
        • 27. /vendor/silber/page-cache/src/Middleware/CacheResponse.php:38
        • 61. /public/index.php:53
      • select * from `news` where `news`.`deleted_at` is null order by `browse` desc limit 10218.82ms/app/Http/Controllers/Site/ZixunController.php:110zzshuju
        Metadata
        Hints
        • Use SELECT * only if you need all columns from table
        Backtrace
        • 12. /app/Http/Controllers/Site/ZixunController.php:110
        • 20. /vendor/silber/page-cache/src/Middleware/CacheResponse.php:38
        • 54. /public/index.php:53
      • update `news` set `browse` = `browse` + 1, `updated_at` = '2025-08-24 07:54:37' where `id` = '43019' and `news`.`deleted_at` is null14.49ms/app/Http/Model/News/News.php:170zzshuju
        Metadata
        Bindings
        • 0. 2025-08-24 07:54:37
        • 1. 43019
        Backtrace
        • 12. /app/Http/Model/News/News.php:170
        • 13. /app/Http/Controllers/Site/ZixunController.php:111
        • 21. /vendor/silber/page-cache/src/Middleware/CacheResponse.php:38
        • 55. /public/index.php:53
      • select * from `news` where `id` < '43019' and `newscate_id` = '52' and `news`.`deleted_at` is null order by `id` desc limit 12.6ms/app/Http/Controllers/Site/ZixunController.php:115zzshuju
        Metadata
        Bindings
        • 0. 43019
        • 1. 52
        Hints
        • Use SELECT * only if you need all columns from table
        Backtrace
        • 13. /app/Http/Controllers/Site/ZixunController.php:115
        • 21. /vendor/silber/page-cache/src/Middleware/CacheResponse.php:38
        • 55. /public/index.php:53
      • select * from `news` where `id` > '43019' and `newscate_id` = '52' and `news`.`deleted_at` is null order by `id` asc limit 1920μs/app/Http/Controllers/Site/ZixunController.php:116zzshuju
        Metadata
        Bindings
        • 0. 43019
        • 1. 52
        Hints
        • Use SELECT * only if you need all columns from table
        Backtrace
        • 13. /app/Http/Controllers/Site/ZixunController.php:116
        • 21. /vendor/silber/page-cache/src/Middleware/CacheResponse.php:38
        • 55. /public/index.php:53
      • select * from `comments` where `news_id` = '43019'630μs/app/Http/Controllers/Site/ZixunController.php:117zzshuju
        Metadata
        Bindings
        • 0. 43019
        Hints
        • Use SELECT * only if you need all columns from table
        Backtrace
        • 12. /app/Http/Controllers/Site/ZixunController.php:117
        • 20. /vendor/silber/page-cache/src/Middleware/CacheResponse.php:38
        • 54. /public/index.php:53
        web
        array:2 [ "name" => "Guest" "user" => array:1 [ "guest" => true ] ]
        api
        array:2 [ "name" => "Guest" "user" => array:1 [ "guest" => true ] ]
          _token
          VvaqMu2EFKZHgbk89mM1BAVg6Iy5OSjVvbOetWlF
          _previous
          array:1 [ "url" => "https://data.winndoo.cn/zixun/detail/43019.html" ]
          PHPDEBUGBAR_STACK_DATA
          []
          format
          html
          content_type
          text/html; charset=UTF-8
          status_text
          OK
          status_code
          200
          request_query
          []
          request_request
          []
          request_headers
          array:17 [ "accept-encoding" => array:1 [ 0 => "gzip, deflate, br, zstd" ] "sec-ch-ua-plat...
          request_server
          array:41 [ "USER" => "apache" "HOME" => "/usr/share/httpd" "HTTP_ACCEPT_ENCODING" => "gzip, de...
          request_cookies
          []
          response_headers
          array:5 [ "cache-control" => array:1 [ 0 => "no-cache, private" ] "date" => array:1 [ ...
          path_info
          /zixun/detail/43019.html
          session_attributes
          array:3 [ "_token" => "VvaqMu2EFKZHgbk89mM1BAVg6Iy5OSjVvbOetWlF" "_previous" => array:1 [ "u...