计算机网路概述(上)

2023-10-25 11:16:24 浏览数 (2)

内容预览

什么是计算机网络?

计算机网络是在通信技术与计算机技术的基础上发展而来的 是通信技术与计算机技术密切结合的产物 毫不夸张的说:“计算机网络=通信技术 计算技术”

  1. 通信系统模型
  1. 计算机网络就是一种通信网络(信源与信宿都是计算机)
  2. 定义:计算机网络就是互连的自治的计算机集合
    1. 自治——无主从关系
    2. 互联——互联互通
      1. 通信链路
      1. 当主机群距离较远且数量较大时如何保证互连?
        1. 解决方法——通过交换网络互联主机

什么是Internet?

组成角度

ISP(Internet Service Provider)网络互连的"网络之网络"

数以百万计的互连的计算机设备集合:

  • 主机(hosts) = 端系统(end systems)
  • 运行各种网络应用

通信链路

  • 光纤,铜缆,无线电,卫星…

分组交换:转发分组(数据包)

  • 路由器(routers)和交换机(switches)

服务角度

为网络应用提供通信服务和通信基础设施:

  • Web,VoIP,email,网络游戏,电子商务,社交网络.etc

为网络应用提供编程接口(API)

  • 支持应用程序"连接"Internet,发送/接收数据
  • 提供类似于邮政系统的数据传输服务

问题

Q:仅有硬件(主机,链路,路由器…)连接,Internet能否顺畅运行?能保证应用数据有序交付吗? A:不行,还需要网络协议

什么是网络协议?

  • 硬件(主机,路由器,通信链路等)是计算机网络的基础
  • 计算机网络中的数据交换必须遵守事先约定好的规则——协议
  • 任何通信或信息交换过程都需要规则
  • 网络通信
    • 通信主体是"机器";交换"电子化"或"数字化"消息
    • 计算机网络所有通信过程都必须遵守某种/某些规则称为网络协议

网络协议(network protocol),简称协议,为了进行网络中的数据交换而建立的规则,标准或约定

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

网络协议的三要素

  • 语法(Syntax)
    • 数据与控制信息的结构或格式
    • 信号电平
  • 语义(Semantics)
    • 需要发出何种控制信息
    • 完成何种动作以及做出何种响应
    • 差错控制
  • 时序(Timing)
    • 时间顺序
    • 速度匹配
  • 协议规范了网络中所有信息发送和接受过程
    • eg:TCP,IP,HTTP,Skype,802.11
  • Internet协议标准
    • RFC:Request for Comments
    • IETF互联网工程任务组(Internet Engineering Task Force)

计算机网络的结构

网络边缘

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

接入网络

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

  • 接入网络的分类
    • 住宅(家庭)接入网络
    • 机构接入网络(学校,企业等)
    • 移动接入网络
  • 用户关心的指标是
    • 带宽(bandwidth)bps,计算机网络中的带宽概念是——数据传输速率,每秒传输的比特数
      • 通信中所说的带宽是信号的最高频率和最低频率之差(Hz)
    • 接入方式
      • 独占/共享;对带宽而言
数字用户线路(DSL)
  • 利用电话线实现声音和数据的同时传输
  • 多路复用技术——多路信号共同使用一个物理介质进行传输
    • 实现话音信号和数据信号进行分离
  • 调制解调器和分离器集成到一起
  • 利用已有的电话线连接中心局的DSLAM
    • 数据通信通过DSL电话线接入Internet
    • 语音(电话)通过DSL电话线接入电话网
  • <2.5Mbps上行传输速率(典型速率<1Mbps)
  • <24Mbps下行传输速率(典型速率<10Mbps)
  • DSL和ADSL采用典型的频分多路复用技术FDM:将信号调制成不同频带上利用不同频带的载波进行传输
    • 50kHz-1MHz用于下行
    • 4kHz-50kHz用于上行
    • 0kHz-4kHz用于传统电话
  • 典型应用
    • ADSL——非对称数字用户线路(上行/下行传输速率不一致)

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

典型家庭网络接入

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

无线接入网络

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

  • 通过基站(base station)或称为"接入点"(access point)
  • 无线区域网(LANs)
    • 同一建筑物内(30m)
    • 802.11b/s(WiFi):11Mbps,52Mbps传输速率
  • 广域无线接入:
    • 通过电信运营商(蜂窝网),接入范围在几十公里~
    • 带宽:1Mbps,10Mbps,100Mbps
    • 3G,4G:LTE
    • 移动互联网

网络核心

路由与转发

互联的路由器网络 网络核心的关键功能:路由 转发

  • 路由(routing):确定分组从源到目的传输路径
    • 路由算法(以internet网络为例)
  • 转发(forwarding):将分组从路由器的输入端口交换至正确的输出端口
  • 根据地址信息将分组数据送到指定接口
  • 路由器通过本地转发表(路由表)查询链路对应目的
  • 路由表由路由器运行路由协议遵循某种算法计算得到
网络核心解决的基本问题——数据交换

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

  • 为什么需要数据交换?
    • N2链路问题
    • 保证连通性
    • 网络规模
  • 什么是交换?
    • 作为交换设备具有动态转接特性
代码语言:javascript复制
  - 可以在所有交换设备端口之间动态的,在物理上,逻辑上建立端口的连接,将一个端口数据动态转移到另一个端口,这种连接在很多种设备中可以并行运行
  - 应用:电话网络中的交换机
  • 动态分配传输资源
代码语言:javascript复制
  - 在计算机网络中更加侧重对传输资源的交换
数据交换类型
  • 电路交换
  • 报文交换
  • 分组交换
电路交换
  • 电路交换——特点(独占资源,共享链路)
  • 最具代表性的电路交换网络:电话网络
  • 电路交换的三个阶段:
    • 拨号==>请求建立连接(呼叫/电路建立)
    • 通信
    • 释放连接(拆除电路)
  • 独占资源
  • 电路交换网络的链路共享
    • 电路交换网络如何共享中继线?——多路复用(Multiplexing)

多路复用

多路复用(multiplexing),简称复用,是通信技术中的基本概念

  • 链路,信道/网络资源(如带宽)划分为"资源片"
  • 将资源片分配给各路"呼叫"calls
  • 每路呼叫独占分配到的资源片进行通信
  • 资源片可能"闲置"(idle)(无共享)
  • 在电路交换网络中,事实上不能保证每一对通信都有单独的物理链路,在网络中这也是不需要的,因为在很多情况下,一些物理链路的通信能力远远大于一路通信所需的通信能力
  • 多路复用的应用——共享信道
  • 典型多路复用方法:
    • 频分多路复用(frequency division multiplexing-FDM)(有线电视网络)
代码语言:javascript复制
  - 频分多路复用的各用户占用不同的带宽资源(请注意,这里的"带宽"是频率带宽(单位:Hz)并非数据的传输速率(bps))
  - 用户分配到一定频带后,在通信过程中自始自终都占用这个频带
  • 时分多路复用(time division multiplexing-TDM)
    • 将时间划分为一段段等长的时分复用帧(TDM帧),每个用户在每个TDM帧中占用固定序号的时隙
      • FDM是通过信道使用在频率上进行分割,TDM则是在时间上进行分割
      • 每个帧划分为若干时隙,每个用户在时隙中发送一定量的数据,用户在所占用是时隙上传输数据
    • 每个用户所占的时隙是周期性出现的(其周期就是TDM帧的长度)
代码语言:javascript复制
  - 时分复用的所有用户在不同的不同时间占用相同的频带宽度
  • 波分多路复用(Wavelength division multipexing-WDM)
    • 波分复用就是光的频分复用
代码语言:javascript复制
     - 不同用户使用不同波长的光信号进行通信可以同在一条共享光纤上进行传输,送到指定用户后再使用光解调器进行分离
代码语言:javascript复制
  - 小练习
  • 码分多路复用(Code division multiplexing-CDM)
    • 广泛应用于无线链路共享(如蜂窝网,卫星通信,早期军用网络等)
    • 工作原理:
      • 为每个用户分配唯一的m bit码片序列(碎码序列)(chipping sequence),其中:“0"用”-1"表示,“1"用” 1"表示
      • 示例: S站的码片序列是:(-1 -1 -1 1 1 -1 1 1)
    • 各个用户使用相同频率载波,利用各自码片序列编码数据
    • 编码信号=(原始数据) * (码片序列)
      • 若发送比特1( 1),则发送自己的m bit码片序列
      • 若发送比特0(-1),则发送该码片序列的m bit码片序列的反码
    • 由于各个用户传输信号所用的载波频率相同,每个用户发送的数据必然在信道中势必会相互叠加,为了保证数据共享信道且彼此互不干扰则需要各个用户的码片序列相互正交(orthogonal)
  • 示例:假设{di}是一个原始数据序列( 1-1 1-1…),各用户的叠加向量为
  • 所用用户利用码片序列对原始数据进行编码后,在信道中发送信号
  • 所用用户所发送的信号在信道中进行叠加
  • 对于右端结果称为某些站点/用户码片序列/码片序列反码的叠加结果
  • 当用户接收信号时,得到的是一个叠加向量,
  • 用户如何接收指定用户传输的信号,而不受其他信号干扰——解码
  • 解码:码片序列与编码信号(信道中的叠加向量)的内积
  • result=1==>Si发送了1
  • result=-1==>Si发送了-1
  • result=0==>Si没有发送数据
  • 原理图
    • 单用户
  • 多用户
报文交换(massage switching)
  • 报文:源(应用)发送信息整体
    • ex : 一个文件
  • 报文最早也是最典型的应用,早期的电报

分组交换(package switching)
  • 分组:对报文进行拆分,得到一系列先对较小的数据包,一个数据包相当于一个分组
    • 拆分报文得到的数据包,对包中数据加上头部信息(控制信息,地址信息等)
  • 分组交换需要报文的拆分与重组
    • 发送报文的源主机将报文进行拆分成数据包,对数据包加上头部信息,构成多个分组,以多个分组的形式发送信息
    • 接收信息的目的主机,对接收到的各个分组所携带的报文的一部分数据进行合并得到完整的报文
  • 产生额外开销
  • 分组交换过程
  • 小练习
  • 统计多路复用(Startistical Multiplexing)
  • 对于A&B的带宽都是1.5Mb/s,若同时传输数据则会根据传输数据的量进行分配,极端情况下(A/B不传数据),链路由另一方独享
  • A&B分组序列不确定,按需共享链路,对链路带宽共享非常有利==>statistical multiplexing
  • 存储-转发(stare-and-forward)
  • 报文交换与分组交换均采用存储-转发交换方式
  • 区别:
    • 报文交换以完整报文进行"存储-转发"
    • 分组交换以较小的分组进行"存储-转发"
报文交换与分组交换的比较
  • 传输延迟
  • 发送(源)主机:
    • 接受应用报文(消息)
    • 拆分为较小长度为L bits的分组(packets)
    • 在传输速率为R的链路上传输分组
    • 完成链路传输所用时间称为传输延迟(时延),(发送延迟(时延))(指标一)
  • 报文交换VS分组交换
  • 报文交换
    • 报文长度为Mbits
    • 链路带宽为Rbps
    • 每次传输报文所需M/R秒
  • 分组交换
    • 报文被拆分为多个分组
    • 分组长度为Lbits
    • 每个分组传输时延为L/R秒
  • 假设忽略除传输时延以外的延迟(分组的拆分和组装,头部的额外开销等),设定数据
    • M=7.5Mbits //报文长度
    • L=1500bits //分组长度
      • M=5000L //分组个数
    • R=1.5Mbps //链路带宽
代码语言:javascript复制
  - 结果
     - 报文交换==>报文交付时间=15s
        - 传输过程路由器至少需要多大缓存?——7.5Mbits
     - 分组交换==>报文交付时间5002ms=5.002sec
        - 传输过程路由器至少需要多大缓存?——1500bits
  - 结论:
     - 分组交换大部分时间可以并行转发分组
     - 报文交换则是串行转发分组
     - 分组交换在传输率上远远由于报文交换,也正是基于这一特点分组交换技术是现行计算机网络以及大部分数据通讯网络广泛使用的
  • 案例扩展
  • 报文:Mbits
  • 链路带宽:Rbps
  • 分组长度(大小):Lbits
  • 跳步数:h
  • 路由器是数:n = h -1
  • 存在以下关系:(记报文从源主机交付到目的主机所需的总的时间为T)
  • 例题1.1
分组交换与电路交换的比较
  • 传播时延
  • 假设如下条件:
    • 链路带宽1Mb/s
    • 每个用户:"活动"时需100kb/s,平均活动时间10%
  • 电路交换:
    • 由于电路交换对传输链路不支持共享,所以最多支持10个用户进行传输(1Mbps/100kb/s)
  • 分组交换
    • 在此场景下,基于某种统计,对于35个用户,大于10个用户同时活动的概率<0.0004
  • 结论:
    • 分组交换允许更多用户同时使用网络——网络资源充分共享
    • 分组交换并非绝对优于电路交换
    • 适用于突发数据传输网络
      • 资源充分共享
      • 简单,无需呼叫建立,Internet就是一种分组交换网
    • 可能产生拥塞(congestion):分组延迟和丢失
      • 需要协议处理可靠数据传输和拥塞控制
    • 如何实现提供电路级性能保障?
      • 例如——音/视频应用所需的带宽保障
  • 小练习

Internet结构:网络之网络

端系统通过接入ISP(access ISPs)连接到Internet

  • 家庭,公司和大学ISPs

接入ISP必须进一步互连

  • 这样任意两个主机才可以互相发送分组

构成复杂的网络互连的网络

  • 经济和国家政策是网络演进的主要驱动力

当前的Internet结构

  • 无人能给出精确的描述
  • Q:数以百万计的接入ISP是如何互联在一起的?
  • 可选方案:
    • 每个接入ISP直接彼此互连接?
  • 将每个接入ISP连接到一个国家或全球ISP(Global ISP)
  • 但是从商业角度,必定存在竞争者,这些ISP网络必须互连
  • 可能出现区域网络(regional networks)连接接入ISP和运营商ISP
  • 内容提供商网络(content provider nerworks,如:Google,Microsoft等)可能运行其自己的网络,并就近为端用户提供服务,内容

  • 在网络中心:少数互连的大型网络
    • “一级(tier-1)商业ISPs”(如:网通,电信,Sprint,AT&T),提供国家或国际范围的覆盖
  • 内容提供商网络(content provider networks,如Google):私有网络,连接其数据中心与Internet,通常绕过一级ISP和区域ISP

0 人点赞