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