计网名词小结

计网名词小结

第1章 简介

1.2 网络边缘

DSL: digital subscriber line 数字用户线

FTTH: fiber to the home 到户光纤

HFC: hybrid fiber coax 混合光纤同轴 p10

WIFI: 无线 LAN (54Mbps)

接入网络的途径:

  1. 住宅接入: DSL, 电缆, FTTH, 拨号, 卫星
  2. 公司接入: 以太网, wifi
  3. 广域无线接入: 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 循环冗余校检测

检测方法:

  1. 奇偶校验
  2. checksum 的计算
  3. 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 允许发送帧

链路层确认:

  • 发送方:
    1. 有包就发
  • 接收方
    1. 收到一个通过 CRC 校验的包
    2. 等待 SIFS 时间
    3. 回一个确认帧
  • 发送方:
    1. 收到确认帧,ok
    2. 没收到,过一段时间,重发,直到收到
    3. 没收到若干次,放弃

CSMA/CA:p354

  • 发送方:
    1. 监听信道,若空闲,等 DIFS,再发,期间监听信道
    2. 若忙碌,选择随机回退值,期间监听信道,若空闲则递减该值,若忙碌则冻结
    3. 回退值减到0,就发
    4. 如果收到确认帧,就回到第2步,并从更大范围选择随机回退值

发大数据前:

  1. RTS
  2. CTS
  3. DATA
  4. 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

三种协议:

  1. IP 协议
  2. ICMP 协议
  3. 路由选择协议

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 的修改:

  1. 选择是最优路而不是最短路
  2. 使用 path-vector 而不是 distance vector
  3. 将自己可达的路由选择性地通告出去
  4. 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

使用原因:

  1. 简洁化运输,精细的问题交给应用层
  2. 无需握手
  3. 无需维护连接状态
  4. 首部开销小

应用

  • 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)