title: 计网考试
date: 2023-2-11 15:12:57
categories:
- 计算机基础
tags: - 计算机网络
计网考试
个人网站:www.huangrd.top
重点:
- 数据链路层 16
- 网络层 20
- 运输层 21
次重点:
- 物理层 7
- 应用层 13
了解:
- 概论 10
- 网络安全 3
一、概述
- 因特网核心部分 分组交换
- 计算机网络的主要性能指标 时延
- 五层网络体系结构
1、因特网的核心部分
- 各交换时延的计算
网络核心最重要的部分:
路由器是一种专用计算机,但我们不称它为主机,路由器是实现分组交换的关键构建,其任务是转发收到的分组。
电路交换
-
电话交换机接通电话线的方式称为电路交换;
-
从通信资源的分配角度来看,交换(Switching)就是按照某种方式动态地分配传输线路的资源;
-
电路交换的三个步骤:
1、建立连接(分配通信资源)
2、通话(一直占用通信资源)
3、释放连接(归还通信资源)
分组交换
表示消息的整块数据成为一个报文。
在发送报文之前,先把较长的报文划分成一个个更小的等长数据段,在每一个数据段前面。加上一些由必要的控制信息组成的首部后,就构成一个分组,也可简称为“包”,相应地,首部也可称为“包头”。
首部包含了分组的目的地址
分组从源主机到目的主机,可走不同的路径。
发送方
- 构造分组
- 发送分组
路由器
- 缓存分组
- 转发分组
- 简称为“分组转发”
接收方
- 接收分组
- 还原报文
在路由器中的输入和输出端口之间没有直接连线。
路由器处理分组的过程是:
- 把收到的分组先放入缓存(暂时存储);
- 查找转发表,找出到某个目的地址应从哪个端口转发;
- 把分组送到适当的端口转发出去。
优点:
- 高效
- 灵活
- 迅速
- 可靠
报文交换
报文交换中的交换结点也采用存储转发方式,但报文交换对报文的大小没有限制,这就要求交换结点需要较大的缓存空间。报文交换主要用于早期的电报通信网,现在较少使用,通常被较先进的分组交换方式所取代。
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
2、计算机网络的主要性能指标
吞吐量
表示单位时间内通过某个网络的数据量。
这段时间发送的大小/这段时间 也就是 实际数据速率
时延
直属局从网络的一段传送到另一端所需要的时间。
-
发送时延:主机或者路由器将分组发送到通信线路上需要的时间。
分组长度/发送速率
-
传播时延:电磁波在通信中需要传播一定距离而花费的时间。
信道长度/电磁波在信道的传播速率
-
处理时延:主机或路由器在收到分组时要花费一定时间进行处理
-
排队时延:分组在进过网络传输时,要经过许多路由器。但分组在进入路由器后要先在输入队列中排队等待处理。
3、计算机网络体系结构
二、物理层
- 物理层下的传输媒体 导引型传输媒体 双绞线
- 信道复用技术 概述
- 互联网接入技术 数字用户线接入 DSL
1、物理层下面的传输媒体
1.1、导引型传输媒体
双绞线
线的顺序
568B 白橙 橙 白绿 蓝 白蓝 绿 白棕 棕
568A 13换 26换
2、信道复用技术
频分复用FDM (Frequency Division Multiplexing)
- 将整个带宽分为多份,用户在分配到一定的频带后,在通信过程中自始至终都占用这个频带。
- 频分复用的所有用户在同样的时间占用不同的带宽资源(请注意,这里的“带宽”是频率带宽而不是数据的发送速率)。
时分复用TDM (Time Division Multiplexing)
- 时分复用则是将时间划分为一段段等长的时分复用帧(TDM帧)。每一个时分复用的用户在每一个 TDM 帧中占用固定序号的时隙。
- 每一个用户所占用的时隙是周期性地出现(其周期就是TDM帧的长度)的。
- TDM 信号也称为等时 (isochronous) 信号。
- 时分复用的所有用户在不同的时间占用同样的频带宽度。
波分复用 WDM(Wavelength Division Multiplexing)
-
波分复用就是光的频分复用,使用一根光纤来同时传输多个光载波信号
-
光信号传输一段距离后悔衰减,所以要用 掺铒光纤放大器 放大光信号
码分复用 CDM (Code Division Multiplexing)
3、互联网接入技术
数字用户线接入
数字用户线 DSL:就是电话运营商提供的一种住宅宽带接入业务。
实现用户数字线的方式:
- 非对称数字用户线 ADSL
- 高速数字用户线 HDSL
- 甚高速数字用户线 CDSL
ASDL 的三大组成部分:
- 数字用户线接入复用器
- 用户线
- 家中的一些设施
三、数据链路层
- 差错检验 CRC
- PPP 的特点
- CSMA/CD 协议
- MAC 协议
1、差错检验
误码率和信噪比有很大关系,信噪比越大,误码率越大。
循环冗余校验CRC
例题
按位异或
总结
循环冗余校验 CRC 是一种检错方法,而帧校验序列 FCS 是添加在数据后面的冗余码
2、点对点 PPP 协议
PPP 的特点:
- 简单
- 封装成帧
- 透明性
- 多种网络层协议和多种类型链路
- 差错检测
- 检测连接状态
- 最大传送单元
- 网络层地址协商
3、随机接入(CSMA/CD协议)
总线局域网使用协议:CSMA/CD
3.1、基本概念
最初的以太网是将许多计算机都连接到一根总线上。易于实现广播通信。当初认为这样的连接方法既简单又可靠,因为总线上没有有源器件。
以太网(Ethernet)是一种计算机局域网技术。IEEE组织的IEEE 802.3标准制定了**以太网(Ethernet)**的技术标准
以太网采用无连接的工作方式,对发送的数据帧不进行编号,也不要求对方发回确认。目的站收到有差错帧就把它丢弃,其他什么也不做。(不可靠服务)
多址接入MA
表示许多主机以多点接入的方式连接在一根总线上。
载波监听CS
是指每一个站在发送数据之前先要检测一下总线上是否有其他计算机在发送数据,如果有,则暂时不要发送数据,以免发生碰撞。
总线上并没有什么“载波”。因此, “载波监听”就是用电子技术检测总线上有没有其他计算机发送的数据信号。
碰撞检测CD
- “碰撞检测”就是计算机边发送数据边检测信道上的信号电压大小。
- 当几个站同时在总线上发送数据时,总线上的信号电压摆动值将会增大(互相叠加)。
- 当一个站检测到的信号电压摆动值超过一定的门限值时,就认为总线上至少有两个站同时在发送数据,表明产生了碰撞。
- 所谓“碰撞”就是发生了冲突。因此“碰撞检测”也称为“冲突检测”。
- 在发生碰撞时,总线上传输的信号产生了严重的失真,无法从中恢复出有用的信息来。
- 每一个正在发送数据的站,一旦发现总线上出现了碰撞,就要立即停止发送,免得继续浪费网络资源,然后等待一段随机时间后再次发送。
为什么要进行碰撞检测? 因为信号传播时延对载波监听产生了影响
A 需要单程传播时延的 2 倍的时间,才能检测到与 B 的发送产生了冲突
3.2 、CSMA/CD 协议工作流程
CSMA/CD 协议工作——争用期(碰撞窗口)
CSMA/CD 协议工作——最小帧长
CSMA/CD 协议工作——最大帧长
CSMA/CD 协议工作——截断二进制指数退避算法
CSMA/CD 协议工作——信道利用率
CSMA/CD 协议工作——帧接收流程
CSMA/CD 协议的重要特性
- 使用 CSMA/CD 协议的以太网不能进行全双工通信而只能进行双向交替通信(半双工通信)。
- 每个站在发送数据之后的一小段时间内,存在着遭遇碰撞的可能性。
- 这种发送的不确定性使整个以太网的平均通信量远小于以太网的最高数据率。
CSMA/CD协议曾经用于各种总线结构以太网和双绞线以太网的早起版本中。
现在的以太网基于交换机和全双工连接,不会有碰撞,因此没有必要使用CSMA/CD协议
4、随机接入(CSMA/CA协议)
无线局域网使用的协议:CSMA/CA
4.1、为什么无线局域网要使用CSMA/CA协议
4.2、帧间间隔IFS(InterFrame Space)
4.3、CSMA/CA协议的工作原理
源站为什么在检测到信道空闲后还要再等待一段时间DIFS?
- 考虑到可能有其他的站有高优先级的帧要发送。若有,就要让高优先级帧先发送
目的站为什么正确接收数据帧后还要等待一段时间SIFS才能发送ACK帧?
- SIFS是最短的帧间间隔,用来分隔开属于一次对话的各帧,在这段时间内,一个站点应当能够从发送方式切换到接收方式
信道由忙转为空闲且经过DIFS时间后,还要退避一段随机时间才能使用信道?
防止多个站点同时发送数据而产生碰撞
使用退避算法的时机
4.4、CSMA/CA协议的退避算法
退避算法的示例
4.5、CSMA/CA协议的信道预约和虚拟载波监听
虚拟载波监听机制能减少隐蔽站带来的碰撞问题的示例
四、网络层
1、概述
1.1、分组转发和路由选择
网络层的主要任务就是将分组从源主机传送到目的主机。
分为两个主要的功能:
- 分组转发,当一个分组到达路由器的某一链路时,路由器必须将该分组转发到适当的输出链路。通过转发表来完成。
- 路由选择,当分组从发送方流向接受方,网络层必须决定这些分组所采用的路由或路径。通过路由表来完成。
2、网际协议 IP
分类编制的IPv4地址
简介
- 每一类地址都由两个固定长度的字段组成,其中一个字段是网络号 net-id,它标志主机(或路由器)所连接到的网络,而另一个字段则是主机号 host-id,它标志该主机(或路由器)。
- 主机号在它前面的网络号所指明的网络范围内必须是唯一的。
- 由此可见,一个 IP 地址在整个互联网范围内是唯一的。
A类地址
B类地址
C类地址
练习
总结
IP 地址的指派范围
一般不使用的特殊的 IP 地址
IP 地址的一些重要特点
(1) IP 地址是一种分等级的地址结构。分两个等级的好处是:
- 第一,IP 地址管理机构在分配 IP 地址时只分配网络号,而剩下的主机号则由得到该网络号的单位自行分配。这样就方便了 IP 地址的管理。
- 第二,路由器仅根据目的主机所连接的网络号来转发分组(而不考虑目的主机号),这样就可以使路由表中的项目数大幅度减少,从而减小了路由表所占的存储空间。
(2) 实际上 IP 地址是标志一个主机(或路由器)和一条链路的接口。
- 当一个主机同时连接到两个网络上时,该主机就必须同时具有两个相应的 IP 地址,其网络号 net-id 必须是不同的。这种主机称为多归属主机 (multihomed host)。
- 由于一个路由器至少应当连接到两个网络(这样它才能将 IP 数据报从一个网络转发到另一个网络),因此一个路由器至少应当有两个不同的 IP 地址。
(3) 用转发器或网桥连接起来的若干个局域网仍为一个网络,因此这些局域网都具有同样的网络号 net-id。
(4) 所有分配到网络号 net-id 的网络,无论是范围很小的局域网,还是可能覆盖很大地理范围的广域网,都是平等的。
划分子网的IPv4地址
为什么要划分子网
在 ARPANET 的早期,IP 地址的设计确实不够合理:
- IP 地址空间的利用率有时很低。
- 给每一个物理网络分配一个网络号会使路由表变得太大因而使网络性能变坏。
- 两级的 IP 地址不够灵活。
如果想要将原来的网络划分成三个独立的网路
所以是否可以从主机号部分借用一部分作为子网号
但是如果未在图中标记子网号部分,那么我们和计算机又如何知道分类地址中主机号有多少比特被用作子网号了呢?
所以就有了划分子网的工具:子网掩码
从 1985 年起在 IP 地址中又增加了一个“子网号字段”,使两级的 IP 地址变成为三级的 IP 地址。
这种做法叫做划分子网 (subnetting) 。
划分子网已成为互联网的正式标准协议。
如何划分子网
基本思路
- 划分子网纯属一个单位内部的事情。单位对外仍然表现为没有划分子网的网络。
- 从主机号借用若干个位作为子网号 subnet-id,而主机号 host-id 也就相应减少了若干个位。
- 凡是从其他网络发送给本单位某个主机的 IP 数据报,仍然是根据 IP 数据报的目的网络号 net-id,先找到连接在本单位网络上的路由器。
- 然后此路由器在收到 IP 数据报后,再按目的网络号 net-id 和子网号 subnet-id 找到目的子网。
- 最后就将 IP 数据报直接交付目的主机。
划分为三个子网后对外仍是一个网络
- 优点
1. 减少了 IP 地址的浪费 2. 使网络的组织更加灵活 3. 更便于维护和管理
- 划分子网纯属一个单位内部的事情,对外部网络透明,对外仍然表现为没有划分子网的一个网络。
子网掩码
(IP 地址) AND (子网掩码) = 网络地址 重要,下面很多相关知识都会用到
举例
例子1
例子2
默认子网掩码
总结
子网掩码是一个网络或一个子网的重要属性。
路由器在和相邻路由器交换路由信息时,必须把自己所在网络(或子网)的子网掩码告诉相邻路由器。
路由器的路由表中的每一个项目,除了要给出目的网络地址外,还必须同时给出该网络的子网掩码。
若一个路由器连接在两个子网上,就拥有两个网络地址和两个子网掩码。
无分类编址的IPv4地址
为什么使用无分类编址
无分类域间路由选择 CIDR (Classless Inter-Domain Routing)。
CIDR 最主要的特点
CIDR使用各种长度的“网络前缀”(network-prefix)来代替分类地址中的网络号和子网号。
IP 地址从三级编址(使用子网掩码)又回到了两级编址。
如何使用无分类编址
举例
路由聚合(构造超网)
总结
IPv4地址的应用规划
给定一个IPv4地址块,如何将其划分成几个更小的地址块,并将这些地址块分配给互联网中不同网络,进而可以给各网络中的主机和路由器接口分配IPv4地址
定长的子网掩码FLSM(Fixed Length Subnet Mask)
划分子网的IPv4就是定长的子网掩码
举例
通过上面步骤分析,就可以从子网1 ~ 8中任选5个分配给左图中的N1 ~ N5
采用定长的子网掩码划分,只能划分出2^n个子网,其中n是从主机号部分借用的用来作为子网号的比特数量,每个子网所分配的IP地址数量相同
但是也因为每个子网所分配的IP地址数量相同,不够灵活,容易造成IP地址的浪费
变长的子网掩码VLSM(Variable Length Subnet Mask)
无分类编址的IPv4就是变长的子网掩码
举例
3、ARP协议
如何从IP地址找出其对应的MAC地址?
ARP(地址解析协议)
流程
ARP高速缓存表
当主机B要给主机C发送数据包时,会首先在自己的ARP高速缓存表中查找主机C的IP地址所对应的MAC地址,但未找到,因此,主机B需要发送ARP请求报文,来获取主机C的MAC地址
ARP请求报文有具体的格式,上图的只是简单描述
ARP请求报文被封装在MAC帧中发送,目的地址为广播地址
主机B发送封装有ARP请求报文的广播帧,总线上的其他主机都能收到该广播帧
收到ARP请求报文的主机A和主机C会把ARP请求报文交给上层的ARP进程
主机A发现所询问的IP地址不是自己的IP地址,因此不用理会
主机C的发现所询问的IP地址是自己的IP地址,需要进行响应
动态与静态的区别
ARP协议只能在一段链路或一个网络上使用,而不能跨网络使用
ARP协议的使用是逐段链路进行的
总结
4、IP 数据报格式
5、ICMP
- PING
- traceroute
6、VPN
五、运输层
1、TCP 的连接管理
概念
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
TCP的连接建立要解决以下三个问题
TCP使用“三报文握手”建立连接
- TCP 连接的建立采用客户服务器方式。
- 主动发起连接建立的应用进程叫做TCP客户 (client)。
- 被动等待连接建立的应用进程叫做TCP服务器 (server)。
“握手”需要在TCP客户端和服务器之间交换三个TCP报文段
TCP服务器进程收到该确认报文段后也进入连接已建立状态
现在,TCP双方都进入了连接已建立状态,它们可以基于已建立好的TCP连接,进行可靠的数据传输
为什么TCP客户进程最后还要发送一个普通的TCP确认报文段?能否使用“两报文握手”建立连接?
下图实例是“两报文握手”
为了防止已经失效的连接请求报文段突然又传到服务端,因而产生错误”,这种情况是:一端(client)A发出去的第一个连接请求报文并没有丢失,而是因为某些未知的原因在某个网络节点上发生滞留,导致延迟到连接释放以后的某个时间才到达另一端(server)B。本来这是一个早已失效的报文段,但是B收到此失效的报文之后,会误认为是A再次发出的一个新的连接请求,于是B端就向A又发出确认报文,表示同意建立连接。如果不采用“三次握手”,那么只要B端发出确认报文就会认为新的连接已经建立了,但是A端并没有发出建立连接的请求,因此不会去向B端发送数据,B端没有收到数据就会一直等待,这样B端就会白白浪费掉很多资源。
所以并不多余,这是为了防止已失效的连接请求报文段突然又传送到了TCP服务器,因而导致错误
总结
TCP的连接释放
- TCP 连接释放过程比较复杂。
- 数据传输结束后,通信的双方都可释放连接。
- TCP 连接释放过程是四报文握手。
TCP通过“四报文挥手”来释放连接
- TCP 连接的建立采用客户服务器方式。
- 主动发起连接建立的应用进程叫做TCP客户 (client)。
- 被动等待连接建立的应用进程叫做TCP服务器 (server)。
- 任何一方都可以在数据传送结束后发出连接释放的通知
TCP服务器进程收到该报文段后就进入关闭状态,而TCP客户进程还要进过2MSL后才能进入关闭状态
TCP客户进程在发送完最后一个确认报文后,为什么不直接进入关闭状态?而是要进入时间等待状态?
因为时间等待状态以及处于该状态2MSL时长,可以确保TCP服务器进程可以收到最后一个TCP确认报文段而进入关闭状态
另外,TCP客户进程在发送完最后一个TCP确认报文段后,在经过2MSL时长,就可以使本次连接持续时间内所产生的所有报文段都从网络中消失,这样就可以使下一个新的TCP连接中,不会出现旧连接中的报文段
TCP保活计时器的作用
TCP双方已经建立了连接,后来,TCP客户进程所在的主机突然出现了故障
TCP服务器进程以后就不能再收到TCP客户进程发来的数据
因此,应当有措施使TCP服务器进程不要再白白等待下去
4、拥塞控制
4.1、概念
网络拥塞往往是由许多因素引起的。例如:
- 点缓存的容量太小;
- 链路的容量不足;
- 处理机处理的速率太慢;
- 拥塞本身会进一步加剧拥塞;
拥塞控制的一般原理
- 拥塞控制的前提:网络能够承受现有的网络负荷。
- 实践证明,拥塞控制是很难设计的,因为它是一个动态问题。
- 分组的丢失是网络发生拥塞的征兆而不是原因。
- 在许多情况下,甚至正是拥塞控制本身成为引起网络性能恶化、甚至发生死锁的原因。
开环控制和闭环控制
监测网络的拥塞
主要指标有:
- 由于缺少缓存空间而被丢弃的分组的百分数;
- 平均队列长度;
- 超时重传的分组数;
- 平均分组时延;
- 分组时延的标准差,等等。
上述这些指标的上升都标志着拥塞的增长。
拥塞控制的算法
真正的发送窗口值 = Min (接收方窗口值,拥塞窗口值)
下图的实例横纵坐标的意思
传输轮次:
- 发送方给接收方发送数据报文段后,接收方给发送方发发回相应的确认报文段
- 一个传输轮次所经历的时间其实就是往返时间,往返时间并非是恒定的数值
- 使用传输轮次是为了强调把拥塞窗口所允许发送的报文段都连续发送出去,并受到了对已发送的最后一个报文段的确认
拥塞窗口:
- 它会随网络拥塞程度,以及所使用的拥塞控制算法动态变化
慢开始和拥塞避免
慢开始(slow-start)
- 目的:用来确定网络的负载能力或拥塞程度。
- 算法的思路:由小到大逐渐增大拥塞窗口数值。
- 两个变量:
- 拥塞窗口(cwnd):初始拥塞窗口值:2 种设置方法。窗口值逐渐增大。
- 1 至 2 个最大报文段 (旧标准)
- 2 至 4 个最大报文段 (RFC 5681)
- 慢开始门限(ssthresh):防止拥塞窗口增长过大引起网络拥塞。
- 拥塞窗口(cwnd):初始拥塞窗口值:2 种设置方法。窗口值逐渐增大。
图中swnd是发送窗口
每经过一个传输轮次,拥塞窗口就加倍
窗口大小按指数增加,2的n-1次方
拥塞避免(congestion avoidance)
- 思路:让拥塞窗口 cwnd 缓慢地增大,避免出现拥塞。
- 每经过一个传输轮次,拥塞窗口 cwnd = cwnd + 1。
- 使拥塞窗口 cwnd 按线性规律缓慢增长。
- 在拥塞避免阶段,具有 “加法增大” (Additive Increase) 的特点。
如果在发送过程中出现部分报文段丢失,这必然会造成发送方对这些丢失报文段的超时重传
这个时候又回到了慢开始
两个算法完整示意图
快重传和快恢复
快重传(fast retrasmit)
快恢复(fast recovery)
改进后的整体算法的示意图
六、应用层
1、域名系统 DNS
ARP 通过 ip 找 MAC 地址
DNS 通过 域名 找 ip 地址
2、动态主机配置协议 DHCP
七、网络安全
网络安全涉及三个方面:
- 安全威胁
- 安全服务
- 安全机制
1.1、安全威胁
安全威胁主要分为两类:
- 被动攻击
- 主动攻击
四种基本的攻击形式:
- 截获(interception) 攻击者从网络上窃听他人的通信内容。
- 中断(interruption) 攻击者有意中断他人在网络上的通信。
- 篡改(modification) 攻击者故意篡改网络上传送的报文。
- 伪造(fabrication) 攻击者伪造信息在网络上传送。
除此之外,在被动攻击中,还有通信量分析;在主动攻击中还有重放攻击、拒绝服务攻击、恶意程序攻击。
1.2、安全服务
安全服务包括:机密性、报文完整性、不可否认性、实体鉴别、访问控制、可用性。