计算机网络复习提纲

发布于 2020-08-18  1785 次阅读


计网复习

第一章

协议的基本要素:语法、语义和同步

网络的分类
  1. 电路交换:频分(FDMA)和时分(TDMA)

  2. 分组交换:

    a. 数据报网络(TCP/IP),分组目的地址决定下一跳,路由可以改变

    b. 虚电路网络(X.25,FR,ATM),路径固定,路由器必须为每个连接维护状态信息

分组延迟的四种类型
  1. 节点处理时延
  2. 排队时延。取决于路由器的拥塞程度 La/R(分组长度*平均分组到达率/链路带宽)
  3. 传输时延。取决于带宽
  4. 传播时延。取决于信号传播速度
网络模型
  1. ISO/OSI 七层参考模型

    应用层、表示层、会话层、传输层、网络层、数据链路层、物理层

  2. TCP/IP 参考模型

    应用层、传输层、网络层、数据链路层、物理层

第二章

HTTP是无状态协议

  1. 非持久HTTP:每个TCP只能传输一个对象
  2. 持久HTTP: 每个TCP上可以传输多个对象

RTT(Round-Trip Time)往返时间: 1个小分组从客户主机到服务器再到客户主机所花费的时间.

总时间 = 2*RTT + 传输时延

FTP:21端口用于控制连接、20端口用于数据连接

SMTP:用于邮件服务器之间信件的传输

DNS查询方法
  1. 递归查询(本地DNS服务器以DNS客户的身份向根DNS服务器查询,再由根服务器去查询ip)
  2. 迭代查询(一级一级地问每个DNS服务器,直到找到最低一级的服务器ip)

第三章

传输层服务和协议

在两个不同的主机上运行的应用程序之间提供逻辑通信

多路复用和多路分解
  1. 多路复用:从多个套接字收集数据,用首部封装数据,然后将报文段传递到网络层
  2. 多路分解:将接收到的数据段传递到正确的套接字
UDP
数据包的定义

校验和的计算

image-20200814235407463

校验和的检验:将数据包的首部(包括伪首部)进行求和,然后变反

image-20200814235600440

可靠数据传输
rdt1.0

image-20200815142628655

rdt2.0

image-20200815142639146

image-20200815142739302

这是一个停-等协议,发送方发送一个报文,然后等待接收方的响应

rdt2.0 有一个缺陷,发送方并不知道接收方发生了什么,不能正确重发,可能重复

rdt2.1

image-20200815143217320

  1. 状态加倍

  2. 必须检查是否收到混淆的 ACK/NAK

image-20200815143223102

  1. 必须检查是否接收到重复的报文
  2. 接收方并不知道它的上一个 ACK/NAK 是否被发送方正确收到
rdt2.2

image-20200815143536174

  1. 功能和 rdt2.1 一样
  2. 只使用 ACK,接收方在收到报文后放松的 ACK 中明确包含被确认的报文的序号
  3. 发送方收到重复的 ACK 将导致重发当前报文
rdt3.0

假设:下层信道会丢失报文(数据和ACK)

发送者等待合理的确认时间

  1. 若未在时间内收到ACK就重发
  2. 使用序号来解决重发导致的重复问题

image-20200815144017493

image-20200815144039333

image-20200815144045178

流水线

发送方

  1. 用于增加利用率

  2. 在分组头中规定一个k位的序号

  3. 增加“窗口”,允许连续未确认的报文

    窗口(等待发送的报文)必须小于等于序号空间(一次性发送的报文)大小的一半

接收方:

  1. 总是为正确接收的最高序号的分组发送 ACK (提示发送方进行选择性重传)
  2. 只需要记住被期待接受的序号
  3. 如果收到乱序数据,则丢弃,只保留有顺序的
TCP
报文段结构

image-20200816154653184

  1. 序号(Seq)代表当前发送的数据在字节流中的编号
  2. 确认号(ACK)代表期望从另一边获取到的数据的编号
序号和确认

image-20200816160757477

image-20200816161401530

快速重传

发送方收到三个对同样报文段的确认,则认为该报文段之后的数据已经丢失,启用快速重传

流量控制
  1. 接收方在报文段中宣告接收窗口的剩余空间
  2. 发送方限制没有确认的数据不超过接收窗口
连接管理

握手(重要)

连接的建立(三次握手):

image-20200816162619558

  1. 发送方发送 SYN 包
  2. 接收方收到包后发送 ACK+SYN 包
  3. 发送方发送 ACK 包

进行上述行为的同时要注意 Seq 和 ACK 的改变

连接的结束(四次握手):

image-20200816162346143

  1. 发送方发送 FIN 包(发送方进入等待状态,只能收不能发

  2. 接收方发送 ACK 包(此时接收方还能继续发送数据)

  3. 接收方再发送 FIN 包(此后接收方就不能发送数据了)

  4. 发送方发送 ACK 包(完成整个 TCP 通信)

拥塞控制

image-20200816164006153

  1. 一开始处于慢启动状态(启动速度慢,增加得快)
  2. cwnd 达到阈值 ssthresh 时,进入拥塞避免状态(每次增加 MSS*(MSS/cwnd)
  3. 若收到三个重复的 ACK,那么就进入快速恢复状态,并且阈值 ssthresh 减半cwnd 减半 + 3
  4. 只要超时,就立刻恢复慢启动状态

image-20200816164616109

第四章

第五章

网络层的功能
  1. 转发,将分组从路由器输入端口转移到正确的输出端口
  2. 路由,确定分组从发送方传输到接收方所经过的路径
数据平面和控制平面
  1. 数据平面

    本地的,每个路由器自身的功能

  2. 控制平面

    整个网络范围。

    两种控制平面的实现方式:

    a) 传统的路由算法,在路由器内实现

    b) 软件定义网络(SDN),在远程服务器上实现

网络层可能提供的服务
  1. 确保交付
  2. 具有时延上界的确保交付
  3. 有序分组交付
  4. 确保最小带宽
  5. 确保最大时延抖动
连接与无连接服务
  1. 数据报网络:无连接
  2. 虚电路网络:连接

数据报网络

特点
  1. 网络层服务模型简单
  2. 端系统功能复杂
最长前缀匹配

image-20200817231949465

路由器查表方法
  1. 存在匹配,转发
  2. 不存在匹配,选择其他项对应的链路转发
  3. 存在多个匹配,使用最长前缀匹配规则转发
路由器交换结构

image-20200817233046306

  1. 内存。数据会两次穿过总线(传入和传出内存)
  2. 总线。每次只能有一个分组传送。其他的分组会被阻塞,排队等待总线为空
  3. 纵横式(交换矩阵)
IP数据报

image-20200817233650161

IP地址分类

image-20200817233818155

image-20200817233845910

image-20200817233850064

image-20200817233855243

image-20200817233902932

image-20200817233930030

子网掩码和子网划分

见PPT

DHCP(应用层协议)

image-20200817235138088

1-5:DHCP确定动态IP地址的过程 DHCPDISCOVER - DHCPOFFER - DHCPREQUEST - DHCPACK

6:DHCP客户租用期过了一半,发送请求报文 DHCPREQUEST 要求更新租用期

7:若服务器拒绝,则返回 DHCPNACK

8:若服务器同意,则返回 DHCPACK

9:DHCP使用结束,客户向服务器发送释放报文 DHCPRELEASE

NAT

网络地址转换

ICMP

image-20200817235612031

image-20200817235638312

IPv6
  1. 不允许分片
  2. 固定长度的 40 Bytes 首部

image-20200817235747019

路由
Dijkstra最低费用路径算法

基本思想:以源节点为起点,每次找出一个到原节点的费用最低的节点,直到把所有的目的节点都找到为止。然后再从目的节点开始依次寻找前驱,就能遍历整个最短路径,形成最小生成树

image-20200818175214801

image-20200818175223106

image-20200818175234665

距离向量路由算法

基本思想:每个节点维护一个距离向量表,每个节点不断向邻居发送其距离向量拷贝,当节点 x 收到邻居 v 的新距离向量,先保存,并用 B-F 公式更新自己的距离向量,并通知其邻居,直到距离向量不再变化。
$$
D_x(y) = min_v{c(x,v)+D_v(y)}
$$

image-20200818180410338

通知邻居时传播的特性:坏事(距离变长)不出门,好事(距离变短)传千里

image-20200818180708548

image-20200818180712350

image-20200818180715714

image-20200818180724972

image-20200818181004722

小练习(重要):

image-20200818181119868

image-20200818181115037

image-20200818181124474

image-20200818181128430

层次选路

域间路由协议(IGP)

IGP,也叫内部网关协议

RIP 路由信息协议*
  1. 距离向量算法

  2. 距离衡量:跳数(max = 15)

OSPF 开放最短路径优先
  1. 分发LS 分组
  2. 每个节点具有拓扑图
  3. 路由计算使用 Dijkstra 算法
  4. OSPF 信息直接通过 IP 传输

image-20200818182236308

image-20200818182242791

image-20200818182247612

IGRP 内部网关路由协议(Cisco特有)
域间选路:BGP

image-20200818182340764

image-20200818182348664

image-20200818182351788

SDN(软件定义网络)

SDN的核心理念是,希望应用软件可以参与对网络的控制管理,满足上层业务需求,通过自动化业务部署,简化网络运维。

SDN并不是一个具体的技术,它是一种网络设计理念,规划了网络的各个组成部分(软件、硬件、转发面和控制面)及相互之间的互动关系。

image-20200818182457810

image-20200818182450653

OpenFlow

image-20200818182512107

第六章

链路层概述

建议直接看ppt

主机和路由器:节点

沿着通信路径连接相邻节点的通信通道:链路

分组:数据帧

差错检测和纠错

三种技术:

奇偶校验
普通的奇偶校验

奇校验:必须有奇数个1

偶校验同理

二维奇偶校验

image-20200818233603340

image-20200818233614315

可以检测并纠正单个比特差错

Internet校验和(传输层

image-20200818233700068

循环冗余检测(链路层

使用CRC编码

image-20200818233839897

image-20200818233911378

r是自己选定的,r是多少,就在被除数后面填几个0,最后算出来的余数就是CRC码

CRC编码,一位错误可检测到,六位错误一般情况下不可以

多路访问协议
信道划分协议
  1. 时分多路访问 TDMA (time division multiple access)

    image-20200819004903790

    节点速率有限,只有 R/N b/s

    效率不高,节点必须等待它的传输时隙

  2. 频分多路访问FDMA (frequency division multiple access)

    image-20200819005019254

  3. 码分多路访问CDMA (frequency division multiple access)

image-20200819005035729

随机访问协议

image-20200819005108393

  1. ALOHA

    纯ALOHA:

    帧一到达,立即传输

    发现冲突,以 p 的概率立即重传,并以 1-p 的概率等待一个帧的传输时间后继续以概率 p 传输该帧。

    效率:$1/(2e) = 0.18$

    时隙ALOHA:

    节点只能在一个时隙的开始才能传送

    最大效率:$1/(e) = 0.37$

  2. CSMA(载波监听多路访问)

    在某个节点发送之前,先监听信道。若忙,则随机等待一段时间;若空,则开始传输

    但是由于传播时延的存在,仍有可能出现冲突,并造成信道浪费

  3. CSMA/CD(带冲突检测的CSMA)

    检测到冲突,就立刻放弃传输,并且在 {0,1,2,…,2m-1} 中随机选取一个K值 ,其中m=min(n,10),然后*等待K512比特时间**

  4. CSMA/CA

轮流协议
  1. 轮询

    主节点邀请从节点依次传送

    image-20200819010238171

  2. 令牌传递

    控制令牌顺序从一个节点传递到下一个节点

    image-20200819010241912

局域网概述

见ppt

ARP与MAC

见ppt

以太网

以太网的帧结构:

image-20200819010626657

前同步码是用来时钟同步的,接收方收到后就会删除

CRC的校验范围不包括前同步码

image-20200819010631175

以太网的最大传输单元MTU是1500字节,过大,必须将数据包分段

最小长度是46字节,过小,必须填充为46字节。

交换机

详情见ppt

交换机的交换方式
  1. 存储转发
  2. 快速分组(直通交换)
Vlan

见ppt

第七章

无线网络和网络安全 见ppt


CTFer|NOIPer|CSGO|摸鱼|菜鸡