计算机网络概述

314 阅读15分钟

第一章 计算机网络概述

1.什么是Internet

  • Internet:“网络的网络”

松散的层次结构、互联的ISP

公共Internet vs 专用intranet(企业用)

  • Internet标准

RFC:Request fo comments

IETF:Internet Engineering Task Force

  • 分布式应用以及为分布式应用提供服务的基础设施

1.1 从具体构成角度

1.节点

  • 主机及其上运行的应用程序
  • 路由器、交换机等网络交换设备

2.边:通信链路

  • 接入网链路:主机连接到互联网的链路
  • 主干链路:路由器间的链路

3.协议

Internet中所有通信行为都受协议制约。协议控制发送、接收消息。

如TCP、IP、HTTP、FTP、PPP

协议规范的方面:语法、语义、时序、动作。

image.png

4.数以亿计的、互联网的计算设备

  • 主机:端系统
  • 运行网络应用程序

5.通信链路

  • 光纤、回轴电缆、无线电、卫星
  • 传输速率:带宽(bps)

6.分组交换设备:转发分组(packets

  • 路由器和交换机

1.2 从服务角度

1.使用通信设施进行通信的分布式应用

分布式应用是网络存在的理由。

  • Web、VoIP、email、分布式游戏、电子商务、社交网络...

2.通信基础设施为apps提供编程接口(通信服务)

将发送和接受数据的apps与互联网连接起来

为app应用提供服务选择,类似于邮政服务

  • 无连接不可靠服务
  • 面向连接的可靠服务

2.网络边缘

网络边缘网络存在的理由

  • 主机
  • 应用程序(客户端和服务器)

image.png

2.1 端系统(主机)

  • 运行应用程序
  • 如Web、email
  • 在“网络的边缘”

2.2 客户/服务器模式

典型的主从模式:所有的运行资源都在服务器,客户端所请求的所有资源都来源于服务器。

主要缺点:客户/服务器模式的可扩展性比较差。随着请求载荷的增加,能力会下降,当达到一定阈值时,客户端/服务器模式的能力会断崖式下降

  • 客户端向服务器请求、接受数据
  • 如Web浏览器/服务器,email客户端/服务器

2.3 对等(peer-peer)模式

每个节点既是客户端又是服务器。随着peer节点的增多,请求资源的节点越来越多,但同时提供资源的节点也越来越多。而且它的通讯是分布式的,所以不存在客户/服务器的缺点。

例如:迅雷、电驴就采用p2p模式

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

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

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

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

人类协议中:你好、你好

两个通信主机之间为连接建立状态

  • TCP-传输协议(Transmission Control Protocol)

Internet上面向连接的服务

TCP服务

  • 可靠地、按顺序地传送数据

确认和重传机制

可靠要求包括的要素:不出错、不丢失、不重复、不失序。

  • 流量控制

发送方不会淹没接收方

协调发送方速度和接收方速度,从而让两者有序通信。

  • 拥塞控制

当网络拥塞时,发送方降低发送速率。

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

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

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

  • 无连接服务

UDP-用户数据报协议(User Datagram Protocol)

  • 无连接

  • 不可靠数据传输

  • 无流量控制

  • 无拥塞控制

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


3.网络核心

网络核心:路由器的网状网络。

网络核心的核心作用是数据交换

边缘通过接入网和物理媒体接入到核心核心把所有的边缘节点接在一起,为网络边缘提供连通性,让它们能够通信,进行数据交换。

  • 互连着的路由器
  • 网络的网络

3.1 电路交换

为每个呼叫预留一条专有电路(如电话网)

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

image.png

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

2.独享资源:不同享
每个呼叫一旦建立起来就能够保证性能

3.如果呼叫没有数据发送,被分配的资源就会被浪费(no sharing)

4.通常会被传统电话网络采用

为呼叫预留端-端资源

  • 链路带宽、交换能力
  • 专用资源:不共享
  • 保证性能
  • 要求建立呼叫连接

网络资源(如带宽)被分成片

  • 为呼叫分配片。如果某个呼叫没有数据,则其资源片处于空闲状态(不共享)。

  • 将带宽分成片:频分、时分、波分

  • 电路交换不适合计算机之间的通信:1、连接建立时间长 2、计算机之间的通信有突发性,如果使用线路交换,则浪费的片较多 3、可靠性不高

3.2 分组交换

  • 将要传送的数据分成一个个单位:分组(packet)
  • 将分组从一个路由器传到相邻路由器(hop),一段段最终从源端传到目标端
  • 每段:采用链路的最大传输能力(带宽)

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

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

资源共享,按需使用

  • 存储-转发:分组每次移动-跳(hop)

    • 在转发之前,节点必须收到整个分组
    • 延时比线路交换要大
    • 排队时间

排队和延迟

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

    • 分组将会排队,等待传输
    • 如果路由器的缓存用完了,分组将会被抛弃

分组交换 vs 电路交换

分组交换允许更多用户使用网络
1. 1MB/s链路
2. 每个用户:活动时100kb/s、10%的时间是活动的

电路交换
1. 10用户

分组交换
1. 35用户
2. >=10个用户活动的概率为0.0004

3.3 网络核心的关键功能

  • 路由

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

  • 转发

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

3.4 分组交换网络:存储-转发

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

  • 数据报网络
  • 虚电路网络
  1. 数据报网络

工作原理

  • 在通信之前,无需建立起一个连接,有数据就传输。
  • 每个分组都独立路由(路径不一样,可能会失控)。
  • 路由器根据分组的目标地址进行路由。
  1. 虚电路网络

工作原理

image.png


4.接入网和物理媒体

接入网的作用是将网络边缘接入到核心

  • 有线或者无线通信链路

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

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

4.1 住宅接入:modem

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

    • 调制
    • 解调
    • 调相位
    • 综合调制
  • 拨号调制解调器

    • 56Kbps的速率直接接入路由器(通常更低)
    • 不能同时上网和打电话:不能总是在线

4.2 企业接入网络(Ethernet)

  • 经常被企业或者大学等机构采用

    • 10Mbps、100Mbps、1Gbps、10Gbps传输率
    • 现在,端系统经常直接接到以太网络交换机上
  • 各无线端系统共享无线接入网络(端系统到无线路由器)

    • 通过基站或者交接入点
    • 无线LANs
    • 广域无线接入

4.3 物理媒体

  • Bit:在传输-接收对间传播
  • 物理链路:在每个传输-接收对,跨越一种物理媒体
  • 导引型媒体:信号沿着固体媒介被导引(同轴电缆、光纤、双绞线)
  • 非导引型媒体:信号自由传播(如无线电)

双绞线

  • 两根绝缘铜线
    • 5类:100Mbps Ethernet、Gbps以太网
    • 6类:10Gbps

同轴电缆

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

光缆

  • 光脉冲,每个脉冲表示一个bit,在玻璃纤维中传输
  • 高速:点到点的高速传输(如10Gbps-100Gbps传输速率)
  • 低误码率:在两个中继器之间可以有很长的距离:不受电磁噪声的干扰
  • 安全

无线链路

  • 开放空间传输电磁波,携带要传输的数据
  • 无需物理“线缆”
  • 双向
  • 传播环境效应:反射、吸收、干扰
  • 类型:
    • 地面微波
    • LAN(例如:WiFi)
    • widi-area(例如:蜂窝)
    • 卫星

5.Internet结构和ISP

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

  • 端系统通过接入ISPs(Internet Service Providers)连接到互联网
    • 住宅。公司和大学的ISPs
  • 接入ISPs相应的必须是互联的
    • 因此任何2个端系统可相互发送分组到对方
  • 导致的“网络的网络”非常复杂
    • 发展和演化是通过经济的国家的政策来驱动的

松散的层次结构

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

    • 直接与其他第一层ISP相连
    • 与大量的第二层ISP和其他客户网络相连
  • 第二层ISP:更小些的(通常是区域性的)ISP

    • 与一个或多个第一层ISPs,也可能与其他第二层ISP相连
  • 第三层ISP与其他本地ISP

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

ISP之间的连接

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

image.png


6.分组延时、丢失和吞吐量

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

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

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

image.png

6.1 四种分组延迟

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

image.png

6.2 排队延时

R = 链路带宽(bps)

L = 分组长度(bits)

a = 分组到达队列的平均速率

流量强度 = La/R

  • La/R ~ 0:平均排队延时很小
  • La/R -> 1: 延时变得很大
  • La/R > 1:比特到达队列的速率超过了从该队列输出的速率,平均排队延时将趋向无穷大

6.3 分组丢失

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

6.4 吞吐量

在源端和目标端之间传输的速率(数据量/单位时间)

  • 瞬间吞吐量:在一个时间点的速率
  • 平均吞吐量:在一个长时间内的平均值

7.协议层次及服务模型

网络是一个复杂的系统

  • 网络功能繁杂:数字信号的物理信号承载、点到点、路由、rdt、进程区分、应用等
  • 现实来看,网络的许多构成元素和设备:
    • 主机、路由器、各种媒体的链路
    • 应用、协议、硬件和软件

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

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

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

对付复杂的系统

  • 概念化:结构清晰,便于标识网络组件,以及描述其相互关系
    • 分层参考模型
  • 结构化:模块化更易于维护和系统升级
    • 改变某一层服务的实现不影响系统中的其他层次

7.2 服务和服务访问点

  • 服务(Service):低层实体向上层实体提供它们之间通信的能力

    • 服务用户(service user)
    • 服务提供者(service provider)
  • 原语(primitive):上层使用下层服务的形式,高层使用低层提供的服务,以及低层向高层提供服务都是通过服务访问原语来进行交互的

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

    • 例子:邮箱
    • 地址(address):下层的一个实体支撑着上层的多个实体,SAP有标志不同上层实体的作用
    • 可以有不同的实现、队列
    • 例子:传输层的SAP:端口(port)

服务的类型

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

  • 无连接服务(Connectionless Service)

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

服务和协议

服务和协议的区别

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

服务和协议的联系

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

7.3 Internet协议栈

  • 应用层:网络应用
    • 为人类用户或者其他应用进程提供网络应用服务
    • FTP、SMTP、HTTP、DNS
  • 传输层:主机之间的数据传输
    • 在网络层提供的端到端通信基础上,细分为进程到进程,将不可靠的通信变成可靠的通信
    • TCP、UDP
  • 网络层:为数据报从源到目的选择路由
    • 主机与主机之间的通信、端到端通信。不可靠
    • IP、路由协议
  • 链路层:相邻网络节点间的数据传输
    • 2个相邻2点的通信、点到点通信、可靠或不可靠
    • 点对点协议PPP,802.11(WiFi),Ethernet
  • 物理层:在线路上传送bit

image.png

各层次的协议数据单元

  • 应用层:报文(message)
  • 传输层:报文段(segment):TCP段、UDP数据段
  • 网络层:分组packet(如果无连接方式:数据报datagram)
  • 数据链路层:帧(frame)
  • 物理层:位(bit)

8.历史

早期(1960以前)计算机网络

  • 线路交换网络
  • 线路交换的特性使得其不适合计算机之间的通信
    • 线路建立时间过长
    • 独享方式占用通信资源,不适合突发性很强的计算机之间的通信
    • 可靠性不高,非常不适合军事通信
  • 三个小组独立地开展分组交换的研究
    • 1961:Kleinrock(MIT),排队论,展现了分组交换的有效性
    • 1964:Baran(美国兰德公司)-军用网络上的分组交换
    • 1964:Donald(英国)等,NPL

1961-1972:早期的分组交换概念

image.png

1972-1980:专用网络和网络互联

image.png

1980-1990:体系结构变化,网络数量激增,应用丰富

image.png

1990,2000's:商业化,Web,新的应用

image.png

2005-现在

  • ~50亿主机:包括智能手机和平板
  • 宽带接入的快速部署
  • 高速无线接入无处不在:移动互联时代
    • 4G部署,5G蓄势待发
    • 带宽大,终端性能高,价格便宜,应用不断增多
  • 在线社交网络等新型应用的出现:
    • Facebook:10亿用户
    • 微信、qq:数十亿用户
  • 服务提供商创建他们自己的网络
    • 通过自己的专用网络提供对搜索、视频内容和电子邮件的即刻访问
  • 电子商务、大学、企业在云中运行他们的服务
  • 体系结构酝酿着大的变化,未来网络蠢蠢欲动