阅读视图

发现新文章,点击刷新页面。

计算机网络原理笔记

计算机网络原理学习笔记。

目录

下面目录定位有些使用不了。若需要跳转到具体段落应使用侧边栏文章定位


计算类速览

速率与带宽

  1. 传输时延:链路发送到结束所用的时间

    1
    dt = L(分组长度) / R(链路带宽)
  2. 传播时延: 从发送端到接收端传输所需的时间

    1
    dp = D(链路长度) / V(信号传播速度)
  3. 时延带宽(乘)积:传播时延和链路带宽的乘积

    1
    G = dp(传播时延) * R(链路带宽)

TCP 报文段确认号

题目一般是主机 A 会发送两个 TCP 报文段给主机 B,其实有字节序号分别为 n1 和 n2。

  1. 算携带了多少字节: 字节数=n2-n1
  2. 接收到第一个报文段返回的确认号是 n2
  3. 如果主机 B 接收到第二个报文段后的确认号是 n3, 问第二个携带多少字节: 字节数=n3-n2
  4. 如果第一段丢失了,第二段到达了,主机 B 返回的确认号是: n1, 即要求主机 B 重传之前没有接受到的数据

汉明距离

两个等长码字之间的,对应位不同的位数,成为两个码字的汉明距离。汉明距离是两个码字进行按位异或后 1 的个数。

1
2
3
4
5
6
01100101
10011101
-------- 进行异或(^)
11111000
--------
5个1,汉明距离 = 5

循环冗余码

多项式 G(x)=x4 + x3 + 1,对位串 101100111101 进行 CRC 编码,结果为:

G(x)=x4 + x3 + 1 对应的比特位为 11001,则在待编位串后面添加 0000.

位串除 11001


计算机网络概述

常见应用的端口号

应用端口号
TCP/FTP21
SMTP25
HTTP80
POP3 服务器110

TCP/IP、OSI 参考模型

OSI模型单位
7. 应用层报文
4. 传输层数据报/报文段
3. 网络层分组/包
2. 数据链路层
1. 物理层比特流

简述OSI参数模型物理层的主要功能及该层协议规定的四个特性。

物理层的主要功能是实现比特流的透明传输,为数据链路层提供数据传输服务。

物理层协议规定的特性包括:

  1. 机械特性
  2. 电气特性
  3. 功能特性
  4. 规程特性

应用层

网络协议的三要素包括

  • 语法: 定义实体之间交换信息的格式与结构
  • 语义: 定义实体之间交换的信息中需要发送哪些控制信息,这些信息的具体含义,以及针对不同含义的控制信息,接收信息端应如何响应。
  • 时序: 定义实体之间交换信息的顺序以及如何匹配或适应彼此的速度

简述典型的HTTP请求方法及其作用

  1. GET: 读取由 URL 所标识的信息
  2. POST: 给服务器添加信息
  3. HEAD: 请求读取由 URL 所标识的信息首部,无需在相应报文中包含对象
  4. OPTION: 请求一些选项的信息
  5. PUT: 在指明的 URL 下存储一个文档

简述 POP3 协议交互过程

POP3 是邮件读取协议,可用于接收邮件。

  1. 授权阶段: 用户代理需要向邮件服务器发送用户名和口令,服务器鉴别用户身份,授权访问邮箱。
  2. 事务处理阶段: 用户代理向邮件服务器发送 POP3 命令,实现邮件读取,为邮件做删除编辑、取消邮件删除标记以及获取邮件的统计信息等操作。
  3. 更新阶段: 客户发出来 quit 命令,结束 POP3 回话,服务器删除哪些被标记为删除的邮件。

传输层

传输层核心任务:为应用进程之间提供端到端的逻辑通信服务。

TCP/IP

核心层: 传输层
网络互联层核心协议: IP 协议

简述传输层所实现的功能

实现的功能:

  1. 传输层寻址
  2. 对应用层报文进行分段和重组
  3. 对报文进行差错检测
  4. 实现进程间端到端的可靠数据传输控制
  5. 面向应用层实现复用与分解
  6. 流量控制
  7. 拥塞控制

简述传输层实现可靠数据传输的主要措施

不可靠传输信道在数据传输中可能发生:

  1. 比特差错
  2. 乱序
  3. 数据丢失
  1. 差错控制: 利用差错编码实现数据报传输过程中的比特差检测(甚至是纠正)。
  2. 确认: 「接收方」向「发送方」反馈接受状态
  3. 重传: 「发送方」重新发送「接收方」没有正确接收到的数据
  4. 序号: 确保数据按序提交
  5. 计时器: 解决数据丢失问题

简述保证网络传输可靠性的确认与重传机制的概念

  • 确认是指数据分组接受节点再收到每个分组后,要求想发送节点会送正确接受分组的确认信息。
  • 在规定时间内,如果发送节点没有接收到「接收方」返回的确认信息,就认为该数据分组发送失败,发送节点会重传该数据分组。

简述差错控制的概念以及差错控制的基本方法

差错控制就是通过差错编码技术实现对信息传输的检测,并通过某种机制进行差错纠正和处理。

差错检测的基本方法有:

  1. 检错重发
  2. 检错丢弃
  3. 前向纠错
  4. 反馈校验

简述TCP所提供的面向连接服务

在生成报文开始传送之前,TCP 客户和服务器相互交换传输层的控制信息,完成握手。在客户进程与服务器进程的套接字之间建立一条逻辑的 TCP 连接。

简述为 UDP 套接字分配端口号的两种方法

  1. 传输层自动分配: 创建一个 UDP 套接字时,传输层自动为该套接字分配一个端口号,该端口号当前未被该主机任何其他 UDP 套接字使用。
  2. 手动绑定: 在创建 UDP 套接字后,通过调用 bind 函数来绑定一个特定的端口号。

简述 UDP 提供的服务的主要特征

  1. 应用进程更容易控制发送什么数据以及什么时候发送。
  2. 无需建立连接
  3. 无连接状态
  4. 首部开销小,仅有8字节的开销

网络层

网络层提供的功能有:

  1. 连接建立
  2. 路由
  3. 转发

简述虚电路的概念及其构成要素

虚电路是源主机到目的主机的一条路径上建立的一条网络层逻辑连接,成为虚电路。

comment: 因为是逻辑连接,不是真实的电路连接,故称为虚电路

一条虚电路由 3 个要素组成:

  1. 从源主机到目的主机之间的一条路径
  2. 该路径上每条链路各有一个虚电路标记(VCID)
  3. 该路径上每台分组交互机的转发表记录虚电路标识的接续关系

虚电路交换和数据交换的主要差别

  • 虚电路网络通常由网络完成顺序控制、差错控制和流量控制等功能,向端系统提供无差错数据传送服务,而端系统则可以很简单。
  • 数据报网络的顺序控制、差错控制和流量控制等功能需要由端系统完成,网络实现的功能很简单,比如基本的路由与转发功能。

电路交换的特点和优缺点

电路交换的特点是有连接的,在通信时需要先建立电路连接,在通讯过程中独占一个信道,在通讯结束后需要拆除电路连接。

优点: 实时性高,时延和时延抖动都较小
缺点: 对于突发性数据传输,信道利用率低,且传输速率单一。

简述永久虚电路与交换虚电路的区别

永久虚电路是一种提前建立、长期使用的虚电路,虚电路的建立时间开销基本上可以忽略。
交换虚电路是根据通信需要而临时建立的虚电路,通信结束后立即拆除,虚电路的建立和拆除时间有时相对影响较大。

简述路由器输入端口接受与处理数据的过程

输入端口接受信号,还原数据链路层帧,提取 IP 数据报,根据 IP 数据报的目的 IP 地址检索路由表,决策将数据报交换到哪个输出端口


数据链路层与局域网

数据链路层提供的服务有:

  1. 组帧
  2. 链路接入
  3. 可靠交付
  4. 差错控制

帧的组成

HDLC: 帧组成:

  1. 管理帧
  2. 信息帧
  3. 无序号帧

IEEE 802.11 帧:

  1. 管理帧
  2. 控制帧
  3. 数据帧

PPP (point to point protocol) 数据帧结构:

  1. 标志(01111110)
  2. 地址(11111111)
  3. 控制(00000011)
  4. 协议
  5. 信息
  6. 校验和
  7. 标志(01111110)

==== 多路访问控制协议 ====

非坚持 csma 的基本原理

  • 若通信站有数据发送,先监听信道,若发现信道空闲,则立即发送数据(与 1-坚持 CSMA 第一步一致)
  • 若发现信道忙,则等待一个随机时间,然后再重新监听信道,尝试发送数据。
  • 若发送数据时产生冲突,则等待一个随机时间,然后重新开始监听信道,尝试发送数据。

这是个做事不太着急的协议。将上面文绉绉的描述用通俗的话来理解是:它在寝室中想要去洗澡

  1. 它会先看看有没有人在用浴室,没人在用就直接去洗澡
  2. 去洗澡时发现有人也想用了,它会礼让给其他人。自个再晚一段时间再看看还有没有人用,没人用就自个用了
  3. 如果已经有人在用浴室了,那又晚点再看看

1-坚持 csma 的基本原理

  • 若通信站有数据发送,先监听信道,若发现信道空闲,则立即发送数据(与 非坚持 CSMA 第一步一致)
  • 若发现信道忙,则继续监听信道,直至发现信道空闲,然后立即发送数据。

通俗话理解: 顾名思义,坚持不懈。如果浴室有人用了,我就守在门口。有人出来我就立马进去。

==== 局域网 ====

简述地址解析协议 ARP 的作用和基本思想

ARP 用于根据本网内目的主机默认网关的 IP 地址获取其 MAC 地址。

基本思想是: 在每一台主机中设置专用内存区域作为 ARP 高速缓存区域,储存该主机所在局域网中其他主机和路由器(默认网关)的 IP 地址与 MAC 地址之间的映射,并且要经常更新这个映射表。

ARP 在局域网中通过广播 ARP 查询报文的方式,来询问某目的站的 IP 地址对应的 MAC 地址,即知道本网内某主机的 IP 地址就能知道它的 MAC 地址。

简述虚拟局域网(VLAN)的概念以及划分方法

虚拟局域网是一种基于交换机的逻辑分隔广播域的局域网应用形式。划分方法主要有 3 种:

  1. 基于交换机端口划分
  2. 基于 MAC 地址划分
  3. 基于上层协议或地址划分

物理层

简述 CMI 码的编码规则,并画出二进制比特序列 1011010011 的 CMI 码信号波形

CMI 码的编码规则是将信息码的 0 编码为双极不归零码的 01,信息码的 1 交替编码为双极不归零码的 11 和 00。

米勒码的编码规则

P229

  1. 信息码的 1 编码为「双极非归零码」的 01 或 10(占半格)
  2. 信息码连 1 时,后面的 1 要换编码
  3. 信息码的 0 编码为 00 或 11,中间码元不跳变(占一格)
  4. 单个 0 时不跳变
  5. 多个 0 时,间隔跳变
  6. (备注): 有两极

无线与移动网络

简述 4 个 IEEE 802.11 标准具有的共同特征

  1. 都使用相同介质访问协议 CSMA/CA。
  2. 链路层帧使用相同的帧格式
  3. 都具有降低传输速率以传输更远距离的能力
  4. 都支持“基础设施模式”和“自组织模式”两种模式

简答题

每个 AS 可以通过 BGP(边界网关协议) 实现哪些功能

AS: Autonomous system, 自治系统

  1. 从相邻 AS 获取某子网的可达性信息。
  2. 向本 AS 内部的所有路由器传播跨 AS 的某子网可达性信息。
  3. 基于某子网可达性信息和 AS 策略,觉得到达该子网的最佳路由

简述数字签名应满足的要求

  1. 接收方能够确认或证实发送方的签名,但不能伪造
  2. 发送发发送签名给接受方后,就不能否认他所签发的信息
  3. 接收方对已收到的签名信息不能再否认,既有收报认证
  4. 第三者可以确认收发双方之间的消息传送,但不能伪造这一过

基础计算

十进制转二进制

十进制转二进制主要的方法是除2取余,逆序排列法

可以写一个简单的 js 函数打印每次计算的结果。例如将整数 251 转为二进制的过程是:

点击展开详细代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
function convertToBinary(n, buffer = []) {
const a = Math.floor(n / 2)
const b = n % 2;

buffer.push(b);
console.log(`${n} / 2 = ${a}...${b}`)

if (a === 0) {
const result = buffer.reverse().join('');
console.log(`将每次取到的余数逆转排序后,最终转换后的二进制是: ${result}`)

return result;
}

return convertToBinary(a, buffer);
}

convertToBinary(521);

/**
* 521 / 2 = 260...1
* 260 / 2 = 130...0
* 130 / 2 = 65...0
* 65 / 2 = 32...1
* 32 / 2 = 16...0
* 16 / 2 = 8...0
* 8 / 2 = 4...0
* 4 / 2 = 2...0
* 2 / 2 = 1...0
* 1 / 2 = 0...1
* 将每次取到的余数逆转排序后,最终转换后的二进制是: 1000001001
*/

// js 的 toString 方法还可以将数值转为指定进制
var fn = (n, base = 2) => n.toString(base);

fn(521); // "1000001001"

2^n 速查表

2 的 N 次方速查表
次方
2^12
2^24
2^38
2^416
2^532
2^664
2^7128
2^8256
2^9512
2^101024
2^112048
2^124096
2^138192
2^1416384
2^1532768
2^1665536
2^17131072
2^18262144
2^19524288
2^201048576

子网掩码速览

类别子网掩码十进制子网掩码二进制
A255.0.0.011111111 00000000 00000000 00000000
B255.255.0.011111111 11111111 00000000 00000000
C255.255.255.011111111 11111111 11111111 00000000

通过 IP 地址与子网掩码推算出其他信息

1
2
1. 子网地址: 主机 IP 地址 & 子网掩码
2. 广播地址: 子网地址 | 子网掩码反码
❌