计算机网络和因特网
一、什么是Internet?
计算机网络
- 定义
- 两台以上具有独立操作系统的计算机通过某些介质连接成的相互共享软硬件资源的集合体。
- 功能
- 连通性
- 共享性
Internet
具体构成
- 主机(
host
)/端系统(end system
)- 运行网络应用程序。
- 作为因特网中的设备。
- 通过通信链路和分组交换机连接在一起。
通信链路由不同的物理媒体组成,导致链路的传输速率(bit/s)不同。
- 分组
- 端到端发送数据时,发送端系统将数据分段并加上首部字节,这样形成的信息包则为分组。
- 分组交换机
- 路由器:用于网络核心中(内部)。
- 链路层交换机:用于接入网中(外部)。
- 路径
- 从发送端到接收端,一个分组经历的一系列通信链路+分组交换机称为该网络的路径。
提供服务
- 提供网络应用基础架构
- 允许终端系统上运行分布式应用程序,并彼此交换数据。
- 为分布式应用程序提供通信服务接口
- 无连接服务
- 面向连接服务
- 不提供数据传递时间保证的服务
通信控制
ISP
(Internet Service Provider)因特网服务提供商- 由多个分组交换机和多段通信链路组成的网络。
- 每个
ISP
之间需要互联(不一定要直连)。 - 端系统通过
ISP
接入因特网。
- 两个重要协议
TCP
(Transmission Control Protocol)传输控制协议。IP
(Internet Protocol)网际协议。
- 协议
- 定义两个及以上通信实体间交换报文的格式和次序,以及在报文收发事件采取的行动。
P r o t o c o l = G r a m m a r + S e m a n t i c + S y n c h r o n i z a t i o n Protocol=Grammar+Semantic+Synchronization Protocol=Grammar+Semantic+Synchronization
- 定义两个及以上通信实体间交换报文的格式和次序,以及在报文收发事件采取的行动。
二、网络边缘(不考)
接入网
- 将端系统连接到其边缘路由器的物理链路。
- 住宅接入
DSL
(Digital Subscriber Line)数字用户线- 电缆
DSLAM
用户数据线接入复用器- 负责接收和分隔数据和电话信号。
FTTH
(Fiber To The Home)光纤到户- 企业(家庭)接入
- 以太网(最流行)
- WiFi
- 用局域网将端用户连接到边缘路由器。
- 广域无限接入
4G
、5G
物理媒体
- 作为传输器到接收器之间的媒介。
- 双绞铜线
- 由两根隔离的铜线组成,以规则的螺旋形式排列。
- 绞合可减少电气干扰。
UTP
(Unshield Twisted Pair)无屏蔽双绞线- 即加上了保护型防护层。
- 同轴导线
- 由两个同心的铜导体组成。
- 端系统可靠此电缆相连。
- 光纤
- 细而软、可导引光脉冲的媒体。
- 陆地无线电信道
- 1m~2m
- 10m~1000m
- 1000m+
- 卫星无线电通道
- 同步卫星
- 近地轨道卫星
三、网络核心
分组交换
- 分组交换网络
- 每个端到端的数据流被划分为分组。
- 每个分组共享网络资源。
- 每个分组使用全部网络带宽。
- 网络核心功能
- 转发:将分组发送到适合的出链路。
- 路由:决定分组所包含的路径。
- 存储转发
- 指交换机在开始输出之前,必须接收整个分组。
P
个L
比特的分组经过N
条传输速率为R
的链路耗时
( N − 1 + P ) L R (N-1+P) \frac{L}{R} (N−1+P)RL
- 统计复用
- 传入交换机的分组没有固定的顺序。
- 排队
- 当交换机的服务速率小于分组到达速率时,将其加入排队队列。
- 路由器缓存空间满,分组被丢弃。
- 输出缓存
- 用于存储路由器准备发往占用链路的分组。
- 转发表(Forwarding Table)
- 用于将目的地址映射成输出链路。
- 路由选择协议会自动设置转发表。
电路交换
- 定义
- 端系统通信期间,预留了通信沿路径所需资源。
- 链路带宽分片
FDM
(Frequency-Division Multiplexing)频分复用。TDM
(Time-Division Multiplexing)时分复用。
- 电路交换网络
- 每个链路有
n
条电路,可以支持n
条 同步连接。 - 每个连接获得链路带宽的
1/n
。
- 每个链路有
- 分组交换相较于电路交换
- 优点
- 更好的带宽共享。
- 更简单有效,不需要建立连接。
- 缺点
- 不适合实施服务,因为端到端时延不可预测。
- 优点
四、分组交换中的时延、丢包和吞吐量
时延
- 处理时延(微)
- 检查分组首部并决定分组导向。
- 检查比特级别的差错。
- 排队时延(复杂)
- 分组在链路上等待传输。
- 传输时延
- 所有分组传输到链路所需要的时间。
- 链路带宽为
R
,传输大小为L
比特的分组所需时间:
L R \frac{L}{R} RL
- 传播时延
- 一个比特从链路的一端到另一端的时间。
- 长度为
d
、传播速度为s
的链路的传播时延:
d s \frac{d}{s} sd
- 流量强度
La/R
- 用于衡量排队时延,是一个比值,无单位。
a
为分组到达队列的平均速率(pkt/s
)。L
为所有分组的平均比特数(bit
)。R
传输速率(bit/s
)。- 大于
1
时,队列趋于无穷大,故设计时流量强度不能大于1
!
丢包
- 理想状态
- 队列容量无穷大。
- 流量强度趋于
1
,平均排队时延无穷增大。
- 实际情况
- 队列容量有限。
- 队列溢出时,随着流量强度的增大,丢包率增大。
吞吐量
- 端到端时延
d e n d − e n d = N ( d q u e u e + d p r o c + d t r a n s + d p r o p ) d_{end-end}=N(d_{queue}+d_{proc}+d_{trans}+d_{prop}) dend−end=N(dqueue+dproc+dtrans+dprop) - 定义
- 主机接收数据的比特速率(
bps
)。 - 在理想情况下,比特是流体,通信链路是管道。
- 此时服务器到客户端的吞吐量为路径上传输速率的最小值。
- 主机接收数据的比特速率(
traceroute
- 可追踪源和目的之间经过的路由。
- 通过设置
TTL
,每收回一个请求,设置TTL=TTL+1
,发送请求。
五、协议层次及模型
- 五层因特网协议栈
数据类型 | 层次 | 作用 |
---|---|---|
报文 | 应用层 | 网络应用程序以及它们的应用层协议留存的地方 |
报文段 | 运输层 | 在应用程序端点之间传送应用报文(TCP 、UDP ) |
数据报 | 网络层 | 将数据报从一台主机移动到另一台主机 |
帧 | 链路层 | 提供网络层到物理层的过渡 |
比特 | 物理层 | 将整个帧从一个网络元素移动到邻近的网络元素 |
OSI
模型(在五层基础上)- 表示层
- 使通信的应用程序能够解释交换数据的含义。
- 会话层
- 对数据传输进行管理。
- 提供了数据交换定界和同步功能。
- 表示层
多少层交换机就解封装到多少层。
一个大报文可能一开始便被分解为多个报文段。
- 实体
- 定义自身功能的软硬件集合。
- 对等实体
- 两个通信计算机同一层所属的实体。
- 通信规则
- 协议数据单元
PDU
组成信息内容组织形式。 - 交互顺序逻辑
Order
决定信息交互顺序。 Action
信息收发处理逻辑。
- 协议数据单元
- 互联网协议由很多
Internet
标准化组织定义IEEE
IEFT
,指定互联网标准的核心组织,RFC
(Request For Comments
)。
p d u = h e a d e r + p a y l o a d pdu=header+payload pdu=header+payload
H e a d e r = 编 址 信 息 + 控 制 信 息 Header=编址信息+控制信息 Header=编址信息+控制信息
Q:成帧时如何判断信号传输完毕?
A:帧的首部必须设有一些特殊的比特组合,使得接收端能够找出一帧的开始。这也称为帧定界。帧定界还包含确定帧的结束位置。
- 考虑传输层、网络层、链路交换层的编址信息,应用层不一定有编址信息(取决于不同应用)。
传输层在开始时会分配端口给应用程序。
SONET
即光纤网络。
六、面对攻击的网络(不考)
- 攻击者利用僵尸网络控制并有效地对目标主机展开垃圾邮件分发或分布式拒绝服务攻击(
DDoS
)。 - 病毒
- 需要某种形式的用户交互来感染用户设备的恶意软件。
- 蠕虫
- 无需任何明显用户交互就能进入设备的恶意软件。
DoS
(Denial of Service)拒绝服务攻击- 弱点攻击
- 应用程序/操作系统崩溃
- 带宽洪泛
- 连入链路拥塞
- 连接洪范
- 伪造
TCP
连接,停止合法连接。
- 伪造
- 弱点攻击
DDoS
分布式拒绝服务工具- 攻击者控制多个源,向目标猛烈发送流量。