整理了学习计算机网络的知识点笔记
知识内容来自《中科大计算机网络自顶向下》《湖科大计算机微课堂》
第1章:概论
Internet:
节点
- 主机及其上运行的应用程序 (主机节点)——数据的目标
- 路由器、交换机等网络交换设备 (数据交换节点)
边:通信链路
- 接入网链路:主机连接到互联网的链路 (主机接到交换节点)
- 主干链路:路由器间的链路 (数据节点接数据节点)
协议
- 一些标准
具体构成:
数以亿计的、互联的计算设备:
- 主机 = 端系统
- 运行的网络应用程序:APP 服务器 操作系统…
通信链路:
- 光纤、同轴电缆、无线电、卫星
- 传输速率 = 带宽(bps)
分组交换设备:
- 转发分组 (packets)
- 路由器(网络层)和交换机(switch)
协议控制发送、接收消息:
- TCP IP HTTP FTP PPP
Internet是“网络的网络” 网络与网络组合在一起
- 松散的层次结构,互连的ISP
- 公共Internet vs. 专用intranet
Internet标准 (开放)(参与度高)
- RFC: Request for comments
- IETF: Internet Engineering Task Force
协议 PDU
协议定义了在两个或多个通信实体之间交换的报文格式(语法语义)和次序,以及在报文传输和/或接收或其他事件方面所采取的动作
什么是Internet:从服务角度
- 使用通信设施进行通信的分布式应用 (网络存在的理由)
- 通信基础设施为apps提供编程接口(通信服务) (主机应用层以下)
网络结构
网络边缘:
- 主机
- 应用程序(客户端和服务端)
网络核心: (数据交换的作用)
- 互联着的路由器 和交换机
- 网络的网络
接入网,物理媒体:
- 有线无线的通信链路(网络边缘系统接入到网络核心)
网络边缘:
端系统(主机):
运行应用程序
如Web、email
在 “网络的边缘” 客户/服务器模式
客户端向服务器请求、接收服务
如Web浏览器/服务器;email客户端/服务器 对等(peer-peer )模式
很少(甚至没有)专门的服务器
如 Gnutella、KaZaA、Emule
网络边缘:采用网络设施的面向连接服务
目标:在端系统之间传输数据
握手:数据传输前要做好准备
- 两个通信主机之间为连接建立
TCP——传输控制协议
TCP服务
- 可靠的,按顺序的传送数据
- 确认和重传
- 流量控制
- 数据传输的流量大小
- 发送方不会淹没接收方
- 拥塞控制
- 当网络拥塞时,发送方降低 发送速率
网络边缘:采用基础设施的无连接服务
**目标:**在端系统之间传输数 据
- 无连接服务
UDP – 用户数据报协议 无连接
不可靠数据传输
无流量控制
无拥塞控制
网络核心
使用TCP的应用:
HTTP (Web), FTP (文件传
送), Telnet (远程登录),
SMTP (email)
使用 UDP的应用:
流媒体、远程会议、 DNS、
Internet电话
网络核心:路由器的网状网络
电路交换:
利用信令系统连接一条独享的电路(进行双向通信)
独享资源:不同享
- 每个呼叫一旦建立起来就能够保证性能 (性能保障)
没有数据发送,被分配的资源就会被浪费
将带宽分成片
- 频分 FDM
- 时分 TDM 时隙
- 波分 WDM
每条链路的速率(一个时间片):
(所有链路的速率)/时隙
共用时间:传输时间+建立链路
电路交换不适合计算机之间的通信
连接建立时间长 计算机之间的通信有突发性,如果使用线路交换,则浪费的片较多
- 即使这个呼叫没有数据传递,其所占据的片也不能 够被别的呼叫使用 (资源浪费)
可靠性不高?
分组交换:
以分组为单位存储-转发方式 网络带宽资源不再分分为一个 个片,传输时使用全部带宽 主机之间传输的数据被分为一 个个分组
好处:
- 共享
- 按需使用
资源共享,按需使用: 存储-转发:分组每次移 动一跳( hop ) 且完全存储
- 在转发之前,节点必须收到 整个分组 完全存储下来在进行转发
- 延迟比线路交换要大
- 排队时间
分组交换:存储-转发
被传输到下一个链路之前,整个分组必须到达路由器:存储-转发 在一个速率为R bps的链路,一个长度为L bits 的分组的存储转发延时: L/R s
分组交换: 排队延迟和丢失
😏如果到达速率>链路的输出速率:
- 分组将会排队,等待传输
- 如果路由器的缓存用完了,分组将会被抛弃
分组交换网络核心的关键功能
路由: 决定分组采用的源到目标的路径 (全局功能)
- 路由算法 算出路由表
转发: 将分组从路由器的输入链路转移到输出链路 (局部功能)
分组交换:统计多路复用 (没有固定的模式)
分组交换 vs. 电路交换
同样的网络资源,分组交换允许更多用户使用网络!(自己不用时其他人可以使用)
分组交换是“突发数据的胜利者”
适合于对突发式数据传输
- 资源共享
- 简单,不必建立呼叫
过度使用会造成网络拥塞:分组延时和丢失
- 对可靠地数据传输需要协议来约束:拥塞控制
Q: 怎样提供类似电路交换的服务?
- 保证音频/视频应用需要的带宽 (多媒体的应用)
分组交换网络:存储-转发
分组交换: 分组的存储转发一段一段从源端传到目标端 ,按照有无网络层的连接,分成:
数据报网络: 通信之前无需建立连接 有数据就传输
- 分组的目标地址决定下一跳
- 在不同的阶段,路由可以改变 (路径不同,可能会失序)
- 类似:问路
- Internent
虚电路网络: 通信前建立连接 每个路由中都有指向下一个路由的虚电路表
- 每个分组都带标签(虚电路标识 VC ID),标签决定下一跳
- 在呼叫建立时决定路径,在整个呼叫中路径保持不变
- 路由器维持每个呼叫的状态信息
- X.25 和ATM
接入网络和物理媒体
住宅接入:modem
将上网数据调制加载音频信号上,在电话线上传输,在局端将其中的数据解调出来;反之亦然
- 调频
- 调幅
- 调相位
- 综合调制
物理媒体
Bit: 在发送-接收对间传播 物理链路:连接每个发送-接收对之间的物理媒体 导引型媒体:
- 信号沿着固体媒介被导引:同 轴电缆、光纤、 双绞线
非导引型媒体:
- 开放的空间传输电磁波或者光 信号,在电磁或者光信号中承 载数字数据
光纤和光缆:
高速
低误码率:在两个中继器之间可以有很长的距离,不受电磁噪声的干扰
安全
Internet结构和ISP
- 端系统通过接入ISPs (Internet Service Providers)连 接到互联网
如果将每两个ISPs直接相连 不可扩展 需要很大的时间复杂度
将每个接入ISP都连接到全局ISP(全局范围内覆盖)客户ISPs和提供者ISPs有经济合约
ISPs有竞争有合作
合作利用IXP (Internet exchange point)
(全球接入和区域接入)
后 内 容 提 供 商 网 络 (Internet Content Providers,e.g., Google, Microsoft, Akamai) 可能会构建它们自己的网络,将它们的服务、内容更 加靠近端用户,向用户提供更好的服务,减少自己的运营支出
分组延时、丢失和吞吐量
分组丢失和延时的发送时机
- 分组到达链路的速率超过了链路输出的能力
- 分组等待排到队头、被传输
(延时):因为输出能力大小有限 分组排队传输 所以传输会有延时
(分组丢失):分组排队处有缓冲区,分组到达时如果已经没有可用的缓冲区了,则该分组会被丢掉
分组延时:
1. 节点处理延时:
- 检查 bit级差错
- 检查分组首部和决定将分组导向何处
2. 排队延时 (随机)取决于当前网络情况
- 在输出链路上等待传输的时间
- 依赖于路由器的拥塞程度
两点间数据接收的延迟:
- 传输延时: 第一个数据与最后一个数据传输时间的延时 R=链路带宽(bps) L=分组长度(bits) 将分组发送到链路上的 时间**= L/R (分组的大小除以链路的传播数据)** 存储转发延时
- 传播延时: 同一数据数据传输和接收的延迟 d = 物理链路的长度 s = 在媒体上的传播速度 (~2x108 m/sec) 传播延时 = d/s
节点延时:
dnodal = dproc + dqueue + dtrans + dprop
- dproc = 处理延时 通常是微秒数量级或更少
- dqueue = 排队延时 取决于拥塞程度
- dtrans = 传输延时 = L/R, 对低速率的链路而言很大(如拨号),通常为微秒级到毫秒级
- dprop = 传播延时 几微秒到几百毫秒
排队延时: 取决于流量强度
L : 分组长度
R:链路带宽
a: 分组到达队列的平均速率(单位时间内到达的分组数量)
流量强度: La/R
La:每单位时间需要放出的比特数量
La/R ~ 0: 平均排队延时很小
La/R -> 1: 延时变得很大
La/R > 1: 比特到达队列的速率超过了从该队列输出的速率,平均排队延时将趋向无穷大!
设计系统时流量强度不能大于1!
(导致分组丢失)
利用TraceRT来测试往返延时
每份数据中有TTL ,初始化TTL 每达到一个节点TTL就会减一,当TTL为0时,该节点会给初始节点传输一个ICMP协议告知数据往返时间。
- 数据中的TTL为0 返回ICMP
- 数据没有后续接收点 返回ICMP
分组丢失:
链路的队列缓冲区容量有限 当分组到达一个满的队列时,该分组将会丢失 丢失的分组可能会被**前一个节点或源端系统(TCP)**重传,或根本不重传(UDP) (可能重传也可能不重传)三种情况