什么是因特网

从构成角度

计算机网络构成

节点

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

边:通信链路

  • 接入网链路:主机连接到互联网的链路(主机→交换机)
  • 主干链路:路由器间的链路

协议

互联网

以TCP、IP协议为主的一组协议来支撑工作的特定网络,是计算机网络的一种。

计算设备

  • PC、服务器、智能手机等数以亿计、互联的计算设备
  • 主机(host)/端系统(end system)
  • 运行网络应用程序

通信链路

  • 光纤、同轴电缆、无线电、卫星
  • 传输速率重要指标:带宽(bps)

分组交换设备

  • 转发分组(packets)
  • 路由器和交换机

协议

  • 协议控制发送、接收消息(TCP、IP、HTTP、FTP、PPP)

Internet:网络的网络

  • 松散的层次结构:互联的ISP
  • 公共Internet、专用Internet

Internet标准

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

协议

对等层实体在通信过程中应该遵守的规则的集合,协议定义了在两个或多个通信实体之间交换的报文格式次序,以及在报文传输与接受或其他事件方面采取的动作。

从服务角度

分布式的应用+为分布式应用提供通讯的基础设置

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

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

通信基础设施为应用提供编程接口(通信服务)

  1. 将发送和接收数据的应用与互联网连接起来
  2. 为应用提供服务选择,类似于邮政服务
    • 无连接不可靠服务
    • 面向连接的可靠服务

网络结构

网络边缘

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

网络核心

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

接入网、物理媒体

  • 有线或者无线通信链路

网络边缘

端系统(主机)

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

客户/服务器模式(C/S模式)

  • 客户端向服务器请求、接收服务
  • 如Web浏览器/服务器、email客户端/服务器

对等(Peer-Peer/P2P)模式

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

面向连接的通信方式

目标:在端系统之间传输数据
握手:在数据传输之前做好准备,两个通信主机之间为连接建立状态

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

  • 互联网面向连接的服务
  • 可靠地、保序地传送数据:确认和重传
  • 流量控制:发送方不会淹没接收方
  • 拥塞控制:当网络拥塞时,发送方降低发送速率
  • 使用TCP的应用:HTTP(web)、FTP(文件传送)、Telnet(远程登录)、SMTP(email)

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

  • 无连接的服务
  • 不可靠数据传输
  • 无流量控制
  • 无拥塞控制
  • 使用UDP的应用:流媒体、远程会议、DNS、Internet电话

网络核心

电路交换(circuit switching)

特点

  1. **端到端的资源被分配给从源端到目标端的呼叫(call)**,通过空闲的线路(pieces)进行通信,形成从源端到目标端独享的线路。
  • 频分(Frequency-division multiplexing,FDM)、时分(Time-division multiplexing,TDM)、波分(Wave-division multiplexing,WDM)
  1. 独享资源,每个呼叫一旦建立起来就能够保证性能
  2. 如果呼叫没有数据发送,被分配的资源就会被浪费
  3. 通常被传统电话网络采用

例题
在一个电路交换网络上,从主机A到主机B发送一个640000比特的文件需要多长传输时间?一直所有链路速率为1.536Mbps,每条链路使用时隙数为24的TDM,建立端-端的电路需500ms

两个节点间带宽为:1.536Mbps,使用时分复用分为24个时隙(slot),每个用户使用一个时隙,所以每个用户能够使用的带宽为:

1.536Mbps / 24 = 64kbps

发送640kb文件需要的传输时间:

640kb / 64kbps = 10s

建立端-端的电路需500ms,共需时间:

10.5s

缺点

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

  • 连接建立时间长
  • 计算机之间的通信有突发性,如果使用电路交换则浪费的片较多。即使这个呼叫没有数据传递,占据的资源也不能被别的呼叫使用
  • 可靠性不高

分组交换(packet switch)

特点

  1. 分组为单位存储-转发方式
    • 网络带宽资源不再分为一个个片,传输时使用全部带宽
    • 主机之间传输的数据被分为一个个分组
  2. 资源共享,按需使用
    • 储存-转发:分组每次移动一跳(hop)
    • 在转发之前,节点必须收到整个分组
    • 延迟比线路交换要大
    • 排队时间
    • 在一个速率为R bps的链路上,一个长度为L bits的分组的存储转发时间:L/Rs
  3. 排队和延迟
    • 如果发送端到达速率>链路的输出速率:
      • 分组将会排队等待传输
      • 如果路由器的缓存用完了,分组将会被抛弃
  4. 统计多路复用
    • 时分复用链路资源但没有固定的模式——统计多路复用

分类

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

  1. 数据报(Datagram)网络
    • 分组携带目标主机的完整地址,交换节点根据这个目标地址决定下一跳
    • 通信之前无需建立起连接,有数据就传输
    • 在不同的阶段路由可以改变,每个分组的路径可能不同,可能会导致失序
    • 路由器根据分组的目标地址进行路由,类似寄信和问路
    • Internet
  2. 虚电路网络
    • 每个分组都带标签(虚电路标识VCID),标签决定下一跳
    • 呼叫建立时决定路径,依靠信令建立虚电路,在整个呼叫中路径保持不变
    • 路由器维持每个呼叫的状态信息
    • X.25和ATM

网络核心关键功能

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

分组交换 vs 电路交换

若一个链路的带宽是1Mb/s,每个用户活动时所需的带宽是100kb/s,且每个用户只有10%的时间是活动的:

采用电路交换时

最多支持同时使用的用户数:

1Mb/s / 100kb/s = 10

即使用电路交换最多支持10个用户同时使用;

采用电路交换时

若有35个用户使用,同时使用的用户数超过10个的概率约为0.0004,即在99.6%的情况下支持这35个用户的使用

所以分组交换允许更多用户使用网络

分组交换是“突发数据的胜利者”

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

接入网和物理媒体

接入网

住宅接入:modem(电话线)

  • 将上网数据调制加载在音频信号上,在电话线上传输,在局端将其中的数据解调出来(调频/调相/调相/综合调制)
  • 拨号调制解调器
    • 56kbps的速率直接接入路由器(通常更低)
    • 不能同时上网和打电话

Digital Subscriber Line,DSL(电话线)

  • 采用现存的到交换局DSLAM的电话线
    • DSL线路上的数据被传到互联网
    • DSL线路上的语音被传到电话网
  • <2.5Mbps上行传输速率
  • <242Mbps下行传输速率
  • 可以同时上网和打电话

线缆网络(有线电视)

  • 将有线电视信号同轴电缆数字化+双向改造
  • FDM:在不同频段传输不同信道的数据,数字电视和上网数据(上下行)
  • HFC:hybrid fiber coax,最高30Mbps的下行传输数据,2Mbps上行传输数据
  • 线缆和光纤将家庭用户接入到ISP路由器
  • 用户共享到线缆头端的接入网络(与DSL不同)

家庭接入网络

头端——modem——路由器/防火墙/IP——无线接入点

企业接入网络

Access Point(AP)——交换机端口——路由器

  • 经常被企业或大学机构采用
    • 10Mbps、100Mbps、1Gbps、10Gbps传输率
    • 现在端系统经常直接接到以太网络交换机上

无线接入网络

通过基站或者接入点各无线端系统共享无线接入网络(端系统到无线路由器)

广域无线接入

  • 由电信运行商提供
  • 1~10Mbps
  • 3G,4G:LTE

无线LANs

  • 建筑物内部
  • 802.11b/g(WIFI):11, 54Mbps传输速率

物理媒体

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

导引型媒体(有线链路)

同轴电缆

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

光纤和光缆

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

双绞线

  • 两根绝缘铜导线拧合
    • 5类:100Mbps以太网,Gbps千兆位以太网
    • 6类:10Gbps万兆以太网

非导引型媒体(无线链路)

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

无线链路类型

  • 地面微波
  • LAN
    • WIFI
  • wide-area
    • 蜂窝
  • 卫星
    • 同步静止卫星/地轨卫星

Internet结构和ISP

  • 端系统通过接入ISP(Internet Service Providers)连接到互联网
    • 住宅、公司、大学的ISP
  • 接入ISPs必须是互联的
    • 所以任何两个端系统可以互相发送分组给对方
  • 发展和演化是通过经济的和国家的政策来驱动的

ISP互联

  1. 将每个接入ISP都连接到全局ISP,客户ISPs和提供者ISPs有经济合约。
  2. 全局ISP有利可为,会有竞争者;而通过ISP之间的合作可以完成业务的扩展(Internet exchange point,IXP),会有对等互联的结算关系。
  3. 业务进一步细分,区域网络出现,然后通过接入ISPs连接到全局ISPs。
  4. 内容提供商网络(Internet Content Providers,e.g. Google)构建自己的网络,提供更好的服务,减少运营支出

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

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

互联网的结构

松散的层次模型

一个分组要经过许多网络

  1. 第一层ISP:中心
  • 国家/国际覆盖,速率极高
  • 直接与其他第一层ISP相连
  • 与大量的第二层ISP和其他客户网络相连
  1. 第二层ISP: 更小些的 (通常是区域性的) ISP
  • 与一个或多个第一层ISPs,也可能与其他第二层ISP
  1. 第三层ISP与其他本地ISP
  • 接入网(与端系统最近)

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

ISP之间的连接

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

分组延时、丢失和吞吐量

分组延时与分组丢失

分组丢失和延时发生的原因
在路由器缓冲区的分组队列

  • 分组排队产生分组延时,路由器给分组传给别的链路产生传输延时
  • 分组到达时如果没有可用的缓冲区会发生分组丢失

四种分组延时

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

节点延时

d(nodal) = d(proc) + d(queue) + d(trans) + d(prop)

  • d(proc):处理延时,通常是微秒数量级或更少
  • d(queue):排队延时:取决于拥塞程度
  • d(trans):传输延时L / R,对低速率的链路影响较大(如拨号),通常为微秒级到毫秒级
  • d(prop):传播延时,几微秒到几百毫秒

排队延时

  • R = 链路带宽(bps)
  • L = 分组长度(bits)
  • a = 分组到达队列的平均速率(即单位时间内希望通过该链路转发的分组的数量)

流量强度 = La / R

  • La / R → 0 :平均排队延时很小
  • La / R → 1 :排队延时很大

分组丢失

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

吞吐量

定义

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

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

瓶颈链路

端到端平均吞吐 = min{R1, R2, R3,……Rn} (短板效应)
瓶颈链路:端到端路径上,限制端到端吞吐的链路

吞吐量:互联网场景

每个连接上的端到端吞吐: min(Rc, Rs, R/10)

  • Rc:用户端
  • Rs:服务器端
  • R:链路

实际上, Rc或者Rs经常是瓶颈

协议层次及服务模型

协议层次

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

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

服务

服务与服务访问点

服务

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

  • 服务用户
  • 服务提供者

源语

上层使用下层服务的形式,高层使用低层提供的服务,以及低层向高层提供服务都是通过服务访问原语来进行交互的形式

服务访问点

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

服务的类型

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

服务和协议

区别

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

关系

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

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

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

Internet协议栈

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

ISO/OSI参考模型

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

各层次的协议数据单元

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