1 Internet 具体结构

  Internet是松散的层次结构,也叫做网络的网络,由无数互联的ISP(互联网服务提供商)组成

  • 节点
    • 主机及其上运行的应用程序(主机:端系统;网络应用程序)
    • 路由器、交换机等网络交换设备(分组交换设备:转发分组packets)
  • 边(通信链路)
    • 接入网链路:主机连接到互联网的链路
    • 主干链路:路由器之间的链路(光纤、电缆、无线电、卫星)
  • 协议
    • TCP、IP、HTTP、FTP、PPP等

2 网络边缘

2.1 网络结构

  • 网络边缘:主机、应用程序
  • 网络核心:互联着的路由器、网络的网络
  • 接入网、物理媒体:有线或者无线通信链路

2.2 网络边缘

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

2.2.1 面向连接服务

目标:在端系统之间传输数据,在数据传输之前握手做好准备(Transmission Control Protocol,TCP)传输控制协议

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

案例:HTTP(web),FTP(文件传送),Telnet(远程登陆),SMTP(email)

2.2.2 无连接服务

目标:在端系统之间传输数据,无连接服务(User Datagram Protocol,UDP)用户数据报协议

案例:流媒体、远程会议、DNS、Internet电话

3 网络核心

3.1 电路交换

  端到端的资源被分配给从源端到目标端的呼叫“call”。如下图所示,每段链路有4条线路,当完成呼叫后,独享这一条链路资源(性能保障),但如果没有数据发送,被分配的资源就会被浪费。

  电路交换的原理为呼叫分片,将网络资源分片,如频分、时分、波分

3.2 分组交换

  • 以分组为单位存储-转发的方式,网络带宽资源不再分为一个个的切片,传输时使用全部的带宽,主机之间传输的数据被分为一个个分组
  • 网络核心中的路由器进行存储-转发,再转发之前需要接收到整个分组,线路延时会大于电路交换,并且存在不确定的排队时间
  • 排队和延时都可能出现,极端情况下路由器缓存耗尽则分组会被抛弃造成包丢失
  • 网络核心的关键功能:路由(决定分组从源到目标的路径),转发(将分组从输入链路转移到输出链路)

3.3 电路交换和分组交换对比

  • 假设线路带宽为 1Mbps,每个用户活跃时带宽为 100kbps
    • 线路交换:1M / 100k = 10 个用户(最大支持10个用户使用)
    • 分组交换:假设有35个用户,任意时刻>=10个用户的概率为 0.4%,可以理解为支持35个用户使用分组交换
  • 分组交换延时更高,有数据丢失的风险,过度使用分组交换会导致网络拥塞

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

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

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

数据报(datagram)的工作原理

  通信之前无需建立连接,每个分组都独立路由(路径不一样,可能失序),路由器根据目标地址进行路由

4 接入网和物理媒体

  • modem(调制解调器),使用已有的电话线作为物理媒介,通过调制加载音频传输信号
  • 有线电视网络传输信号(非对称,最高30Mbps下行,2Mbps上行传输速率)
  • 无线接入网络,WLANs或者广域无线网(4G 5G LTE)
  • 物理媒体:同轴电缆,光纤和光缆

5 Internet结构和ISP

  端系统通过接入ISPs(网络服务提供商)连接到互联网,接入ISPs必须是互联的,才能保证信息发送到任意2个不同ISP的端系统,导致“网络的网络”非常复杂。接入网连接入区域性ISP,区域性ISP与顶层ISP相连实现不同地区的网络互连,也可以通过IXP(对等ISP互联互通)互联。其中ICP(互联网内容提供商)如谷歌会部署专用网络和各级ISP连接

  • 第一层ISP:国家/国际覆盖,速率极高:与其他第一层ISP相连,与大量第二层ISP和其他客户端相连
  • 第二层ISP:区域性ISP,与一个或多个第一层ISP相连,与其他第二层ISP相连
  • 第三层ISP和其他本地ISP:接入网(与端系统最近)

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

  • 分组延时
    • 节点处理延时:检查bit级出错,检查头部决定传输方向
    • 排队延时:在输出链路上排队等待之前的包发送
    • 传输延时:包大小和链路带宽决定
    • 传播延时:物理链路距离和传播速度决定
  • 排队延时
    • R(链路带宽bps)、L(分组长度bits)、a(分组到达平均速率)
    • 排队延时越接近1,平均延时会大幅上升
    • Traceroute诊断程序,从源端到目标端经过的路由器,测量延时

7 协议层次和服务模型

  • 服务和服务访问点
    • 服务(service):低层实体向上层实体提供他们之间通信的能力
    • 原语(primitive):上层使用下层服务的形式,高层使用低层提供的服务,以及低层向高层提供服务都通过访问原语进行交互
    • 服务访问点SAP(services access point):上层使用下层提供的服务通过层间接口的地点
  • 服务的类型
    • 面向连接的服务(包括建立连接、通信、拆除链接的过程,保序性,字节流)
    • 无连接的服务(不可靠、无序建立连接、可能重复和失序)
  • Internet 协议栈
    • 应用层(报文 message):网络应用,在TCP和UDP基础上实现FTP、HTTP、SMTP、DNS等
    • 传输层(报文段 segment):主机之前的数据传输,在将网络层提供的端到端通信基础上细分为进程到进程(TCP、UDP)
    • 网络层(分组 packet或数据报 datagram):为数据报从源到目标选择路由(IP,路由协议)
    • 链路层(帧 frame):相邻网络节点间的数据传输(点对点协议,可靠或不可靠)
    • 物理层(位 bit):在线路上传播bit