第一章—概述
1.1、什么是Internet?
从具体构成角度:
- 节点
- 主机上运行的应用程序
- 路由器、交换机等网络交换设备
- 边:通信链路
- 接入网链路:主机连接到互联网的链路
- 主干链路:路由器间的链路
- 协议
- 数以亿计的、互联的计算设备
- 主机 = 端系统
- 运行的网络应用程序
- 通信链路
- 光纤、同轴电缆、无线电、卫星
- 传输速率 = 贷宽
- 分组交换设备:转发分组
- 路由器和交换机
- 协议控制发送、接收消息
- 如TCP、IP、HTTP、FTP、PPP
- Internet:“网络的网络”
- 松散的层次结构、互连的ISP
- 公共Internet 专用internet
- Internet标准
- RFC:Request for comments(请求评述)
- IEIF:Internet Engineering Task Force
什么是协议?
- 协议定义了在两个或多个通信实体之间交换的报文格式和次序,以及在报文传输或接收或者其他方面所采取的动作
从服务角度:
- 使用通信设施进行通信的分布式应用
- Web、VoIP、Email、分布式游戏
- 通信基础设施为apps提供编程接口(通信服务)
- 将发送和接受数据的apps与互联网连接起来
1.2、网络边缘
网络结构:
- 网络边缘
- 主机
- 应用程序
- 网络核心
- 互连着的路由器
- 网络的网络
- 接入网、物理媒体
- 有线或者无线通信链路
网络边缘:
- 端系统
- 运行的程序
- 如We、Email
- 在“网络的边缘”
- 客户/服务器模式
- 客户端像服务器请求、接受服务
- 如Web浏览器/服务器:email客户端/服务器
- 对等(peer—to—peer) 模式
- 很少(甚至没有)专门的服务器
网络边缘:采用网络设施的面向连接服务
- 目标:在端系统之间传输数据
- 握手:在数据传输之前做好准备
- 两个通信主机之间为连接建立状态
- TCP:传输控制协议(Transmission Control Protocol)
- Internet上面向连接的服务
- 握手:在数据传输之前做好准备
- TCP服务
- 可靠的、按顺序地传送数据
- 确认和重传
- 流量控制
- 发送方不会淹没接收方
- 拥塞控制
- 当网络拥塞时,发送方降低发送速率
- 可靠的、按顺序地传送数据
网络边缘:采用基础设施的无连接服务
-
目标:在端系统之间传输数据
- 无连接服务
- UDP:用户数据报协议(User Datagram Protocol)
- 无连接
- 不可靠数据传输
- 无流量控制
- 无拥塞控制
-
使用TCP的应用:
- HTTP(Web)、FTP(文件传送)Telent(远程登录)、SMTP(email)
-
使用UDP的应用:
- 流媒体、远程会议、DNS、Internet电话
1.3、网络核心
网络核心:路由器的网状网络
基本问题:数据怎样通过网络进行传输?
- 电路交换:为每个呼叫预留一条专有电路
- 分组交换
- 将要传送的数据分成一个个单位
- 将分组从一个路由器传到相邻的路由器,一段段最终从资源端传到目标端
- 每段采用链路的最大传输能力(带宽)
电路交换:
电路交换是:建立连接(占用通信资源)—> 通话(一直占用通信资源)—> 释放连接(归还通信资源)
端到端的资源分配给从源端到目标端的呼叫:
- 独享资源:不共享:每个呼叫一旦建立起来就能够保证性能
- 如果呼叫没有数据发送,被分配的资源就会被浪费
网络资源(如带宽)被分成片
- 为呼叫分片
- 将带宽分片
- 频分(Frequencydivision multiplexing)
- 时分(Time-division multiplexing)
- 波分(Wave-division multiplexing)
分组交换
分组交换:采用存储转发技术。以分组为单位存储—转发,资源共享,按需使用。
- 网络带宽资源不再分一个个片,传输时使用全部带宽
- 主机之间传输的数据被分为一个个分组
- 存储—转发:分组每次移动一跳
分组交换:分组的存储转发一段一段从源端传到目标端 ,按照有无网络层的连接,分成:
- 数据报网络:
- 分组的目标地址决定下一跳
- 在不同的阶段,路由可以改变
- 虚电路网络:
- 每个分组都带标签(虚电路标识 VC ID),标签决定下一跳
- 在呼叫建立时决定路径,在整个呼叫中路径保持不变
- 路由器维持每个呼叫的状态信息
存储—转化:
- 被传输到下一个链路之前整个分组必须到达路由器:存储转发
- 在一个速率为R bps的链路,一个长度为L bits的分组的存储转发延时:L/R s
排队延迟和丢失:
- 排队和延迟
- 如果到达速率 > 链路的输出速率
- 分组将会排队,等待传输
- 如果路由器的缓存用完,分组将会被抛弃
网络核心的关键功能:路由和转发
- 路由:决定分组采用的源到目标的路径
- 转发:将分组从路由器的输入链路转移到输出链路
1.4、分组延时、丢失和吞吐量
四种分组延时
-
处理延时
- 检查bit差错
- 检查分组首部和决定将分组导向处
-
排队延时
- 在输出链路上等待传输的时间
- 依赖于路由器的拥塞成程度
-
传输延时
- R = 链路带宽(bps)
- L = 分组长度(bits)
- 将分组转发到链路上的时间 R / L
-
传播延时
- d = 物理链路长度
- s = 在媒体上的传播速度(~2* 10 ^ 18)
- 传播延时:d / s
节点延时
节点延时:$d~nodal = d~proc + d~queue + d~tans + d~prop$
dproc = 处理延时 :通常是微妙级别或更少
dqueue = 排队延时:取决于拥塞程度
dtans = 传输延时:=L / R
dprop = 传播延时:几微秒到几百毫秒
排队延时
-
R = 链路带宽(bps)
-
L = 分组长度(bits)
-
a = 分组到达队列的平均速率
流量强度 = La / R
- La / R ~ 0:平均排队延时很小
- La / R -> 1:延时变得很大
- La / R > 1:比特到达队列的速率超过了该队列输出的速率,平均排队延时将趋向无穷大
分组丢失的原因:链路的队列缓冲容量有限、当分组到达一个满队列时,该分组会丢失、丢失的分组可能会被前一个节点或源端系统重传
吞吐量
吞吐量:在源端和目标端之间的传输速率(数据量/单位时间)
- 瞬间吞吐量:在一个时间点的速率
- 平均吞吐量:在一个长时间内平均值
端到端平均吞吐=min{R1, R2, R3, … , Rn}
1.5、协议层次和服务模型
协议的层次:
层次化方式实现复杂网络功能:
- 将网络复杂的功能分层能明确层次,每层实现一个或一组功能,功能中有其上层可以使用的功能:服务
- 本层协议实体相互交互执行本层的协议动作,目的实现本层功能,通过接口为上层提供更好的服务
- 在实现本层服务的时候,直接利用下层所提供的服务
- 本层的服务:借助下层服务实现本层协议实体之间交互带来的新功能+下层所提供的服务
服务和服务访问点
服务(Service):底层实体向上层实体提供他们之间的通信能力
- 服务用户(service user)
- 服务提供者(service provide)
原语(primitive):上层使用下层服务形式,高层使用低层提供的服务,以及低层向高层提供服务都是通过服务访问原语来进行交互的形式
服务访问点SAP(Service Access Point):上层使用下层提供的服务通过层间接口—地点。
- 地址(address):下层的一个实体支撑着上层的多个实体,SAP由于标志不同上层实体的作用
- 可以有不同的实现队列