计算机网络超详细笔记(一):计网概述

第一章 概述

1.1 互联网发展情况

  • 国内网络发展现状

    • 截止到 2016.12 ,中国出口带宽总量为 6,640,291 M。

      • 计算机网络超详细笔记(一):计网概述
    • 截止到 2016.12,中国 IPv4 地址数维持在 3.38 亿,已经达到饱和。

      • 计算机网络超详细笔记(一):计网概述
    • 截止到 2016.6,中国 IPv6 /32 地址块数已达21188个。[仍在持续增长中]

      • 计算机网络超详细笔记(一):计网概述
    • 中国 “.cn” 域名总数为2061万,年增长 25.9%,占中国域名总数的 48.7%。".com" 域名数为1435万,占比33.9%。

    • 中国网站 (在中国境内注册) 数量为 482 万个,年增长 14.1%。

    • 中国网页数量为 2360 亿个,年增长 11.2%。

  • 中国教育科研网 (CERNET)

    • CERNET

      • 计算机网络超详细笔记(一):计网概述
    • CNGI-CERNET 2

      • 世界上最大的纯 IPv6 网络。第二代中国教育和科研计算机网。
      • 计算机网络超详细笔记(一):计网概述

1.2 互联网发展史

1.2.1 互联网起源
  • 时间:1955-1970s 初期

  • 起源

    • 1957.10 前苏联发布第一颗人造地球卫星,直接促使美国国防部在 1958.2 成立了ARPA (高级研究计划署 - Advanced Research Projects Agency),即之后的 DAPRA (国防部高级研究计划署)。

    • ARPA的使命

      • 为保卫国家安全的技术突破而做关键性的投资,不以满足军方的现实需求为目标,而是感知军方的未来潜在的需求,探索国防科技。
      • 曾经推动的重要项目:BMP、波音 X-37、GPS、ARPANET
    • 1969年,ARPA 推出了 ARPANET,即 Internet 的前身。

      • 一开始的 ARPANET 包括四个主要节点。计算机网络超详细笔记(一):计网概述

      • ARPANET 的主要技术特点 —— 采用了包交换 (分组交换技术),完全不同于当时最主要的通信系统 (电话网络) 所采用的电路交换技术。

    • 分组交换技术

      • 让 ARPANET 具备抗毁性。即传输节点在失效后,独立寻径的那些包可以找到其他的路径到达对方。
      • 执行分组交换的设备 —— IMP (接口报文处理器 - Interface Message Processor)
1.2.2 Internet 的形成
  • TCP/IP协议的诞生
    • 瑟夫、凯恩、柏兰登等人一起发明了互联网的骨干协议 TCP/IP。
    • 当今互联网的主要特点 —— TCP/IP 协议簇的形成和应用。
  • 互联网正式诞生
    • 1981年,CSnet (计算机科学网络) 成立,第一次实现了两网互连,标志着互联网正式诞生。
1.2.3 互联网普及
  • 技术储备
    • 个人电脑的出现 (鼠标的使用)
    • 视窗操作系统的出现
    • 浏览器的诞生
      • 1989年,Tim Berners Lee 成功开发出世界上第一个 Web 服务器和第一个 Web 客户机。World Wide Web 就此诞生。
  • 中国的互联网络历史
    • 1987.9.20,从北京向德国卡鲁厄尔大学发送了第一封邮件,标志着中国人使用 Internet 的起点。
      • 邮件历时一周,邮件内容 “Across the Great Wall we can reach every corner in the world !”。
    • 1994.4.20,中国实现了与 Internet 的全功能连接。至此中国实现与互联网的完全对接。

1.3 基本概念解析

1.3.1 网络
  • 广义网络
    • 广义上网络,是指类似的事物连接在一起,以提供某些功能。如交通网络、自来水网络、邮政网络、电话网络等。
  • 计算机网络
    • 计算机网络是网络的一种,是使用单一技术相互连接的自主计算机的互联集合。
    • 单台计算机具有独立自主性,它的开与关是独立自主的。
    • 计算机的连接介质可以是光纤、铜线,也可以是微波、红外和卫星。网络可以呈现出不同的大小、形状和形式。
  • 互联网络
    • 互联网络是计算机网络的互相连接,是网络的网络。互联网络就是 Internet,是覆盖全球的最大的一张互联网络。
  • 万维网 (World Wide Web)
    • 不是互联网网络,而是构建在互联网络上的一个分布式系统。
    • 是信息资源的网络,资源、资源标识和传输协议三部分支撑 www 的运作。
1.3.2 拓扑 (Topology)
  • 信道 (信号的通道) 的分布方式。

  • 常见的拓扑结构:总线型、星型、环型、树型和网状。

    • 计算机网络超详细笔记(一):计网概述
  • 最常见的拓扑方式是总线拓扑和星型拓扑。(以太网的两种拓扑方式)

    • 总线拓扑:主机挂接在总线上,相互直接通达。
      • 从主机上发出的信号在总线上双向同时传输。
      • 所有的主机都可收到这个信号。
    • 星型拓扑:主机都挂接在一个中心节点上。
      • 早期中心节点由集线器充当,现在的中心节点主要由交换机充当。
      • 缺点:单点故障
1.3.3 协议
  • 协议:一系列规则和约定的规范性描述,它控制网络中的设备之间如何进行信息交换。
1.3.4 数字带宽 (Bandwidth)
  • 数字带宽:单位时间内流经的信息总量
  • 带宽越大,里面的信息越大。
  • 单位
    • 数字带宽的基本单位 - 比特每秒,即 bps
    • 1 Gbps=103 Mbps=106 Kbps=109 bps1\ \text{Gbps} = 10^3 \ \text{Mbps}=10^6\ \text{Kbps}=10^9 \ \text{bps}
    • 更大的单位:T、P、E、Z、Y,倍数均为 10310^3
  • 带宽延迟积
    • =线()带宽*传播延迟时间 = 任何特定时间该线路上的最大数据量 (已发送但尚未确认的数据)
1.3.5 吞吐量
  • 吞吐量:指实际的、可测到的带宽
    • 数字带宽是理想的带宽,吞吐量才是用户真实体验到的带宽。
    • 吞吐量是用户评价网络性能的一个非常重要的指标。
  • 吞吐量影响因素
    • 网络设备、传输数据类型、网络拓扑、用户数量、服务器等
  • 信息量、带宽和传输时间的关系
    • T=SBW=SPT=\frac{S}{BW}=\frac{S}{P}
    • S为信息量,BW为带宽,P为吞吐量,T为传输时间
    • 计算机网络超详细笔记(一):计网概述
1.3.6 点到点与端到端
  • 点到点

    • 点到点基于MAC地址或IP地址,指一个设备发数据给与其直接连接的其他设备,这台设备又在合适的时候将数据传递给与它相连的下一个设备,通过一台一台直接相连的设备把数据传递到接收端。
    • 主要用于数据链路层和网络层。
    • 优点
      • 发送端发出数据即完成任务,不需要参与整个传输过程。
      • 即使接收端设备关机或故障,点到点传输也可以采用存储转发技术进行缓冲。
    • 缺点
      • 发送端发出数据后,不知道接收端能否收到或何时收到。
  • 端到端

    • 端到端指在数据传输之前,先为数据的传输开辟一条通道,然后再进行传输。从发送端发出数据到接收端接收完毕时结束。

    • 主要用于传输层。

    • 优点

      • 链路建立之后,发送端知道接收端一定能收到,并且经过中间交换设备时不需要进行存储转发,因此传输延迟小。
    • 缺点

      • 在接收端收到数据之前,发送端的设备一直要参与传输。如果整个传输的延迟很长,会对发送端设备造成很大浪费。
      • 如果接收设备关机或故障,则端到端传输不可能实现。
1.3.7 计算机网络的分类
  • 按传输介质分
    • 有线网络和无线网络
  • 按网络的大小和规模来划分
    • 个域网 (PAN - Personal Area Networks)
      • 覆盖范围 1 米左右
      • 电脑、键盘、鼠标构成了一个非常小的 PAN
    • 局域网 (LAN - Local Area Networks)
      • 覆盖范围 1 公里左右
      • 一个校园、一个单位或一个建筑
    • 城域网 (MAN - Metropolitan Area Networks)
      • 覆盖范围 10 公里左右
      • 一个城市
    • 广域网 (WAN - Wide Area Networks)
      • 覆盖范围 100/1000 公里左右
      • 一个州或一个国家
    • 互联网 (Internet)
      • 覆盖范围 10410^4 公里左右
      • 全球
    • 分辨网络类别不能只看覆盖范围,关键要看是否具有该网络类别下的技术特征。
1.3.8 课程总结
  • 什么是计算机网络?
  • 什么是互联网络和万维网?两者之间有什么关系?
  • 什么是协议?
  • 什么是网络的物理拓扑?
  • 什么是数字带宽和吞吐量?两者之间有什么关系?
  • 什么是点到点和端到端?
  • 按照规模划分,计算机网络分成哪些类?

1.4 参考模型

1.4.1 参考模型的必要性
  • 分层的好处
    • 各层独立工作,层之间通过接口联系,降低协议工作的复杂程度。
    • 灵活性好,任何一层的改变不影响其它层。
    • 每层的技术实现不同,减少了实现的复杂度。
    • 易于维护,每一层可以单独进行调试。
    • 便于标准化。
  • 分层原则
    • 信宿机第 n 层收到的对象应与信源机第 n 层发出的对象完全一致。
1.4.2 OSI 七层模型
  • OSI (Open System Interconnection)

    • 由 ISO (International Standards Organization) 在 1983 年提出。
  • 计算机网络超详细笔记(一):计网概述

  • 七层模型

    • 7-应用层
      • 主要为各种各样的网络应用提供网络服务,如Email、FTP、微信等。
    • 6-表示层
      • 将信息表示为一定形式和格式的数据流,完成压缩解压缩、加密解密等任务。
    • 5-会话层
      • 负责通信主机间会话的建立、管理和拆除,协调通信双方的会话。
    • 4-传输层
      • 参考模型上的核心层之一,负责通信主机间端到端的数据传递。(核心功能)
      • 对于 TCP,该层还负责提供可靠传输、差错恢复、拥塞控制等额外的功能。
    • 3-网络层
      • 核心层之一,两大主要功能:地址、最优路径。负责把每一个分组从源机一路送达到目的机。
      • 地址,即为通信主机提供标识,在网络层上用 IP 地址进行标识。
      • 最优路径,在路由和寻径时,每一个中间设备都会为到达的分组找到一个最优的路径并送出。
    • 2-数据链路层
      • 该层主要提供介质访问服务。
      • 通过物理地址来标识通信主机,提供可靠的帧传递并做差错控制和流量控制。
    • 1-物理层
      • 该层提供透明的比特流传输,可以是光、电、无线信号。
      • 该层只关心比特流的传输,而忽略比特流里面的具体内容。
  • 特点

    • 每一层都利用它下层的服务,为它的上层提供服务。除了第 1 层和第 7 层。
1.4.3 TCP/IP 四层参考模型
  • 四层模型 (DOD模型)
    • 4-应用层
    • 3-传输层
    • 2-互联网层
    • 1-链路层
  • 计算机网络超详细笔记(一):计网概述
1.4.4 OSI与TCP/IP参考模型比较
  • TCP/IP参考模型是当今互联网所采用的模型,而 OSI 仅存在于教科书中。
  • 两个模型分层方式不一样,但都采用分组交换技术进行信息传输。
  • OSI参考模型失败原因?
    • 时机糟糕 —— TCP/IP 在 OSI 出现之前已经非常流行。
    • 技术糟糕 —— 掺杂了太多政策的考量
    • 实现困难 —— 庞大而笨拙
1.4.5 课程总结
  • 为什么需要参考模型?
  • ISO-OSI参考模型上各层名称与各层主要功能?
  • TCP/IP参考模型的各层名称和功能?
  • 比较ISO-OSI参考模型和TCP/IP参考模型。
  • 为什么ISO-OSI参考模型最后失败了?

1.5 参考模型中相关概念解析

1.5.1 发送方与接收方之间的通信
  • 发送方

    • 封装/打包
      • 将信息打包,从最高层 (应用层) 开始逐渐下行到最底层 (物理层)。
      • 在每一层上,数据都被加上头部信息,用于传递信息。
    • 具体过程
      • ① 在 OSI 参考模型的上三层,信息被表示为一定格式和形式的数据流 (DataStream)。
      • ② 数据流被传到传输层,将其切割为适合传输的数据段 (Segment),并加上段头,段头中包含定位应用进程的端口号等信息。
      • ③ 数据段传到网络层,添加分组头部形成分组 (包-Packet)。分组头部中包含寻址主机的IP地址和其它一些传输需要用到的信息 (如生存周期、长度等)。
      • ④ 分组再传到数据链路层,添加帧头形成帧 (Frame)。帧头中包含寻址主机所需的物理地址、校验等信息。
      • ⑤ 帧到了物理层,被转成了可供传输的比特流 (Bits)。
    • 数据在各层的形式
      • PDU (协议数据单元 - Protocol Data Unit),指数据在各层的形式 (即各层处理的数据对象),下述数据形式统称为PDU。PDU 包含"控制信息" 和"用户数据"两个部分。
      • 应用层 —— 信息 (Information)
      • 上三层 —— 数据流 (Data Stream)
      • 传输层 —— 数据段 (Segment)
      • 网络层 —— 分组/包/报文 (Packet)
      • 数据链路层 —— 帧 (Frame)
      • 物理层 —— 比特流 (Bits)
  • 接收方

    • 解封装/解包
      • 将收到的比特流解包,从最低层 (物理层) 开始逐渐上行到最高层 (应用层) 提取出信息。
      • 解封装的过程是封装的逆向过程,在每层去掉头部信息,最终还原出应用层的输出信息。
    • 计算机网络超详细笔记(一):计网概述
  • 任何一次通信,总是以发方的封装开始,以接收方的解封装结束。

1.5.2 对等实体与虚拟通信
  • 实体:每层中活动的元素
    • 在每一层都有一个实体,负责完成封装、解封装等基本功能。
    • 实体可能是硬件,也可能是软件。
  • 对等实体 (Peer Entity):收发双方对应层上的实体互称为对等实体。
  • 虚拟通信 (对等通信)
    • 收方双方对应层之间 (对等实体之间) 有一根直接的通道 (虚通道)。沿着这根通道,PDU从发方到达收方。
  • 服务、协议和接口之间的关系
    • 参考模型上的每一层都为它的上层提供服务,以接口的形式供上层调用。
    • 协议作用于对应层之间。
    • 层与层之间有接口,用于服务的调用。计算机网络超详细笔记(一):计网概述
1.5.3 课程总结
  • 数据传输三要素是什么?(信源-传输介质-信宿)
  • 数据传输时,起点-源要做什么?
  • 数据传到目的地时,目的机要做什么?
  • 封装的过程是怎样的?
  • 解封装的过程是怎样的?
  • 什么是实体 (Entity)?
  • 什么是对等通信 / 虚拟通信?
  • 服务、协议和接口之间的关系是怎样的?