计网复习
第一章
协议的基本要素:语法、语义和同步
网络的分类
-
电路交换:频分(FDMA)和时分(TDMA)
-
分组交换:
a. 数据报网络(TCP/IP),分组目的地址决定下一跳,路由可以改变
b. 虚电路网络(X.25,FR,ATM),路径固定,路由器必须为每个连接维护状态信息
分组延迟的四种类型
- 节点处理时延
- 排队时延。取决于路由器的拥塞程度 La/R(分组长度*平均分组到达率/链路带宽)
- 传输时延。取决于带宽
- 传播时延。取决于信号传播速度
网络模型
-
ISO/OSI 七层参考模型
应用层、表示层、会话层、传输层、网络层、数据链路层、物理层
-
TCP/IP 参考模型
应用层、传输层、网络层、数据链路层、物理层
第二章
HTTP是无状态协议
- 非持久HTTP:每个TCP只能传输一个对象
- 持久HTTP: 每个TCP上可以传输多个对象
RTT(Round-Trip Time)往返时间
: 1个小分组从客户主机到服务器再到客户主机所花费的时间.
总时间 = 2*RTT + 传输时延
FTP:21端口用于控制连接、20端口用于数据连接
SMTP:用于邮件服务器之间信件的传输
DNS查询方法
- 递归查询(本地DNS服务器以DNS客户的身份向根DNS服务器查询,再由根服务器去查询ip)
- 迭代查询(一级一级地问每个DNS服务器,直到找到最低一级的服务器ip)
第三章
传输层服务和协议
在两个不同的主机上运行的应用程序之间提供逻辑通信
多路复用和多路分解
- 多路复用:从多个套接字收集数据,用首部封装数据,然后将报文段传递到网络层
- 多路分解:将接收到的数据段传递到正确的套接字
UDP
数据包的定义
校验和的计算
校验和的检验:将数据包的首部(包括伪首部)进行求和,然后变反
可靠数据传输
rdt1.0
rdt2.0
这是一个停-等协议,发送方发送一个报文,然后等待接收方的响应
rdt2.0 有一个缺陷,发送方并不知道接收方发生了什么,不能正确重发,可能重复
rdt2.1
-
状态加倍
-
必须检查是否收到混淆的 ACK/NAK
- 必须检查是否接收到重复的报文
- 接收方并不知道它的上一个 ACK/NAK 是否被发送方正确收到
rdt2.2
- 功能和 rdt2.1 一样
- 只使用 ACK,接收方在收到报文后放松的 ACK 中明确包含被确认的报文的序号
- 发送方收到重复的 ACK 将导致重发当前报文
rdt3.0
假设:下层信道会丢失报文(数据和ACK)
发送者等待合理的确认时间
- 若未在时间内收到ACK就重发
- 使用序号来解决重发导致的重复问题
流水线
发送方
-
用于增加利用率
-
在分组头中规定一个k位的序号
-
增加“窗口”,允许连续未确认的报文
窗口(等待发送的报文)必须小于等于序号空间(一次性发送的报文)大小的一半
接收方:
- 总是为正确接收的最高序号的分组发送 ACK (提示发送方进行选择性重传)
- 只需要记住被期待接受的序号
- 如果收到乱序数据,则丢弃,只保留有顺序的
TCP
报文段结构
- 序号(Seq)代表当前发送的数据在字节流中的编号
- 确认号(ACK)代表期望从另一边获取到的数据的编号
序号和确认
快速重传
发送方收到三个对同样报文段的确认,则认为该报文段之后的数据已经丢失,启用快速重传
流量控制
- 接收方在报文段中宣告接收窗口的剩余空间
- 发送方限制没有确认的数据不超过接收窗口
连接管理
握手(重要)
连接的建立(三次握手):
- 发送方发送 SYN 包
- 接收方收到包后发送 ACK+SYN 包
- 发送方发送 ACK 包
进行上述行为的同时要注意 Seq 和 ACK 的改变
连接的结束(四次握手):
-
发送方发送 FIN 包(发送方进入等待状态,只能收不能发)
-
接收方发送 ACK 包(此时接收方还能继续发送数据)
-
接收方再发送 FIN 包(此后接收方就不能发送数据了)
-
发送方发送 ACK 包(完成整个 TCP 通信)
拥塞控制
- 一开始处于慢启动状态(启动速度慢,增加得快)
- cwnd 达到阈值 ssthresh 时,进入拥塞避免状态(每次增加
MSS*(MSS/cwnd)
) - 若收到三个重复的 ACK,那么就进入快速恢复状态,并且阈值
ssthresh 减半
,cwnd 减半 + 3
- 只要超时,就立刻恢复慢启动状态
第四章
第五章
网络层的功能
- 转发,将分组从路由器输入端口转移到正确的输出端口
- 路由,确定分组从发送方传输到接收方所经过的路径
数据平面和控制平面
-
数据平面
本地的,每个路由器自身的功能
-
控制平面
整个网络范围。
两种控制平面的实现方式:
a) 传统的路由算法,在路由器内实现
b) 软件定义网络(SDN),在远程服务器上实现
网络层可能提供的服务
- 确保交付
- 具有时延上界的确保交付
- 有序分组交付
- 确保最小带宽
- 确保最大时延抖动
连接与无连接服务
- 数据报网络:无连接
- 虚电路网络:连接
数据报网络
特点
- 网络层服务模型简单
- 端系统功能复杂
最长前缀匹配
路由器查表方法
- 存在匹配,转发
- 不存在匹配,选择其他项对应的链路转发
- 存在多个匹配,使用最长前缀匹配规则转发
路由器交换结构
- 内存。数据会两次穿过总线(传入和传出内存)
- 总线。每次只能有一个分组传送。其他的分组会被阻塞,排队等待总线为空
- 纵横式(交换矩阵)
IP数据报
IP地址分类
子网掩码和子网划分
见PPT
DHCP(应用层协议)
1-5:DHCP确定动态IP地址的过程 DHCPDISCOVER - DHCPOFFER - DHCPREQUEST - DHCPACK
6:DHCP客户租用期过了一半,发送请求报文 DHCPREQUEST 要求更新租用期
7:若服务器拒绝,则返回 DHCPNACK
8:若服务器同意,则返回 DHCPACK
9:DHCP使用结束,客户向服务器发送释放报文 DHCPRELEASE
NAT
网络地址转换
ICMP
IPv6
- 不允许分片
- 固定长度的 40 Bytes 首部
路由
Dijkstra最低费用路径算法
基本思想:以源节点为起点,每次找出一个到原节点的费用最低的节点,直到把所有的目的节点都找到为止。然后再从目的节点开始依次寻找前驱,就能遍历整个最短路径,形成最小生成树。
距离向量路由算法
基本思想:每个节点维护一个距离向量表,每个节点不断向邻居发送其距离向量拷贝,当节点 x 收到邻居 v 的新距离向量,先保存,并用 B-F 公式更新自己的距离向量,并通知其邻居,直到距离向量不再变化。
$$
D_x(y) = min_v{c(x,v)+D_v(y)}
$$
通知邻居时传播的特性:坏事(距离变长)不出门,好事(距离变短)传千里
小练习(重要):
层次选路
域间路由协议(IGP)
IGP,也叫内部网关协议
RIP 路由信息协议*
-
距离向量算法
-
距离衡量:跳数(max = 15)
OSPF 开放最短路径优先
- 分发LS 分组
- 每个节点具有拓扑图
- 路由计算使用 Dijkstra 算法
- OSPF 信息直接通过 IP 传输
IGRP 内部网关路由协议(Cisco特有)
域间选路:BGP
SDN(软件定义网络)
SDN的核心理念是,希望应用软件可以参与对网络的控制管理,满足上层业务需求,通过自动化业务部署,简化网络运维。
SDN并不是一个具体的技术,它是一种网络设计理念,规划了网络的各个组成部分(软件、硬件、转发面和控制面)及相互之间的互动关系。
OpenFlow
第六章
链路层概述
建议直接看ppt
主机和路由器:节点
沿着通信路径连接相邻节点的通信通道:链路
分组:数据帧
差错检测和纠错
三种技术:
奇偶校验
普通的奇偶校验
奇校验:必须有奇数个1
偶校验同理
二维奇偶校验
可以检测并纠正单个比特差错
Internet校验和(传输层)
循环冗余检测(链路层)
使用CRC编码
r是自己选定的,r是多少,就在被除数后面填几个0,最后算出来的余数就是CRC码
CRC编码,一位错误可检测到,六位错误一般情况下不可以
多路访问协议
信道划分协议
-
时分多路访问 TDMA (time division multiple access)
节点速率有限,只有 R/N b/s
效率不高,节点必须等待它的传输时隙
-
频分多路访问FDMA (frequency division multiple access)
-
码分多路访问CDMA (frequency division multiple access)
随机访问协议
-
ALOHA
纯ALOHA:
帧一到达,立即传输
发现冲突,以 p 的概率立即重传,并以 1-p 的概率等待一个帧的传输时间后继续以概率 p 传输该帧。
效率:$1/(2e) = 0.18$
时隙ALOHA:
节点只能在一个时隙的开始才能传送
最大效率:$1/(e) = 0.37$
-
CSMA(载波监听多路访问)
在某个节点发送之前,先监听信道。若忙,则随机等待一段时间;若空,则开始传输
但是由于传播时延的存在,仍有可能出现冲突,并造成信道浪费
-
CSMA/CD(带冲突检测的CSMA)
检测到冲突,就立刻放弃传输,并且在 {0,1,2,…,2m-1} 中随机选取一个K值 ,其中m=min(n,10),然后*等待K512比特时间**
-
CSMA/CA
轮流协议
-
轮询
主节点邀请从节点依次传送
-
令牌传递
控制令牌顺序从一个节点传递到下一个节点
局域网概述
见ppt
ARP与MAC
见ppt
以太网
以太网的帧结构:
前同步码是用来时钟同步的,接收方收到后就会删除。
CRC的校验范围不包括前同步码
以太网的最大传输单元MTU是1500字节,过大,必须将数据包分段
最小长度是46字节,过小,必须填充为46字节。
交换机
详情见ppt
交换机的交换方式
- 存储转发
- 快速分组(直通交换)
Vlan
见ppt
第七章
无线网络和网络安全 见ppt