南开大学 软件学院 计算机网络 2021秋季 复习

南开大学 软件学院 计算机网络 2021秋季 复习

这是本人根据张圣林老师本学期给的复习ppt总结的,仅供参考

第一章 引言

为什么要选择五层分层

1. 网络协议以及协议目的

为进行网络中的数据交换而建立的规则、标准或约定,即网络协议

通信双方需要共同遵守,互相理解

三要素:语法、语义、时序

2. 协议分层结构

网络体系结构:层和协议的集合为网络体系结构,一个特定的系统所使用的一组协议,即每层的协议,称为协议栈

服务原语:原语告诉服务执行某些操作或报告对等实体所采取的操作

3. OSI 参考模型

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

4. TCP/IP 参考模型(仅支持无连接)

网络接口层、互联网层、传输层、应用层

5. 各自缺点

OSI:

  1. 从未真正被实现

    TCP/IP 已成为事实标准,而 OSI 缺少厂家支持

  2. 技术实现糟糕

    分层欠缺考虑:会话层、表示层很少内容。而数据链路层、网络层内容繁杂。模型复杂

    分层间功能重复:差错控制、流量控制等在不同层反复出现

  3. 非技术因素

    TCP/IP 实现为 UNIX 的一部分,免费

    OSI 被认为是政府强加的标准

TCP/IP:

  1. 核心概念未能体现

    未明确区分服务、接口和协议等核心概念

  2. 不具备通用性

    不适合描述 TCP/IP 之外的其他协议栈

  3. 混用接口与分层的设计

    链路层和物理层一起被定义为网络接口层,而非真正意义上的分层

  4. 模型欠缺完整性

    未包含至关重要的物理层和数据链路层

6. 所以选择新的

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

突出核心概念、区分接口与分层、体现完整性、体现通用性、简化分层易于教学

第二章 物理层

1. 位置

物理层是网络体系结构中的最低层

是连接计算机的具体物理设备吗?×

是负责信号传输的具体物理媒介吗?×

2. 功能

如何在连接各计算机的传输媒体上传输数据比特流

3. 作用

尽可能屏蔽掉不同传输媒体和通信手段的差异

4. 标准化的 DTE/DCE 接口具有
  • 机械特性、电气特性
  • 功能特性、过程特性

物理层协议是 DTE 和 DCE 间的约定,规定了两者之间的接口特性

5. 复用技术

信道资源是有限的,实际中往往需要利用相同的信道资源传输信息

不同信号同时在同一信道中传输时会产生严重的相互干扰

复用技术是为了允许用户使用一个共享信道进行通信,避免相互干扰,降低成本,提高利用率

  • 频分复用(FDM)

    用户在相同的时间占用不同的频率带宽资源

  • 时分复用(TDM)

    将时间划分

    用户在不同的时间占用相同的频带宽度

    由于计算机数据的突发性质,用户对分配到的子信道的利用率一般是不高的,造成资源浪费

  • 统计时分复用(STDM)

    指动态的按需分配共用信道的时隙,只将需要传送数据的终端接入共用信道,以提高信道利用率

  • 波分复用(WDM)

    是利用多个激光器在单条光纤上同时发送多束不同波长激光的技术

  • 码分复用(CDMA)例题

    是指利用码序列相关性实现的多址通信 , 基本思想是靠不同的地址码来区分的地址

    有很强的抗干扰能力

    每个站分配的码片系列不仅各不相同,还必须互相正交

第三章 数据链路层

  • 掌握差错检测和纠正的基本原理和典型的编码方法
  • 掌握无错信道和有错信道上停等协议的设计和实现方法
  • 掌握回退 N 和选择重传两种典型滑动窗口协议的工作机制
1. 位置

向上、向下

2. 功能

成帧、差错控制、流量控制

3. 差错检测和纠正

增加冗余信息 *3

  • 码字:一个包含 m 个数据位和 r 个校验位的 n 位单元 描述为(n,m)码

  • 码率:码字中不含冗余部分所占的比例 m/n

  • 海明距离:两个码字之间不同对应比特的数目

    • 0000000000 与0000011111的海明距离为5
    • 如果两个码字的海明距离为d,则需要d个单比特错就可以把一个码字转换成另一 个码字
    • 为了检查出d个错(比特错),可以使用海明距离为 d+1 的编码
    • 为了纠正d个错,可以使用海明距离为 2d+1 的编码
  • 检错码

    • 奇偶校验 增加一位,保证 1 的个数为奇数或者偶数
    • 校验和(checksum)例题
    • 循环冗余校验(CRC)例题 G 先加n个0 然后模2除 异或除(n位,不足前补0) (一定做一下例题对照答案)
  • 纠错码

    m + r + 1 <= 2^r

    • 海明码(缺省则为偶校验)例题
4. 基本的数据链路层协议

请添加图片描述

  • 乌托邦式单工协议

    完全理想化的,想发就发,必然到达

  • 无错信道停等式协议

    接收方收到后回复

  • 有错信道停等式协议

    可能会丢失或出错

    发送方加计时器,一段时间没有回复或回复上一个发送帧的确认,重发

    接收方接收到正确帧,就把它交给上层,并发送确认帧。如果收到错误帧,就发送上一个成功接收帧的确认

5. 滑动窗口协议

基本思想:发送方和接收方都具有一定容量的缓冲区,即窗口,发送端在收到确认之前可以发送多个帧

6. 回退 N 协议

当接收端收到一个出错帧或乱序帧时,丢弃所有后继帧,并且不为这些帧发送确认

发送端超时后,重传所有未被确认的帧

该策略对应接收窗口为 1 的情况,即只能按顺序接收帧

当发送方发送了N个帧后,若发现该N帧的前一个帧在计时器超时后仍未返回其确认信息,则该帧被判为出错或丢失,此时发送方就重新发送出错帧及其后的N帧

7. 选择重传协议

若发送方发出连续的若干帧后,收到对其中某一帧的否认帧,或某一帧的定时器超时, 则只重传该出错帧或计时器超时的数据帧

该策略对应接收窗口大于1的情况,即暂存接收窗口中序号在出错帧之后的数据帧

第四章 介质访问子层

1. MAC 子层在哪里

数据链路层分为两个子层:MAC、LLC

2. 信道分配问题

常见接入情形:点到点信道、多点访问信道(共享信道)

常见局域网拓扑:总线拓扑、星型拓扑、环形拓扑

3. 多路访问协议

请添加图片描述

  1. 纯 ALOHA

    原理:想发就发

    特点:冲突、被破坏、重传

  2. 分隙 ALOHA

    把时间分为时隙

    帧的发送必须在时隙的起点,冲突只发生在时隙的起点

  3. CSMA 载波侦听多路访问协议

    先听后发,不再任性

    仍然可能会有冲突

    1. 同时传送
    2. 传播延迟时间
  4. 非持续式 CSMA

    特点:经侦听,如果空间,开始发送。如果忙,则等待一个随机分布的时间

    好处:等待一个随机时间可以减少再次碰撞冲突的可能性

    缺点:等待时间内介质如果没有数据传送,这段时间是浪费的

  5. CSMA/CD (1-持续)

    原理:先听后发,边发边听

    过程:

    1. 经侦听,如果空闲,则发送
    2. 如果介质忙,持续侦听,一旦空闲立即发送
    3. 如果发生冲突,等待一个随机分布时间
  6. p-持续式 CSMA

    特点:

    1. 经侦听,如空闲,则以概率 p 发送,以 1-p 概率延迟一个时间单元发送
    2. 如介质忙,持续侦听,一旦空闲则1
    3. 如果发送已推迟一个时间单元,则重复1

在这里插入图片描述

  1. 位图协议

    在自己的时槽内发送竞争比特

    按序到达,明确了使用权,避免了冲突

  2. 令牌

    逐个轮换发送权限

    缺点:令牌的维护代价

  3. 二进制倒计数

    有数据发送的站点从高序号到低序号排队,高者得到发送权

  4. 自适应树搜索协议

    用树来逐次缩减竞争的站点。

4. 以太网

主机运行 CSMA/CD 协议

常用的以太网 MAC 帧格式有两种标准:DIX Ethernet V2(常用) IEEE的 802.3

MAC地址:目的地址、源地址、类型、数据、校验和

5. 交换式以太网

交换机

根据 MAC 地址对收到的帧进行转发

6. 快速以太网

100Mbps

保留原来工作方式

7. 千兆以太网

1000Mbps

保留原来的工作方式

全双工和半双工两种方式工作

  • 半双工方式下使用 CSMA/CD ,增加 载波扩充和帧突发
  • 全双工方式不需要使用 CSMA/CD
8. 万兆以太网

只支持全双工,不再使用 CSMA/CD

保持兼容性

9. 数据链路层交换原理

冲突域

网桥。理想的网桥是透明的,即插即用,不用配置。网络中的站点无需感知网桥的存在与否

逆向学习 老化时间

  • 转发
  • 过滤
  • 泛洪 广播帧(全F) 未知单播帧

第五章 网络层

1. ip 报文格式

在这里插入图片描述

  • 版本 4bit
  • 首部长度 4bit
  • 区分服务 8bit 一般不使用
  • 总长度 16bit 整个 IP 报文的长度
  • 标识 16bit 每一个数据包加一,分片后,用来标识同一片分片
  • 标志 3bit 目前只有两位有意义。MF 置1标识后面还有分片,反之则无。DF置1则不能分片,反之则可以
  • 片偏移 13bit 标识分片后,相应 IP 片的相对位置 0/8、1400/8、2800/8
  • 生存时间 TTL 8bit 每经过一个路由器会减1
  • 协议 8bit 标识上层协议
  • 首部校验和 16bit 对数据包首部进行校验,不包括数据部分
  • 源地址 32bit
  • 目的地址 32bit
  • 选项 可扩充部分
  • 填充 全0补齐
2. 数据包分片

MTU

各个数据分片的首部大致相同

注意计算片偏移 0/8 1400/8 2800/8

在传输途中可以多次分片,只在目的 IP 对应的目的端系统进行重组

3. IP 地址

网络上的每一台主机或路由器的每一个接口都会分配一个全球唯一的32位标识符

将 IP 地址划分为固定的类,每一类都由两个字段组成。

网络号相同的这块连续IP地址空间称为地址的前缀,或网络前缀

IP 地址分为A、B、C、D、E五类,A、B、C为单播地址

点分十进制

4. 子网划分

子网划分,在网络内部将一个网络块进行划分以供多个内部网络使用,对外仍是一个网络

子网,一个网络进行子网划分后得到的一系列结果网络称为子网

子网掩码,是32 bit 的二进制数,置1表示网络位,置0表示主机位

子网划分减少了 IP 地址的浪费、网络的组织更加灵活、便于维护和管理

  1. 先做掩码运算,如何一样就 ARP,否则发给路由器
5. 最长前缀匹配

IP地址与IP前缀匹配时,总是选取子网掩码最长的匹配项

6. IP 包转发

间接交付:与目的主机不在同一个 IP 子网内

7. IP 与 MAC 地址

IP数据包经过不同链路时,IP 数据包中封装的IP地址不发生改变,而MAC帧中的硬件地址是发生改变的

8. ARP 地址解析协议

IP数据包转发:从主机A到主机B

  • 检查目的IP地址的网络号部分
  • 确定主机B与主机A属相同IP网络
  • 将IP数据包封装到链路层帧中,直接发送给主机B

如何根据 IP 地址获得 MAC 地址

  • 有缓存则直接取出,没有则广播

路由到另一个局域网

  • 根据掩码计算
  • 根据路由表获得路由器 IP,ARP 获得 MAC
  • 发送给路由器
  • 路由器根据路由表的 掩码与目标地址获得网关(如没有则直接发送至IP包头内的IP地址)
9. NAT

解决 IPV4 地址不足的问题,是一种将私有保留地址转化为公有 IP 地址的转换技术

IP +端口号

P2P

10. DHCP 动态主机配置协议
  • 当主机加入IP网络,允许主机从DHCP服务器动态获取IP地址
  • 可以有效利用IP地址,方便移动主机的地址获取
  1. 主机先寻找 DHCP 服务器(广播、UDP)
  2. DHCP 服务器回应 IP 地址、缺省路由器 IP、DNS 服务器 IP 地址、网络掩码(广播)
  3. DHCP 客户从多个DHCP服务器中选择一个,并向其以广播形式发送 DHCP请求报文
  4. 被选择的DHCP 服务器以广播形式发送确认报文
11. ICMP 协议

互联网控制报文协议

ICMP 报文携带在IP 数据包中: IP上层协议号为1

ICMP 差错报告报文、ICMP 询问报文

PING 用来测试两个主机之间的连通性,PING 使用了 ICMP 回送请求与回送回答报文

  • TraceRT 最多30

    源向目的地发送一系列 UDP 段,第一个 TTL=1,第二个TTL=2

    当第 n 个数据包到达第 n 个路由器

    1. 路由器丢弃数据包
    2. 并向源发送一个 ICMP 报文(类型11,编码0)
    3. 报文的源 IP 地址就是该路由器的 IP 地址

    停止条件

    1. UDP 段最终到达目的主机
    2. 目的地返回 ICMP “端口不可达”分组(类型3 编码3)
    3. 当源得到该 ICMP 停
12. 路由算法
  • 汇集树不是唯一的

  • bellman-ford方程 计算该由哪个路由器转发

  • 距离向量算法基本思想

    1. 每个节点周期性地向邻居发送它自己到某些节点的距离向量
    2. 当节点x接收到来自邻居的新 DV 估计,它使用 B-F 方程更新其自己的距离向量
  • 距离向量算法特点:迭代地、分布式的

    好消息传播快,坏消息传播慢,是距离向量路由的一个主要缺点

  • 链路状态路由

    分为五部分:

    1. 发现邻居,了解他们的网络地址
    2. 设置到每个邻居的成本度量
    3. 构造一个分组,分组中包含刚收到的所有信息
    4. 将此分组发送给其他路由器
    5. 计算到其他路由器的最短路径
13. Internet 路由协议
  • OSPF

    链路状态路由协议

    基于链路开销选择最优路径

    触发更新或每隔 30 min向邻接路由器发送链路状态信息的摘要,增量更新机制

    基本思想:

    1. 向本自治系统中所有路由器泛洪信息
    2. 发送与本路由器相邻的所有路由器的链路状态
    3. 只有当链路状态发生变化时路由器才用洪泛法发送此信息

    必须通过骨干区域 区域0

  • RIP 最多15跳

    距离矢量路由协议

    基于跳数选择最优路径

    每隔 30 s向邻居广播自己的整个 RIP 路由表

    特点:

    1. 算法简单
    2. 收敛慢
    3. 需要交换的信息大且冗余
    4. 跳数少并非一定最佳
    5. 15跳导致网络规模小
  • BGP

    目前互联网中唯一实际运行的自治域间的路由协议

    BGP 协议交换路由信息的节点数量级是自治系统数的量级

    每一个自治系统边界路由器的数目是很少的

    在 BGP 刚刚运行时,BGP 的邻站交换整个的 BGP 路由表;以后只需要在发生变化时更新有变化的部分

第六章 传输层

1. 传输层基本服务

传输层从多个套接字收集数据,交给网络层发送

传输层从网络层收到的数据,交付给正确的套接字

2. 分用

UDP 套接字使用 IP 地址,端口号 二元组进行标识

连接套接字需要使用 源IP地址,目的IP地址,源端口号,目的端口号 四元组进行标识

3. 套接字编程
4. UDP

无建立连接的延迟、报头开销小、协议简单

容忍丢包但对延迟敏感、单次请求

5. TCP概述

字节流、无边界、点到点、全双工

在这里插入图片描述

MSS(TCP段中可以携带的最大数据字节数)、SACK

6. TCP 可靠数据传输

TCP 在不可靠的 IP 服务上建立可靠的数据传输

基本机制:

  1. 发送端:流水线式发送数据、等待确认、超时重传
  2. 接收端:进行差错检测,采用累积确认机制

乱序处理:没有明确规定

  • 快速重传

    仅靠超时重发丢失的报文段回复太慢

    当发送方收到对同一序号的3次重复确认时,立即重发包含该序号的报文段

    所谓快速重传,就是在定时器到期前重发丢失的报文段

在这里插入图片描述

7. TCP 流量控制

TCP 接收端有一个接收缓存,发送端发来的数据暂存在这里,如果缓存中的数据没有被及时取走,后续到达的数据可能因为缓存溢出而丢失

流量控制就是发送端通过调节发送速率,不使接收端缓存溢出

  • 为什么回退N、选择重传、UDP不需要流量控制

    前两者均假设正确、按序到达的分组立即被交付给上层

    UDP 则不保证数据不丢失

  • TCP 如何实现流量控制

    接收方将接收窗口大小放在报头中,向发送方发送可用空间。发送方保证已发送、未确认的字节数不超过接收窗口的大小。特别是,当接收窗口为0时,必须停止发送

  • 非零窗口通告

    通过发送方的“零窗口探测”报文段,之后接收方可以回复

  • 糊涂窗口综合症

    通告零窗口之后,仅当窗口大小显著增加之后才发送更新的窗口通告

    什么是显著增加:窗口大小达到缓存空间的一半或者一个MSS,取两者的较小值

    当窗口大小不满足以上策略时,推迟发送确认(但最多推迟500ms,且至少每隔一个报文段使用正常方式进行确认),寄希望于推迟间隔内有更多数据被消费

  • 发送方启发式策略

    发送方应积聚足够多的数据再发 送,以防止发送太短的报文段

    nagle算法

    1. 在新建连接上,当应用数据到来时,组成 一个TCP段发送(那怕只有一个字节)
    2. 在收到确认之前,后续到来的数据放在发 送缓存中
    3. 当数据量达到一个MSS或上一次传输的确认到来(取两者的较小时间),用一个 TCP段将缓存的字节全部发走

8. TCP 连接
  • 建立 TCP 连接

在这里插入图片描述

  1. 一开始,客户端和服务端都处于 CLOSE 状态。先是服务端主动监听某个端口,处于 LISTEN 状态。
  2. 客户端随机初始化序号,放在 序号 字段中,同时把 SYN 标志位置设置为 1 ,标识为 SYN 报文。然后把这个报文发送给服务端,表示发起连接,不包含数据,之后客户端处于 SYN-SENT 状态
  3. 服务端收到 SYN 报文后,也初始化自己的序号并填入 序号 字段中,并把 确认应答字段 填为收到的报文的序号+1,接着把 SYN 和 ACK 标志位置为1 。发送。服务端处于 SYV-RCVD状态
  4. 客户端收到服务端报⽂后,还要向服务端回应最后⼀个应答报⽂,⾸先该应答报⽂ TCP ⾸部 ACK 标志位 置为 1 ,其次「确认应答号」字段填⼊ server_isn + 1 ,最后把报⽂发送给服务端,这次报⽂可以携带客 户到服务器的数据,之后客户端处于 ESTABLISHED 状态
  5. 服务器收到客户端的应答报⽂后,也进⼊ ESTABLISHED 状态
  • 关闭 TCP 连接

在这里插入图片描述
在这里插入图片描述

9. TCP 拥塞控制

网络负载很重,但吞吐量却很低

常用规避方法:端系统通过观察丢包和延迟,自行推断拥塞的发生

  • 发送方如何感知

    发送方利用丢包事件感知拥塞:重传定时器超时,发送端收到3个重复的ACK

  • 发送方采用什么机制限制发送速率

    使用拥塞窗口来限制已发送未确认的数据量

  • 调节策略:AIMD

    乘性减:检测到丢包,cwnd大小减半,但不能小于一个MSS

    加性增:若无丢包,每经过一个 RTT,将 cwnd 增大一个 MSS

    慢启动:在新建连接上指数增大cwnd,直至检测到丢包

  • 区别不同的丢包事件

    超时、收到三个重复的 ACK

    不一样

    收到3个重复的ACK:仍有一定的交付能力

    1. 设置ssthresh (slow start threshold) =cwnd/2
    2. 将cwnd降至ssthresh+3
    3. 使用AIMD调节cwnd

    超时 :网络的交付能力极差

    1. 设置ssthresh =cwnd/2
    2. cwnd=1MSS
    3. 使用慢启动增大cwnd至ssthresh
    4. 使用AIMD调节cwnd

    ssthresh是从慢启动转为拥塞避免的分水岭:

    1. cwnd低于ssthresh时,执行慢启动
    2. cwnd高于ssthresh时:执行拥塞避免

第七章 应用层

1. 应用进程通信方式
  • 客户/服务器
  • 浏览器/服务器
  • 对等
2. 域名

一对一、一对多、多对一

  • 权威域名服务器
  • 递归解析器
3. 域名解析过程

UDP 53

  • 递归查询
  • 迭代查询
4. 一些协议
  • SMTP TCP 25 客户/服务器
  • POP3 TCP 110 客户/服务器
  • IMAP143
  • Telnet TCP 23 C/S
  • FTP TCP 21 C/S
  • TFTP UDP C/S
  • SNMP UDP C/S
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值