CHARPTER Ⅰ计算机网络和因特网
出于个人恶趣味和复制粘贴需要,可能文章中会间歇性出现繁体段落/繁体中文表述方式.
综述
主机-服务器
通信链路
传输速率:带宽
向应用程序提供服务的设施
向应用程序提供编程接口
- 网路边缘:主机,伺服器,用户机
- 网路核心:路由
- 接入网,物理介质:通信链路
网络边缘
- 端系统(用户机)
- 伺服器
C/S模型中有分别,而P2P模型不存在分别.
接入网:连接网路边缘和核心.将端系统连接至边缘路由.
接入的方式
- Modem
- ADSL
- 光缆电缆混合网路
- HFC光缆同轴电缆传输网路
以太网: 通过共享或专用的链路来连接端系统和路由器 ,常见于局域网中.
无线接入
物理介质
(略)
网路核心:数据在路由中的传输
第一代计算机网路:电路交换
传输前建立一条专属的物理通路,始终占用端到端固定信道的全部.
时分复用和频分复用:
第二代计算机网络:分组交换
- 不是为了打电话,而是用于计算机之间的数据传送
- 能够连接不同类型的计算机
- 所有的网络结点同等重要,不能有特别重要的结点
- 必须有冗余路由
- 网络结构尽可能简单,能够可靠传送数据
特征:将报文分割为若干部分,每个部分单独传输,并使用交换机制提升效率.
工作流程
- 分组
- 每个部分加上首部
- 单独发送
- 接收到后去除头部并还原报文
首部
- 含有地址等控制信息
- 根据地址信息安排转发到下一个节点交换机
特征
- 被传送的数据分成若干分组分别传送
- 数据传输前不必预先确定分组的传输路径
- 通信子网中的每个交换结点均为共享结点,并且都具 有分组的存储/转发以及选择合适路由的能力
- 在数据通信的过程中,通信子网断续(动态)分配传输带宽,使得通信线路的利用得以大大提高
- 为了提高分组交换网的可靠性,通信子网常采用网状拓扑结构,使得当发生网络拥塞或少数中间交换结点、链路出现故障时,可灵活地改变路由而不致引起 通信的中断或全网的瘫痪;
- 通信网络的主干线路往往由一些高速链路构成
转发
- 分组的目的地决定下一次传输的目标
- 数据报网络:在会话过程中可能改变:所有分组不一定都是同一路线.
- 虚电路网络:每个分组携带一个标识(虚电路号),该标识决定下一 跳 .在呼叫建立时决定固定的路径,并在整个呼叫过程中保持不变 ,路由器保持每个呼叫连接的状态.就是一个由很多分段组成的虚拟的电路连接.
当用户数较少时,分组交换能够获得比电路交换更好的性能
缺陷
- 分组在各结点存储转发时因要排队总会造成一定的时延 。
- 当网络通信量过大时,这种时延可能会很大 各分组必须携带一定的控制信息(说明信息),从而带来 额外 开销
- 整个分组交换网的管理和控制比较复杂
ISP/因特网主干
这啥玩意,
(*)时延,丢包和吞吐量
See: https://zh.wikipedia.org/wiki/%E6%97%B6%E5%BB%B6
丢包和时延产生的原因
- 分组到达路由的速率超出路由处理分发的速率,就堆积在缓冲区中等待转发.(等待延迟)
- 传播的延迟
- 处理的延迟
- 传输时延(?)
传输时延和传播时延的区别
計算機網絡領域的新手有時難以理解發送時延和傳播時延之間的差異,該差異雖說細小但是很重要。發送時延是路由器將分組推出所需要的時間,它是分組長度和鏈路傳輸速率的函數,而與兩台路由器之間的距離無關。傳播時延是一個比特從一台路由器向另一台路由器傳播所需要的時間,它是兩台路由器之間距離的函數,但與分組的長度或鏈路的傳輸速率無關。
exp:传输时延是路由将长度为L的数据装载上数据链路的时间,一般的 ,R为链路的带宽(bps).
链路传输速率和介质传播速度
数据传输速率信道每秒能传输的比特数,所以它的单位自然就是bps(比特每秒),除此外还有Kbps,Mbps等
【注意】理论分析证明,信道的最大数据传输速率和带宽有直接联系,信道带宽越宽,数据传输速率就越大,因此在许多情况下,“带宽”和“传输速率”是可以互换的。
更进一步的解释:类比为车队途径高速,路由类比为收费站;传输时延就是收费站处理车辆的时间;传播时延就是车在高速上花的时间.
时延的总公式:
- proc:处理延时:从上一条链路中取下并处理的时间
- queue:队列等待时间
- trans:装载分组时间
- prop:链路传播时间
排队时延
排队的产生就是装载速度小于处理(接收)速度.所以引入流量强度度量排队的强度.
L:分组长度
R:链路带宽
a:平均分组到达速率每秒处理的分组数
Exp: 是传输一个分段需要的时间,单位是 ,a是每秒到达的分组数,单位是
所以流量强度是一个比值.
- >1:平均时延较大,且
- =1:稳定时延
- <1:时延
分组丢失
队列(缓冲区)满,此时有分组丢失.
可能会被重传,也可能不会(…)
吞吐量
在发送方与接收方之间传输比特的速率(bps)
是宏观上的速率统计,忽略了路径上的细节.
- 瞬时吞吐量
- 平均吞吐量
瓶颈链路:限制吞吐量的链路
一般瓶颈链路是分链路,就是连接主干和端的链路.
协议层次和服务模型
分层:对于一个复杂的系统,分层结构简化了维护和升级,每个层次只用对上下接口负责,而一个层次对于其上下层协议是一个黑盒,只需要关心串传来的数据而不需要关心这些数据是如何产生的.
因特网的协议栈
-
应用层: 支持网络应用
- FTP, SMTP, STTP
-
运输层: 主机间的数据传输
- TCP, UDP
-
网络层:将数据报从源端传送到目的端
- IP, 路由协议
-
链路层: 数据在网络相邻结点之间传输
- PPP, 以太网
-
物理层: 在线路上传输比特流
ISO/OSI参考模型下的附加层:
- 表示层 : 允许应用程序解释数据的含义,如:加密、压缩、特定机器的数据描述方法
- 会话层 : 提供了数据交换的同步、定界、建立检查点和恢复的能力
协议数据单元(PDU)
协议数据单元是对等层次上传送数据的单位
服务数据单元(SDU)
服务数据单元是层与层之间交换数据的单位
网络体系结构(Network Architecture)
网络体系结构就是层和协议的集合
协议栈(Protocol Stack)
一个特定的系统所使用的一组协议(每层一个协议) 称为协议栈
层间数据流向
发送方由上至下,每层加上一个头部,传输到达之后逐层分析去除头部.
封装过程:
是对等层次上传送数据的单位
服务数据单元(SDU)
服务数据单元是层与层之间交换数据的单位
网络体系结构(Network Architecture)
网络体系结构就是层和协议的集合
协议栈(Protocol Stack)
一个特定的系统所使用的一组协议(每层一个协议) 称为协议栈
层间数据流向
发送方由上至下,每层加上一个头部,传输到达之后逐层分析去除头部.
封装过程:
报文->报文端->数据报->数据帧(应用层->链路层)