计网复习提纲

计网复习提纲

  • 基础知识
    • OSI model:
    • TCP/IP model:
    • 协议与对应层:
    • 设备与层极:
    • 分层的优缺点:
    • 网络层IP的重要性:
  • 物理层
    • 电路交换与包交换(具体计算见谢书1-10)
    • 复用
    • 链路特性(带宽,有线,无线,广播)
    • 时延计算
    • 吞吐率R,文件大小F,总传输时间为T:
  • 链路层
    • 四个主要任务
    • 多址接入协议原则:
    • ALOHA
    • 时隙ALOHA
    • 以太网基础:
    • 因特网校验和
    • CRC冗余校验
    • CSMA/CD
    • CSMA/CA:
    • 无线网络:
    • 802.11协议
    • 802.11帧字段
    • 隐藏终端解决方案:
    • 交换机的自学习:
    • DHCP协议:
    • 生成树算法:
    • 链路与网络的几个对比:
  • 网络层
    • 服务
    • 虚电路ATM网络:
    • 数据报IP网络
    • 路由有效检测
    • IP地址分类与表达
    • 全局路由算法
    • 分布式路由算法
    • LS与DV的复杂度对比
    • BGP
    • IPv4报文格式
    • IPv6报文格式与IPv4对比
    • IP分片
    • NAT原理与优缺点
    • ICMP的用途:
    • 移动IP:
    • 组播相关概念
  • 传输层
    • 基本服务
    • TCP与UDP的服务对比
    • 端口号与套接字
    • 回退N步GBN协议
    • 选择重传SR协议
    • TCP报文段
    • TCP 可靠数据传输
    • 往返时间RTT的估算
    • TCP建链与TCP拆链
    • TCP流量控制
    • TCP拥塞控制
    • TCP 效率评估:
  • 应用层
    • HTTP
    • DNS
  • 网络安全
    • 对称密钥加密
    • 公私钥加密
    • MAC
    • 数字签名
    • IPsec
    • TLS

基础知识

OSI model:

  • 应用层,表示层会话层,运输层,网络层,链路层,物理层

TCP/IP model:

  • 应用层:为应用进程提供服务
  • 运输层:为两个进程提供可靠或不可靠的传输与复用服务
  • 网络层:做全球寻址
  • 链路层:做局部寻址
  • 物理层:透明的传递bits

协议与对应层:

  • 应用层:DHCP,DNS,HTTP
  • 运输层:TCP,UDP
  • 网络层:IP
  • 链路层:ICMP,ETH

设备与层极:

  • 主机:5层
  • 交换机:2-3层
  • 路由器:3层

分层的优缺点:

  • 优点:灵活,简单
  • 缺点:更多的头部信息,不同层级或许之间的信息彼此有用

网络层IP的重要性:

  • 保证了上下层的迅速更新
  • 原则:最聪明的终端,最傻瓜的交换机

物理层

电路交换与包交换(具体计算见谢书1-10)

  • 电路交换:建立链接、传输,传播,拆除链接
    • 复用:频分复用/时分复用
    • 优点:可靠性强,只要连接建立就不受拥堵的影响。
    • 缺点:建立链接拆除连接麻烦;对突发数据交换效率低下;对交换机提出了高要求
  • 分组交换:线路被占暂存;包被单独对待;包含有附带信息(地址)
    • 复用:统计复用
    • 优点:简化交换机,实现成本低带宽共享鲁棒性强,不依赖于某一特定链路。
    • 缺点:不保证数据一定可达。
  • 注:带宽即频率范围

复用

  • 时分复用TDM:实现简单
  • 频分复用FDM:需要一定的技术支撑
  • 空分复用:wifi
  • 码分多址CDMA:利用互不相通的正交序列,接受时进行两两相乘的内积然后相加除以位数即是发送的数据。
  • 统计复用所有的需求不会同时到达;结果不可靠;除极端条件都十分有效。

链路特性(带宽,有线,无线,广播)

时延计算

  • 传输时延(transmission):由分组数据长度带宽决定,将数据推出交换机的时延
  • 传播时延(progagation):由传输介质决定,数据在链路上传播的时间(一般在 2 ∗ 1 0 8 − 3 ∗ 1 0 8 m / s 2*10^8 - 3*10^8 m/s 21083108m/s
  • 排队时延(W):由包到达的平均速率A和队列的平均长度L决定: W = L / A W=L/A W=L/A
  • 处理时延:现在不考虑。

吞吐率R,文件大小F,总传输时间为T:

  • R = F / T R=F/T R=F/T

链路层

四个主要任务

  • 分帧
  • 决定链路使用权
  • 可靠传输
    • 通常只在无线中实现,由交换机完成,例如直接传两遍,或者查错重传
  • 检查错误与纠正
    • 有线:直接丢掉,由端系统要求重传
    • 无线:要求重传

多址接入协议原则:

  • 一个节点发时吞吐量:R Mb/s
  • n个点发时吞吐量:R/n Mb/s
  • 分散鲁棒
  • 简单低廉

ALOHA

  • 没有时隙的概念,随时发送数据
  • 有新来的帧,立即传输之,若碰撞,则等待一个帧间隔后以P的概率立即重传
  • 效率 n p ( 1 − p ) 2 ( n − 1 ) np(1-p)^{2(n-1)} np(1p)2n1,翻了两倍的原因在于 t 0 t_{0} t0传输成功的要求在于, t 0 − 1 t_{0}-1 t01 t 0 t_{0} t0时刻都不能有任何节点传输数据,最大效率为时隙的一半 1 / 2 e 1/2e 1/2e

时隙ALOHA

  • 没有载波监听,想发就发
  • 每个节点的时钟同步
  • 一个时隙发送一个帧
  • 当一个节点想要发送一个帧时,它等到下一个时隙开始时发送
  • 当一个时隙发生两个帧的碰撞时,发送方在时隙结束之前会得知
  • 一次完整的传输过程:
    • 等到时隙开始时传输一个帧
    • 若成功则准备传下一个帧,否则则在之后的每个时隙内以P的概率重传,直到重传成功
  • 若设每个节点都在以p的概率试图传一个帧,共n个节点,那么一个节点的效率即是 p ( 1 − p ) n − 1 p(1-p)^{n-1} p(1p)n1,时隙ALOHA的效率则是 n p ( 1 − p ) n − 1 np(1-p)^{n-1} np(1p)n1(若设链路吞吐量为单位一,此项也是ALOHA的吞吐量),最大效率为1/e
  • 经常有以时隙ALOHA为底子创新的题,操作为点,冲突作边,构造图G,求最小点染色即可。

以太网基础:

  • 最小帧间隔 96 bits
  • 最小帧大小 512+64 bits(基于2d来判断)
  • 尖刺信号 48 bits
  • 最长链路长度 2500 m
  • 帧格式:8B前导码,6B目标MAC,6B源MAC,2B类型,46-1500B数据,4B crc校验
  • 帧同步:首尾各一个8bits哨兵,发送方对数据进行修改,使其不会出现尾哨兵,接收方先判断起始与结束,之后对数据按同样的方法还原即可

因特网校验和

  • 16bits一组,遍历相加,最后若结果超过16bits则右移16bits后互相加,如此往复,直至小于16bits为止
  • 最后取反码,结束。

CRC冗余校验

  • 目标:D | R (r bits)
  • D:数据
  • R:校验位r bits
  • G:约定好的生成多项式 r + 1 bits
  • 公式: R = r e m i n d e r ( D < < r ) / G R=reminder\quad (D<<r)/G R=reminder(D<<r)/G
  • 注意:运算是模二除法(异或),只要保证首位是1,且位数是r+1位即可上1
  • 检验时,将D|R除以G,若余数为0则无措,否则有错

CSMA/CD

  • 先监听/等待尖刺信号,若链路空闲且空闲时间达到最小帧间隔96 bits,后发送
  • 发送后持续监听链路,若发生碰撞立即停止数据发送并发送一个48 bits 的尖刺,之后以 0 - k 的随机时间间隔重新发送,设该数据已经碰撞了m次,则 k = 2 m − 1 k=2^m-1 k=2m1(k的单位是发送 512 bits 进入以太网所需的时间)
  • 若已过k时间而网络仍被占用,则继续等待直至网络空闲且空闲时间达到96 bits

CSMA/CA:

  • 发送数据后不再进行碰撞检测
  • 若线路空闲,则等待一个最短帧间隔96 bits后发送数据
  • 否则随机选择一个值k,当检测到线路空闲时,递减该值,否则不变
  • 当k=0时,发送整个数据(需要等待最小帧间隔吗?)
  • 若未收到确认,则重新进入选k阶段,此时在一个更大范围内选择

无线网络:

  • 组织方式:单跳/多跳,自组织/架构
  • 特性:信号递减,容易干扰,多路传播,广播媒介,半双工
  • 信噪比SNR与比特错误率BER:
    • 给定调制速率,SNR越高,BER越低
    • 给定SNR,调制速率越高,BER越高
    • 由于SNR难以控制,所以调制技术往往动态选择
  • 对抗BE:
    • 加强辐射
    • 加强纠错检测
    • 通知运输层处理

802.11协议

  • 基本构件模块:基本服务集BSS,包含多个无线站点和一个中央基站AP
  • 每个无线站点都有一个6B的MAC地址
  • 基础设施:多个AP通过交换机练到一个更大的网络
  • 一个AP 对应一个信道 对应一个SSID
  • 共有11个信道,其中最大不重合信道集合为:{1,6,11}
  • 设备连入AP:
    • 被动扫描
      • AP周期性的发送信标帧
      • 主机选取
      • AP响应
    • 主动扫描
      • 主机探测
      • AP回应信标帧
      • 主机选取
      • AP响应
  • 设备连入子网:
    • 由AP发送DHCP请求,为设备分配IP地址等信息

802.11帧字段

  • 由三个地址构成
    • 目的无线站点MAC地址
    • 上一跳的MAC地址
    • 路由器接口MAC地址
  • 运行
    • 强调AP是链路层设备
    • 当一个以太网帧到达AP时,AP将自己的MAC地址填入地址2,将路由器接口填入地址3,转变为802.11帧结构后,将其发给目标无线站点,无线站点于是知道了路由器的MAC地址
    • 当一个802.11帧到达AP时,地址1已经由无线站点填入路由器地址,AP将自己的MAC地址填入地址2,于是转变为以太网帧发送给路由器。

隐藏终端解决方案:

  • 先发送RTS,预约线路
  • 接收方返回CTS,则预约成功,此时收到CTS的各个节点都不再尝试发送
  • 发送data
  • 接收方返回ACK,此时其他节点可以发送数据

交换机的自学习:

  • 注:网桥就是单接口的交换机
  • 初始化为空
  • 每当一个帧 到来时,若无记录,则记录它的MAC地址,到达端口,到达时间
  • 老化时间,超过此时间则删去表项;(我们称这种状态为软状态
  • 要传递一个不知道目标端口的帧,则将其放入除源端口外的所有端口。
  • 设计理念:广播,缓存,软状态

DHCP协议:

  • 主机请求,多个服务器响应,主机选择其中一个
  • 内容包括:IP地址,DNS服务器地址,网关地址,掩码,可用时长

生成树算法:

  • 开始:广播自己为root(X,0,X)
  • 收到其他人的广播提议(Y,D,Z),Z提议Y为ROOT,且Z距离Y为D;之后开始检查是否放弃自己认定的root。
  • 若放弃,则检查自己与Y的距离是否小于D+1,并决定是否更换最短路
  • 一段时间后,再无异议,此后root会不断地广播自己
  • 当有一段时间未收到root的广播后,将发起自己为root的提议进行重构。
  • 注意:生成树算法是牺牲带宽的,在数据中心不被接受

链路与网络的几个对比:

  • 选路:

    网络 链路
    基于所有链接 基于生成树
    有地址聚合 无地址聚合
    路由算法 基于交换机自学习
  • 地址

    Ip MAC
    32 bits 48bits
    自设置 硬编码
    不可移动 可移动
    全球寻址 局部寻址

网络层

服务

  • 路由,转发,建立链接(虚电路)

虚电路ATM网络:

  • 有链接的服务,可靠

  • 建立链接:网络层决定路劲,并为路径上的每一段链路决定VC号,路劲上的路由器添加一个表项:

    入接口 VC号 出接口 VC号
  • 传递数据:路由器将包头VC号填入出口VC号

  • 拆除链路:路由器删除表项

数据报IP网络

  • 路由器不用存储任何链路状态信息,尽力交付,无连接,有冗余的头部信息,
  • 只有路由与转发服务,其余只是尽力而为
  • 地址聚合

路由有效检测

  • global state 有效 ⇔ \Leftrightarrow 无环路,无死路
  • 检测:跳出特定IP地址组;将下一跳用箭头标记出来(一个节点只有一个出链路)
  • 死路:某点无出路
  • 环路:独立连通量

IP地址分类与表达

  • A类:8位网络号
  • B类:16位网络号
  • C类:24位网络号
  • D类:多播使用
  • E类:实验室用
  • CIDR表达:IP地址/网络号位数

全局路由算法

  • 指知道整张图所有信息的算法
  • link state LS算法
  • 自己看例题去
  • OSPF:向所有路由器广播自己的信息。

分布式路由算法

  • 指每个节点迭代,分布的进行计算,已知信息只有自已与周围的几个节点的算法,
  • DV 算法,自己看例题去
  • 无穷计数问题就是用了老旧的信息造成的
  • RIP:仅仅向相邻路由器广播自己的信息

LS与DV的复杂度对比

LS DV
信息传递 O ( N E ) \Omicron(NE) O(NE) O ( N ) \Omicron(N) O(N)
时延 O ( D ) \Omicron(D) O(D) O ( D ) \Omicron(D) O(D)
转发表项 O ( N ) \Omicron(N) O(N) O ( N ) \Omicron(N) O(N)
无穷计数
收敛速度 O ( n 2 ) \Omicron(n^2) O(n2) 无穷计数
健壮性

BGP

  • 功能:域间路由选择协议
  • 基本报文类型:eBGP边界,iBGP内部

IPv4报文格式

  • 版本号,首部长度,服务类型数据报长度,标识标志偏移量,TTL协议,首部校验和,源地址目的地址,选项,数据
  • 首部长度:一般是20字节
  • 标识标志偏移量用于分片
  • TTL:防止循环
  • 协议:指出上层协议
  • 其中标红的是保留给IPv6的特性
  • 数据字段可放ICMP报文

IPv6报文格式与IPv4对比

  • 128bits 地址空间
  • 去除分片与可变长报文,自然不用首部校验
  • 上层协议变为下一个协议,既可以是四层也可以是三层

IP分片

  • MTU 一个链路层帧能容纳的最大数据量
  • 路由器不可避免地承担的了这一任务
  • 端系统负责重组
  • 标识:标识重组时应该放一起的片
  • 标志:可逆位R,可分位D,可继续位M。
  • 偏移量:指示该片在原数据段的位置,第一片位0,即不包括头部

NAT原理与优缺点

  • 作用:允许一个整体机构以一个公用IP地址出现在Internet上。顾名思义,它是一种把内部私有网络地址(IP地址)翻译成合法网络IP地址的技术
  • NAT的基本工作原理是,当私有网主机和公共网主机通信的IP包经过NAT网关时,将IP包中的源IP或目的IP在私有IP和NAT的公共IP之间进行转换
  • 优点:节省地址安全;灵活。
  • 缺点:延迟配置复杂;鲁棒性不高

ICMP的用途:

  • trace route:利用TTL[1…n]即可
  • MTU值:将可分位D设为不可分,不断测试,直至路由器返回段太大的报文。
  • ping

移动IP:

  • https://wenku.baidu.com/view/e81ebc3ff01dc281e43af033.html

组播相关概念

  • IGMP: 为一台主机提供一种手段,让它能够通知与之直接相连的路由器,本机上有一个应用程序想要加入特定的多播组
  • 多播路由协议:协调其他路由器
  • 单播:单点到单点的数据传输
  • 组播(多播):多点到多点的数据传输

传输层

基本服务

  • 多路复用与多路分解(多个APP共用一个IP的问题)
  • 解决网络层产生的各种错误问题(可选)

TCP与UDP的服务对比

  • TCP:多路复用与多路分解,有链接,时延,流控,拥塞控制,按序,可靠,特殊服务处理,差错检测…
  • UDP:多路复用与多路分解,无连接,UDP校验

端口号与套接字

  • 0-1023:知名端口号
  • UDP套接字:(目的IP地址,目的端口号)
  • TCP套接字:(源IP地址,源端口号,目的IP地址,目的端口号)
  • 套接字:(源IP地址,源端口号,目的IP地址,目的端口号,TCP/UDP)

回退N步GBN协议

  • 接收方不缓存乱序包
  • 采用累计确认,每次只确认base,且代表base之前的都被收到
  • 窗口总是只能滑动一格
  • 可能会经历SR中不必要的重传

选择重传SR协议

  • 接受方缓存乱序包,并发送ACK
  • 不采用累计确认,不代表ACK之前全部收到
  • 窗口在接收到base时滑动,且有可能一下子滑动N格

TCP报文段

  • 源端口号,目的端口号
  • 序号与确认号:实现可靠性
  • 首部长度:通常为20字节
  • 标志位:用于建立链接与确认报文
  • 接收窗口:流量控制
  • 因特网校验和
  • 选项
  • 数据

TCP 可靠数据传输

  • 采用累计确认与缓存乱序包的方法
  • M S S ( M A X s e g m e n t s i z e ) : = M T U − e t h d r − i p h d r : = M T U − 40 MSS(MAX segment size):= MTU - ethdr - iphdr := MTU - 40 MSSMAXsegmentsize:=MTUethdriphdr:=MTU40
  • 序号字段:填入该报文段在原来数据中所处的偏移
  • 确认字段:填入希望接受的下一个序号

往返时间RTT的估算

  • 我们称形如r=(1-a)r+a*b的式子为:r是关于b的EWMA

  • 记ERTT是当前RTT值,SRTT是新采样的RTT值,ERTT是关于SRTT的EWMA,则有公式:

    E R T T = ( 1 − α ) E R T T + α S R T T ERTT=(1-\alpha)ERTT+\alpha SRTT ERTT=(1α)ERTT+αSRTT

  • DRTT显示了估算的RTT的波动值,DRTT是关于|SRTT-ERTT|的EWMA:

    D R T T = ( 1 − β ) D R T T + β ∣ E R T T − S R T T ∣ DRTT=(1-\beta)DRTT+\beta |ERTT-SRTT| DRTT=(1β)DRTT+βERTTSRTT

  • 记T为超时间隔,则有

    T = E R T T + 4 ∗ D R T T T=ERTT+4*DRTT T=ERTT+4DRTT

  • 注:为避免歧义,重传包不纳入计算中

TCP建链与TCP拆链

  • 建链:SYN,SYNACK,将SYN置为0,第一次发送数据
  • 四次拆链:FIN(客户),FINACK,|半开放模式|,FIN(主机),FINACK
  • 三次拆链:FIN,FINACK,ACK
  • 突发:RST

TCP流量控制

  • rwnd指示对方的缓冲区还有多少容量

TCP拥塞控制

  • 慢启动:一个MSS开始,每次传输轮回翻倍。
    • 超时:ssthresh=cwnd/2,cwnd=1;
    • cwnd>=ssthresh:拥塞避免
    • 四个相同ACK:ssthresh=cwnd/2;cwnd=cwnd/2(+3);
  • 拥塞避免:一个传输轮回长一个MSS
    • 超时:ssthresh=cwnd/2,cwnd=1;
    • 四个相同ACK:ssthresh=cwnd/2;cwnd=cwnd/2(+3);
  • 快速恢复:cwnd+=3;拥塞避免;
    • 超时/重传:cwnd=1;ssthresh=cwnd/2;慢启动。
  • 总结:
    • 超时总是进入慢启动,并cwnd=1,ssthresh=cwnd/2;
    • 重传总是进入快速恢复,并cwnd=cwnd/2(+3),ssthresh=cwnd/2
    • ssthresh总是设为cwnd的一半

TCP 效率评估:

  • 默认cwnd从W/2变为W只丢一个包,于是若设这之中的总发报数为S,丢包率L=1/S

  • 吞吐量B的计算,记从W/2变为W经历k格传输轮回,则

    B = S ∗ M S S ( K + 1 ) R T T B=\frac{S*MSS}{(K+1)RTT} B=(K+1)RTTSMSS

  • TCP吞吐量:

    B = 1.22 M S S L ∗ R T T B = \frac{1.22MSS}{\sqrt{L}*RTT} B=L RTT1.22MSS

应用层

HTTP

  • HTTP1.0:可并行(浏览器),不持续的链接(一次建链只下载一个文件)
  • HTTP1.1:可并行,持续链接(一次建链可下载多个文件)
    • 非流水线:等待HTTP响应才能发下一个HTTP请求
    • 流水线:无需等待响应,访问所有对象只需花费一个RTT时间
    • 注:HTML文件与其链接的文件之间总是不可以并行的
  • HTTPS:

DNS

  • 本地域名服务器,根域名服务器,顶级域名服务器,权限域名服务器
  • 把待请求的域名放在DNS请求报文中,递归的向本地域名服务器查询,本地域名服务器迭代的向更顶级的域名服务器查询,查询到了之后将结果返回
  • 高速缓存

网络安全

对称密钥加密

  • 任意两个人都需要一个密钥
  • 凯撒:字母固定映射
  • 多码代替密码:字母不再固定映射
  • 块密码:DES,3DES,AES
    • 一个块为k bit,将来对每个块单独加密
    • 建立 k ⇒ k 的 映 射 表 k\Rightarrow k的映射表 kk
    • 对于kbits 其输入I共计 2 k 种 2^k种 2k,则映射表有 I ! = ( 2 k ) ! I!=(2^k)! I!=(2k)!种形态

公私钥加密

  • 一个人一对公私密钥+可信第三方
  • 可信第三方
    • 确认公钥唯一地由某个实体持有
  • DH:
    • 公开两个大素数p,g
    • A,B两方分别独立的选取幂 S A , S B S_A,S_B SA,SB
    • 分别计算
      T = g S m o d p T=g^S\quad mod\quad p T=gSmodp
    • 交换彼此的T
    • 分别计算密钥
      K = T S m o d p K=T^S\quad mod\quad p K=TSmodp
    • 用这个密钥加密数据
    • 总结:过程中幂数总是S,模数总是p,变更的是底数
  • RSA:
    • 公钥 K + ( n , e ) K^+(n,e) K+(n,e),私钥 K − ( n , d ) K^-(n,d) K(n,d)
    • n=pq
    • z=(p-1)(q-1)
    • 计算e,e < n且e与z互质
    • 计算d,ed-1 mod z = 0(e与z互质,ed-1模z为0)
    • 将m加密为c
      c = m e m o d n c=m^e\quad mod\quad n c=memodn
    • 将c解密为m
      m = c d m o d n m=c^d\quad mod\quad n m=cdmodn
    • 注:m,c都小于n

MAC

  • 需要一对一地分享鉴别密钥

数字签名

  • 公私密钥体系+可信第三方

IPsec

  • 作用:为任意两个网络层实体间的IP报提供安全保证
  • 运输模式:外部头决定保护IP数据策略
  • 隧道模式(常用):内部IP包决定保护策略
  • AH协议:源鉴别,数据完整性
  • ESP协议:源鉴别,数据完整性,机密性

TLS

  • 客户提供支持的算法列表与一个不重数
  • 主机返回算法,证书,不重数
  • 客户验证证数,提取公钥,生成前主密钥,提供由公钥加密的前主密钥PMS
  • 主机私钥解密前主密钥PMS,主机客户分别用PMS与不重数计算MS
  • 客户发送握手MAC
  • 主机发送握手MAC

你可能感兴趣的:(计网,复习)