计算机网络-第一章-计算机网络概述

第一章 计算机网络概述

1.1 Internet介绍

1.1.1 网络和计算机网络

  1. 网络不仅仅是计算机网络,比如蜘蛛网,神经网络
  2. 计算机网络是计算机之间互联构成的系统

这里要区分的概念

  1. 网络不仅仅计算机网络
  2. 计算机网络 ≠ Internet
  3. Internet(网际)是网络的网络

1.1.2 Internet组成

(1) 构成的角度

从零件的角度来看:

  • 互联网包括节点边(链路)协议
  • 节点包括主机节点和数据交换节点、边包括接入链路和骨干链路

节点:

  1. 主机节点:是数据的源,比如笔记本、手机,只能冰箱、Web服务器等设备
  2. 数据交换节点:中继器、路由器、交换机、负载均衡设备等,不是源也不是目标,是数据的中转节点
  • 一般用圆形表示数据交换节点,方形表示主机节点
  • 节点之间的边叫做链路

边:链路

  • 接入链路(access):主机和数据交换节点连在一起的链路
  • 骨干链路:数据交换节点之间的链路

协议:

  • 支持互联网工作的标准,不同厂商的网络设备通过协议能工共同工作
  • 互联网是以TCP/IP协议为主的一簇协议(即协议组)
  • 由这一组协议构成的网络,叫做互联网
  • 如果只有TCP/IP,但是不于外接相连,就是内部网(也就是说不是以TCP/IP协议支撑的网络都是互联网)

网络互联设备的角度

  • 数以亿计的、互联的计算设备:
    • 主机 = 端系统
    • 运行网络应用程序
  • 通信链路
    • 光纤、同轴电缆、无线电 、卫星
    • 传输速率 = 带宽(bps)
  • 分组交换设备:转发分 组 (packets)
    • 路由器和交换机
① 节点

端(节点)包括:

  1. 设备本身
  2. 设备上的网络操作系统(使得应用进程能够通信)
  3. 运行在设备上的网络程序

也就是端(节点)不仅仅包含硬件,还包含硬件之上的软件


  • 主机节点:也叫作 host 或者 end system
  • 数据交换节点:有交换机,路由器等

端系统的形式有很多,特别是在物联网时代,端的形式是多种多样的

② 链路

通信链路(边):

  • 网线、光纤本身
  • 建立在网线之上支持工作的协议
  • 重要指标是传输速度
③ 协议
  • 可以理解为对等层的实体在通信过程中应该遵守的标准
  • 比如HTTP协议,就是对等的应用层之间通信的标准,发送方以什么形式接受,接收方以什么形式解析
  • TCP也是如此,一个端的TCP实体和另一个端的TCP实体也算是对等层的实体

协议定义了在两个或多个通信实体(对等层的实体)之间交换的报文格式次序,以及在报文传输和/或接收或 其他事件方面所采取的动作

(2) 层次的角度

  • Internet:“网络的网络” (网际)

    • 松散的层次结构,互连的ISP
    • 公共Internet vs. 专用intranet

  • 教育网、军事网都是网络,互联网就是将这些网络都连起来
  • 从构成的角度来看,互联网是节点和边连起来的
  • 从层次的角度来看,互联网是由多个网络连接起来的,每个网络之内还包含更小的网络,网络还有更小的网络,更小的网络之间可能连接,还可能与其他网络之间的小网络连接

从层次角度:

  • 互联网是一对网络通过网络互联设备连起来的网络的网络

(3) 服务的角度

互联网是:

  • 应用进程角度:分布式的进程(应用)
  • 基础设施角度:基础设施
  • 互联网就是分布式的应用以及为应用提供通信服务的基础设施
  • 基础设施包括主机中应用层之下的所有实体,包括TCP,IP等实体

进行通信的分布式应用的角度

  • 使用通信设施进行通信的分布式应用
  • Web、VoIP、email、分布式游戏、电子商务、社交网络
  • 通信基础设施为apps提供编程接口(通信服务>
  • 将发送和接收数据的apps与互联网连接起来
  • 为app应用提供服务选择,类似于邮政服务:
    • 无连接不可靠服务
    • 面向连接的可靠服务

也就是操作系统为应用进程提供API,比如socket,发送接受message,实现网络应用

  • 基础设施如何为分布式应用提供通信服务:提供API,比如socket

  • 基础设施向上层提供的服务有两种

    一种是面向连接的服务—TCP,无连接的服务—UDP


1.1.3 Internet标准

  • RFC: Request for comments (一个互联网的文档)
  • IETF: Internet Engineering Task Force(非联网的互联网组织,有任何想法都以RFC文档的形式发送到IETF的网站上,包括TCP和IP等都是如此,全球参与)

1.2 网络组成结构

之前按照零件将网络划分为

  • 节点
  • 链路
  • 协议

按照组成类型来看互联网,互联网包含三个子系统:网络边缘、网络核心以及接入网

  • 网络边缘(edge):

    • 主机
    • 以及应用程序(客户端和服务 器)
  • 网络核心(core):

    • 互连着的路由器
    • 网络的网络
  • 接入网、物理媒体:

    • 有线或者无线通信链路

    接入就是边缘接入核心的连接

  • 边缘的作用:应用的载体,边缘上的应用是网络存在的理由

  • 边缘之间如果要互联,不可能两两之间链接

  • 而是要依靠中间的核心构建成的可复用的网络连接

  • 网络核心的作用就是数据交换(就好像在两个边缘之间连接起来)

1.2.1 网络边缘

网络的边缘:

  • 分布式的应用以及支持分布式应用通信的基础设施(应用层下方的部分)

(1) 应用进程的通信模式

应用进程之间通信的模式

  • 客户/服务器(CS)模式
    • 客户端向服务器请求、接收服务
    • 如Web、电子邮件的浏览器/服务器
    • 是主从模式(Master-slave)
    • 服务器被动地等待服务器的请求,所有的资源都在服务器上

服务器挂了就完蛋了

  • 可扩展性差
  • 对等(peer-peer)模式

    • 很少(甚至没有)专门的服务器
    • 如 Gnutella、KaZaA、Emule

    每个节点既是服务器也是客户端,互相请求,分布式系统,无客户/服务器模式的缺陷;

    迅雷、电驴等 可以获得带宽的聚集

  • 文件分发系统很多用这种,一个迅雷客户端可以向其他的客户端请求
  • 迅雷之所以下载的比页面快,是因为下载时,对同一个文件,可以向客户端A下载一块,客户端B C分别下载,这样实现了带宽的聚集,因此下载比较快
  • 如果大家都从Web页面下载,那么服务器需要处理多个客户端

下面讲讲基础设施给网络应用提供的服务的类型

(2) 基础设施提供的服务

① 面向连接服务
  • 分布式应用之间通信先建立连接
  • 底层的协议栈为之后的通信分配资源,比如缓冲区,控制变量的准备,超时器的设置等
  • 之后再进行通信
  • 这才是有先进行连接的原因
  • 面向连接和有连接还是不同的
    • 面向连接:是端准备好了连接
    • 有连接:不仅仅是端,包括网络核心的路由等设备也建立起连接才叫有连接
  • 目标:在端系统之间传输数据
    • 握手:在数据传输之前做好准备
      • 人类协议中:你好、你好
      • 两个通信主机之间为连接建立状态
  • TCP–传输控制协议(Transmission Control Protocol)
    Internet上面向连接的服务
  • TCP 服务 [RFC 793]
    • 可靠地、按顺序地传送数据
      • 确认和重传
  • 流量控制
    • 发送方不会淹没接收方
  • 拥塞控制
    • 当网络拥塞时,发送方降低发送速率

TCP实现了下面的特性

特性:

  • 可靠性(不重复,不丢失,不乱序)

TCP协议就是将下层提供的不可靠的服务转变为可靠的服务

  • 流量控制(当服务器负担太重的时候,会给客户机消息,让客户机放慢速度)

  • 拥塞控制

    就是链路之间阻塞了,因为一条链路不是一对点进行连接的,可能多对端都要经过一条链路,导致链路堵塞

TCP不仅考虑接收方的处理能力,还考虑网络路径的拥塞问题

② 无连接服务
  • 目标:在端系统之间传输数据无连接服务

  • UDP – 用户数据报协议 (User Datagram Protocol) [RFC 768]:

    • 无连接
    • 不可靠数据传输
    • 无流量控制
    • 无拥塞控制

    但是时间比较快,事务性的应用,UDP只要问一下,回一下就行,不需要建立连接了


应用举例

使用TCP的应用:

  • HTTP (Web)
  • FTP (文件传送)
  • Telnet (远程登录)
  • SMTP (email)

使用 UDP的应用:

  • 流媒体
  • 远程会议
  • DNS
  • Internet电话

1.2.2 网络核心

网络核心是由交换节点及其链路构成的。交换方式分为

  • 电路交换(线路交换)
  • 分组交换

互联网和几乎所有的网络都是分组交换,电路交换用于电话网

(1) 分类

① 线路交换
a. 说明

端到端的资源被分配给从源端 到目标端的呼叫 “call”:

  • 图中,每段链路有4条线路:
    • 该呼叫采用了上面链路的第2 个线路,右边链路的第1个线 路(piece)

首先通过信令系统为两者之间的通讯分配一条独享的线路

  • 图中的两个数据节点之间分成了4个piece
  • 两个piece串联在一起
  • 源主机与目标主机之间串联在一起
  • 独享的线路,没有不确定性,性能有保证

b. 优缺点

优点:

  1. 性能保证:每个呼叫一旦建立起来就能够 保证性能
  2. 通信延迟较小,但是建立通信需要时间
  3. 通常被传统电话网络采用

缺点:

  • 独享资源:不同享
  • 如果呼叫没有数据发送,被分配 的资源就会被浪费 (no sharing)
  • 建立呼叫需要时间

c. 适用范围

电路交换不适合计算机之间的通信

  • 连接建立时间长
  • 计算机之间的通信有突发性,如果使用线路交换,则浪费的片较多
    • 即使这个呼叫没有数据传递,其所占据的片也不能够被别的呼叫使用,浪费资源
  • 一般在电话网中使用
  • 建立电路是需要时间的
  • 通信的时间一般是几分钟,所以建立电路的时间占比很小
  • 但是计算机通讯是不一样的,有很强的突发性,总之在计算机中不常用

d. 分片
  • 网络资源(如带宽)被 分成片
    • 为呼叫分配片
    • 如果某个呼叫没有数据, 则其资源片处于空闲状态 (不共享)
    • 将带宽分成片
      • 频分(Frequencydivision multiplexing)
      • 时分(Time-division multiplexing)
      • 波分(Wave-division multiplexing)

  • 频分FDM

指数据交换节点的带宽比较宽,有效通信覆盖范围如下

  • 两个主机通讯的时候就根据频率划分

  • 时分TDM:划分时间片的方式,某个时间片供某个用户使用

  • 波分:采用光通讯的方式,和频分类似,不过分的是波段

这部分可以参考通信原理,有分片的介绍


例题

在一个电路交换网络上,从主机A到主机B发送一个640,000比特的文件需要多长时间?

  • 所有的链路速率为1.536 Mbps
  • 每条链路使用时隙数为24的TDM
  • 建立端-端的电路需500 ms

  • 看到TDM,分成多个时槽,每个用户使用一个时槽
  • bps就是每秒的字节数,分成时槽之后就按照时槽的数目进行划分即可

  • 每条链路的速率(一个时间片): 1.536Mbps/24 =64kbps传输时间:640kb/64kps = 10s
  • 共用时间:传输时间+建立链路时间=10s + 500ms = 10.5s

  • 10.5s并不一定传完,还要加上最后电磁波传输的时间(传播延迟)

时间上的传输图如下

② 分组交换
a. 说明

以分组为单位存储-转发方式(核心就是存储转发)

  • 网络带宽资源不再分分为一个个片,传输时使用全部带宽

  • 主机之间传输的数据被分为一个个分组(package)

  • 以package为单位在每个节点当中存储-转发

    (假如A→B,中间有C、D数据交换节点,那么C必须等收到A的所有的package,再分组转发给D,如果C收到一个字节就转发给D,那么别的连接就无法使用CD的链路了,网络还是不能够共享)

  • 存储-转发:分组每次移 动一跳( hop ) 相当于分段使用链路


b. 优缺点

缺点:

  • 不可预计的延迟(有排队延迟,延迟比线路交换大)
  • 可能的数据丢弃(队列满的时候可能会造成数据丢失)

排队和延迟:

如果到达速率>链路的输出速率:

  • 分组将会排队,等待传输

  • 如果路由器的缓存用完了,分组将会被抛弃


优点:

  • 资源共享:可以实现按需使用,不使用的时候不占用网络资源

相当于多个电路交换,延迟更大(排队延迟,存储/转发延迟),而来换取了共享性

延迟更大:

  • 电路交换中,每个数据交换节点只有一个bit的延迟,收到一个bit之后直接转发给下一个节点

  • 但是在分组交换中,每个节点都收到了所有的包之后才转发给下一个数据交换节点

    而且转发当前分组的时候,如果该数据交换节点还有其他要转发的分组排在前面,那么还有排队时间

  • 但是换取了链路的共享性(使用的时候才占用资源,不使用的时候就不占用资源)

例题
  1. 存储-转发
    • 被传输到下一个链路之前, 整个分组必须到达路由器: 存储-转发
    • 在一个速率为R bps的链路 ,一个长度为L bits 的分组 的存储转发延时: L/R s
  • L = 7.5 Mbits(整个分组的长度是7.5)
  • R = 1.5 Mbps(带宽是1.5)
  • 3次存储转发的延时 = 15 s

  • 主要还是存储时间占时间了
  • 如果建立电路的话,整个时间就是5s
③ 分组交换的优势

结论:

  1. 同样的网络资源,分组交换允许更多用户使用网络
  2. 适合于对突发式数据传输
    • 资源共享
    • 简单,不必建立呼叫
  3. 过度使用会造成网络拥塞:分组延时和丢失
  4. 对可靠地数据传输需要协议来约束:拥塞控制

同样的网络资源,分组交换允许更多用户使用网络!

  • 1 Mb/s链路口

  • 每个用户:
    • 活动时100 kb/s
    • 10%的时间是活动的
  • 100kbps
  • 但是p=0.1
  • 也就是发送消息的话,那么发送的速度是100kbps,但是只有0.1的时间是发送消息的
  • 电路交换(线路交换):
    • 10用户口(1Mbps / 100kbps,直接根据分片划分即可)
  • 分组交换:
    • 35用户时(假设有35个用户),则35>=10个用户活动的概率为0.0004

  • n是指活跃的用户的数量
  • n从0-10是记录只有0-10个用户活跃的可能
  • 当有这么多用户活跃的时候是可以支持的,但是如果大于10个用户活跃的话,就支持不了了
  • 所以要计算支持不了的情况,就用1减去

能支持更多用户

  • 但是还设计到一个流量强度的问题,如果流量强度 = 1,就会挂掉,此时的延迟会无穷大。因此还是计算9
  • 虽然有0.4%的不能支持率,但是有队列作为缓存,可以撑过去

(2) 关键功能

网络核心的关键功能

  • 路由: 决定分组采用的源到 目标的路径
  • 转发: 将分组从路由器的输 入链路转移到输出链路

路由是全局的,转发是局部的

(3) 统计多路复用

分组交换也叫作统计多路复用

  • 如图所示,分组交换也是一种时间片的划分,但是划分时间片的方式不是固定的
  • 这种方式叫做统计多路复用
  • 这也是线路交换进行分片的一种特殊形式

(4) 分组交换分类

分组交换按照有无网络层的连接分类

分组交换——分组的存储转发一段一段从源端传到目标端,按照有无网络层的连接,分成:

数据报是按地址找人,不事先确定路好不好走;虚电路是先去一次,熟悉一下路线,再进行发送。

① 数据报
  1. 数据报网络:
    • 分组的目标地址决定下一跳
    • 在不同的阶段,路由可以改变
    • 类似:问路
    • Internent

数据包:

  • 含有目标节点的地址
  • 数据交换节点之间不维护源节点和目标节点的连接
  • 中间都采用跳的形式传播,每个分组是独立传送的

数据报(datagram) 的工作原理

  • 在通信之前,无须建立起一个连接,有数据就传输
  • 每一个分组都独立路由(路径不一样,可能会失序)
  • 路由器根据分组的目标地址进行路由(不维护主机和主机之间的状态)

  • 路由器不维护通信状态
② 虚电路网络
  1. 虚电路网络:
    • 每个分组都带标签(虚电路标识VC ID),标签决定下一跳
    • 在呼叫建立时决定路径,在整个呼叫中路径保持不变
    • 路由器维持每个呼叫的状态信息

要在每个交换节点之间建立连接

虚电路(virtual circuit)的工作原理

  • 靠信令检录虚电路根据表象去查找
  • 网络连接体现在中间所有的路由器上

1.2.3 接入网和物理媒体

把网络边缘接入网络核心

Q: 怎样将端系统和边缘路由 器连接?

  • 住宅接入网络
  • 单位接入网络 (学校、公 司)
  • 无线接入网络

要考虑的问题:

  • 接入网络的带宽 (bits per second) ?
  • 共享/专用?
  • 比如共享网络,可能白天一起用的时候就会很卡
  • 独享的话,是独享一个网络接入设备,带宽是有保障的

(1) 分类

① 住宅接入:modem

调制解调器modem(分为调制和解调两个过程)

  • 将上网数据调制加载音频信号上, 在电话线上传输,在局端将其中的 数据解调出来;反之亦然

  • 早期运营商将专网连到了每家门口,但是成本太高,难以实现,因此使用电话线来进行联网

  • 电话线是传播语音的,但是可以通过调制

    • 可以调制幅度:幅度比较高的持续一段时间代表1,幅度比较低的代表0
    • 可以调频率:2K、3K都可以是音频,2K一段时间代表1,3K一段时间代表0
    • 调相位
    • 综合调制等

    总之在音频这种载波信号上加载了传输了上网的信号

    对于运营商来说,不需要铺专网,只需要买一个设备,进行调制即可

    这个设备叫做猫(modem的谐音),就是调制解调器

关于猫,请看这篇文章,调节器和路由器的区别

  • 然后信号被传输到了网络核心的边缘再被解调(demodem)
  • 这就叫做冲浪,因为音频一直在变化

缺点:

  • 带宽非常窄:56Kbps,线路不好的话可能更低
  • 不能同时上网和打电话

这种方式被淘汰了

接入网 DSL

digital subscriber line

  • 采用现存的到交换局DSLAM的电话线
    • DSL线路上的数据被传到互联网 (>4kHz,上行、下行再分频率)
    • DSL线路上的语音被传到电话网 (< 4kHz)
  • < 2.5 Mbps上行传输速率(typically < 1 Mbps)
  • < 24 Mbps下行传输速率(typically < 10 Mbps)

  • 带宽在4K以下的用于通话
  • 4K以上的用于通信
  • 4K以上的分上行和下行,通常不是平均分的,上行比例比较小,下行比较大
  • 现在还有的家庭使用IDSL modem
② 接入网: 线缆网络

下面是有线电视公司运营商提供的方式,上面的是电信运营

电信就是利用电信号来传输信息的通信方式

有线电视信号线缆双向改造(原来的有线电视线缆是单向的,用于电视台广播,后来为了联网,将有线电视信号线缆进行双向改造)

FDM: 在不同频段传输不同信道的数据, 数字电视和上网数据(上下行)

  • HFC: hybrid fiber coax
    • 非对称: 最高30Mbps的下行传输速率, 2 Mbps 上行传输 速率
  • 线缆和光纤网络将个家庭用户接入到 ISP 路由器
  • 各用户共享到线缆头端的接入网络 (是共享的)
    • 与DSL不同, DSL每个用户一个专用线路到CO(central office)
  • 越往上走是光纤,越往下走是电缆

  • 一部分带宽用于上行,一部分用于下行,一部分用于传统的电视信号传播,一部分用于控制(即传输信令)


住宅接入:电缆模式

fiber optic transport——光纤传输

越往上走是光纤,越往下走是线缆


接入网: 家庭网络

router, firewall, NAT

③ 企业接入网络:Ethernet

  • 经常被企业或者大学等机构采用
  • 以太网的带宽也是在不断提升的,10 Mbps, 100Mbps, 1Gbps, 10Gbps传输率
  • 家庭用1G即可了,但是在大型服务机可能需要10Gbps
  • 现在,端系统经常直接接到以太网络交换机上

就是交换机一直网上级联,然后通过路由器进行连接

(2) 无线接入网络

各无线端系统共享无线接入网络(端系统到无线路由器)

  • 通过基站或者叫接入点

无线分为两种:

  • WLAN(无限局域,也就是WiFi)
  • 无线广域
  • 现在国家也在积极部署5G设施

  • 但是现在还没有一个强大的应用能够使用这样的网络,没有人买5G套餐

    而且5G的部署成本也比较高

    而且能够也比较高

  • 总之现在还用不到5G

  • 就好像铺了高速公路,但是走的是拖拉机

  • 因此电信运营商不是很积极

(3) 物理媒体

  • Bit: 在发送-接收对间传播比特
  • 物理链路:连接每个发送-接 收对之间的物理媒体
    • 导引型媒体:信号沿着固体媒介被导引:同轴电缆、光纤、 双绞线
    • 非导引型媒体:开放的空间传输电磁波或者光信号,在电磁或者光信号中承载数字数据
① 引导性媒体

常见的导引性媒体

  • 双绞线 (TP)
    • 两根绝缘铜导线拧合
    • 5类:100Mbps 以太网 ,Gbps 千兆位以太网
    • 6类:10Gbps万兆以太网
  • 同轴电缆:
    • 两根同轴的铜导线
    • 双向
    • 基带电缆:
      • 电缆上一个单个信道
      • Ethernet
    • 宽带电缆:
      • 电缆上有多个信道
      • HFC
  • 光纤和光缆:
    • 光脉冲,每个脉冲表示一个 bit,在玻璃纤维中传输
    • 高速: 点到点的高速传输(如10 Gps-100Gbps传输速率 )
    • 低误码率:在两个中继器之 间可以有很长的距离,不受 电磁噪声的干扰
    • 安全

  • 光纤分两层介质,满足一定的条件,可以实现全反射,光纤可以在内介质一直反射传输

    光纤分成两类(可以分2类,去了解一下)

  • 光缆也了解一下

  • 如果全反射的话,那么信号就不会被辐射出去,因此很安全

  • 但是电信号是可以辐射出去的

② 非引导型媒体
  • 开放空间传输电磁波,携 带要传输的数据
  • 无需物理“线缆”
  • 双向
  • 传播环境效应:
    • 反射
    • 吸收
    • 干扰

无线链路类型:

  • 地面微波

    • e.g. up to 45 Mbps channels
  • LAN (e.g., WiFi)

  • wide-area (e.g., 蜂窝)(现在移动设备交易的数量已经多于布网的形式了)

  • 卫星

    • 每个信道Kbps 到45Mbps (或者 多个聚集信道)
    • 270 msec端到端延迟
    • 同步静止卫星(延迟比较高)和低轨卫星

    了解

光纤技术是华人科学家发明的

  • 使得光可以进行传输

1.3 Internet层次结构

上面的划分是按照节点和链路划分的

  • 下面也是一种划分方式,将关系比较密切,在一个ISP内部的设备叫做一个ISP网络,一个ISP内部也有效的ISP
  • 这个层次结构是自己命名的

按ISP划分互联网

1.3.1 互联网结构:网络的网络

  • 端系统通过接入ISPs (Internet Service Providers)连接到互联网
    • (比如移动设备通过移动的ISP接入到互联网,联通的通过联通的ISP接入到互联网,端系统都是通过接入ISP接入到互联网)
    • 住宅,公司和大学的ISPs
  • 接入ISPs相应的必须是互联的
    • 因此任何2个端系统可相互发送分组到对方
    • 接入ISP需要互联,否则双方无法通信
  • 导致的“网络的网络”非常复杂
    • 发展和演化是通过经济的和国家的政策来驱动的
  • 让我们采用渐进方法来描述当前互联网的结构

问题: 给定数百万接入ISPs,如何将它们互联到一起

ISP,IXP,reginal net,ICP

选项: 将每个接入ISP都连接到全局ISP(全局范围内覆盖)? 客户ISPs和提供者ISPs有经济合约

竞争:但如果全局ISP是有利可为的业务,那会有竞争者

合作:通过ISP之间的合作可以完成业务的扩展,肯定会有互 联,对等互联的结算关系

Internet exchange point

接入方式

  • 对等连接(就是路由器之间的连接)
  • IXP

上面的IXP是实现全球范围内的交换

然后区域内的交换

然后业务会细分(全球接入区域接入),区域网络将出 现,用与将接入ISPs连接到全局ISPs


  • 除了ISP,客户端两个身份,还有ICP这个角色,比如百度,谷歌等提供内容的服务商
  • ISP是提供基本连接的,ICP是提供业务的,早期ICP通过连入ISP来进行信息传输,会出现两个问题
    • 成本过高:钱都要交给ISP
    • ISP没办法向全球的用户提供高质量的服务
  • 因此ICP就搭建自己的专网,即在全球范围内部署自己的数据中心机房,这些机房之间采用自己的专线,(或者是自己搭的,或者是租的,比如国内是不允许谷歌自己搭电缆的,要不然挖的乱七八糟的),而且机房的位置都靠近核心的ISP设备,用户通过ISP接进来,很快就能访问到谷歌的ISP,即使附近没有机房,也可以通过ISP连接到附近有机房的ISP
  • 这样降低了成本,也提高了服务质量
  • 国内也是类似,不过也可以向政府提案提速降费

然 后 内 容 提 供 商 网 络 (Internet Content Providers,e.g., Google, Microsoft, Akamai) 可能会构建它们自己的网络,将它们的服务、内容更 加靠近端用户,向用户提供更好的服务,减少自己的运营支出

  • 在后面学习CDN的时候,会发现还有CDN

当然ICP数据中心机房部署的位置也是要考虑很多因素的

  • 离ISP数据中心机房比较近
  • 有的部署在温度比较低的地方:北极、水底
  • 比如大山:战争、自然灾害影响比较小

在网络的最中心,一些为数不多的充分连接的大范围网络(分布广、节点有限、 但是之间有着多重连接)

  • “tier-1” commercial ISPs (e.g., Level 3, Sprint, AT&T, NTT), 国家或者国际 范围的覆盖
  • content provider network (e.g., Google): 将它们的数据中心接入ISP,方便周边 用户的访问;通常私有网络之间用专网绕过第一层ISP和区域

1.3.2 松散的层次模型

(1) 第一层ISP

中心:第一层ISP(如UUNet, BBN/Genuity, Sprint, AT&T)国家/国际覆盖,速率极高

  • 直接与其他第一层ISP相连
  • 与大量的第二层ISP和其他客户网络相连

第二层ISP: 更小些的 (通常是区域性的) ISP

  • 与一个或多个第一层ISPs,也可能与其他第二层ISP

第三层ISP与其他本地ISP

  • 接入网 (与端系统最近)

下面是美国的骨干网BBN的覆盖情况

下面是Sprint的覆盖情况

  • POP是上级和下级的关系
  • 下级通过与上级连接,上级再与ISP连接

(2) 第二层ISP

(3) 第三层ISP

接入网(与端系统最近)


一个分组要经过许多网络!

很多内容提供商(如:Google, Akamai )可能会部署自己的网 络,连接自己的在各地的DC(数据中心),走自己的数据
连接若干local ISP和各级(包括一层)ISP,更加靠近用户

ISP之间的连接

  • POP: 高层ISP面向客户网络的接入点,涉及费用结算

    如一个低层ISP接入多个高层ISP,多宿(multi home)

  • 对等接入:2个ISP对等互接,不涉及费用结算

  • IXP:多个对等ISP互联互通之处,通常不涉及费用结算

  • ICP自己部署专用网络,同时和各级ISP连接

1.6 分组延时、丢失和吞吐量

网络交换的方式:分组交换和线路交换

  • 线路交换不适合计算机网络

分组丢失和延时是怎样发生的?

1.6.1 分组延时

在路由器缓冲区的分组队列

  • 分组到达链路的速率超过了链路输出的能力
  • 分组等待排到队头、被传输

  • 延时原因:当当前链路有别的分组进行传输,分组没有到达队首,就会进行排队,从而产生排队延迟
  • 丢失原因:分组到达的时候,队列满了,就会丢弃
  • 除了排队延时,还有传输延时

(1) 延时类型

四种分组延时

  1. 节点处理延时:就是对分组进行检查和处理花费的时间

    • 检查 bit级差错
    • 检查分组首部和决定将分组导向何处
    • ...

    就是处理延迟 processing,处理延迟一般是确定的,因为怎么处理分组的过程是确定的

  2. 排队延时

    • 在输出链路上等待传输的时间
    • 依赖于路由器的拥塞程度

    排队延时一般是不确定的

  3. 传输延时:

    • R=链路带宽(bps)

    • L=分组长度(bits)

    • 将分组发送到链路上的时间= L/R

      存储转发延时

  4. 传播延时:

    d = 物理链路的长度

    s = 在媒体上的传播速度 (~2x10^8 m/sec)

    传播延时 = d/s

如下图

  • 虚线的高度是传输延迟

  • 三角形的高是传播延迟,传播延迟考虑物理空间

    如果两个节点非常近的话,那么传播延迟基本可以忽略不计


举例

车队类比

情况一、

  • 汽车以100 km/hr 的速度传播

  • 收费站服务每辆车需 12s(传 输时间)

  • 汽车~bit; 车队 ~ 分组

  • Q: 在车队在第二个收费站排 列好之前需要多长时间?

    即:从车队的第一辆车到达第 一个收费站开始计时,到这个 车队的最后一辆车离开第二个 收费站,共需要多少时间

  • 将车队从收费站输送到公 路上的时间 = 12*10 = 120s

  • 最后一辆车从第一个收费 站到第二个收费站的传播 时间: 100km/(100km/hr)= 1 hr = 60min(这个就是传播延迟

A: 62 minutes

情况二、

  • 汽车以1000 km/hr 的速 度传播汽车
  • 收费站服务每辆车需 1分 钟
  • Q:在所有的汽车被第一个 收费站服务之前,汽车会到达第二个收费站吗? (一个分组还没打完,就已经到达了下一个节点了)
  • A:Yes!7分钟后,第一辆汽车 到达了第二个收费站,而第 一个收费站仍有3辆汽车
  • 在整个分组被第一个路由器 传输之前,第一个比特已经 到达了第二个路由器!

(2) 节点延时

排队延迟一般是随机的

(3) 排队延时

排队延时取决于流量强度

  • R=链路带宽 (bps)
  • L=分组长度 (bits)
  • a=分组到达队列的平均速率

La是单位时间通过一天链路放出比特的数量

流量强度 = La/R

0 < 流量强度 < 1,流量强度就是在0和1之间的

  • 因此设计系统的时候,不能设计流量强度 = 1的系统,否则延迟就会无限大

  • La/R ~ 0: 平均排队延时很小

  • La/R -> 1: 延时变得很大,趋近无穷

  • La/R > 1: 比特到达队列的速率超过了从该队 列输出的

率,平均排队延时将趋向无穷大! 设计系统时流量强度不能大于1!

Internet的延时和路由

tracerc指令及原理

Internet 的延时和路由是什么样的呢?

  • Traceroute 诊断程序: 提供从源端,经过路 由器,到目的的延时测量
  • For all i:
    • 沿着目的的路径,向每个路由器发送3个探测分组
    • 路由器 i 将向发送方返回一个分组
    • 发送方对发送和回复之间间隔计时

Traceroute 是 利用 ICMP协议(互联网控制报文协议) 运作的

TTL的原理:

  • 假设源客户端是A,目标客户端是B,中间的路由器标号一次为 1 2 3 4 5

  • 在分组的头部header中有一个字段叫TTL(Time to leave)是整数,每经过一个路由器时路由器将TTL-1,如果TTL=0,则该路由器向原客户端发送消息,从而得到时间

  • A设置TTL=1,那么第一个路由器返回时间;设置TTL=2,那么第二个路由器返回时间

依次增大TTL,得到每个路由器返回的延时

  • 对于目标客户端B,设置TTL足够大能够达到B,但是设置端口号没有对应的服务,这样到达B之后找不到对应的端口号就又会向A返回时间,得到B的延时
  • 在Windows系统下
    • Tracert hostname
    • 如 Tracert www.gucas.ac.cn
  • 更完整的例子
  • 测试网址
    • www.traceroute.org
    • www.linkwan.com

1.6.2 分组丢失

  • 链路的队列缓冲区容量有限
  • 当分组到达一个满的队列时,该分组将会丢失
  • 丢失的分组可能会被前一个节点源端系统重传,或根本不重传
  • 对于TCP协议
    • 如果链路可靠,则是前一个节点重传
    • 如果链路不可靠,则是原端系统重传
  • 对于UDP协议,则不重传

1.6.3 吞吐量

  • 吞吐量: 在源端和目标端之间传输的速率(数据量/单位时间)
    • 瞬间吞吐量: 在一个时间点的速率
    • 平均吞吐量: 在一个长时间内平均值
瓶颈链路

瓶颈链路:端到端路径上,限制端到端吞吐的链路(吞吐量最小的链路)

吞吐量取决于吞吐量小的链路

吞吐量:互联网场景

  • 如图,可以看到R链路同时由多个连接共享,这样的话不同的连接就要平分带宽

  • 这样尽管R的带宽比Rs,Rc大,但是实际给AB的带宽是 1/n,最终比较的是 1/n的大小

1.7 协议层次及服务模型

网络是一个复杂的系统

网络功能繁杂:数字信号的物理信 号承载、点到点、路由、rdt、进 程区分、应用等
现实来看,网络的许多构成元素和设备:

  • 主机
  • 路由器
  • 各种媒体的链路
  • 应用
  • 协议
  • 硬件, 软件

问题是: 如何组织和实现这个复杂的网络功能?

模块化分解/分层

分层和分解是不一样的

  • 分解:模块之间是可以互相调用的
  • 分层:只有相邻两层客户互相调用

层次化方式实现复杂网络功能:

  • 将网络复杂的功能分层功能明确的层次,每一层实现了其中一个或一 组功能,功能中有其上层可以使用的功能:服务(服务是功能的子集,是可以由外部使用的功能叫服务)
  • 本层协议实体相互交互执行本层的协议动作(水平关系),目的是实现本层功能, 通过接口为上层提供更好的服务
  • 在实现本层协议的时候,直接利用了下层所提供的服务
  • 本层的服务:借助下层服务实现的本层协议实体之间交互带来的 新功能(上层可以利用的)+更下层所提供的服务

1.7.1 服务和服务访问点

(1) 概念(术语)

服务和服务访问点

  1. 服务( Service):低层实体向上层实体提供它们之间的通信的能力
    • 服务用户(service user)
    • 服务提供者(service provider )
  • 服务之间是垂直关系

  • socket就是传输层向应用层提供的接口

  1. 原语(primitive):上层使用下层服务的形式,高层使用低层提供的服务,以及低层向高层提供服务都是通过 服务访问原语来进行交互的形式 比如socket API(一些类型的函数)

  2. 服务访问点 SAP (Services Access Point) :上层使用下层提供的服务通过层间的接口—地点;

    例子:邮箱

    地址(address):下层的一个实体支撑着上层的多个实体, SAP有标志不同上层实体的作用

    可以有不同的实现,队列

    例子:传输层的SAP: 端口(port)

    比如:一个 地点/层间接口,套接字就是服务访问点

比如应用层有 A1,A2,A3这些服务

  • A1 A2 A3就是服务用户
  • TCP就是服务提供者
  • 通过层接界面服务访问点来区分用户

不同层级之间都有各自的用户和提供者

(2) 服务的类型(有无连接)

  1. 服务的类型

服务不仅仅是应用层才分有无连接,每层之间的服务都有区分的

面向连接的服务和无连接的服务-方式

  • 面向连接的服务(Connection-oriented Service)

    • 连接(Connection):两个通信实体为进行通信而建立的一种结合

    • 面向连接的服务通信的过程:建立连接,通信,拆除连接

      面向连接的服务的例子:网络层的连接被成为虚电路

    • 适用范围:对于大的数据块要传输;不适合小的零星报文

    • 特点:保序

    • 服务类型:

      • 可靠的信息流传送页面(可靠的获得,通过接收方的确认)
      • 可靠的字节流远程登录
      • 不可靠的连接数字化声音

面向连接的服务和无连接的服务

  • 无连接的服务(Connectionless Service)
    • 无连接服务:两个对等层实体在通信前不需要建立一个连接,不预留资源;不需要通信双方都是活跃;(例:寄信)
    • 特点:不可靠、可能重复、可能失序
    • IP分组,数据包;
    • 适用范围:适合传送零星数据;
    • 服务类型:
      • 不可靠的数据报电子方式的函件
      • 有确认的数据报挂号信
      • 请求回答信息查询

(3) 服务和协议的关系

  1. 服务和协议

    服务与协议的区别

    服务(Service):低层实体向上层实体提供它们之间的 通信的能力,是通过原语(primitive)来操作的,垂直

    协议(protocol) :对等层实体(peer entity)之间在相互 通信的过程中,需要遵循的规则的集合,水平

    服务与协议的联系

    本层协议的实现要靠下层提供的服务来实现

    本层实体通过协议为上层提供更高级的服务

(4) 数据单元(DU)

ICI : 接口控制信息 - Interface Control Information

上层的PDU对于本层是SDU,封装后对于本层是PDU
两者的封装关系:一对一、一个SDU分成多个再进行封装,成多个PDU(一对多)、多个SDU封装成一个PDU(多对一)

  • SDU:服务数据单元,上层传给本层的数据叫做SDU
  • ICI:接口控制信息
  • IDU:接口数据单元 SDU + ICI,是用于穿过层级接口使用的,实际要用的还是SDU
  • PDU:协议数据单元,是来自上层SDU加上本层的控制信息就是PDU

上层传给本层的数据叫SDU,SDU + 本层的控制信息就是PDU

一般情况下,SDU会很大,因此会分解然后分别构造PDU

还有一种关系是SDU很小,可以将多个SDU合并构造PDU

一对一、一对多、多对一

每层都有各自的PDU,也有不同的名称

(5) 分层优势

分层处理和实现复杂系统的好处?

对付复杂的系统

  • 概念化:结构清晰,便于标示网络组件,以及描述其 相互关系
    • 分层参考模型
  • 结构化:模块化更易于维护和系统升级
    • 改变某一层服务的实现不影响系统中的其他层次
      • 对于其他层次而言是透明的
    • 如改变登机程序并不影响系统的其它部分
      • 改变2个秘书使用的通信方式不影响2个翻译的工作
      • 改变2个翻译使用的语言也不影响上下2个层次的工作
  • 分层思想被认为有害的地方:效率相对较低

1.7.2 Internet协议栈(网络层次架构)

下面是互联网的架构

层次 服务 传输单位 协议
应用层 网络应用(实现网络应用)
为人类用户或者其他应用进程提供网络应用服务
报文(message) FTP,SMTP,HTTP,DNS
传输层 主机之间的数据传输(区分进程,把不可靠变为可靠)
在网络层提供的端到端通信基础上,细分为进程到进程,将不可靠的通信变成可靠地通信
报文段(segment):TCP段,UDP数据报 TCP,IP
网络层 为数据报从源到目的选择路由(转发、路由
主机主机之间的通信,端到端通信,不可靠
分组packet(如果无连接方式:数据报datagram) IP,路由协议
链路层 相邻网络节点间的数据传输(相邻两点间,以帧位单位的传输)
2个相邻2点的通信,点到点通信,可靠或不可靠
帧(frame) 点对对协议PPP,802.11(wifi),Ethernet
物理层 在线路上传送bit(相邻两点间电磁波的承载,以bit的传输) bit

ISO/OSI 参考模型

  • ISO:国际标准化组织
  • OSI:关于网络的架构

  • 表示层: 允许应用解释传输的数据, e.g., 加密,压缩,机器相关的表示转换
  • 会话层: 数据交换的同步,检查点,恢复
  • 互联网协议栈没有这两层! (在Internet协议栈在应用层实现)

也就是应用层会实现这两层

1.7.3 封装与解封装

  • 在链路层交换机经过一次解封装,解到链路层后再封装交
  • 路由器要解封装到网络层
  • 链路层交换机主要用于组建局域网,而路由器则主要负责连接外网并寻找网络中最合适数据传输的路径
  • 最后需要说明的是:路由器一般都具有防火墙功能,能够对一些网络数据包选择性的进行过滤。现在的一些路由器都具备交换机的功能,也有具备路由器功能的交换机,称为三层交换机。相比较而言,路由器的功能较交换机要强大,但是速度也相对较慢,价格较为昂贵,而三层交换机既有交换机的线性转发报文的能力,又有路由器的路由功能,因此得到了广泛的应用。

1.8 历史

互联网发展那么快的原因:

  • 架构具有很强的包容性
  • 应用部署很容易,都能在部署到应用层
posted @ 2023-07-16 17:11  Crispy·Candy  阅读(310)  评论(0编辑  收藏  举报