Skip to content

Latest commit

 

History

History
643 lines (489 loc) · 18.4 KB

chapter1.md

File metadata and controls

643 lines (489 loc) · 18.4 KB

第一章-概论

什么是计算机网络

什么是计算机网络

计算机网络 = 通信技术 + 计算机系统

  • 计算机网络是通信技术与计算机技术紧密结合的产物
  • 通信系统,模型:

信源->发送设备->信道->接收设备->信宿          ↑         噪声源

  • 计算机网络就是一种通信网络

  • 定义:计算机网络就是互连的、自治的计算机集合。

  • 自治-无主从关系

  • 互连-互联互通

    • 通信链路
  • 距离远、数量大时候怎么保证互连?

  • 通过交换网络互连主机

什么是Internet?-组成细节角度

  • 全球最大的互联网络
    • ISP网络互连的“网络之网络”
  • 数以百万计的互连的计算设备集合:
    • 主机 = 端系统
    • 运行各种网络应用
  • 通信链路
    • 光纤,铜缆,无线电,卫星
  • 分组交换:转发分组(数据包)
    • 路由器和交换机

什么是Internet?-服务角度

  • 为网络应用提供通信服务的通信基础设施:
    • web,voip,email,网络游戏,电子商务,社交网络
  • 为网络应用提供应用编程接口(API):
    • 支持应用程序“连接”Internet,发送、接收数据
    • 提供类似于邮政系统的数据传输服务

什么是网络协议

协议是计算机网络有序运行的重要保证

  • 硬件(主机、路由器、通信链路等)是计算机网络的基础
  • 计算机网络中的数据交换必须遵守事先约定好的规则
  • 如同交通系统

任何通信或信息交换过程都需要规则

网络通信:

  • 通信主体是“机器”而不是人

  • 交换“电子化”或“数字化”消息

  • 计算机网络的所有通信过程都必须遵守某种规则-协议

  • 网络协议,简称协议,是为进行网络中的数据交换而建立的规则、标准或约定

  • 协议规定了通信实体之间交换的消息的格式、意义、顺序以及针对收到信息或发生的事件采取的“动作”

协议三要素

  • 语法
    • 数据与控制信息的结构或格式
    • 信号电平
  • 语义
    • 需要发出何种控制信息
    • 完成何种动作及作出何种响应
    • 差错控制
  • 时序
    • 事件顺序
    • 速度匹配

协议是计算机网络的重要内容

  • 协议规范了网络中所有信息发送和接收过程
    • tcp,ip,http,skype,802.11
  • 学习网络的重要内容之一
  • 网络创新的表现形式之一
  • Internet协议标准
    • RFC
    • IETF

计算机网络结构

  • 网络边缘:
    • 主机
    • 网络应用
  • 接入网络,物理介质:
    • 有线或无线通信链路 网络核心(核心网络):
    • 互联的路由器(或分组转发设备)
    • 网络之网络

网络边缘

  • 主机(端系统):
    • 位于“网络边缘”
    • 运行网络应用程序
      • 如:web,email
  • 客户、服务器应用模型:
    • 客户端发送请求,接收服务器响应
    • 如:web应用,文件传输FTP应用
  • 对等(P2P)应用模型:
    • 无(或不仅依赖)专用服务器
    • 通信在对等实体之间直接进行
    • 如:BT,Skype,QQ

接入网络

Q:如何将网络边缘接入核心网(边缘路由器)?

A:接入网络

  • 住宅(家庭)接入网络
  • 机构接入网络(学校、企业等)
  • 移动接入网络

用户关心的是:

  • 带宽(bps)
  • 独占 or 共享

接入网络:数字用户线路(DSL)

  • 利用不同载频传输声音、数据

  • DSL接入多路复用器

  • 利用已有的电话线连接中心局的DSLAM

    • 数据通信通过DSL电话线接入Internet
    • 语音(电话)通过DSL电话线接入电话网
  • < 2.5Mbps上行传输速率

  • < 24Mbps下行传输速率

  • FDM:

    • 50kHz - 1MHz 用于下行

    • 4kHz - 50kHz用于上行
    • 0kHz - 4kHz用于传统电话

接入网络:电缆网络

  • 频分多路复用:在不同频带(载波)上传输不同频道
  • HFC:混合光纤同轴电缆
    • 非对称:下行高达30Mbps传输速率,上行2Mbps传输速率
  • 各家庭(设备)通过电缆网络->光纤接入ISP路由器
    • 各家庭共享家庭至电缆头端的接入网络
    • 不同于DSL的独占至中心局的接入

机构(企业)接入网络(Ethernet)

  • 主要用于公司、高校、企业等组织机构
  • 典型传输速率:10Mbps,100Mbps,1Gbps,10Gbps
  • 目前,端系统通常直接连接以太网交换机

无线接入网络

  • 通过共享的无线接入网络连接端系统与路由器

    • 通过基站或称为“接入点”
  • 无线局域网

    • 同一建筑物内
    • 802.11b/g(WiFi):11Mbps、54Mbps传输速率
  • 广域无线接入

    • 通过电信运营商(蜂窝网),接入范围在几十公里
    • 带宽:1Mbps、10Mbps、100Mbps
    • 3G、4G、LTE
    • 移动互联网

网络核心

  • 互联的路由器网络

  • 网络核心的关键功能:路由+转发

  • 路由:确定分组从源到目的传输路径

  • 转发:将分组从;路由器的输入端口交换至正确的输出端口

  • 网络核心解决的基本问题:

Q:如何实现数据从源主机通过网络核心送达目的主机?

A:数据交换

Internet结构

Internet结构:网络之网络

  • 端系统通过接入ISP连接到Internet
    • 家庭、公司和大学ISP
  • 接入ISP必须进一步互连
    • 这样任意两个主机才可以相互发送分组
  • 构成复杂的网络互连的网络
    • 经济和国家政策是网络演进的主要驱动力
  • 当前Internet结构
    • 无人能给出精确描述

Q:数以百万计的接入ISP直接彼此互连?

  • 直接互连不适用于大规模网络
  • 可能出现区域网络连接接入ISP和运营商
  • 内容提供商网络可能运行其自己的网络,并就近为端用户提供服务
  • 在网络中心:少数互连的大型网络
    • “一级商业ISP”,提供国家或国际范围的覆盖
    • 内容提供商网络,私有网络,连接其数据中心与Internet,通常绕过一级ISP和区域ISPs。

数据交换-电路交换

为什么需要数据交换

  • N^2链路问题
  • 连通性
  • 网络功能

什么是交换

  • 动态转接
  • 动态分配传输资源

数据交换的类型

  • 电路交换
  • 报文交换
  • 分组交换

电路交换的特点

  • 最典型电路交换网络:电话网络
  • 电路交换的三个阶段:
    • 建立连接(呼叫/电路建立)
    • 通信
    • 释放连接(拆除电路)
  • 资源独占

电路交换网络的链路共享

电路交换网络如何共享中继线?

  • 多路复用技术

多路复用

什么是多路复用

  • 多路复用,简称复用,是通信技术中的基本概念
  • 多路复用:链路/网络资源(如带宽)划分为“资源片”
  • 将资源片分配给各路“呼叫”
  • 每路呼叫独占分配到的资源片进行通信
  • 资源片可能“闲置”(无共享)

典型多路复用方法:

  • 频分多路复用(FDM)
  • 时分多路复用(TDM)
  • 波分多路复用(WDM)
  • 码分多路复用(CDM)

频分多路复用FDM

  • 有线电视网络
  • 频分多路复用的各用户占用不同的带宽资源(Hz)
  • 用户在分配到一定的频带后,在通信过程中自始至终都占用这个频带

时分多路复用TDM

  • 时分复用则是将时间划分为一段段等长的时分复用帧(TDM帧),每个用户每个TDM帧中占用固定序号的时隙
  • 每用户嗦占用的时隙是周期性出现(其周期就是TDM帧的长度)
  • 时分复用的所有用户是在不同的时间占用相同的频带宽度

波分多路复用WDM

  • 波分复用就是光的频分复用

码分多路复用CDM

  • 广泛应用于无线链路共享(如蜂窝网,卫星通信等)
  • 每个用户分配一个唯一的m bit码片序列,其中“0”用“-1”表示、“1”用“+1”表示。
  • 各用户使用相同频率载波,利用各自码片序列编码数据
  • 编码信号=(原始数据) * (码片序列)
    • 发送比特1(+1),则发送自己的m bit码片序列
    • 发送比特0(-1),则发送该码片序列的m bit码片序列的反码
  • 各用户码片序列相互正交
  • 令{di}为原始数据序列,各用户的叠加向量为:
    • P=Σdi*Si
  • 解码:码片序列与编码信号的内积

数据交换——报文、分组交换

报文交换

  • 报文:源(应用)发送信息整体
    • 比如:一个文件

分组交换

  • 分组:报文拆分出来的一系列相对较小的数据包
  • 分组交换需要报文的拆分与重组
  • 产生额外开销

分组交换:统计多路复用

分组序列不确定,按序共享链路

存储-转发

  • 报文交换与分组交换均采用存储-转发交换方式
  • 区别:
    • 报文交换以完整报文进行“存储-转发”
    • 分组交换以较小的分组进行“存储-转发”

分组交换:传输延迟

发送主机:

  • 接收应用报文(消息)
  • 拆分为较小长度为L bits的分组
  • 在传输速率为R的链路上传输分组
  • 分组传输延迟= L/R

报文交换 vs 分组交换

  • 报文交换:
    • 报文长度M bits
    • 链路带宽为R bits
    • 每次传输报文需要M/R 秒
  • 分组交换:
    • 报文被拆分为多个分组
    • 分组长度为L bits
    • 每个分组传输时延为L/R 秒

分组交换的报文交付时间

  • 报文:M bits
  • 链路带宽(数据传输速率):R bps
  • 分组长度(大小):L bits
  • 跳步数:h
  • 路由器数:n

T=M/R+(h-1)L/R=M/R+nL/R

分组交换 vs 电路交换

  • 分组交换允许更多用户同时使用网络!——网络资源充分共享
  • 分组交换适用于突发数据传输网络
    • 资源充分共享
    • 简单、无需呼叫建立
  • 可能产生拥塞:分组延迟和丢失
    • 需要协议处理可靠数据传输和拥塞控制
  • Q:如何提供电路级性能保障?
    • 例如,音视频应用所需的带宽保障

计算机网络性能

速率

  • 速率即数据率或称数据传输速率或比特率
    • 单位时间传输信息量
    • 计算机网络中最重要的一个性能指标
    • 单位:bps、kbps、Mbps、Gbps
    • k = 10^3、 M = 10^6、 G = 10^9
  • 速率往往是指额定速率或标称速率

带宽

  • “带宽”原本指信号具有的频带宽度,即最高频率与最低频率只差,单位是赫兹(Hz)
  • 网络的“带宽”通常是数字信道所能传送的”最高数据率,单位:bps

延迟或时延

Q:分组交换为什么会发生丢包和时延

A:分组在路由器缓存中排队

  • 分组到达速率超出输出链路容量时
  • 分组排队,等待输出链路可用

四种分组延迟

  • 节点处理延迟

    • 差错检测
    • 确定输出链路
    • 通常<msec
  • 排队延迟

    • 等待输出链路可用
    • 取决于路由器拥塞程度
  • 传输延迟

    • L:分组长度
    • R:链路带宽
    • d = L/R
  • 传播延迟

    • d:物理链路长度
    • s:信号传播速度(~2*10^8m/sec)
    • d = d/s

排队延迟

  • R:链路带宽
  • L:分组长度
  • a:平均分组到达速率
  • 流量强度 = La/R
  • La/R ~ 0:平均排队延迟很小
  • La/R -> 1:平均排队延迟很大
  • La/R > 1:超出服务能力,平均排队延迟无限大

时延带宽积

  • 时延带宽积 = 传播时延 * 带宽
  • 链路的时延带宽积又称为以比特为单位的链路长度

分组丢失(丢包)

  • 队列缓存容量有限

  • 分组到达已满队列将被丢弃(即丢包)

  • 丢弃分组可能由前序结点或源重发(也可能不重发)

  • 丢包率 = 丢包数/已发分组总数

吞吐量/率

  • 吞吐量:表示在发送端与接收端之间传输数据速率(b/s)
    • 即时吞吐量:给定时刻的速率
    • 平均吞吐量:一段时间的平均速率
  • 瓶颈链路:端到端路径上,限制端到端吞吐量的链路

计算机网络体系结构

为什么需要计算机网络体系结构?

  • 计算机网络是一个非常复杂的系统,涉及许多组成部分:
    • 主机
    • 路由器
    • 应用
    • 协议
    • 硬件、软件

复杂系统的分层结构

  • 每层完成一种(类)特定服务/功能
    • 每层依赖底层提供的服务,通过层内动作完成相应功能

计算机网络的体系结构

  • 网络体系结构是从功能上描述计算机网络结构
  • 计算机网络体系结构简称网络体系结构是分层结构
  • 每层遵循某个/些网络协议完成本层功能
  • 计算机网络体系结构是计算机网络的各层及其协议的集合
  • 体系结构是一个计算机网络的功能层次及其关系的定义
  • 体系结构是抽象的

为什么采用分层结构

  • 结构清晰,有利于识别复杂系统的部件及其关系
    • 分层的参考模型
  • 模块化的分层易于系统更新、维护
    • 任何一层服务实现的改变对于系统其他层都是透明的
  • 有利于标准化

分层网络体系结构基本概念

  • 实体:表示任何可发送或接收信息的硬件或软件进程
  • 协议是控制两个对等实体进行通信的规则集合,协议是“水平的”
  • 任一层实体需要使用下层服务,遵循本层协议,实现本层功能,向上层提供服务,服务是“垂直的”
  • 下层协议的实现对上层的服务用户是透明的
  • 同系统的相邻层实体间通过接口进行交互,通过服务访问点SAP,交换原语,指定请求的特定服务

OSI参考模型

OSI参考模型

  • 开放系统互联(OSI)参考模型是由国际化标准组织于1984年提出的分层网络体系结构模型
  • 目的是支持异构网络系统的互联互通
  • 异构网络系统互联的国际标准
  • 理解网络通信的最佳学习工具(理论模型)
    • 理论成功,市场失败
  • 7层(功能),每层完成特定的网络功能
    • 应用层
    • 表示层
    • 会话层
    • 传输层
    • 网络层
    • 数据链路层
    • 物理层

OSI参考模型数据封装与通信过程

为什么需要数据封装

  • 增加控制信息
    • 构造协议数据单元(PDU)
  • 控制信息主要包括:
    • 地址:标识发送端/接收端
    • 差错检测编码:用于差错检测或纠正
    • 协议控制:实现协议功能的附加信息,如:优先级、服务质量和安全控制等

物理层功能

  • 接口特性
    • 机械特性、电器特性、功能特性、规程特性
  • 比特编码
  • 数据率
  • 比特同步
    • 时钟同步
  • 传输模式
    • 单工
    • 半双工
    • 全双工

数据链路层功能

  • 负责结点-结点数据传输
  • 组帧
  • 物理寻址
    • 在帧头中增加发送端和/或接收端的物理地址标识数据帧的发送端和/或接收端
  • 流量控制
    • 避免淹没接收端
  • 差错控制
    • 检测并重传损坏或丢失帧,并避免重复帧
  • 访问(接入)控制
    • 在任一给定时刻决定哪个设备拥有链路(物理介质)控制使用权

网络层功能

  • 负责源主机到目的主机数据分组(packet)交付
    • 可能穿越多个网络
  • 逻辑寻址
    • 全局唯一逻辑地址,确保数据分组被送达目的主机,如:IP地址
  • 路由
    • 路由器(或网关)互连网络,并路由分组至最终目的主机
    • 路径选择
  • 分组转发

传输层功能

  • 负责源-目的(端-端)(进程间)完整报文传输
  • 分段与重组
  • SAP寻址
    • 确保将完整报文提交给正确进程,如端口号
  • 连接控制
  • 流量控制
  • 差错控制

会话层

  • 对话控制
    • 建立、维护
  • 同步
    • 在数据流中插入“同步点”
  • 最“薄”的一层

表示层功能

  • 处理两个系统间交换信息的语法与语义问题
  • 数据表示转化
    • 转换为主机独立的编码
  • 加密/解密
  • 压缩/解压缩

应用层功能

  • 支持用户通过用户代理或网络接口使用网络(服务)
  • 典型应用层服务:
    • 文件传输(FTP)
    • 电子邮件(SMTP)
    • WEB(HTTP)

TCP/IP参考模型

  • 应用层
  • 运输层
  • 网际层
  • 网络接口层

5层参考模型

  • 综合OSI和TCP/IP的优点
  • 应用层:支持各种网络应用
    • FTP,SMTP,HTTP
  • 传输层:进程-进程的数据传输
    • TCP、UDP
  • 网络层:源主机到目的主机的数据分组路由转发
    • IP协议、路由协议
  • 链路层:相邻网络元素(主机、交换机、路由器等)的数据传输
    • 以太网、802.11(WiFi)、PPP
  • 物理层:比特传输

计算机网络与Internet发展史

计算机网络与Internet发展史

  • 1961:Kleinrock - 排队论证实分组交换的有效性
  • 1964:Baran - 分组交换应用于军事网络
  • 1967:ARPA提出ARPAnet构想
  • 1969:第一个ARPAnet节点运行
  • 1972:
    • ARPAnet公开演示
    • 第一个主机-主机协议NCP
    • 第一个e-mail程序
    • ARPAnet拥有15个节点
  • 1972-1980:网络互连,大量新型、私有网络的涌现
  • 1970:在夏威夷构建了ALOHAnet卫星网络
  • 1974:Cerf与Kahn-提出网络互联体系结构
    • 极简、自治 - 无需改变内部网络实现网络互连
    • 尽力服务模型
    • 无状态路由器
    • 分散控制
  • 1976:Xerox设计了以太网
  • 70's后期:
    • 私有网络体系结构:DECnet,SNA,XNA
    • 固定长度分组交换(ATM先驱)
  • 1975:ARPAnet移交给美国国防部通信局管理
  • 1979:ARPAnet发展到200个节点
  • 1980-1990:新型网络协议与网络激增
  • 1983:部署TCP/IP
  • 1982:定义了smtp电子邮件协议
  • 1983:定义了DNS
  • 1985:定义了FTP协议
  • 1988:TCP拥塞控制
  • 新型国家级网络:
    • CSnet,BITnet,NSFnet,Minitel
  • 1986:NSFnet初步形成了一个由骨干网、区域网和校园网组成的三级网络
  • 1990,2000's:商业化,web,新应用
  • 1990's早期:ARPAnet退役
  • 1991:NSF解除NSFnet的商业应用限制(1995年退役),由私营企业经营
  • 1992:因特网协会ISOC成立
  • 1990s后期:web应用
    • 超文本
    • HTML,HTTP:Berners-Lee
    • 1994:Mosaic、Netscape浏览器
    • 1990's:web开始商业应用
  • 1990's后期-2000's:
    • 更多极受欢迎的网络应用:即时消息系统,P2P文件共享
    • 网络安全引起重视
    • 网络主机约达50000,网络用户达1亿以上
    • 网络主干链路带宽达到Gbps
  • 2005-now:
  • ~7.5亿主机
    • 智能手机和平板电脑
  • 宽带接入的快速部署
  • 无处不在的高速无线接入快速增长
  • 出现在线社交网络:
    • Facebook:很快拥有10亿用户
  • 服务提供商创建自己的专用网络
    • 绕开Internet,提供“即时”接入搜索、email等服务
  • 电子商务、大学、企业等开始在“云”中运行自己的服务