课程参考哔哩哔哩中科大郑老师:《计算机网络(自顶向下方法 第7版,James F.Kurose,Keith W.Ross)》课程
PDF资源
:链接: https://pan.baidu.com/s/1gvmX9CI0dS1P8_c2vYbxYQ 密码: 2dup
什么是Internet
从具体构成角度
节点
:
- 主机及其上运行的应用程序
- 路由器、交换机等网络交换设备
边
:通信链路
- 接入网链路:主机连接到互联网的链路
- 主干链路:路由器间的链路
协议
:
什么是协议 ==> 对等层( Peer entity )的实体 遵守
协议
进行通信
从服务角度
小结:
- 从具体构成角度来看:互联网指
网络的网络
- 从服务的角度来看:
分布式应用 + 基础设施
网络边缘
网络边缘:
- 主机
- 应用程序(客户端和服务器)
网络核心:
- 互连着的路由器
- 网络的网络
接入网、物理媒体:
- 有线或者无线通信链路
是什么
能干嘛
采用网络设施的面向连接服务
目标:在端系统之间传输数据
- 握手:在数据传输之前做好准备
- 两个通信主机之间为
连接建立状态
类比:人类协议中:你好、你好
TCP传输控制协议(Transmission Control Protocol): Internet 上面向连接的服务,TCP 服务 [ RFC 793 ]
- 可靠地、按顺序地传送数据
- 确认和重传
- 流量控制
- 发送方不会淹没接收方
- 拥塞控制
- 当网络拥塞时,发送方降低发送速率
TCP 应用场景
:HTTP (Web), FTP (文件传送), Telnet (远程登录), SMTP (email)
采用基础设施的无连接服务
目标:在端系统之间传输数据,
无连接服务
UDP用户数据报协议(User Datagram Protocol)[RFC 768]:
- 无连接
- 不可靠数据传输
- 无流量控制
- 无拥塞控制
UDP 应用场景
:流媒体、远程会议、 DNS、 Internet电话
小结:TCP与UDP,特性不同,使用场景不同。
TCP有代价,损失了实时性
网络核心
是什么
网络核心:路由器的网状网络
能干嘛
电路交换
为每个呼叫预留一条
专有电路
:如电话网端到端的资源被分配给从
源端
到目标端
的呼叫 “call”
图中,每段链路有4条线路: 该呼叫采用了上面链路的第2个线路,右边链路的第1个线路(piece)
- 独享资源:不同享
- 每个呼叫一旦建立起来就能够保证性能
- 如果呼叫没有数据发送,被分配的资源就会被浪费 (no sharing)
- 通常被传统电话网络采用
为呼叫预留端-端资源:
- 链路带宽、交换能力
- 专用资源:不共享
- 保证性能
- 要求建立呼叫连接
划分方式
网络资源(如带宽)被分成
片
- 为呼叫分配片
- 如果某个呼叫没有数据,则其资源片处于
空闲状态
(不共享)
划分方式:波分、时分、频分、码分
小结:
电路交换不适合计算机之间的通信
- 连接建立时间长
- 计算机之间的通信有突发性,如果使用线路交换,则浪费的片较多
- 即使这个呼叫没有数据传递,其所占据的片也不能够被别的呼叫使用
分组交换
以
分组为单位
存储-转发方式,资源共享,按需使用:
- 网络带宽资源不再分分为一个个片,传输时使用全部带宽
- 主机之间传输的数据被分为一个个分组
- 存储-转发:分组每次移动一跳( hop )
面临问题:
- 在转发之前,节点必须收到整个分组
- 延迟比线路交换要大
- 排队时间
存储-转发
被传输到下一个链路之前,整个分组必须到达
路由器
:
# 在一个速率为R bps的链路,一个长度为L bits 的分组的存储转发延时: L/R s
L = 7.5 Mbits
R = 1.5 Mbps
3次存储转发的延时 = 15 s
排队延迟和丢失
如果到达速率 > 链路的输出速率:
- 分组将会排队,等待传输
- 如果路由器的缓存用完了,分组将会被抛弃
关键功能
路由
: 决定分组采用的源到目标的路径
转发
: 将分组从路由器的输入链路转移到输出链路
特殊的时分(统计多路复用)
A&B 时分复用 链路资源
A & B 分组没有固定的模式 ➡️ 统计多路复用
两者对比
同样的网络资源,分组交换允许更多用户使用网络!
适合于对突发式数据传输:
- 资源共享
- 简单,不必建立呼叫
过度使用会造成网络拥塞
:分组延时和丢失
- 对可靠地数据传输需要协议来约束:拥塞控制
# Q: 怎样提供类似电路交换的服务?
分组交换网络:存储-转发
分组交换:
分组的存储转发一段一段从源端传到目标端,按照有无网络层的连接,分成:数据报网络:
- 分组的目标地址决定下一跳
- 在不同的阶段,路由可以改变
- 类似:问路
- Internent
虚电路网络:
- 每个分组都带标签(虚电路标识 VCID),标签决定下一跳
在呼叫建立时决定路径
,在整个呼叫中路径保持不变- 路由器维持每个呼叫的状态信息
- X.25 和 ATM
数据报(datagram) 的工作原理
- 在通信之前,无须建立起一个连接,有数据就传输
- 每一个分组都独立路由(路径不一样,可能会失序)
- 路由器根据分组的目标地址进行路由
虚电路(virtual circuit)的工作原理
总结:
接入网和物理媒体
Q: 怎样将端系统和边缘路由器连接?
- 住宅接入网络
- 单位接入网络 (学校、公司)
- 无线接入网络
注意:
- 接入网络的带宽 (bits per second) ?
- 共享/专用?
住宅接入:modem
将上网数据
调制
加载音频信号上,在电话线上传输,在局端将其中的数据解调
出来;反之亦然
- 调频
- 调幅
- 调相位
- 综合调制
拨号调制解调器
- 56Kbps 的速率直接接入路由器(通常更低)
- 不能同时上网和打电话:不能总是在线
接入网: DSL
采用
现存的
到交换局 DSLAM 的电话线
==> 注意每个用户是专用线路
- DSL线路上的数据被传到互联网
- DSL线路上的语音被传到电话网
< 2.5 Mbps上行传输速率(typically < 1 Mbps)
< 24 Mbps下行传输速率(typically < 10 Mbps)
接入网: 线缆网络
有线电视信号线缆
双向改造
===> 各个用户是共享线路
FDM
: 在不同频段传输不同信道的数据,数字电视 和 上网数据(上下行)
HFC: hybrid fiber coax
- 非对称: 最高30Mbps的下行传输速率, 2 Mbps 上行传输速率
线缆和光纤网络
将个家庭用户接入到 ISP 路由器
各用户共享
到线缆头端的接入网络
住宅接入:电缆模式
接入网: 家庭网络
企业接入网络:(Ethernet)
经常被企业或者大学等机构采用
- 10 Mbps, 100Mbps, 1Gbps, 10Gbps传输率
- 现在,端系统经常直接接到以太网络交换机上
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-X72a8D19-1621212484101)(/Users/ouxiaomin/Library/Application Support/typora-user-images/image-20210410114604594.png)]
无线接入网络
各无线端系统共享无线接入网络(端系统到无线路由器)
- 通过基站或者叫接入点
物理媒体
Bit: 在发送-接收对间传播
物理链路:连接每个发送-接收对之间的物理媒体
导引型媒体: 信号沿着固体媒介
被导引:同轴电缆、光纤、 双绞线
非导引型媒体: 开放的空间传输电磁波或者光信号
,在电磁或者光信号中承载数字数据
双绞线 (TP):两根绝缘铜导线拧合
- 5类:100Mbps 以太网,Gbps 千兆位以太网
- 6类:10Gbps万兆以太网
同轴电缆
两根同轴的铜导线,
- 双向
- 基带电缆: 电缆上一个单个信道 ;Ethernet
- 宽带电缆: 电缆上有多个信道 ;HFC
光纤和光缆
光脉冲,每个脉冲表示一个 bit,在玻璃纤维中传输
- 高速: 点到点的高速传输(如10 Gps-100Gbps传输速率 )
- 低误码率:在两个中继器之间可以有很长的距离,不受电磁噪声的干扰
- 安全
无线链路
开放空间传输电磁波,携带要传输的数据
特点:
- 无需物理“线缆”
- 双向
传播环境效应:
- 反射
- 吸收
- 干扰
无线链路类型:
- 地面微波:up to 45 Mbps channels
- LAN :(e.g., WiFi) 11Mbps, 54 Mbps,540Mbps…
- wide-area: (e.g., 蜂窝) 3G cellular: ~ 几Mbps 、4G 10Mbps 、 5G 数Gbps
- 卫星:每个信道Kbps 到45Mbps (或者多个聚集信道) 、270 msec端到端延迟 、同步静止卫星和低轨卫星
Internet 结构和 ISP
端系统通过接入
ISPs
(Internet Service Providers)连接到互联网
- 住宅,公司和大学的 ISPs
- 接入 ISPs 相应的必须是互联的
- 因此任何 2 个端系统可相互发送分组到对方
导致的“网络的网络”非常复杂 ====> 发展和演化是通过
经济的和国家的政策
来驱动的
问题: 给定数百万接入 ISPs,如何将它们互联到一起?
解决措施:将每个接入ISP都连接到全局ISP
(全局范围内覆盖)
客户 ISPs 和提供者 ISPs 有经济合约
但是,如果全局ISP是可行的业务,那会有竞争者,有利可图,一定会有竞争
竞争:但如果全局 ISP 是有利可为的业务,那会有竞争者
合作:通过 ISP 之间的合作可以完成业务的扩展,肯定会有互联,对等互联的结算关系
IXP
==> 互联网交换点 Internet Exchange Point
然后业务会细分(全球接入和区域接入),区域网络将出现,用与将接入ISPs连接到全局ISPs
然后内容提供商网络( Internet Content Providers,e.g., Google,Microsoft, Akamai) 可能会构建它们自己的网络,将它们的服务、内容更加靠近端用户,向用户提供更好的服务,减少自己的运营支出
ICP
===> 靠近 ISP 服务部署站点
演化后的网络结构:
在网络的最中心,一些为数不多的充分连接的大范围网络(分布广、节点有限、但是之间有着多重连接)
“tier-1”
commercial ISPs (e.g., Level 3, Sprint, AT&T, NTT), 国家或者国际范围的覆盖
content provider network
(e.g., Google): 将它们的数据中心接入ISP,方便周边用户的访问;通常私有网络之间用专网绕过第一层 ISP 和区域网络
network of networks
第一层 ISP
中心
:第一层 ISP(如UUNet, BBN/Genuity, Sprint, AT&T)国家/国际覆盖,速率极高
- 直接与其他第一层 ISP 相连
- 与大量的第二层 ISP 和其他客户网络相连
eg: BBN/GTE US backbone network
eg:Tier-1 ISP: e.g., Sprint
第二层 ISP
第二层 ISP: 更小些的 (通常是
区域性的
) ISP与一个或多个第一层 ISPs,也可能与其他第二层 ISP
第三层 ISP 与其他本地 ISP
接入网 (
与端系统最近
)
总结:
一个分组要经过许多网络!
同时可能会加入许多内容服务商
:很多内容提供商(如:Google, Akamai )可能会部署自己的网络,连接自己的在各地的 DC(数据中心),走自己的数据 连接若干 local ISP 和各级(包括一层)ISP,更加靠近用户
ISP 之间的连接
POP: 高层 ISP 面向客户网络的接入点,涉及费用结算
- 如一个低层 ISP 接入多个高层 ISP,多宿(multi home)
对等接入:2个 ISP 对等互接,不涉及费用结算
IXP:多个对等 ISP 互联互通之处,通常不涉及费用结算
- 对等接入
ICP 自己部署专用网络,同时和各级 ISP 连接
分组延时、丢失和吞吐量
# 分组丢失和延时是怎样发生的?
在路由器缓冲区的分组队列:
分组到达链路的速率超过了链路输出的能力
- 分组等待排到队头、被传输
四种分组延时
节点处理延时
检查 bit 级差错
检查分组首部和决定将分组导向何处
排队延时
在输出链路上等待传输的时间
依赖于路由器的拥塞程度
随机的
传输延时
R = 链路带宽(bps)
L = 分组长度(bits)
将分组发送到链路上的时间 = L/R
存储转发延时
传播延时
d = 物理链路的长度
s = 在媒体上的传播速度(~2x108 m/sec)
传播延时 = d/s
车队类比:情况一
车队类比:情况二
节点延时
总结:
Internet 的延时和路由:
Traceroute 诊断程序: 提供从源端,经过路由器,到目的的延时测量
分组丢失
链路的队列缓冲区容量有限,当分组到达一个满的队列时,该分组将会丢失,丢失的分组可能会被前一个节点或源端系统重传,或根本不重传
三种情况:由上一个节点重传、由源主机重传、或者如果是UDP方式发送就重传
举例:以太网不重传 ===> 响鼓不用重锤
吞吐量
吞吐量: 在
源端
和目标端
之间传输的速率(数据量/单位时间)
- 瞬间吞吐量: 在一个时间点的速率
- 平均吞吐量: 在一个长时间内平均值
瓶颈链路:端到端路径上,限制端到端吞吐的链路
短板效应
:其他节点都不传输,吞吐量min{Rs,Rc}
同理:
互联网场景:
协议层次及服务模型
协议层次
网络功能繁杂:数字信号的物理信号承载、点到点、路由、rdt、进程区分、应用等
现实来看,网络的许多构成元素和设备:
- 主机
- 路由器
- 各种媒体的链路
- 应用
- 协议
- 硬件, 软件
# 如何组织和实现这个复杂的网络功能?
例子1: 航线系统
功能层次:
例子2: 两位异地哲学家的交流
每一层的服务包括下层所提供的服务
以及本层所提供的服务特性
最高层的应用是网络存在的理由
对等的实体遵守相应的协议进行实现
类比: 长官和士兵
服务模型
名称解释
服务( Service)
:低层实体向上层实体提供它们之间的通信的能力
- 服务用户(service user)
- 服务提供者(service provider )
原语(primitive)
:上层使用下层服务的形式,高层使用低层提供的服务,以及低层向高层提供服务都是通过服务访问原语来进行交互的 ===> 规定上层和下层的服务形式
服务访问点 SAP (Services Access Point)
:用于下层服务提供者来区分不同上层用户的信息
,传过层间的这样一些信息。
类比:邮寄快递
服务的类型
面向连接的服务
无连接的服务
服务和协议
服务与协议的区别 :
- 服务(Service):低层实体向上层实体提供它们之间的通信的能力,是通过原语(primitive)来操作的,
服务是垂直的关系
- 协议(protocol) :对等层实体(peer entity)之间在相互通信的过程中,需要遵循的规则的集合,
协议是水平的关系
服务与协议的联系:
- 本层
协议的实现
要靠下层提供的服务来实现 - 本层实体通过协议为上层
提供更高级的服务
数据单元(DU)
类比:货车装货
一对一的关系:
一对多的关系:
多对一的关系:
针对PDU,每一层都有不同的叫法
===> 报文、报文段、分组(数据报)、帧、bit
分层的特点:利多弊少
- 分而治之
- 便于采用更新的技术
- 效率降低
Internet 协议栈
ISO/OSI 参考模型
完整流程
应用层:报文(message)
传输层:报文段(segment):TCP段,UDP数据报
网络层:分组packet(如果无连接方式:数据报datagram)
数据链路层:帧(frame)
物理层:位(bit)
物理层:将数字信号转换为物理信号进行传输,能够将链路层传过来的bit
传送给对等的上层
链路层:以帧为单位,点到点的传输
网络层:仅是点到点还不够,还要实现源主机到目标主机的传输。两个重要作用:转发和路由
传输层:主机上跑了很多的进程,还要进行进程到进程的区分。不可靠的服务转化为可靠的服务