快速自查
- 物理层
- 调制:曼彻斯特编码/差分曼彻斯特编码;QAM
- 奈奎斯特准则,信噪比,香农公式
- 媒体:TP (U,S,F),光纤波段 (0.85, 1.3, 1.55) 带宽 (25THz),无线电 (2-40GHz)
- 信道复用:FDM, TDM, WDM, CDM
- SONET / SDH (51.84, 155.52 Mbps)
- ASDL, HFC, FTTx, ODN (PON)
- 数据链路层
- LLC, MAC; MTU, SOH, EOT, ESC; BER, FCS, ARQ
- CRC, Hamming; ARQ, SW, GBN, SR
- PPP: LCP, NCP, CHAP, PAP
- CSMA/CD: 0.1us, 96b IFG, 512b CW, 16, 48b jam
- MAC: addr (I/G, G/L, broadcast), 18B, 1500B, VLAN (802.1Q, 4B)
- Switch: CAM, STP; 交换结构
- 802.3u/z/ab; 10ns, 512B; bursting
- 网络层
- IP (20B+4*n, pld*8, trie) ARP (0806 8+10*2), ICMP (8+n), IGMP (8)
- IPv6(40B) ICMPv6 (ND, MLD)
- ip range, private addr, NAT (NAPT)
- AS, IGP, RIP (hop, udp+4+20*n), OSPF (proto89, 24+); EGP, BGP-4 (iBGP. eBGP, select algo, 19+)
- multicast: mbone, 01-00-5e-0b1, 路由选择 (DVMRP, PIM),RPB
- MPLS: 4B, label, LDP, LSP, LSR, FEC; SR
- SDN: OpenFlow, 南北
- libc socket
- 传输层
- UDP: 8B hdr, checksum (2B, 12B phead, pad4B)
- TCP: TPDU, port (49512); hdr 20+4*n, Options (2B TL+nV, MSS 2, Window Scale 1, TS 8, SACK 8/16)
- swnd, cwnd, rwnd; ARQ; SACK, D-SACK; RTO (Karn), 快速重传, ZWP (持续计时器), Nagle, Reno 四阶段; AQM
- TCP state machine; MSL; keepalive timer
- 应用层
- TCP: FTP (20/21), TELNET (23), SMTP (25/587), POP3 (110/005), IMAP (143/993)
- UDP: DNS (53), NFS (2049), TFTP (69), DHCP (68/67), SNMP (161/162, SMI, MIB)
- DNS: 四种 DNS, 递归迭代
- WWW: URLm HTTP (1.0, 1.1, 2), HTML, Email (SMTP, POP3, IMAP, pld), MIME, Proxy, Payload (v1), CGI, 搜索引擎, Blog, SNS
- P2P: Time, DHT, Chore ring (KID, NID, finger table)
- 无线网络
- 802.11: AP, Service set (BSS, ESS, SSID, B/ESSID), Association; AD Hoc (MANET, WSN); version (bagncx); WPAN
- CSMA/CA: CW, 预约 (RTS,CTS), NAV, IFS (slot time, SIFS, DIFS); backoff time; MAC (4+3*6+2+6+body+4)
- WPAN: Bluetooth (IEEE802.15.1, BLE, Piconet), ZigBee (IEEE 802.15.4, FFD, RFD), 802.15.3
- 蜂窝: 1G (FDMA), 2G (T/FDMA, GSM, GPRS), 3G (T/CDMA, UTRAN), 4G (SC/OFDMA+MIMO, LTE, E-UTRAN, EPC)
概述
- Internet / 互联网:
- 基本特点:连通性,资源共享
- 组成/要素:计算机,信道, 通信协议
- 发展阶段:ARPANET (1969/1983),三级结构 NSFNET (1985) (主干+地区+企业),多层 ISP (主干,地区,本地 多 tier)
- Internet Service Provider (ISP)
- Internet eXchange Point (IXP) 互联网交换点
- Content Provider
- Request For Comments (RFC) (Proposed, Drafted, STD)
- 标准化:RFC
- 边缘网 edge/end system
- 端通信方式:C/S, P2P
- 接入网 Access Network:从用户到 ISP 边缘路由器之间的网络
- 核心网
- router + packet switch
- 交换技术:电路交换(点对点),分组交换,报文交换
- 分组交换优点:高效 灵活 迅速 可靠;逐段占用 独立选择 无需连接 协议可靠
- 缺点:排队延迟 带宽无保证 增加开销
- 报文交换:电报
- 我国发展:铁道部 (1980),CNPAC (1989),CHINANET (1994)
- 最大主干网:CHINANET, UNINET, CMNET, CERNET, CSTNET
- 网络:节点 node + 链路 link
- internet 互连网:网络 + router;internet ≠ Internet
- 计算机通信网:计算机+通道+通信协议
- 计算机网络
- 计算机网络主要是由一些通用的、可编程的硬件互连而成的,而这些硬件并非专门用来实现某一特定目的(例如,传送数据或视频信号)。这些可编程的硬件能够用来传送多种不同类型的数据,并能支持广泛的和日益增长的应用。
- 分类:
- 作用范围:WAN (wide) MAN (metropolitan) LAN (local) PAN (personal)
- 使用者:public/private
- Access Network 边缘路由器
- 性能参数
- (额定)速率/带宽
- (实际)吞吐 throughput
- 时延:发送/传输时延 (end),传播 (link),处理 (node),排队 (node)
- 提高速率 = 提高发送速率 = 减小发送时延
- 网络实际时延 = 空闲时延 / (1-利用率)
- 时延带宽积:链路可容纳的数据量
- RTT:2传播+remote 处理排队发送
- 有效数据率 = 数据长度 / (发送时间+RTT) = 带宽 * 发送时间/(发送时间+RTT)
- 信道利用率:利用时间比
- 其他:标准化,可靠性,可扩展性
- 计算机网络体系结构
- 开放系统互连参考模型 Open Systems Interconnection Reference Model (OSI/RM)
- 网络协议:语法 (payload) +语义+同步 (顺序)
- entity 实体:可收发信息的软硬件
- 分层
- 五层/七层 (ISO 7498):物理,数据链路,网络,传输,应用(会话,表示,应用)
- TCP/IP:网络接口,IP,TCP/UDP,应用
- Protocol Data Unit (PDU): (OSI) 对等层次之间传送的数据单位
- Service Access Point (SAP): 相邻两层的实体交互点
- 服务数据单元 SDU 层与层之间交换的数据的单位 (与 PDU many2many)
物理层
物理层传输比特流
- 作用:传输数据比特流,屏蔽掉不同传输媒体和通信手段的差异
- 任务:确定传输媒体接口的 机械 电器 功能 过程 特性
- 数据通信系统的模型:源系统+传输系统+目的系统
- 术语:
- message, data, signal, 码元,
- 信道,单工,半双工,全双工
- 基带信号,调制,带通调制,基带调制
- 编码
- 不归零制:正电平代表 1,负电平代表 0
- 归零制:正脉冲代表 1,负脉冲代表 0
- 曼彻斯特编码:位周期中心的向上跳变代表 0,位周期中心的向下跳变代表 1。但也可反过来定义。有子同步能力
- 差分曼彻斯特编码:在每一位的中心处始终都有跳变。位开始边界有跳变代表 0,而位开始边界没有跳变代表 1。
- 带通调制
- AM, FM, PM, QAM
- 奈奎斯特:速率=2带宽 (码元)
- 信噪比 10log(S/N); C=W log2(1+S/N) (信息量)
- 波特率 Baud Rate/Bd 单位时间内传输的码元的个数
- 物理媒介
- 导引式:
- 双绞线 twisted pair (UTP/STP 双绞屏蔽;x/xTP 整条屏蔽 F(foiled)/S(braid screen))
- 同轴电缆
- 光纤 (单模/多模)
- 同步光纤网 SONET 51.84 Mbits (OC-1/STS-1) 为基频;波长为 1310 nm 和 1550 nm 的激光源;定义了帧结构
- 同步数字系列 SDH (Synchronous Digital Hierarchy) 155.52 Mbits (STM-1) 为基频
- 无线电微波通信
- 多径效应 失真
- 微波接力,卫星通信
- ISM 频段:(902,928), (2400,2483.5), (5725,5850)
- 导引式:
- 复用技术
- 频分复用、时分复用和统计时分复用(动态时隙)
- 波分复用:使用一根光纤来同时传输多个光载波信号
- 码分复用 CDM:各用户码型表不同
- 宽带接入
- SONET (OC/STS) / SDH 标准:51.84 Mbps / 155.52 Mbps;1310 / 1550 nm optics
- ADSL 离散多音调(DMT,实质 FDM;标准 G.992.1/G.dmt);ADSL2 (G.992.3,.4,.5),SDSL HDSL VDSL GigaDSL
- 光纤同轴混合网 (HFC),把原有线电视网中的同轴电缆主干部分改换为光纤
- FTTx
- 光配线网 ODN:头端 OLT 1:N 光网络单元 ONU
- 无源光网络 PON:EPON, GPON
数据链路层
数据链路层传输帧
- 基础
- 信道:点对点 / 广播
- 链路/物理链路:无源的 点到点的 物理线路段
- 数据链路/逻辑链路:在链路上传的协议
- 封装成帧:帧定界
- 透明传输:转义定界符
- 差错控制:帧检验序列 FCS(奇偶,CRC)
- 传输差错:比特差错,帧丢失、帧重复或帧失序;CRC 实现无比特差错
- CRC:左移 n,除以 P (n+1 bit),余数 R 拼接;只能概率检错
- 汉明码:8-4 码纠错一位 (TODO 要背吗?)
- 流量控制:停止-等待协议和滑动窗口协议
- 后退N帧协议:接收窗口为1,n ack 则 <=n 全 ack
- 选择重传协议:只传超时,不管未来
- 子层:
- 逻辑链路控制 LLC:封装识别网络层协议;传输可靠性保障和控制、数据包的分段与重组、数据包的顺序传输
- 媒体接入控制 MAC:分配信道的使用权;数据帧的封装/卸装,帧的寻址和识别,帧的接收与发送,链路的管理,帧的差错控制
- PLS 数据编码解码
- 适配器:
- 串并转换,包的装配和拆装,网络存取控制,数据缓存,以太网协议
- PPP
- 数据传输方式:异步传输 (byte),同步传输 (frame)
- 有 LCP 链路协商,NCP 网络协商(分配 IP),CHAP PAP 认证协议,
- 帧格式:
7e ff 03 [00 21] (variable) [content] [FECx2] 7e- 转义:7e->7d5e, 7d->7d5d, 03->7d23
- 零比特填充:>5 连 1 -> 填 0
- 8B + 转义 额外开销
- 局域网
- 拓扑:星形网,环形网,总线网
- 动态媒体接入控制:随机接入,受控接入
- Ethernet standards: DIX Ethernet V2, IEEE 802.3
- CSMA/CD:载波侦听多路访问/冲突检测
- 侦听信道,直到不忙 96bit 时间开始发送;检测到碰撞
- 发送特殊阻塞资讯并立即停止发送数据:特殊阻塞资讯是连续几个字节的全1信号,此举意在强化碰撞,以使得其它装置能尽快检测到碰撞发生。
- 在固定时间(一开始是1 contention period times)内等待随机的时间,再次发送。
- 若依旧碰撞,则采用截断二进制指数避退算法进行发送。即十次之内停止前一次“固定时间”的两倍时间内随机再发送,十次后则停止前一次“固定时间”内随机再发送。尝试共16次之后仍然失败则放弃发送。
- Ethernet 10BASE-T: 0.8us/bit
- 无连接,无编号;
- CSMA:
- 以太网的端到端往返时延 2τ 称为争用期,或碰撞窗口 (ethernet = 51.2 μs = 512bit, 0.1us/bit);
- jamming: 检测到冲突后 48bit jam 信号
- 侦听时间 96bit
- 帧间最小间隔 9.6us
- 参数 a=τ (端到端时延) / T0 (发送时延)
- 信道利用率 最大值 1/(1+a),30% 时已经有很大的碰撞率了
- 注:现在交换机/路由器时代已经不需要 CSMA 了
- MAC: 48bit, 前分配,后随意 (lsb)
- bit0: Individual / Group 位:0 单站,1 组
- bit1: Global / Local 位:0 全球管理,1 用户随意
- 全 1: 广播
- 帧结构:
- 8 byte 前 (55 55 55 55 55 55 55 d5) (物理层插入)
- 14B 头: 6B src, 6B dst, 2B type/len (<1536 为 len)
- 46-1500B 内容
- 4B FCS
- 18B 额外开销
- 扩展设备:
- 中继器(Repeater):信号放大
- 集线器 Hub:碰撞域很大
- 网桥 Bridge / 交换机 Switch:有存储器(储存转发/直通),即插即用
- 学习 src,丢弃 src=dst,广播 unknown dst,转发 known dst
- 环路消除:开生成树
- (第三章)交换结构:通过存储器、通过总线、通过纵横交换结构/互联网络
- 通过存储器:交换速率<存储器带宽/2
- crossbar switch fabric / interconnection network:几乎无阻塞
- 路由器 Router
- 网关 Gateway
- VLAN (IEEE 802.1Q)
- 实现:端口隔离,基于 MAC,基于 IP,基于网络协议,基于端口(?
- 帧结构:12B addr 后加 4B 标记:81 00 (pri:3b) (cfi: 1b) (vlanid 12b)
- Ethernet
- 100BASE-T (IEEE 802.3u):可全双工;不用 CSMA/CD;IEEE 802.3 MAC;帧间隔 0.96us
- 1000BASE-T:
- 争用时间 512B,载波延伸填充;
- 分组突发:很多短帧要连续发送时只有第一个要载波延伸
- 更高速:只有全双工
- Ethernet 不支持用户身份鉴别 -> PPPoE
- 无线局域网 WLAN (IEEE 802.11)
- 便携站(便于移动),移动站(边移动边工作)
- 基础
- 有固定基础设施
- 星形拓扑 (AP),MAC 层使用 CSMA/CA 协议
- 信道使用 2.4 GHz 和 5 GHz 频段;802.11b 使用 85 MHz - 11 信道(实际只用 1,6,11),每信道带宽 22Mhz
- 基本服务集 BSS:包括一个接入点 AP 和若干个移动站
- 有 SSID;AP MAC 为 BSSID
- 基本服务区 BSA
- 扩展服务集 ESS:包括一个分配系统 DS 和若干 BSS
- 有 ESSID
- DS 可以用 Ethernet, PPP, WLAN
- 可以通过 Portal 连接到 802.x 局域网
- 关联 Association:一个虚拟线路
- 扫描:被动(AP 信标帧),主动(探测请求帧 +探测响应帧)
- 建立:关联请求帧+关联响应帧
- 重建关联:转移关联到另一个 AP
- 关闭:分离
- 安全建立:WEP / WPA / WPA2
- 移动自组网络 / Ad Hoc 网络 / IBSS
- 没有 AP,所有节点地位平等,自组织,点对点
- 被 Wi-Fi Direct 取代
- 无线传感器网络 WSN(?)
- 传感器结点通过无线通信技术构成的自组网络
- 需求:低带宽,低功耗,小巧;用于 IoT
- 移动接入:
- 固定接入
- 移动接入:以车辆速度移动
- 便携接入:以步行速度移动
- 游牧接入:两点间移动(?)
- 版本
- b, a, g, n, ac, ax
- 物理层:扩频(b),正交频分复用 OFDM (a,g),多入多出 MIMO+OFDM (n,ac,ax)
- 带宽:11M (b), 54M (a,g), 600M (n), 7G (ac), 9.6 G (ax)
- MAC 协议
- 碰撞检测:无法实现
- RX 信号弱(隐蔽站问题,检测不到 Peer 信号)
- 接收端仍然有可能发生碰撞
- 信道不空闲
- CSMA/CA + 停止等待协议
- 载波监听:检测无线信道的信号能量,通过 网络分配向量 NAV 告知其他终端信道占用状态
- 冲突避免:信道空闲时间 >= 分布式帧间间隔 DIFS;随机退避计时器 CW = min (CW×2, CWmax)
- $t = 2^n-1\quad 4\le n \le 10$
- 退避:检测到信道忙,重传,忙完发(分配只需要 SIFS)
- 短帧间间隔 SIFS
- DIFS = SIFS + 2*slot
- slot=9us, SIFS = 10 us (2.4GHz) / 16us (5GHz), DIFS = 28us
- 信道预约:RTS (20B) /CTS (14B)(请求发送 / 允许发送)
- 两个子层:DCF 分布协调功能 和 PCF 点协调功能
- 帧类型:控制帧,数据帧,管理帧
- MAC address:
- dst, src, nextdst/src
- 碰撞检测:无法实现
- WPAN (IEEE 802.15)
- 把属于个人使用的电子设备用无线技术连接起来自组网络
- Bluetooth
- 皮可网:蓝牙使用 TDM 方式和扩频跳频 FHSS 技术组成的网,有一个主设备 (Master) 和最多 7 个工作的从设备;扩散网
- ZigBee:通信距离短,传输数据速率低,成本低廉,MAC 层沿用 802.11
- 网络最多 255 个节点
- 全功能设备,精简功能设备
- 超宽带 UWB 技术
- 蜂窝无线通信
- 1G: FM+FDMA
- 2G: 全球通 GSM;FDMA+TDMA,125*8
- 基站 BSC, 移动交换中心 MSC,网关 GMSC - 电话网
- GPRS / EDGE 实现数据通信
- 3G: CDMA
- 基站 BSC,GPRS 服务支持站点 SGSN,网关 GGSN - 互连网
- 通用移动通信系统陆地无线接入网 UTRAN
- 无线网络控制器 RNC
- 4G: 下行 OFDMA + MIMO,上行 SC+FDMA
- 用户设备 UE,无线接入网 E-UTRAN (eNB 组成),EPC 核心网(P-GW 接互连网,S-GW 接无线接入网,HSS 数据库,MME 通过 HSS 控制基站、用户)
- VoLTE
- LTE 子层:PDCP (GTP-U) 封装 L3 packet;RLC 链路控制,重排重传;MAC;PHY
- 5G: OFDMA
网络层
网络层传输分组
- 基础
- 两类观点:可靠交付(虚电路 VC);数据报服务
- 构成:数据转发平面,控制平面(路由)
- SDN:解耦数据平面何控制平面,由一个或多个集中式 SDN 控制器统一计算路由、下发策略
- IP
- 三个基础协议
- 地址解析协议 ARP
- 网际控制报文协议 ICMP
- 网际组管理协议 IGMP
- Internet: TCP/IP
- 间接交付/直接交付:只有edge 是直接
- IP 地址
- 表示方法:点分十进制
- 网络号+主机号
- 分类:A (0b0…/8) B(0b10…/16) C(0b110…/24) 多播 (0b1110…) 保留 (0b1111…)
- 特殊:
- .0: 本主机 (dhcp)
- .255: 网段广播
- -1: 本网络广播 (路由器不转发)
- 127./8: loopback
- CIDR,网络前缀,地址块,地址掩码
- /32: 主机路由
- /31: 点对点
- /0: 默认路由
- 路由聚合
- (RFC 1918) 专用地址:10./8, 172.16./12, 192.168./16
- ARP: IP to MAC
- 平行于 IP,type 08 06
[硬件类型 2B] [协议类型 2B] [HW 长度 1B] [Proto 长度 1B] [Op 2B][src MAC 6B] [src IP 4B] [dst MAC 6B] [dst IP 4B]- ARP 高速缓存
- 四种情况:edge - router
- ARP欺骗;防御:MAC 绑定,伪造检测
- IP 分组格式
[VER 4b] [hdr len 4b] [区分服务 1B] [len 2B][id 2B] [MF DF RSV 3b] [fragment offset 13b][TTL 1B] [Proto 1B] [Checksum 2B][src 4B] [dst 4B] [optional with pad n*4B][data varlen]
- 分片 offset: data 偏移 / 8
- 常见 proto: ICMP(1), IGMP(2), IP(4), TCP(6), UDP(17) IPv6(41) ICMPv6(58), OSPF(89)
- 三个基础协议
- 路由
- 核心:转发表逐行寻找前缀匹配
- 特殊路由:/0, /32
- 加速数据结构:前缀树 trie
- 基于终点的转发
- 路由器:路由选择 + 分组转发
- ICMP
- 格式:
[Type 1B] [Code 1B] [Checksum 2B] [data varlen] - 差错报告:
- 3 目标不可达(路由器/主机/TCP/UDP port)
- 11 超时(分片/TTL)
- 12 参数问题
- 5 重定向
- 4 源抑制
- 不可发送:对 ICMP 差错,对非首分片,对多播/特殊地址
- 询问:
- 8,0 Echo
- 13,14 Timestamp
- (v6) 邻站发现报文
- (v6) 组成员关系报文
- 格式:
- IPv6
- 变化:更大的地址空间,灵活的首部格式,支持 IP 分配,支持资源的预分配,分配 anycast ip
- 格式:base header + payload (extension header + data)
[VER 4b] [Traffic class 1B] [Flow label 20b][payload len 2B] [next hdr 1B] [ttl 1B][src 16B] [dst 16B]
- 扩展头部:逐跳选项,路由选择,分片,鉴别,封装安全有效载荷,目的站选项
- 冒号十六进制记法,零压缩,CIDR
- 地址类型
- ::/128: unspecified
- ::1/128: loopback
- ff00::/8: multicast
- fe80::/10: local link
- 路由选择协议
- AS
- 分类:末梢 AS,多归属 AS,穿越 AS,对等 AS
- 层次:域间路由选择,域内路由选择
- 自治系统 AS
- 内部网关协议 IGP:RIP, OSPF
- 外部网关协议 EGP:BGP
- RIP:
- Over UDP 520
- 基于距离表:每个路由器都要维护到每一个目的网络的 hop;max hop 16
- 实现:按固定时间间隔 (30s) 交换,相邻路由器交换 全量信息;本质上是分布式 Bellman-Ford 算法,收敛慢
- 报文:UDP port 520
[cmd 1B] [ver 1B] [00 00]- 多个路由项
[地址类型 2B] [ASid 2B] [addr] [mask] [nexthop] [distance]
- OSPF:
- IP proto 89
- 基于链路状态
- 实现:固定间隔 (30m) 或状态变化时,向所有路由器泛洪 相邻链路状态;收敛快!!
- 路由器分类:ASBR -> ABR -> BR
- ASBR: 生成 1,5,7 LSA,向全 AS 泛洪
- ABR: 生成 1,2,3,4 LSA,向区域内 + 区域间泛洪
- BR: 生成 1,2 LSA,向区域内泛洪
- LSA 类型
- T1 Router LSA;区域内所有路由器
- T2 Network LSA:该广播/多路访问网段上所有连接的 OSPF 路由器
- T3 Summary LSA:将一个区域内的路由(来自 Type 1/2)汇总后通告到其他区域
- T4 ASBR Summary LSA:告诉其他区域 如何到达 ASBR
- T5 AS External LSA:描述从其他路由协议引入的外部路由
- 消息类型
- T1 Hello:发现邻居 (to 224.0.0.5), 10s period
- T2 Database Description:交换摘要信息 (LSA 头部列表)
- T3 Link State Request:向邻居 请求缺失或较新的 LSA 详细信息
- T4 Link State Update:携带一个或多个完整的 LSA,用于响应 LSR / 泛洪新的或更新的链路状态信息
- T5 Link State Acknowledgment: ACK T4 LSU
- 工作过程:
- 确定邻站可达
- 同步链路状态数据库
- 更新链路状态
- designated router: 只与 DR 建立 Full 邻接,减少 flooding 的网络压力
- BGP
- TCP 179
- 用于自治系统 AS 之间的路由选择;力求得出能用、还行的路由,未必最佳
- BGP 发言者间有持续的 BGP session
- iBGP 会向 iBGP 发 eBGP 源信息,向 eBGP 发 iBGP 源消息
- 防环:过滤收到的、带自己的路由
- 选择策略:
- local preference 最高
- AS 跳数最小
- 分组在 AS 内的转发次数最少
- BGP ID (最大路由器 IP 地址)数值最小
- 报文类型:
- T1 Open:连接握手
- T2 Update:通告可达路由和撤销不可达路由
- T3 Notification:用于通知错误信息并关闭连接
- T4 Keepalive
- T5 Route refresh:重新发送特定地址族(如 IPv4/IPv6)的路由信息,实现动态路由刷新
- AS
- 多播
- 节约网络资源:一包=多包
- Ethernet: MAC=01-00-5E / 23
- IP: D 类 IP,v4 映射到 MAC
- IGMP: 使多播路由器知道多播组成员信息
- 工作:加入多播组,探询组成员变化情况 (125s period)
- 减少开销:随机时延分散响应,抑制机制(单主机响应则不再响应)
- 多播路由选择协议:使多播路由器协同工作,把多播数据报用最小代价传送给多播组的所有成员
- 距离向量多播路由选择协议 DVMRP
- 基于核心的转发树 CBT
- 开放最短通路优先的多播扩展 MOSPF
- 协议无关多播-稀疏方式 PIM-SM
- 协议无关多播-密集方式 PIM-DM
- 多播路由选择
- 洪泛与剪除
- 反向路径广播 RPB 防环:检查数据报是否经最短路径(src 的单播接口正确)传送来的
- 形成以源为根节点的多播转发树
- 剪枝与嫁接(通过 end router 主动发送 prune)
- 隧道技术:多播组成员网络分散
- 基于核心的发现技术:
- 指定一个核心路由器,以核心路由器为根做转发树
- 洪泛与剪除
- 节约网络资源:一包=多包
- VPN
- 使用互连网构建的专用网
- 用隧道技术实现虚拟专用网
- 类型:内联网,外联网,远程接入 VPN
- NAT:专用网与互联网上的主机通信;需要 NAT 路由器;轮用 IP
- NAPT:使用传输层端口号
- MPLS 多协议标签交换
- 本质上类似于 IP 路由表的一个高速的转发缓存,可以做到显式的、灵活的路由控制优化
- 标记交换路由器 LSR:具有标记交换和路由选择功能
- 工作过程:
- 找出标签交换路径 LSP(相当于 ip 路由的 cache)
- 打标签,然后转发
- 标签对换(一个标签仅在两个 LSR 之间才有意义)
- 去除标签
- 标签分配协议 LDP:转发等价类 FEC -> 标签
- FEC 用于负载平衡
- MPLS 首部:
[tag 20b] [expr 3b] [stack 1b] [ttl 8b] - 问题:协议复杂,流量调度功能难以实现
- 段路由选择协议 SR:不需要使用 LDP 协议
- SDN:实现控制面与数据面的分离
- OpenFlow:SDN 体系结构中控制层面和数据层面之间的通信接口
- 架构:管理员 -(north: api)- SDN 控制器 -(south: flow table)- 可管理交换机
- flow table: 规定“匹配 + 动作”
- 可实现简单转发,负载均衡,防火墙等功能(抢 nftables 的活?)
- OpenFlow:SDN 体系结构中控制层面和数据层面之间的通信接口
传输层
- 基础:
- 运输层功能:提供应用进程间的逻辑通信,屏蔽网络核心的细节,为进程提供端到端的逻辑通信信道
- 传输协议数据单元 TPDU:两个对等传输实体在通信时传送的数据单位
- 端口功能:复用网络层,多进程分用;只有本地意义
- TCP/UDP 端口号分配:
- 0-1023 熟知端口,IANA 分配
- 1024-49151 登记端口
- 49152-65535 客户端端口
- UDP:
- 无连接、面向报文通信
- header:
[src port 2B] [dst port 2B] [total len 2B] [checksum 2B]- checksum: 异或和的反,要填充位头部 (v4 12B / v6 40B)
- TCP:
- 有连接,面向字节流通信
- socket
- socket API 的简称
- 一个 syscall
- 调用 socket call 的 endpoint
- socket 描述符
- 内核里的 Berkeley 实现
- 停止等待协议:发送/接收窗口=1;丢失啥都不做
- 利用率 U=TD/(TD+RTT+TA)
- 连续 ARQ 协议
- 接收方对按序到达的最后一个分组发送确认
- Go-back-N:需要再退回来重传已发送过的 N 个分组
- header
[src port 2B] [dst port 2B] [seq 4B] [ack 4B][data offset 4b] [rsv 6b] [flags 6b] [window 2B][checksum 2B] [urgent pointer 2B] [options 4B*n]- data offset: *4B
- flags: URG, ACK, PSH, RST, SYN, FIN
- window: 接收方目前允许对方发送的数据量
- URGENT: 紧急数据的字节数
- 窗口扩大 3B,表示移位值;最大 «14,2**30-1
- Timestamp: 10B,时间戳值字段,时间戳回送回答字段;计算往返时间,防止序号绕回
- 可靠传输
- 发送窗口和接收窗口
- 标准没有规定对不按序到达的数据应如何处理
- 要求接收方必须有累积确认的功能 以减小传输开销
- 加权平均往返时间 (Karn 算法)
- RTTs=(1-a)RTTs + aRTT; (a=1/8)
- RTTd = (1-b)RTTd + b |RTTs - RTT| (b=0.25)
- RTO = RTTs + 4 RTTd
- 每次重传 RTO=g RTO (g = 2)
- 选择确认 SACK:只传送缺少的数据;报告收到的不连续的边界
- Duplicate SACK:报告重复接收
- 快速重传:收到三个相同的 ACK 报文
- 流量控制:
- 滑动窗口 rwnd:控制发送速率
- 持续计时器:防止零窗口死锁,定时零窗口探测
- Nagle 算法:解决糊涂窗口综合症,收到确认/buf数据已达到发送窗口一半或已达到报文段的最大长度
- 接收方:接收缓存已有足够空间容纳一个最长的报文段,或者等到接收缓存已有一半空闲,才 ACK
- 拥塞控制
- 开环控制:事先约束;闭环控制:反馈环路
- 实现:拥塞窗口 cwnd
- 慢开始:每个 round cwnd * 2
- 拥塞避免:cwnd 达到 ssthresh 后 +1
- 超时重传计时器超时:ssthresh = max (cwnd/2,2),cwnd = 1,慢开始
- 收到 3 个重复的确认:ssthresh = cwnd = cwnd/2 快重传,拥塞避免
- 分组丢弃策略
- 先进先出FIFO+尾部丢弃策略 -> 连接共振
- 主动队列管理 AQM:队列长度达到某个值得警惕的数值时主动丢弃
- 随机早期检测 RED:队列分为 丢弃,随机丢弃 (Thmax),排队区域 (Thmin)
- RED 不好用 -> CoDel 等
- 发送窗口 = min(rwnd, cwnd)
- 有限状态机

- SYN, FIN 会额外消耗一个 seq(视为“占用 1 字节”的虚拟数据);SYN 不允许带额外数据
- 2MSL 目的:保证发送的最后一个 ACK 报文段能够到达 B,防止“已失效的连接请求报文段”出现在本连接中
- system API (第五章)
- Berkeley: socket; MS: Windows Socket; AT&T: Transport Layer Interface
- BSD socket:socket, bind, listen, connect, accept, recv, send, close
应用层
- DNS
- via UDP 53
- 域名结构
- 层次树状结构
- 每一个标号不超过 63 char,总长不超过 255 char
- 子域:顶级域、二级域、三级域
- TLD
- 国家顶级域名 nTLD / ccTLD
- 通用顶级域名 gTLD
- 基础结构域名:arpa
- 新顶级域名:公司可向 ICANN 申请
- 域名服务器
- 根:13个 (iana.org)
- 顶级
- 权威/权限 (Authoritative)
- 本地/递归/默认
- 查询:迭代查询 / 递归查询(加 RD flag,只问根)
- DNS 安全
- DNS污染
- DNS劫持
- Hosts文件劫持
- FTP
- via TCP 20/21
- port 21 负责接受请求
- port 20 负责主动模式的数据传输 (S -> C)
- 一个文件共享协议
- 文件传送协议:复制整个文件。对文件副本进行访问
- 联机访问协议:透明存取,由操作系统负责
- vsftpd:fork 模型
- 主进程负责接受新的请求
- 子进程负责处理单个 session
- session 内还会创建数据传送进程
- via TCP 20/21
- TFTP
- via UDP 69
- 只支持文件传输,不支持交互
- 协议实现:512B/chunk,手搓的停止等待协议
- TELNET
- via TCP 23
- 简单的远程终端协议;
- 网络虚拟终端 NVT 格式:使用数据 (>=0),控制字符集(<0)
- WWW / HTTP
- WWW
- 访问方法:链接
- 是超媒体系统
- 以 Client (Browser) / Server 工作
- 使用 HTTP / HTML
- 统一资源定位符 URL:
[proto]://[host]:[port]/[path] - HTTP
- via TCP 80
- HTTP 是面向事务的应用层协议,无连接无状态
- Request Payload
[Method] [URL] [VERSION] CRLF[Header]: [Value] CRLF* NCRLF[BODY]
- Response Payload
[VERSION] [Status] [Explain] CRLF- 其余同 Request
- HTTP 1.0: 2RTT per request
- HTTP 1.1 Keep Alive,流水线
- HTTP2:帧化,没有队头阻塞,二进制编码
- Status code: 1 inform, 2 succeed, 3 redirect, 4 client err, 5 svr err
- Cookie 存状态
- 代理服务器:cache 加速
- HTML (RFC 2854)
- 定义了许多用于排版的命令
- XML:抄袭 HTML 的;XHTML (RFC 3236)
- CSS
- 动态文档
- PHP/RSC/Django
- CGI 脚本
- 活动文档技术:javascript
- Search engine
- 全文检索搜索引擎,分类目录搜索引擎(黄页)
- 垂直搜索引擎(特定领域),元搜索引擎(不做搜索,只是搜索引擎的搬运工)
- 网页排名(链接图)
- 博客和微博,社交网站(SNS)
- WWW
- 电子邮件
- 协议:发送 SMTP (TCP25),接收 POP3 / IMAP
- 组件:用户代理,邮件服务器,协议
- 地址格式:
[name]@[domain] - SMTP Payload (rfc5321)
MAIL FROM <[email addr]> CRLFRCPT TO <[email addr]> CRLF* N[HEADER]: [Value]CRLF*NCRLF[Body][CRLF].[CRLF]
- POP3 相当于消息队列,阅后服务器删除;IMAP 是在线阅读服务器
- MIME
- MIME-Version,Content-Description,Content-Id,Content-Transfer-Encoding,Content-Type
- Content-Transfer-Encoding:7bit, 8bit, binary, base64, quoted
- Content-Type:
[type]/[subtype];multipart!
- DHCP
- via UDP 67(server) / 68(client)
- DHCP 中继代理
- 工作过程:
- DHCPDISCOVER,DHCPOFFER,DHCPREQUEST,DHCPACK,DHCPRELEASE
- 提供 ip, mask, default router, default dns
- 租用期 lease period:
- 到一半重新 DHCPREQUEST;得到 DHCPNACK 则重新 DISCOVER
- 到 87.5% 再 DHCPREQUEST
- SNMP
- via UDP 161 (manager poll) / 162 (agent send)
- SNMP 架构主要包括以下三个核心组件
- Manager
- Agent
- 管理信息库 MIB:用 OID 树标识存储监控对象
- 管理信息结构 SMI:
- 功能:被管对象命名,数据类型,传输编码
- 所有被管对象必须在命名树上;MIB 变量命名需符合 ASN.1 要求
- 数据类型:简单类型 (int, string, null),结构化类型 (sequence, choice, any)
- 基本编码规则 BER:TLV
- 操作:GET,GET-NEXT,GET-BULK,SET,TRAP / INFORM
- SNMP vs Prometheus (via AI):SNMP 并未消失,而是在其擅长的领域(传统网络基础设施监控)继续发挥作用;而 RESTful + Prometheus 主导了新兴应用和云环境。现代运维工程师往往需要同时掌握两者,并用工具(如 snmp_exporter)打通它们。
- P2P
- 集中目录服务器 (Napster)
- 全分布式结构 (Gnutella, eMule, BT)
- BT
- neighboring peers:建立了 tcp 连接的 peer
- Torrent: 所有 peer
- Chunk:request rarest,
- Tracker
- 上行流量分配:send to data rate 最高的 peer
- 速率分析
- C/S: T = max(NF/us, F/di_min)
- P2P: T = max(F/us, F/di_min, NF/uT),uT 为上传速率之和
- 分布式散列表 DHT
- DHT 利用散列函数,把资源名 K 及其存放的结点 IP 地址 N 都分别映射为资源名标识符 KID 和结点标识符 NID
- Chord 环:结点按标识符数值从小到大沿顺时针排列成一个环形覆盖网络;资源由 Chord 环上与其标识符值最接近的下一个结点提供服务
- 指针 base2 表加速 Chord 环跳转