目录

  • ARPANET
  • 网络拓扑结构设计思路
  • 数据传输方式
    • 线路交换(circuit switching)
    • 报文交换(message switching)
    • **分组交换 / 包交换**(packet switching)
      • 数据报方式
      • 虚电路方式
    • 三种交换的比较
  • 提出通信子网和资源子网
  • TCP/IP协议研究与发展

ARPANET

计算机网络的形成与发展过程中有三个标志性的网络:

  • ARPANET、NSFNET与Internet
    ARPANET,一个专门用于传输军事命令与控制信息的网络

ARPA (Defense Advanced Research Project Agency) 美国国防部高级研究计划署

ARPANET的研究背景:

  • 军方需要一个专用军事网络 (可靠、容错、容侵)

通信网络方案的设计要解决两个基本问题:

  • 网络拓扑结构
  • 数据传输方式

网络拓扑结构设计思路

因为要满足可靠性,所以选择分布式网络的拓扑构型:高度分布与具有容错能力的网状结构

没有中心交换结点,每个节点与相邻结点连接,构成网状结构。如果有结点损坏,数据可通过其他路径传输

数据传输方式

线路交换(circuit switching)

线路交换是面向连接的服务,两台计算机通过通信子网进行数据交换之前,首先要在通信子网中建立一个实际的物理线路连接

  • 线路交换在数据传输过程中要经过建立连接数据传输释放连接的三个阶段

优点:通信实时性强,适用于交互式会话类通信
缺点:对突发性通信不适应,系统效率低,系统不具有存储数据的能力,不能平滑通信量

典型应用:电话交换网

  • 两部电话机互相连接只需一对电线
  • 5部电话机两两相连, 需10对电线
  • N 部电话机两两相连, 需N(N–1)/2 对电线
  • 当电话机的数量增多时,就要使用交换机来完成全网的交换任务。交换机被用来搭建实际的物理线路


数据传输方式为什么不能采用电话交换网?

电话交换网(用于传输语音信号):

  • 一种低速模拟信号传输过程,误码率高
  • 呼叫过程10~20s,相对整个通话过程可接受

计算机的数据传输:

  • 要求准确传输每个bit;
  • 一般是突发性的,真正用于传输的时间很短,线路大多数时间空闲。

报文交换(message switching)

报文传输:不管发送数据的长度是多少,都把它当作一个逻辑单元发送

分组交换 / 包交换(packet switching)

报文分组传输:限制一次传输数据的最大长度,如果数据超过规定的最大长度,发送结点就将它分成多个报文分组发送

通常把采用分组交换(包交换)方式的计算机网络称为分组交换网

  • 分组:在分组交换网络中,交换单元是大小可变的数据块,称为分组

  • 存储转发:在每个节点,分组将被暂时储存,然后按照分组头中的信息规定的路线发送

  • 路由选择:转发节点选择合适的传输路径

  • 每一个数据段前面添加上首部构成分组。每一个分组的首部都含有地址等控制信息
  • 分组交换网中的结点根据收到的分组的首部中的地址信息,把分组转发到下一个结点。用这样的存储转发方式,最后分组就能到达最终目的地
  • 接收端收到分组后剥去首部还原成报文

分组交换带来的问题:
分组在各结点存储转发时需要排队,这就会造成一定的时延
分组必须携带的首部也造成了一定的开销

分组交换又可以分为:数据报、虚电路

数据报方式

面向非连接的数据传输方式

在数据报方式中,分组传送之间不需要预先在源主机与目的主机之间建立 “线路连接”

  • 源主机所发送的每一个分组都可以独立地选择一条传输路径。因此,每个分组在通信子网中可能是通过不同的传输路径到达目的主机

缺点:

  • 分组到达目的结点时可能出现乱序、重复与丢失现象

优点:

  • 灵活、高效:以分组为传送单位,查找路由,有利于提高路由器检错、重传的效率,提高路由器存储空间的利用率
  • 迅速、可靠不必先建立连接就能向其他主机发送报文分组。可以根据链路通信状态、网络拓扑变化,为不同分组动态选择传输路径,减少分组传输延迟。使网络有很好的生存性

虚电路方式

面向连接的数据传输方式

虚电路方式试图将数据报方式与线路交换方式结合起来,充分发挥两种方法的优点,以达到最佳的数据交换效果:

  • 虚电路方式在分组发送之前,需要在发送方和接收方建立一条逻辑连接的虚电路
  • 虚电路方式与线路交换方式相同,整个通信过程分为以下三个阶段:虚电路建立、数据传输与虚电路释放阶段

一条虚电路组成如下:

  • 源和目的主机之间的路径
  • 分组首部携带虚电路号 (沿着该路径的每段链路一个号码)
  • 沿着该路径的每台路由器的转发表项

虚电路方式与线路交换方式的不同之处:
虚电路是在传输分组时建立起的逻辑连接。每个结点到其它结点间可能有无数条虚电路存在,一个结点可以同时与多个结点之间具有虚电路。

三种交换的比较


线路交换建立了实际的物理线路,所以可以直接将数据传输到终点。而报文交换和分组交换则需要经过若干次的存储转发

提出通信子网和资源子网

ARPANET 使用了 IMP (接口报文处理机) 完成分组接收、校验、存储、转发,并用 IMP 将主机和终端接入网内

IMP 即为路由器的雏形

TCP/IP协议研究与发展

70~80年代网络技术发展迅速,出现大量计算机网络:军用网、研究试验网络、公共服务网络、校园网等

“网络互联” (internet / internetworking) 研究,将不同类型的网络互联起来。需要克服异构网络在分组长度、格式、分组头与传输速率上的差异。


1977年10月,ARPANET研究人员决定将初期的网络协议分为 传输控制协议(TCP)互联网络协议(IP)

  • TCP协议主要用于实现源主机与目的主机之间的分布式进程通信的功能
  • IP协议主要用于实现分组通过通信子网的路由选择功能。

ARPANET的设计思想 (分组交换)相关推荐

  1. 计算机网络——ARPANET设计思想

    1. 什么是ARPANET ARPANET是什么?大概大家听到这个词都会感到陌生.但是Internet你一定不陌生. ARPANET与Internet一样,是计算机网络形成过程中标志性网络,除此之外还 ...

  2. AI框架精要:设计思想

    AI框架精要:设计思想 本文主要介绍飞桨paddle平台的底层设计思想,可以帮助用户理解飞桨paddle框架的运作过程,以便于在实际业务需求中,更好的完成模型代码编写与调试及飞桨paddle框架的二次 ...

  3. 彻底理解OkHttp - OkHttp 源码解析及OkHttp的设计思想

    OkHttp 现在统治了Android的网络请求领域,最常用的框架是:Retrofit+okhttp.OkHttp的实现原理和设计思想是必须要了解的,读懂和理解流行的框架也是程序员进阶的必经之路,代码 ...

  4. Linus 谈 Git 的设计思想,顺带骂了一堆人(视频)

    点击上方"方志朋",选择"设为星标" 做积极的人,而不是积极废 今天是周末,但也别忘记学习哦~ 昨天在网络上看到一个视频,<Linux介绍git的特点和设 ...

  5. 「完结」总结12大CNN主流模型架构设计思想

    http://blog.sina.com.cn/s/blog_cfa68e330102zocn.html 专栏<CNN模型解读>正式完结了,在这一个专栏中,我们给大家回顾了深度学习中的各类 ...

  6. MapReduce原理与设计思想

    转自:http://www.cnblogs.com/archimedes/p/mapreduce-principle.html 简单解释 MapReduce 算法 一个有趣的例子 你想数出一摞牌中有多 ...

  7. len(x) 击败 x.len(),从内置函数看 Python 的设计思想

    内置函数是 Python 的一大特色,用极简的语法实现很多常用的操作. 它们预先定义在内置命名空间中,开箱即用,所见即所得.Python 被公认是一种新手友好型的语言,这种说法能够成立,内置函数在其中 ...

  8. 【设计思想解读开源框架】java监听模式和观察者模式

    深耕技术,啃下22个技术点 互联网行业更新换代非常快,行业常态便是不断学习,因此这些主流技术你一个都不能落下! ①并发编程 Java并发编程是整个Java开发体系中最难以理解,但也是最重要的知识点之一 ...

  9. 【设计思想解读开源框架】java如何发送post请求

    在这里分享一份 [mybatis从入门到精通] 的强力教程,定能够助你一臂之力. Mybatis基本介绍 ORM和MyBatis 对象/关系数据库映射(ORM) 基本映射方式 流行的ORM框架简介 目 ...

最新文章

  1. 《.NET最佳实践》与Ext JS/Touch的团队开发
  2. 一个简单的静态web服务器
  3. [论文翻译] iCaRL: Incremental Classifier and Representation Learning
  4. 使用dmidecode获取常用的硬件信息
  5. 手机腾讯网mt2.0增量更新算法优化小记
  6. 嵌入式基础面八股文——进程与线程的基本概念(1)
  7. Caffe傻瓜系列(9):训练和测试自己的图片
  8. 183.从不订购的客户
  9. opencv实现银行卡卡号识别
  10. 人声歌姬语音合成器+拓展-Yamaha Vocaloid 5.0.3 + Libraries WiN 免安装版
  11. oracle数据库开机自启,oracle数据库开机自动启动
  12. 公众号淘客返利系统,自动回复淘宝优惠券实现方法
  13. 使用netwox实现tcp rst 攻击及防御措施
  14. SQL on log : 同比分析各种指标
  15. NBA名人堂之-约翰·哈夫利切克|杰里·卢卡斯|詹姆斯·沃西|乔治·格温|沃尔特·弗雷泽
  16. java 时间戳验证_时间戳校验问题
  17. Python Selenium3.141+Win7(64位)+IEDriverServer(32位版本)+调用IE11卡死的解决
  18. 自己动手实现主题搜索引擎
  19. android10官方刷机包下载,Android 11 喜讯!小米 10 率先尝鲜,官方刷机包发布下载...
  20. 【HMS Core】统一扫码服务中的RemoteView如何修改视图比例?

热门文章

  1. Java实现蓝桥杯突击战
  2. Rosalind Java|Locating Restriction Sites
  3. 示波器探头基本知识详解
  4. 我们的征途是星辰大海(演讲稿)(作者:黄哲威)
  5. 在win10上面使用魔影工厂
  6. 浅谈getaddrinfo
  7. 常用的几种PPT做图小技巧!
  8. Camera拍摄时,预览会变成绿屏
  9. 云崽部署问题解决贴:关于Yunzai-Bot部署后可能遇到的QQ版本过低问题||和一个puppeteer Chromium启动失效问题
  10. 3Com公司不打算与华为共享敏感技术