计网名词小结
第1章 简介
1.2 网络边缘
DSL: digital subscriber line 数字用户线
FTTH: fiber to the home 到户光纤
HFC: hybrid fiber coax 混合光纤同轴 p10
WIFI: 无线 LAN (54Mbps)
接入网络的途径:
- 住宅接入: DSL, 电缆, FTTH, 拨号, 卫星
- 公司接入: 以太网, wifi
- 广域无线接入: 3g, LTE
1.3 网络核心
FDM: frequence-division multiplexing 频分复用
TDM: time-division multiplexing 时分复用
IXP: internet exchange point 因特网交换点
第5章 链路层
5.2 纠错
FEC: forward error correction 前向纠错
CRC: cyclic redundancy check 循环冗余校检测
检测方法:
- 奇偶校验
- checksum 的计算
- CRC 的 R 的计算
5.2 多路访问链路和协议
信道划分协议
TDM, FDM: 单个节点只能享受 R/N 的传输速率
CDMA: code division multiple access: 每个节点单独编码,可同时传输
随机接入协议
每个节点全速 R 发送,撞了等会再重传
时隙 Aloha
Aloha
CSMA
CSMA/CD
轮流协议
轮询, 令牌
5.4 以太网
数据报长度必须 46-1500 字节
第6章 无线网
6.2 无线链路
SNR: signal-to-noise ratio 信噪比
BER: bit error ration 比特差错率
SNR(x)-BER(y) 变化图
6.3 802.11
BSS: basic service set 基本服务集(由多个无线站点 和 一个 AP 作为中心基站组成) p350
AP: access point 接入点
SSID: service set identifier 服务集标识符
CSMA/CA: CSMA/ collision avoidance
SIFS: short inter-frame spacing 短帧间间隔
DIFS: distributed inter-frame space 分布式帧间间隔
RTS: request to send 请求发送帧
CTS: clear to send 允许发送帧
链路层确认:
- 发送方:
- 有包就发
- 接收方
- 收到一个通过 CRC 校验的包
- 等待 SIFS 时间
- 回一个确认帧
- 发送方:
- 收到确认帧,ok
- 没收到,过一段时间,重发,直到收到
- 没收到若干次,放弃
CSMA/CA:p354
- 发送方:
- 监听信道,若空闲,等 DIFS,再发,期间监听信道
- 若忙碌,选择随机回退值,期间监听信道,若空闲则递减该值,若忙碌则冻结
- 回退值减到0,就发
- 如果收到确认帧,就回到第2步,并从更大范围选择随机回退值
发大数据前:
- RTS
- CTS
- DATA
- ACK
没收到 CTS 说明也撞了,不给你分配时间
6.3.6 蓝牙 zigbee
WPAN: wireless personal area network 无线个人区域网络
802.15.1, 4Mbps, 自组织皮可网, 8个活动设备, 1主7从
802.14.5, 20 40 100 250kbps, 控制器(主)+n从, TDM, 信标帧+活跃周期帧
6.4 蜂窝3g
GSM: groupe special mobile 全球移动通信系统
BTS: base transceiver station 收发基站, 部署于每个六边形小区内或边界
BSC: basestation contoller 基站控制器
MSC: mobile switching center 移动交换中心
3GPP: 3rd generation partnership project 第三代合作伙伴项目
UMTS: universal movile telecommunications service 通用移动通信服务
第4章 网络层
提供的服务 p205-206
三种协议:
- IP 协议
- ICMP 协议
- 路由选择协议
ipv4
flags(3 bits) R/D/M
- 001 表示还有后续分片
fragment offset * 8 = real offset
4.2 虚电路和数据报网络
VC: virtual circuit 虚电路,无连接
datagram network 数据报网络,有连接
4.3 路由器原理
HOL: head-of-the-time-line 线路前部阻塞, 输入队列中排在后面的被排在前面的阻塞
交换的三种方式
- 经内存交换:类似 I->CPU->O, 两次占用系统总线
- 经总线交换:类似单车道,一次只能跑一辆车
- 经互联网络交换:纵横线,控制器控制哪些交点开闭,可以并行
4.4 IP 编址
CIDR: classless interdomain routing 无类别域间路由选择
NAT 通过 NAT 表完成内部主机(内部 ip, port) <=> NAT 路由器(公网 ip, port) 的转换
4.5 路由选择算法
AS: autonomous system 自治系统
分类
- 全局式 vs 分布式
- 静态 vs 动态
- 负载敏感 vs 负载迟钝
LS 算法:
- 基于 Dijkstra
DV 算法:
- 每个节点维护一张 N*N 的距离矩阵(N 个行向量)
- 初始化自己的那一行为 c(u, v)
- 向邻居们广播自己的那一行
- (收到邻居的广播后,覆盖邻居的那一行)/(链路费用变化时),然后重新计算自己的那一行 d(x, y) = min{c(x, w), d(w, y)}
- 如果自己那一行有变化,就向邻居们广播自己的那一行,没变化就静止等邻居以后的广播
毒性逆转:
如果 z 经过 y 作为第一跳到达 x,那么 z 告诉 y:d(z, x) = +INF,即我打你这过,你别再给我整回来了
毒性逆转对三个以上结点无效:
https://blog.csdn.net/tianlongtc/article/details/80261581
域间路由
热土豆路由选择:当 AS 内部某路由器 R 发往外部网络 x 的包可以通过多个网关路由器丢出去时,选 AS 内部路由费用最低的
4.6 域内路由 & 域间路由
RIP: routing information protocol 路由选择信息协议,基于 DV
OSPF: open shortest path first 开放最短路优先,基于 LS
BGP: broder gateway protocol 边界网关协议
ASN: AS number 自治系统号
stub: 桩网络,可以理解为用户,只负责收和发自己的包,不负责帮别人路由
IGP:
RIP:
- 每 30s 发送一条 RIP 响应报文,超过 180s 没收到邻居的信息就默认邻居挂了,将该信息传递给其他邻居
- 通过 UDP 端口号 520 发 RIP 请求和响应,因为 RIP 是作为一个进程(应用层)来运作的
OSPF:
- 至少 30min 向区域内所有路由器广播链路状态
- 生成一棵以自己为根的最短路径树
- 将一个 AS 分成多个块
BGP: (use TCP)
eBGP, iBGP
假设我是 AS3
AS-PATH: 指出要到达 x,需要经过 AS2 AS1
NEXT-HOP: 指出要到达 x,经过的 AS1 的网关路由器的 ip 是多少
向外网路由时,如果有多条路由,选择规则
- 每条路由有一个本地偏好值,取决于 AS 的网络管理员,最高偏好值的优先
- 接下来,最短 AS-PATH 的优先
- MED,越小越好
- 接下来,热土豆策略,离哪个网关路由器的最短路径短就用哪个
- 接下来,BGP 标识符
BGP 针对 DV 的修改:
- 选择是最优路而不是最短路
- 使用 path-vector 而不是 distance vector
- 将自己可达的路由选择性地通告出去
- BGP 可能会聚合地址,为了减少规模
Gao-Rexford rules:
- 用户的出路由可以被发给任何人
- peer 的出路由发给用户
- provider 的出路由发给用户
4.7 广播
RPF: reverse path forwarding 反向路径转发
RPF
- 转发报文,仅当上一跳位于自己到源点的最短路径上
广播的三种方法:
- 洪泛
- 受控洪泛
- 序号控制洪泛,维护已收到的[源地址, 序列号]
- RPF 反向路径转发,利用生成树
- 生成树广播
- 选定中心,其他节点向中心单播路由
- 一旦遇到中心或树上的节点,就把这条路嫁接到生成树上
实际中的
- Gnutella
- 16bit 标识符+16bit有效载荷描述符,监测这个包是不是被收到复制转发了
- ttl 限制跳的范围,每次-1,再转发
- OSPF 的 LSA
- 32bit 序号+16bit 年龄,年龄每次转发+1,等待洪泛也会+1
4.7 多播
DVMRP: distance vector multicast routing protocol 距离向量多播路由选择协议
PIM: protocol independent multicast 协议无关的路由选择协议
DVMRP
- 基于剪枝的 RPF
PIM
- 稠密模式,大多数路由器参与到多播中,类似 DVMRP
- 稀疏模式,仅允许单一发送方向多播树中发送流量
IGMP 协议号 2
IGMP:
- membership_query 路由器向主机周期性发送(想加入吗?/你还在吗?)
- membership_report 主机(主动/收到query后)请求加入多播组
- leave_group 主机礼貌地退出多播组
多播路由算法
- 一棵共享树,类似多播的生成树广播
- 以每个发送方为源,建树,然后用 RPF 进行多播
- 稍作修改,如果某个路由器(叶子路由器)发现自己的主机都不在多播组,则向上一级汇报一个剪枝报文
- 如果某个路由器(非叶子路由器)的所有子孙路由器都汇报了剪枝,那么它就向上一级汇报一个剪枝
IP vs MAC addr
MAC:
- 硬编码
- 48bits
- 可移动,与位置无关
- 用来在同一网络下传送包
- 地址是平坦的
- forwarding table 由数据包生成,自学习
- “路由”协议计算无环拓扑
IP:
- 动态配置
- 32/128bits
- 与主机的位置有关
- 用来在IP子网下传送包
- 地址是聚合的
- forwarding table 由路由协议计算
- 路由协议计算最短路径
第3章 运输层
多路分解:从网络中收集数据传(分解)给不同套接字
多路复用:把多个套接字的数据都(复用)交给网络
0-1023 周知端口
HTTP: 80
FTP: 21
3.3 UDP
使用原因:
- 简洁化运输,精细的问题交给应用层
- 无需握手
- 无需维护连接状态
- 首部开销小
应用
- RIP 路由表更新
- DNS 查询
3.4 可靠数据传输原理
rdt: realiable data transfer 可靠数据传输
udt: unrealiable data transfer 不可靠数据传输
ARQ: automatic repeat request 自动重传请求,发 ACK/NACK 的
GBN: go back N 回退 N 步
SR: selective repeat 选择重传
停等协议:没收到 ack/nack 就不能从上层接受新数据
3.5 TCP
MSS: maximum segment size 最大报文段(应用层数据)长度,通常为 1500-20-20 = 1460 byte
EstimateRTT = (1-a)*EstimateRTT + a *SampleRTT
DevRTT = (1-b)*DevRTT + b *|sample - estimate|
a 推荐 0.125
b 推荐 0.25
TimeoutInterval = estimate + 4* dev
推荐初值为 1 s
TCP 流量控制
- 在报文中包括 rwnd
- 当 rwnd 为 0 时,对面主机也不会停,防止短暂时间后缓冲区清空但发送方被阻塞的情况
拥塞控制类别
- 端到端拥塞控制 (TCP)
- 网络辅助的拥塞控制 (ATM ABR)