注:课程来自中科大郑烇、杨坚全套《计算机网络(自顶向下方法 第7版,James F.Kurose,Keith W.Ross)》课程

计算机网络概念

什么是Internet

什么是 Internet :从具体构成角度

  1. 零件的角度
  • 节点
    • 主机及其上运行的应用程序
    • 路由器、交换机等网络交换设备
  • 边:通信链路
    • 接入网链路:主机连接到互联网的链路
    • 主干链路:路由器间的链路
  • 协议
  1. 网络互联设备的角度
  • 数以亿计的、互联的计 算设备:
    • 主机 = 端系统
    • 运行网络应用程序
  • 通信链路
    • 光纤、同轴电缆、无线电 、卫星
    • 传输速率 = 带宽(bps)
  • 分组交换设备:转发分 组 (packets)
    • 路由器和交换机

协议控制发送、接收消息:如 TCP、IP、HTTP、FTP、 PPP

Internet:“网络的网络”

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

Internet标准

  • RFC: Request for comments
  • IETF: Internet Engineering Task Force

协议

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

image-20211120232826174

什么是Internet:从服务角度

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

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

网络边缘

网络结构

  • 网络边缘:
    • 主机
    • 应用程序(客户端和服务器)
  • 网络核心:
    • 互连着的路由器
    • 网络的网络
  • 接入网、物理媒体:
    • 有线或者无线通信链路

网络边缘

  • 端系统(主机):
    • 运行应用程序
    • 如 Web、email
    • 在“网络的边缘”
  • 客户/服务器模式(C/S)
    • 客户端向服务器请求、接收服务
    • 如 Web 浏览器/服务器;email 客户端/服务器
  • 对等(peer-peer )模式
    • 很少(甚至没有)专门的服务器
    • 如 Gnutella、KaZaA、Emule

采用网络设施的面向连接服务

目标:在端系统之间传输数据,

  • 握手:在数据传输之前 做好准备

    就如人类协议中的:你好、你好。两个通信主机之间为连接建立状态

  • TCP – 传输控制协议( Transmission Control Protocol )

    Internet上面向连接的服务

TCP 服务 [RFC 793]

  • 可靠地、按顺序地传送数据 —— 确认和重传
  • 流量控制 —— 发送方不会淹没接收方
  • 拥塞控制 —— 当网络拥塞时,发送方降低 发送速率

采用基础设施的无连接服务

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

  • UDP – 用户数据报协议 (User Datagram Protocol) [RFC 768]:
    • 无连接
    • 不可靠数据传输
    • 无流量控制
    • 无拥塞控制

使用 TCP 的应用:HTTP (Web), FTP (文件传 送), Telnet (远程登录), SMTP (email)

使用 UDP的应用:流媒体、远程会议、 DNS、 Internet 电话

网络核心

网络核心:路由器的网状网络,主要是用于数据交换

电路交换

电路交换:为每个呼叫预留一条 专有电路:如电话网。端到端的资源被分配给从源端 到目标端的呼叫 “call”:

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

image-20211121140700357

这种连接资源不会同享但每个呼叫一旦建立起来就能够保证性能。但**如果呼叫没有数据发送,被分配 的资源就会被浪费 (no sharing)**,电路交换通常被传统电话网络采用。

网络资源(如带宽)被 分成片 (把结点的通讯能力分解成小片)

  • 为呼叫分配片
  • 如果某个呼叫没有数据, 则其资源片处于空闲状态 (不共享)
  • 将带宽分成片
    • 频分(Frequency-division multiplexing) –> (FDM)
    • 时分(Time-division multiplexing) –> (TDM)
    • 波分(Wave-division multiplexing) –> (WDM)

FDM 与 TDM

image-20211121142107226

计算举例

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

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

每条链路的速率(一个时间片):1.536Mbps/24 = 64kbps

传输时间:640kb/64kps = 10s

共用时间:传输时间+建立链路时间= 10s + 500ms = 10.5s

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

  1. 连接建立时间长

  2. 计算机之间的通信有突发性,如果使用线路交换,则浪费的片较多

    即使这个呼叫没有数据传递,其所占据的片也不能 够被别的呼叫使用 (非共享)

  3. 可靠性不高

分组交换

以分组为单位存储-转发方式

  1. 网络带宽资源不再分分为一个个片,传输时使用全部带宽
  2. 主机之间传输的数据被分为一个个分组

资源共享,按需使用:

  • 存储-转发:分组每次移 动一跳( hop ) 相当于分段使用链路
    • 在转发之前,节点必须收到 整个分组
    • 延迟比线路交换要大
    • 排队时间

存储-转发

  • 被传输到下一个链路之前, 整个分组必须到达路由器:存储-转发
  • 在一个速率为R bps的链路 ,一个长度为L bits 的分组 的存储转发延时:

排队延迟和丢失

如果到达速率 > 链路的输出速率,分组将会排队,等待传输。如果路由器的缓存用完了,分组将会被抛弃

网络核心的关键功能

路由: 决定分组采用的源到 目标的路径

转发: 将分组从路由器的输 入链路转移到输出链路

统计多路复用

image-20211121143542988

A&B 时分复用 链路资源 A & B

分组没有固定的模式 –> 统计多路复用

分组交换优缺点

优点:共享性

缺点:排队延迟和可能丢失

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

分组交换 vs 电路交换

分组交换与电路交换相比,分组交换更适合计算机之间的通信:

  1. 分组交换适合于对突发式数据传输
  2. 资源共享
  3. 简单,不必建立呼叫
  4. 在每个交换节点中不用维护主机之间的通信状态

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

分组交换——分组的存储转发一段一段从源端传到目标端

  • 数据报网络:
    • 分组的目标地址决定下一跳
    • 在不同的阶段,路由可以改变
    • 类似:问路
    • Internent
  • 虚电路网络:
    • 每个分组都带标签(虚电路标识VC ID),标签决定下一跳
    • 在呼叫建立时决定路径,在整个呼叫中路径保持不变
    • 路由器维持每个呼叫的状态信息
    • X.25和ATM

数据报(datagram) 的工作原理

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

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

image-20211121144536578

网络分类

image-20211121145125717

接入网和物理媒体

把网络边缘接入网络核心。

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

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

住宅接入:modem

  • 将上网数据调制加载音频信号上, 在电话线上传输,在局端将其中的 数据解调出来;反之亦然
    • 调频、调幅、调相位、综合调制
  • 拨号调制解调器
    • 56Kbps 的速率直接接入路由器 (通常更低)
    • 不能同时上网和打电话:不能 总是在线

电缆模式

fiber optic transport——光纤传输

image-20211121191451878

接入网: digital subscriber line (DSL)

image-20211121191018438

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

线缆网络

有线电视信号线缆双向改造

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

image-20211121191223232

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

家庭网络

image-20211121191543422

物理媒体

  • Bit: 在发送-接收对间传播

  • 物理链路:连接每个发送-接 收对之间的物理媒体

  • 导引型媒体:信号沿着固体媒介被导引:同轴电缆、光纤、 双绞线

  • 非导引型媒体:开放的空间传输电磁波或者光信号,在电磁或者光信号中承载数字数据

  • 双绞线 (TP)

同轴电缆、光纤

  • 同轴电缆:两根同轴的铜导线、双向、基带电缆:1. 电缆上一个单个信道 2. Ethernet、宽带电缆:1. 电缆上有多个信道 2. HFC

  • 光纤和光缆:

    光脉冲,每个脉冲表示一个 bit,在玻璃纤维中传输

    高速:点到点的高速传输(如10 Gps-100Gbps传输速率 )

    低误码率:在两个中继器之间可以有很长的距离,不受 电磁噪声的干扰

    安全

无线链路

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

无线链路类型:

  • 地面微波(up to 45 Mbps channels)
  • LAN:WiFi(11Mbps, 54 Mbps,540Mbps…)
  • wide-area: 蜂窝网络(3G cellular:几Mbps、4G:10Mbps、5G:数Gbps)
  • 卫星
    • 每个信道Kbps 到45Mbps (或者 多个聚集信道)
    • 270 msec端到端延迟
    • 同步静止卫星和低轨卫星

** Internet结构和ISP**

按ISP划分互联网

互联网结构:网络的网络

  • 端系统通过接入ISPs (Internet Service Providers)连接到互联网

    • 住宅,公司和大学的ISPs
  • 接入ISPs相应的必须是互联的

    • 因此任何2个端系统可相互发送分组到对方
  • 导致的“网络的网络”非常复杂

    • 发展和演化是通过经济的和国家的政策来驱动的
  • 让我们采用渐进方法来描述当前互联网的结构

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

image-20211121211543277

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

image-20211121211606376

竞争:但如果全局ISP是有利可为的业务,那会有竞争者
合作:通过ISP之间的合作可以完成业务的扩展,肯定会有互联,对等互联的结算关系

Internet exchange point

image-20211121211859580

然后业务会细分(全球接入和区域接入),区域网络将出现,用与将接入ISPs连接到全局ISPs
然后内容提供商网络 (Internet Content Providers,e.g., Google, Microsoft, Akamai) 可能会构建它们自己的网络,将它们的服务、内容更加靠近端用户,向用户提供更好的服务,减少自己的运营支出
image-20211121211926263

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

  • “tier-1” commercial ISPs (e.g., Level 3, Sprint, AT&T, NTT), 国家或者国际 范围的覆盖

  • content provider network (e.g., Google): 将它们的数据中心接入ISP,方便周边 用户的访问;通常私有网络之间用专网绕过第一层 ISP 和区域

松散的层次模型

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

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

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

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

第三层ISP与其他本地ISP

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

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

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

ISP之间的连接

  • POP: 高层ISP面向客户网络的接入点,涉及费用结算
    • 如一个低层ISP接入多个高层ISP,多宿(multi home)
  • 对等接入:2个ISP对等互接,不涉及费用结算
  • IXP:多个对等ISP互联互通之处,通常不涉及费用结算(对等接入)
  • ICP自己部署专用网络,同时和各级ISP连接

分组延时、丢失和吞吐量

分组延时的发生

在路由器缓冲区的分组队列中会发生:

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

image-20211121212459423

四种分组延时

  1. 节点处理延时:检查 bit级差错、检查分组首部和决定将分组导向何处
  2. 排队延时:在输出链路上等待传输的 时间、依赖于路由器的拥塞程度
  3. 传输延时:R=链路带宽(bps)、L=分组长度(bits)、将分组发送到链路上的 时间= L/R、存储转发延时
  4. 传播延时:d = 物理链路的长度、s = 在媒体上的传播速度 (~2x108 m/sec)、传播延时 = d/s

以车队作类比

情况一

汽车以100 km/hr 的速度传播,收费站服务每辆车需 12s (传输时间)
汽车~ bit; 车队 ~ 分组
Q: 在车队在第二个收费站排 列好之前需要多长时间?即:从车队的第一辆车到达第 一个收费站开始计时,到这个车队的最后一辆车离开第二个 收费站,共需要多少时间

将车队从收费站输送到公路上的时间 = 12*10 = 120s
最后一辆车从第一个收费站到第二个收费站的传播 时间:100km/(100km/hr)= 1 hr
A: 62 minutes

情况二(局域网)

汽车以1000 km/hr 的速度传播汽车,收费站服务每辆车需 1分钟
Q:在所有的汽车被第一个收费站服务之前,汽车会 到达第二个收费站吗?

Yes!7分钟后,第一辆汽车 到达了第二个收费站,而第一个收费站仍有3辆汽车
在整个分组被第一个路由器 传输之前,第一个比特已经 到达了第二个路由器!

节点延时

image-20211121213815675

排队延时

R=链路带宽 (bps),L=分组长度 (bits), a=分组到达队列的平均速率。流量强度 = La/R

  • La/R ~ 0: 平均排队延时很小
  • La/R -> 1: 延时变得很大,趋近无穷
  • La/R > 1: 比特到达队列的速率超过了从该队 列输出的速率,平均排队延时将趋向无穷大! 设计系统时流量强度不能大于1!

Internet的延时和路由

Traceroute 诊断程序: 提供从源端,经过路由器,到目的的延时测量

  • For all i:
    • 沿着目的的路径,向每个路由器发送3个探测分组
    • 路由器 i 将向发送方返回一个分组
    • 发送方对发送和回复之间间隔计时

windwos 下可以使用 tracert 目标地址

分组丢失

链路的队列缓冲区容量有限,当分组到达一个满的队列时,该分组将会丢失,丢失的分组可能会被前一个节点或源端系统重传,或根本不重传

吞吐量

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

协议层次和服务模型

协议层次

网络功能繁杂:数字信号的物理信 号承载、点到点、路由、rdt、进 程区分、应用等

现实来看,网络的许多构成元素和 设备:主机、路由器、各种媒体的链路、应用、协议、硬件、软件

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

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

服务和服务访问点

  • 服务( Service):低层实体向上层实体提供它们之间的通信的能力
    • 服务用户(service user)
    • 服务提供者(service provider )
  • 原语(primitive):上层使用下层服务的形式,高层使用低层提供的服务,以及低层向高层提供服务都是通过服务访问原语来进行交互的—形式
  • 服务访问点 SAP (Services Access Point) :用于下层的服务提供者,来区分不同上层用户的一些信息,穿过层阶的一些信息称为服务访问点(上层使用下层提供的服务通过层间的接口—地点)
    • 如:邮箱
    • 地址(address):下层的一个实体支撑着上层的多个实体, SAP有标志不同上层实体的作用
    • 可以有不同的实现,队列
    • 如:传输层的SAP: 端口(port)

服务的类型

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

如果两个用户在通讯之前建立起“握手”的关系,分配好资源,为通讯做好准备,这种就称为面向连接的服务,反之则为无连接的服务

面向连接的服务

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

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

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

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

特点:保序

服务类型:

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

无连接的服务

无连接服务:两个对等层实体在通信前不需要建 立一个连接,不预留资源;不需要通信双方都是 活跃;(例:寄信)

特点:不可靠、可能重复、可能失序

IP分组,数据包;

适用范围:适合传送零星数据;

服务类型:

  • 不可靠的数据报 电子方式的函件
  • 有确认的数据报 挂号信
  • 请求回答 信息查询

协议和服务

协议和服务的差别

  • 服务(Service):低层实体向上层实体提供它们之间的通信的能力,是通过原语(primitive)来操作的,垂直关系
  • 协议(protocol) :对等层实体(peer entity)之间在相互通信的过程中,需要遵循的规则的集合,水平关系

服务与协议的联系

  • 本层协议的实现要靠下层提供的服务来实现
  • 本层实体通过协议为上层提供更高级的服务

数据单元(DU)

image-20211122215841764

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

上层的PDU对于本层是SDU,封装后对于本层是PDU

两者的封装关系:

  • 一对一:一个SDU 进行封装变成一个PDU(协议数据单元)

一对一

  • 一对多:一个较大的SDU分成多个再进行封装,成多个PDU

一对多

  • 多对一:多个很小的 SDU封装成一个PDU

多对一

每一层的协议数据单元都有不同的称呼:

  • 应用层:应用报文(message)

  • 传输层:TCP段:报文段(segmet)或者简称为UDP:数据报

  • 网络层:分组(packet),如果网络是无连接的又称为数据报(datagram)

  • 链路层:帧(frame)

  • 物理层:位(bit)

Internet协议栈

  • 应用层:实现各种各样的网络应用
    为人类用户或者其他应用进程提供网络应用服务
    FTP,SMTP,HTTP,DNS

  • 传输层:主机之间的数据传输(UTP、TCP)

    1. 在网络层提供的端到端通信基础上,细分为进程到进程
    2. 将不可靠的通信变成可靠地通信
  • 网络层:为数据报从源到目的选择路由(转发、路由)
    主机主机之间的通信,端到端通信,不可靠
    IP,路由协议

  • 链路层:相邻网络节点间的数据传输(相邻两点间,以帧位单位的传输)
    2个相邻2点的通信,点到点通信,可靠或不可靠
    点对对协议PPP,802.11(wifi),Ethernet

  • 物理层:提供相邻两点之间电磁波的承载,能够将链路层传下来的 bit 交给对等的上层把它变为电磁波信号,光信号

ISO/OSI 参考模型

  • 表示层: 允许应用解释传输的数据, e.g., 加密,压缩,机器相关的表示转换
  • 会话层: 数据交换的同步,检查点,恢复

image-20211122231655445

封装和解封装

image-20211122231807219

链路层交换机主要用于组建局域网,而路由器则主要负责连接外网并寻找网络中最合适数据传输的路径

最后需要说明的是:路由器一般都具有防火墙功能,能够对一些网络数据包选择性的进行过滤。现在的一些路由器都具备交换机的功能,也有具备路由器功能的交换机,称为三层交换机。相比较而言,路由器的功能较交换机要强大,但是速度也相对较慢,价格较为昂贵,而三层交换机既有交换机的线性转发报文的能力,又有路由器的路由功能,因此得到了广泛的应用。