计算机网络与因特网
什么是因特网
- 因特网: inter-net(互联的网)
具体构成描述
- 所有的设备被称为主机(host) 或 端系统(end system)
-
端系统通过通信链路(communication link) 和分组交换机(packet switch) 连接到一起
- 通信链路:
- 由不同类型的物理媒体组成, 不同的链路以不同的速录传输数据
[!note] 分组(packet) 当一台端系统要向另一台端系统发送数据时候, 发送端系统将数据分段, 并为每段加上首部字节. 由此形成的信息包术语即称为分组
- 由不同类型的物理媒体组成, 不同的链路以不同的速录传输数据
- 通信链路:
-
路由器(router) 与链路层交换机(link-layer switch): 朝最终目的地转发分组
- 路由器: 通常用于网络核心中
- 链路层交换机: 通常用于接入网
- 从发送端系统到接收端系统, 一个分组所经历的一系列通信链路和分组交换机称为路径(route)
- 端系统通过因特网服务提供商(Internet Service Provider, ISP) 接入因特网
- 协议(protocol): 通知因特网中信息的接收和发送
- TCP/IP: IP协议定义了在路由器和端系统直接发送和接收的分组格式
计算机网络的分类
- 按地理范围分类:
- 局域网(LAN, Local Area Network)
- 城域网(MAN, Metropolitan Area Network)
- 广域网(WAN, Wide Area Network)
- 按拓扑结构分类
- 星型网
- 环形网
- 总线网络
- 不规则网络
协议
- 人类协议: 有我们发送的特定报文, 也有我们根据接收到的应答报文或其他时间采取的动作
- 网络协议: 定义了在两个或多个通信实体之间交换的报文的格式和顺序, 以及报文发送/接收一条报文或其他事件所采取的动作
网络边缘
- 网络边缘的端系统中运行的程序之间的通信方式:
- C/S(Client Server) 模式
- 描述了进程之间的服务和被服务的关系
- 发出请求与提供服务
- 客户软件的特点:
- 被用户调用后运行, 主动向服务器发起通信
- 无须特殊的硬件和复杂的操作系统
- 服务器软件的特点:
- 持续运行, 被动的等待客户软件发来的请求, 并且响应请求
- 需要强大的硬件和高级的操作系统支持
- P2P(Peer to Peer) 模式
- 两个主机在通信时并不区分哪一个是服务请求方或服务提供方
- 两个主机需要都运行对等连接软件
- 对等连接的特点:
- 本质上依旧是CS方式, 只是双方都可以是C或S
- C/S(Client Server) 模式
网络核心
- 网络核心想网络边缘中的大量主机童工连通性, 使边缘部分中的任何一个主机都能与其他主机通信
-
计网重点 路由器(Router)是网络核心中的主要设备:
- 主要功能: 数据交换(接收来自源主机的数据, 并向主机系统转发)
电路交换
- 独占线路, 享用所有带宽, 速度快
- 利用率低
分组交换
- 先将较长的报文划分为较短的, 固定长度的数据段, 并且添加首部, 组成分组
- 利用存储转发的方式, 将分组送达目的地
- 端到端的时延: (\(d_{端到端}=N\frac{L}{R}\)\)
[!note] 分组首部的重要性 - 每一个分组的首部都含有地址等控制信息 - 网络核心中的结点接收到分组首部中的地址信息, 将其转发到下一个站点的交换机
[!note] 主机与路由器的功能 - 主机: 进行信息处理, 并且发送分组 - 路由器: 对分组进行存储转发, 类似于中继器
- 路由器处理分组的过程:
- 将收到的分组存取缓存(存储)
- 查找路由表, 找到某个目的地址应从那个端口转发
- 将分组在适当的端口转发出去(转发)
[!note] 排队延时与分组丢失 对于每一个相连的链路, 分组交换机都具有一个输出缓存(输出队列), 用于存储路由器准备发往那条链路的分组 如果到达的分组需要传输到某条链路, 但发现对应链路正在传输其他分组, 则该分组必须等待其他分组传输完毕, 这段时延称为排队时延 由于缓存的大小有限, 如果分组到达时候缓存已满, 则该分组将被丢弃, 这种情况称为丢包
报文交换
对比
性能指标
速率
- 数据传输的速度
带宽
- 传输数据的最大容量
[!note] 速率与带宽的区别 速率是实时的, 变化的 带宽是最大的, 固定的
吞吐量
- 表示单位时间内通过某个网络的数据量
时延
- 时延类型: - 处理时延: 对分组的处理时间 - 排队时延: 等待发送的时间 - 传输时延: 将所有分组推向链路所需要的时间 - \(\frac{L}{R}\): - \(L\): 分组的长度 - \(R\): 链路传输的速率 - 传播时延: 分组在链路中传播所需要的时间
[!note] 传输时延与传播时延的区别 传输时延是分组长度和链路传输速录的函数, 与两台路由器之间的距离无关 传播时延是两台路由器之间距离的函数, 与距离相关
- 总时延: \(\(d_{total} = d_{process}+d_{queue}+q_{transport} + q_{propogation}\)\)
利用率
- 信道利用率
- 网络利用率
[!attention] 信道利用率 信道利用率并非越高越好, 利用率越高, 会导致排队时延的增加, 甚至可能发生丢包的情况