第一章 计算机网络和因特网
1 因特网
- 主机
- 端系统
- 通信链路
- 分组交换机
2 协议
- TCP,IP,HTTP
3 网络边缘
-
主机
-
通信模型
-
- C/S
- P2P
-
接入网:将主机连接到边缘路由器
3.1 接入方式
3.1.1 modem
- 点对点连接ISP的拨号池
3.1.2 DSL
- 上行/下行速率
- 频分复用
- 带宽独享
3.1.4 HFC:光纤同轴电缆混合网络
- 电缆分配网络
- 光纤传输
- 带宽独享
3.1.5 局域网接入
-
以太网
- 共享或专用的链路来连接端系统和路由器
-
企业网络
3.1.6 无线接入
-
基站
-
无线局域网
-
广域无线接入
-
电信运营商提供
- 3G,4G,5G
3.2 物理媒体
-
导引型:固体媒体传播
-
- 双绞线:两根互相绝缘的铜导线
- 同轴电缆:双向传输,基带
- 光缆:玻璃光纤传播光脉冲,高速运行,低误码率
-
非导引型:自由传播
-
- 无线电:电磁频谱传播,双向传输,易受到反射和障碍物干扰
- 类型:地面微波,无线局域网,无线广域网,卫星
4 网络核心
4.1 电路交换网络
-
方法
-
- 建立连接
- 交换数据
- 释放连接
-
时分复用
-
频分复用
-
问题:不够灵活
4.2 分组交换
-
将保温划分为较短的数据段
-
数据段加上首部构成分组
-
存储转发
-
特征
-
- 共享节点,分组存储转发
- 断续(动态)分配传输带宽
- 网状拓扑结构
-
转发
-
- 数据报网络
- 虚电路网络
-
问题
-
- 存储转发时因要排队总会造成一定的时延
- 携带一定的控制信息,从而带来额外开销
- 分组交换网的管理和控制比较 复杂
4.3 对比
- 相同条件下,分组网络支持更多用户
- 用户数较少时,分组交换能够获得比电路交换更好的性能
4.4 ISP和因特网主干
- 主干ISP->区域网络->内容提供商网络
4.5 分组交换时延,丢包,吞吐量
-
时延
-
- 处理时延
- 排队时延

-
-
传输时延:
-
- 将所有分组的比特推向链路所需要的时间
- 与分组和链路传播速率有关
-
传播时延:
-
- 一个比特从一台路由器到另一台路由器传播的时间
- 取决于链路的物理媒体
-
-
丢包
-
- 分组到达时队列已满,则分组被丢弃
-
吞吐量
-
- 瓶颈链路的传输速率
5 协议层和服务模型
5.1 协议栈
- 应用层:FTP,SMTP,HTTP
- 运输层:TCP,UDP
- 网络层:IP,路由协议
- 链路层:PPP,以太网
- 物理层:在线路上传输比特流
5.2 ISO/OSI参考模型
-
增加
-
- 表示层
- 会话层
5.3 模型
- 实体:软件模块
- 对等体:对应层的实体
- 协议:语法,语义,同步
- 服务:下层为上层提供的功能
- 封装
6 网络攻击
- 恶意软件,病毒,僵尸网络,自我复制
- 拒绝服务攻击
- 分布式拒绝服务攻击
- 嗅探分组
第二章
1 应用层协议原理
1.1 网络应用层序
- 发送数据
- 接收数据
- 处理数据
1.2 体系结构
- C/S
- P2P
- 混合体系结构
1.3 网络应用服务
- 数据的可靠传输
- 带宽的自动控制
- 传输和反馈的实时性
- 安全性
1.4 运输层服务
- TCP
- UDP
- SSL:提供加密的TCP
1.5 套接字
- 主机地址
- 端口地址
2 web和HTTP
2.1 WEB
- 由对象组成
- html文件是Web页面的基础,它可以包括各种各 样的对象,是一个容器对象。
- 任何一个对象都可以用 URL来定位
2.2 HTTP
-
HTTP1.0:非持久性连接
-
-
取对象需要2RTTs
-
- TCP连接
- 对象请求/传送
-
每次发送都需要建立TCP连接
-
串行和并行
-
-
HTTP1.1:持久连接
-
-
非流水线方式
-
- 只建立一次TCP连接
- 一个对象传输完成方能传输下一个
-
流水线方式
-
- 一次性发送所有请求
- 3RTTs:TCP连接,html,其他对象
-
-
HTTP报文
-
-
HTTP请求报文
-
- 请求行
- 首部行
- 空行
- 实体主体
- 请求方法:GET,POST,HEAD,PUT,DELETE
-
HTTP响应报文
-
- 状态行
- 首部行
- 空行
- 实体主体
-
常见状态码和短语
-
- 200:OK
- 301:Moved Permanently
- 400:Bad Request
- 404:Not Found
- 505:HTTP Version Not Supported
-
2.3 用户——服务器交互:Cookie
- 工作流程
-
好处
-
- 认证
- “购物车”
- 推荐
- 用户会话状态
3 电子邮件系统:用户代理,邮件服务器,SMTP
3.1 SMTP协议
- SMTP:发送邮件的协议
- 对比HTTP
-
报文格式
-
- 首部诸行
- 信体
3.2 客户机获取邮件
- POP3协议
- IMAP协议
- HTTP协议
4 DNS:因特网的目录服务(IP地址和域名的转换)
4.1 DNS简述
- 分布式数据库
- 运行在端到端系统上,使用UDP进行传输
- 属于应用层协议
- C/S模式
4.2 DNS实现
-
DNS服务器
-
- 顶级域DNS服务器:顶级域名和国家的域名解析,com,org,net等
- 权威DNS服务器:属于某个组织,服务提供商
- 本地DNS服务器
4.3 DNS缓存
- 服务器得知某个映射就缓存
- 一定时间自动消除
4.4 提供的服务
- 域名和IP的转换
- 主机/邮件服务器别名
- 负载均衡:一个域名对应多个IP
4.5 攻击DNS服务器
- DDoS攻击
- 重定向攻击
- 反射攻击
5 P2P文件共享
5.1 C/S和P2P对比
5.2 BitTorrent
6 视频流和内容分发网
6.1 视频编码方式
- CBR:恒定比特率
- VBR:可变比特率
6.2 经HTTP的动态适应性流(DASH)
-
服务器
-
- 视频文件分成多个文件快
- 每个块以不同的速率存储、编码
- 清单文件:为不同的块提供URL
-
客户端
-
- 定期测量带宽
- 查询清单
6.3 内容分发网
-
在多个地理位置分散的站点(CDN)存 储/提供多个视频副本
-
- 转有CDN
- 第三方CDN
-
集群选择策略
-
- 地理上最为邻近策略
- 周期性实施测量策略
7 套接字编程
第三章
1 概述
-
功能: 为不同主机上运行的应用进程之间提供逻辑通信
-
工作内容:
-
- 发送方:把数据划分为报文段交给网络层
- 接收方:把报文段重组成应用数据交付给应用层
-
传输协议:
-
- TCP
- UDP
2 多路复用和多路分解
- 多路分解:将运输层报文段的数据交付到正确的套接字
- 多路复用:在源主机上从不同的套接字收集数据块,并为每个数据块封装上首部信息生成报文段,将报文段传送到网络层。
3 套接字
- 端口:标志应用层的进程(进程)
- 套接字:使用连接作为最基本的抽象TCP连接的端点,每个套接字都有唯一的标识符,标识符的格式取决于它是UDP还是TCP套接字。
-
套接字
-
-
UDP:
-
- 二元组:目的IP,目的端口号
- 收到UDP报文段时,提取对应的目的IP,目的端口号,定位到相应的UDP套接字。
-
TCP套接字:
-
- 四元组:源IP,源端口号,目的IP,目的端口号
- 收到TCP报文段时,提取对应的源IP,源端口号,目的IP,目的端口号,定位到相应的TCP套接字。
-
4 无连接传输:UDP
-
提供的功能:
-
- 多路复用/多路分解
- 差错检测
-
优点:
-
- 关于何时,发送什么数据的应用层控制更为精细
-
UDP报文段结构
-
- 首部8个字节
- 源端口,目的端口
- 长度,检查和
- 应用数据
-
检查和:将两个16比特的数据相加后结果回卷,取反码
5 可靠数据传输
5.1 原理
5.2 逐步开发rdt
-
rdt 1.0
-
-
信道完全可靠
-
发送方:
-
- 数据打包
- 发送数据包到底层
-
接收方
-
- 从底层接收分组
- 交付到上层
-
-
rdt 2.0
-
-
分组可能受损
-
发送方
-
- 差错检测,数据打包
- 发送数据包到底层
- 等待接收反馈(出错重传)
-
接收方
-
- 从底层接收分组
- 发送反馈(NCK和ACK)
- 是否交付到上层
-
-
rdt 2.1
-
- 考虑ACK和NAK可能受损
- 在rdt 2.0的基础上对分组编号
-
rdt 2.2
-
-
针对rdt 2.1的改进
-
- 只使用ACK: 接受方必须明确指出被确认的分组序号
- 发送方收到重复的ACK后进行重传
-
-
rdt 3.0
-
- 考虑丢包
- 加入计时器,耐心等待
-
流水线技术
-
- 允许发送方发送多个分组而无需等待确认
- 增大序号范围
- 缓存分组
5.3 GBN和SR
- GBN:其后分组全部重传
-
GBN滑动窗口大小
-
- 发送方:<2^k - 1
- 接收端:1
-
SR:仅重传该分组
-
-
发送方:
-
- 如果分组n等于sendbase,窗口基 序号向前推到下一个未确认序号
-
接受方:
-
- 失序缓存
- 交付连续的分组,窗口推到下一个未收到的分组
-
6 TCP
6.1 特点
- 面向连接
- 全双工
- 点对点
- 可靠有序
- 流量控制
- 拥塞控制
- 流水线
6.2 TCP报文段
- 首部20个字节
- 序列号:报文段中第一个字节在字节流中的编号
- 确认号:期待对方发送的下一个字节的seq
-
可靠传输
-
- 按字节编号
- 采用唯一的定时器
6.3 TCP连接管理
- 建立连接:三次握手
- 释放连接
7 拥塞控制
7.1 reno算法
-
加性增,乘性减
-
慢启动
-
- 初始CongWin = 1MSS
- 指数增长
-
拥塞避免
-
- 线性增长
7.2 窗口和门限控制
7.3 TCP吞吐量
第四章 网络层
1 网络层概述
-
目标:实现主机到主机的通信
-
三大部分
-
- 网络层功能和服务
- 转发
- 路由选择
-
虚电路和数据包网络
-
-
虚电路:面向连接
-
- 通过每段链路的VC号进行转发
- 路由器维持连接状态信息
-
数据报:面向无连接
-
-
分组交换机
-
- 链路层节点交换机
- 路由器
-
服务
-
- ATM
- 因特网
2 路由器结构
-
路由器工作原理
-
-
输入端口
-
- 线路端接
- 数据链路处理
- 查找,转发,排队,线头阻塞
- 最长前缀匹配
-
交换结构
-
- 经内存交换
- 经总线交换
- 经互联网络家交换:交换结构控制器
-
路由选择处理器
-
输出端口
-
-
排队,缓存管理
-
数据链路处理
-
线路端接
-
处理丢包:
-
- 缓存数量B=RTT x C
- 分组调度程序:随机早期检测算法
-
交换结构不够快:导致输入排队交换机的线路前部阻塞
-
-
3 网际协议
-
数据报格式
-
-
20字节
-
IP分片
-
- 标识
- 标志
- 片偏移
-
IP v4编址
-
-
网络地址
-
-
子网掩码:
-
- 网络号和子网号置1,主机号置0。
- 对外隐藏子网,对内指示网络号和子网号。
-
将目的IP地址与子网掩码相“与”,判断是否等于对应的子网的网络地址
-
-
无类别域间路由选择(CIDR)
-
- 最长前缀匹配
-
-
内部主机号
-
获取主机地址
-
- 手动配置
- DNCP:动态主机配置协议,即插即用协议,客户-服务器协议,没有服务器则使用DHCP中继代理
-
- - **DHCP服务器发现:客户生成DHCP发现报文的IP数据报,源地址为0.0.0.0,广播目的地址为255.255.255.255**
- **DHCP服务器提供:向客户做出响应,使用255.255.255.255的广播地址**
- **DHCP请求**
- **DHCP ACK**
-
网络地址转换(NAT):对外隐藏内部网络信息
-
- NAT转换表
- UPnP:穿透NAT
-
英特网控制报文协议(ICMP):差错报告
-
- 承载在IP数据报中
-
-
IP v6(128位)
-
- 容量扩大
- 40字节首部
- 流标签和优先级取消分片和组装
-
-
路由选择
-
-
全局式路由选择:链路状态算法
-
-
LS算法:让每个节点向网络中所有其他节点广播链路状态分组
-
迪克斯特拉算法:
-
- 通过链路状态广播获得信息
- 所有节点具有该网络的同一个完整的视图
-
-
-
-
- 复杂度:O(n^2)
- 缺点:链路震荡
- 方法:让每台路由器发送链路通告的时间随机化
-
分散式路由选择:距离向量算法
-
-
- 对比:
4.5 层次路由选择
-
自治系统:AS
-
- 自治系统内部选路协议
-
- 自治系统间选路协议
-
RIP协议(使用距离向量算法,运行在UDP上)
- OSPF协议(使用Dijkatra算法,运行在IP上)
-
自治系统间选路协议----BGP4(运行在TCP上)
-
- BGP交换路由信息
-
BGP路由通告
-
-
聚合前缀
-
发布前缀可达性消息
-
- 使用iBGP会话向AS中的其他路由器发布前缀
- 使用eBGP向其他AS的网关路由器发布前缀
-
路由
-
4.6 选路算法小结
第五章 链路层
1 概述
1.1 服务:
-
- 成帧
- 链路访问
- 可靠传递
- 流量控制
- 差错检测,查错纠正
1.2 配器通信
-
- 发送方:封装数据包成帧,差错检测位
- 接收方:查找错误,可靠交付,取出数据报交付到网络层
1.3 差错检测
- 单比特奇偶校验
- 二维奇偶校验
- 检验和
- 循环冗余校验(CRC)
1.4 多路访问链路和协议
-
点到点链路
-
- PPP/以太网交换机和主机
-
广播链路
-
- 传统以太网/HFC/802.11无线LAN
-
多路访问协议
-
- 信道划分协议:分割信道(时隙,频率,编码)
- 随机访问协议:信道不分割,允许碰撞,碰撞恢复
- 轮流协议:轮流传送
-
信道划分协议
-
-
TDMA
-
- 获得固定长度的时隙
- 没有数据发送的时隙空闲
-
FDMA
-
- 每个节点分配固定的频段
-
-
随机访问协议
-
-
有数据发送时以全速率R发送
-
多个节点发送时产生碰撞
-
- 检测碰撞
- 碰撞恢复
-
举例:ALOHA,时隙ALOHA,CSMA,CSMA/CD,CSMA/CA
-
纯ALOHA的工作效率:1/(2e)=0.18
-
时隙ALOHA:1/e=0.37
-
CSMA:载波监听
-
- 传输前监听
- 信道空闲,传送整个帧
- 信道忙,推迟传送
-
-
-
- 争用期:3t
-
轮流协议:主节点邀请从节点轮流传输
-
令牌传递协议:控制令牌依次通过各个节点
-
DOCSIS:用于FC的链路层协议
-
1.5 交换局域网
-
MAC地址
-
- 标识网络适配器,使得能在广播信道上寻址目标节点
- 平面地址,不会随位置改变
-
ARP:地址解析协议
-
-
根据目标IP地址获取MAC地址
-
ARP高速缓存
-
TTL:超过TTL的地址映射会从ARP表中删除
-
同一局域网内
-
- 建立ARP请求包
- 检查ARP表是否有对应IP和MAC的地址映射,有就发送
- 没有就广播发送该请求包(目的MAC地址为全1)
- 该子网内的所有适配器收到ARP分组后,ARP模块检查IP地址是否匹配,匹配的话就发送一个ARP响应分组。
-
-
以太网
-
-
类型
-
- 总线式以太网
- 交换式以太网
-
以太网帧结构
-
- 数据字段
- 前同步码
- MAC地址
- 类型
- CRC
-
服务
-
- 无连接
- 不可靠
-
使用CSMA/CD:载波侦听,碰撞检测,随机回退
-
-
- 指数回退算法
-
-
争用期:51.2us,可发送512bit,即64字节
-
- 前64字节没有发生碰撞,后续数据不会发生碰撞
- 最小有效帧长
-
信号编码
-
- 曼彻斯特编码
-
-
集线器互联
-
交换机互联
-
- 优点:过滤通信量,扩大范围,提高可靠性,互联不同物理层
- 缺点:增加时延,帧丢失,广播风暴
-
交换机VS路由器
-
- 路由器维护转发表,实现路由算法
- 交换机维护交换表,实现MAC地址过滤,学习算法
-
虚拟局域网:通过软件实现网路节点划分
-
- 基于交换机接口号,MAC地址,IP地址构建
- 流量隔离
- 动态的成员管理
- VLAN之间的转发
第七章
1 无线网络
-
无线主机
-
无线链路
-
基站
-
基础设施模式
-
特征:
-
- 递减的信号强度
- 来自其他源的干扰
- 多径传播
-
传输会引入噪声
-
- SNR——信噪比
- BER——比特差错率
- SNR越高,BER越小
-
隐藏终端问题
-
码分多址访问(CDMA)
