Computer Network

Computer Network

Curriculm

教材:自顶向下
这是我在中文互联网目前见到的质量最高的有关计算机网络的中文课程,没有之一
而且我认为对于这种知识点密集的课程,听母语课程会比对着半生不熟的英文课程的效果要好一些
老师目前把课程公开在了B站和MOOC

好的大学
没有围墙

  • @中科大-郑烇

计算机网络的知识太多太杂,体系庞大,不好记录
看心情写不写这个了

Index

Chapter 1

1.1

  • R1
1
2
3
没有不同,端系统包括PC,工作站,web服务器,邮件服务器,PDA,网络游戏
显然,web服务器是一种端系统
p.s. : PDA,老古董,没见过。。。类似于早期的手机
  • R2
1
2
3
4
5
6
来自维基百科:外交协议常用于描述一系列国家来往规则。这些构建完备和经过时间检验的规则可以使国家和人民生活和工作更简单。协议规则以人民准则为基础,其中的一部分已经作为现在分级的地位声明。
From Wikipedia: Diplomatic protocol is commonly described as a set of international
courtesy rules. These well-established and time-honored rules have made it easier for
nations and people to live and work together. Part of protocol has always been the
acknowledgment of the hierarchical standing of all present. Protocol rules are based on
the principles of civility.
  • R3
1
2
Standards are important for protocols so that people can create networking systems and
products that interoperate(相互操作).

1.2

  • R4
1
2
3
4
5
1.电话拨号调制解调器 : 家庭
2.电话线DSL: 家庭或者小型办公室
3.电缆到HFC: 家庭 Hybrid Fiber-Coaxial(混合光纤同轴)
4.100Mbps 交换以太网: 企业
说实话,这些东西我都没见过,或者见过太小了没印象。。。
  • R5
1
HFC带宽是由用户共享。下行通道中,所有的包都是由头端这一个单一源发出的。因此,下行通道中没有碰撞。
  • R6
1
2
3
光纤到户(FTTH) 上下行都超过100Mpbs 就是很贵 每月100-300
4G 5G 无线宽带 5G是可以达到千兆带宽的,但是一般不可能
HFC 下行:50Mpbs-300Mpbs 上行:10Mpbs-50Mpbs 每月80-200
  • R7
1
10 Mbps, 100 Mbps, 1 Gbps and 10 Gbps.
  • R8
1
双绞线、光纤
  • R9
1
2
3
4
拨号调制解调器:最高56K,带宽专用
ADSL:下行最高24M,上行最高2.5M,带宽专用
HFC:下行最高42.8M,上行最高30.7M,带宽共享
FTTH:上行2-10M,下行10-20M,带宽不共享
  • R10
1
2
3
Wi-Fi 
4G LTE(Long-Term Evolution)
5G
特性 Wi-Fi 4G LTE 5G
覆盖范围 短距离(几十米到几百米) 广泛(城市、乡村) 广泛(城市为主,逐步扩展)
速度 几百 Mbps - 1 Gbps 100 Mbps - 1 Gbps 1 Gbps - 10 Gbps
成本 低(路由器或宽带费用) 较高(SIM 卡和数据套餐) 较高(5G 套餐)
移动性 低(固定或低速移动) 高(支持高速移动) 极高(支持超高速移动)
延迟 较低 较低 极低(1 毫秒以下)
适用场景 家庭、办公室、公共场所 移动设备、偏远地区 超高速移动、实时应用、物联网

1.3

  • R11

$$
\frac{L}{R_1} + \frac{L}{R_2}
$$

  • R12
特性 电路交换网络 分组交换网络
带宽分配 固定带宽,专用于通信双方 动态分配,共享带宽
延迟 低,适合实时应用 较高,可能受拥塞影响
资源利用率 较低,带宽可能浪费 较高,资源共享
复杂性 简单,实现容易 复杂,需要路由和拥塞控制
适合场景 电话通话、视频会议 数据传输、网页浏览
成本 较高,需要专用资源 较低,资源共享
  • TDM vs FDM
特性 TDM(时分复用) FDM(频分复用)
带宽分配方式 时间划分,时隙分配 频谱划分,频段分配
适合信号类型 数字信号 模拟信号
资源利用率 高效,避免浪费 较低,频段可能未充分利用
实现复杂性 简单,技术成熟 复杂,需要频谱管理
灵活性 高,可动态调整时隙 较低,频段固定
应用场景 数字通信、数据传输 广播、电视、无线通信
  • R13
1
2
3
4
a. 俩
b. 两个用户最多占用2Mbps,不存在排队时延
c. 20%
d. 0.2*0.2*0.2=0.08 时间比率也是
  • R14
1
如果两个ISP不对等,那么当他们给对方发送流量时他们需要通过一个付费流量ISP提供商(中间商)来发送数据。通过直接对等传输,两个ISP可以减少给其他ISP提供商的费用。多个ISP可以通过网络交换点(IXP)(通常由它自己的交换机单独构建)作为汇合点来直接对等传输。ISP通过对连接至IXP的每一个ISP收取少量费用来盈利,当然利润取决于IXP发送或接收的流量数。
  • R15
1
谷歌的私有网络连接了它大大小小的所有的数据中心。谷歌数据中心的流量通过它的私有网络而不是公共网络来传输。大多数的数据中心位于或靠近与低级的ISP。因此,当谷歌向用户分发数据时,可以跳过高级的ISP。是什么推动着这些内容提供商创建这些网络?首先,如果内容提供商使用更少的中间的ISP,它可以更容易控制用户体验。其次,通过减少至提供商的网络流量来节省成本。第三,如果ISP向利润率高的内容提供商收取高费用(在网络中立状态不适用的国家或地区),内容提供商可以避免额外成本。

1.4

  • R16
1
延迟组件包括处理延迟、传输延迟、传播延迟、排队延迟。除了排队延迟是变量其他的都是固定的。
  • R17
1
我没有书,也不想看那个网站,o( ̄┰ ̄*)ゞ
  • R18
1
2
3
传播时延:d/s=10ms
传输时延:L/R=4ms
无关
  • R19
1
2
3
a. 500kbps
b. 4*1^6*8/500kpbs=64s
c. 320s
  • R20
1
2
3
4
5
6
7
End system A breaks the large file into chunks. It adds header to each chunk, thereby
generating multiple packets from the file. The header in each packet includes the IP
address of the destination (end system B). The packet switch uses the destination IP
address in the packet to determine the outgoing link. Asking which road to take is
analogous to a packet asking which outgoing link it should be forwarded on, given the
packet’s destination address.
终端系统A将大文件拆分为块。A通过添加文件头信息至每一个块来从文件生成多个数据包。数据包的头信息包含目标(终端系统B)IP地址。数据包交换机通过包中的目标IP地址来决定发送链接。考虑到包目标地址,包选择哪条路走和包选择哪条外链走的方法相似。
  • R21
1
`(*>﹏<*)′

1.5

  • R22

1. 物理层(Physical Layer)

  • 任务
    1. 传输比特流(0 和 1)。
    2. 定义物理介质的电气、机械和功能特性(如电压、电缆类型)。
    3. 处理物理连接的建立和断开。
    4. 管理信号的调制和解调。
    5. 提供物理层错误检测(如奇偶校验)。
  • 任务
    1. 将比特流封装成帧(Frame)。
    2. 提供物理地址寻址(如 MAC 地址)。
    3. 进行错误检测和纠正(如 CRC 校验)。
    4. 管理链路访问(如 CSMA/CD 用于以太网)。
    5. 处理帧的同步和流量控制。

3. 网络层(Network Layer)

  • 任务
    1. 提供逻辑地址寻址(如 IP 地址)。
    2. 路由数据包(选择最佳路径)。
    3. 处理分组交换和拥塞控制。
    4. 进行分片和重组(当数据包超过 MTU 时)。
    5. 提供网络层错误检测和流量控制。

4. 传输层(Transport Layer)

  • 任务
    1. 提供端到端的通信(如 TCP 或 UDP)。
    2. 进行流量控制和拥塞控制。
    3. 提供可靠的数据传输(如 TCP 的确认机制)。
    4. 进行错误检测和恢复(如 TCP 的重传机制)。
    5. 处理分段的重组(如 TCP 的序号和确认号)。

5. 应用层(Application Layer)

  • 任务
    1. 提供用户接口(如 Web 浏览器、电子邮件客户端)。
    2. 处理应用层协议(如 HTTP、FTP、SMTP)。
    3. 进行数据加密和解密(如 SSL/TLS)。
    4. 提供会话管理和同步(如 RPC、RMI)。
    5. 处理数据格式化和语义(如 XML、JSON)。

任务是否由多个层次执行?

是的,某些任务可能由多个层次共同执行。例如:

  • 错误检测

    • 物理层可能进行简单的奇偶校验。
    • 数据链路层使用 CRC 进行更复杂的错误检测。
    • 传输层(如 TCP)也进行错误检测和恢复。
  • 流量控制

    • 数据链路层(如以太网)进行基本的流量控制。
    • 传输层(如 TCP)进行更复杂的流量控制和拥塞控制。
  • 地址寻址

    • 数据链路层使用 MAC 地址进行本地寻址。
    • 网络层使用 IP 地址进行全局寻址。

总结

层次 任务
物理层 传输比特流、定义物理介质、管理物理连接、信号调制、错误检测
数据链路层 封装帧、MAC 地址寻址、错误检测、链路访问、流量控制
网络层 IP 地址寻址、路由数据包、分组交换、分片重组、错误检测
传输层 端到端通信、流量控制、可靠传输、错误检测、分段重组
应用层 用户接口、应用协议、数据加密、会话管理、数据格式化

某些任务(如错误检测和流量控制)可能由多个层次共同执行。

  • R23
  • 重要!
1
网络协议的自顶向下的五层是:应用层、传输层、网络层、链路层和物理层。详见1.5.1。
  • R24
1
2
3
4
5
6
7
应用层报文:应用程序想发送和通过传输层的数据;

传输层段:由传输层生成并且封装有传输层头信息的应用层报文

网络层数据段:封装有网络层头信息的传输层段

链路层帧:封装有链路层头信息的网络层数据段
  • R25
1
2
3
4
答案好像有点问题ˋ( ° ▽、° ) 
路由器处理 网络层,数据链路层,物理层
链路层交换机处理 物理层和数据链路层
主机处理五个层次
  • R26
1
2
3
4
5
6
7
a)病毒

需要以下人的交互来传播。比如邮件病毒。

b)蠕虫

不需要用户介入。受感染主机中的蠕虫会扫描IP地址和端口号来查找可感染的进程。
  • R27
1
创建僵尸网络需要攻击者发现以下应用或系统的薄弱点(比如利用应用中可能存在的缓冲区溢出漏洞)。发现薄弱点后,黑客需要查找可攻击的主机。目标一般是已发现漏洞的一系列系统。僵尸网络中的任何系统都可以通过漏洞自动扫描它的环境和传播。这种僵尸网络的重要属性就是僵尸网络的起点可以远程控制和发送命令至僵尸网络中的所有结点的每一个节点(例如僵尸网络中的所有结点可以被黑客命令发送TCP SYN信息至目标,并将导致目标的TCP SYN溢出攻击)。
  • R28
1
Trudy可以假装为Bob(反之亦然)并且部分或者完全修改Bob发送给Alice的信息。例如,她可以很容易的修改语句“Alice,我欠你1000美元”为“Alice,我欠你10000美元”。更进一步,Trudy甚至可以丢弃Bob发送给Alice的加密信息(反之亦然)。

习题1

  • P1
Msg name purpose
HELO Let server know that there is a card in the ATM machine . ATM card transmits user ID to Server
PASSWD User enters PIN, which is sent to server . BALANCE User requests balance
WITHDRAWL User asks to withdraw money . BYE user all done

从服务器至ATM机器的信息(显示)

Msg name purpose
PASSWD Ask user for PIN (password)
OK last requested operation (PASSWD, WITHDRAWL) OK
ERR last requested operation (PASSWD, WITHDRAWL) in ERROR
AMOUNT sent in response to BALANCE request
BYE user done, display welcome screen at ATM

正确回应:

client server
HELO (userid) --------------> (check if valid userid)
<------------- PASSWD
PASSWD --------------> (check password)
<------------- OK (password is OK)
BALANCE -------------->
<------------- AMOUNT
WITHDRAWL --------------> check if enough $ to cover withdrawl
<------------- OK
ATM dispenses $
BYE -------------->
<------------- BYE

钱不够的情况下:

client server
HELO (userid) --------------> (check if valid userid)
<------------- PASSWD
PASSWD --------------> (check password)
<------------- OK (password is OK)
BALANCE -------------->
<------------- AMOUNT
WITHDRAWL --------------> check if enough $ to cover
withdrawl
<------------- ERR (not enough funds)
error msg displayed
no $ given out
BYE -------------->
<------------- BYE
  • P2
    $$
    t_{0}=N\frac{L}{R}
    $$
    $$
    t_{1}=(P-1)\frac{L}{R}
    $$
    $$
    t_{总}=t_{0}+t_{1}=(P+N-1)\frac{L}{R}
    $$
  • P3
1
2
3
a.电路交换网,因为应用将以稳定速率,持续长时间运行,因此可以为其保留带宽。

b.不需要,传输速率总和小于链路容量。
  • P5
1
2
3
结合前文
a. 总时延=传输时延+排队时延=90min+3*2min=96min
b. 94.8min
  • P6
1
2
3
4
5
6
7
a. 传播时延=m/s(s)
b. 传输时间=L/R
c. 传播时延+传输时间
d. 刚刚离开A,但是还没有完全离开的临界态
e. 路上
f. 到了B主机
g. L/R=m/s 解得m=5.36*10^5(m)
  • P7
1
2
3
主机 A 产生 56 字节的分组需要 = 56 * 8b / 64kbps = 7ms
传输时延 = 56 * 8b / 2Mbps = 0.224ms
总时间 = 7ms + 10ms + 0.224ms = 17.224ms
  • P8
1
2
a. 20
b. 10%

c. $$\binom{120}{n}p^n(1-p)^{120-n}$$
d. $$1-\sum_{n=0}^{20}\binom{120}{n}p^n(1-p)^{120-n}$$

$$根据中心极限定理:令X_j为独立随机变量P(X_j​=1)=p ;$$

$$P(21或更多用户)=1−P(\sum_{j=1}^{120}X_j≤21)$$

$$P(\sum_{j=1}^{120}X_j≤21)=P\left ( \frac{\sum_{j=1}^{120}X_j-12}{\sqrt{120\cdot 0.1\cdot0.9}}\leq \frac{9}{\sqrt{120\cdot 0.1\cdot0.9}} \right )≈P(Z≤9/3.2869​)=P(Z≤2.74)=0.997$$

$$因此 P(21或更多用户)≈0.003$$
$$这公式真有人背吗,不都是查表吗$$

  • P9
    $$a. \frac{1Gpbs}{1Mpbs}=10^4$$
    $$b. \sum_{n=N+1}^{M}\binom{M}{n}p^n(1-p)^{M-n}$$
  • P10
1
2
3
4
直接算 传播时延=20+16+4(ms)
传输时延=3*6(ms)
处理时延=2*3(ms)
总时延=64ms
  • P11
    $$d_{end2end}=L/R+d_1/s_1+d_2/s_2+d_3/s_3$$
    $$D=D_{prop}+L/R=20+16+4+6=46ms$$
  • P12
1
2
(nL+(L-x))/R
27ms
  • P13
1
2
3
4
5
a.第一个分组的排队时延为 0, 第二个 L/R, 第三个 2L/R,第N个 (N-1)L/R

因此平均排队时延为 (L/R + 2L/R + … + (N-1)L/R) / N = (N-1)L/2R

b.当下一批 N 个分组到达时,上一批已经传完,因此平均排队时延为 (N-1)L/2R
  • P14
    $$a.传输延迟为L/R。总延迟是\frac{IL}{R(1-I)}+\frac{L}{R}=\frac{\frac{L}{R}}{1-I}$$

$$ b.以 L/R 为函数:$$

$$令 x = L/R: L/R(1-I) = x/(1-ax)$$

$$函数经过原点,在 x = 1/a 处趋于无穷$$

  • P15
    $$μ=\frac{R}{L} 所以 \frac{L}{1-I}R=\frac{1}{μ-a}$$
  • P16
1
2
3
4
5
N = 10 + 1 = 11个分组

d = 10ms + 1/100ms = 0.02s

a = N/d = 11/0.02 = 550分组/s
  • P17
    $$a.有Q节点(源主机和Q-1路由器)。设d_{proc}^{q}表示q节点处的处理延迟。设R^q为第q个链路的传输速率,则$$

$$d_{proc}^{q}=L/R^q。$$

$$设d_{prop}^{q}是穿越q个链路的传播延迟。然后d_{end-end}=\sum_{q=1}^{Q}\begin{bmatrix}
d_{proc}^{q}+d_{trans}^{q}+d_{prop}^{q}
\end{bmatrix}$$

$$b.设d_{queue}^{q}是结点q的排队延迟。那么$$

$$d_{end-end}=\sum_{q=1}^{Q}\begin{bmatrix}
d_{proc}^{q}+d_{trans}^{q}+d_{prop}^{q}+d_{queue}^{q}
\end{bmatrix}$$

  • P18

Tracing route to www.targethost.com [104.21.112.1]
over a maximum of 30 hops:

跳数 IP 地址 RTT 1 (ms) RTT 2 (ms) RTT 3 (ms) 备注
1 * * * * 请求超时
2 192.168.. 2 1 2 本地路由器
3 119.39.. 6 5 15 本地 ISP 路由器
4 119.39.. * 5 5 本地 ISP 路由器
5 119.39.. 6 5 6 本地 ISP 路由器
6 219.158.. 15 * 16 主干 ISP 路由器
7 219.158.. 18 24 21 主干 ISP 路由器
8 219.158.. 24 22 23 主干 ISP 路由器
9 219.158.. 246 246 247 主干 ISP 路由器
10 219.158.. * 244 * 主干 ISP 路由器
11 141.101.72.27 240 240 244 目标主机所在网络的路由器
12 104.21.112.1 * 171 171 目标主机

Tracing route to a.w.bilicdn1.com [112.83.140.12]
over a maximum of 30 hops:

跳数 IP 地址 RTT 1 (ms) RTT 2 (ms) RTT 3 (ms) 备注
1 172.19.. * 12 * 本地网络设备
2 192.168.. 3 12 4 本地路由器
3 119.39.. 4 4 4 本地 ISP 路由器
4 119.39.. 5 3 5 本地 ISP 路由器
5 * * * * 请求超时
6 219.158.. 21 22 23 主干 ISP 路由器
7 58.241.. 26 44 27 主干 ISP 路由器
8 * * * * 请求超时
9 * * * * 请求超时
10 * * * * 请求超时
11 * * * * 请求超时
12 * * * * 请求超时
13 112.83.140.12 23 24 32 目标主机所在网络的路由器

Tracing route to anfsity.top [76.76.21.21]
over a maximum of 30 hops:

跳数 IP 地址 RTT 1 (ms) RTT 2 (ms) RTT 3 (ms) 备注
1 * * * * 请求超时
2 192.168.. 2 2 2 本地路由器
3 119.39.. 9 8 6 本地 ISP 路由器
4 119.39.. 11 * 9 本地 ISP 路由器
5 * * * * 请求超时
6 219.158.. 18 15 14 主干 ISP 路由器
7 219.158.. 17 14 15 主干 ISP 路由器
8 219.158.. 23 23 22 主干 ISP 路由器
9 219.158.. 58 55 54 主干 ISP 路由器
10 219.158.. 71 75 61 主干 ISP 路由器
11 * * * * 请求超时
12 * * * * 请求超时
13 * * * * 请求超时
14 * * * * 请求超时
15 * * * * 请求超时
16 * * * * 请求超时
17 76.76.21.21 55 54 54 目标主机
还是挺有意思的
  • P19
1
n(n-1) 支持
  • P20

$$ \min(R_s, R_c, R/M) $$

  • P21

$$max ( min(R_{1}^{1},R_2^1,…,R_N^1),min(R_1^2,R_2^2,…,R_N^2),…,min(R_1^M,R_2^M,…R_M^M))$$

$$使用 M 条:\sum_{k=1}^{M}min(R_1^k,R_2^k,…,R_N^k)$$

  • P22

不丢包概率为 1 - p, N 个路由器, 因此总的不丢包概率$$p_s=(1−p)^N$$

$$在客户端成功接收数据包之前需要执行的传输数是具有成功概率p_s的几何随机变量。因此,所需传输的平均次数为:1/p_s。然后,所需重传的平均次数为:1/p_s-1。$$

  • P23

a.$$L/R_s$$

b.可能,因为第二个分组 (用 P2 表示) 可能在第一个分组 (P1) 被推出之前到达;

P1 被完全推出的时间 $$t_1 = L/R_s + L/R_c + d_{prop}$$

P2 到达路由器的时间 $$t_2 = 2L/R_s + d_{prop} + T$$

要求t2 > t1:即 $$T > L/R_c - L/R_s$$

因此T至少是$$L/R_c - L/R_s$$

  • P24
1
2
40兆字节=40*1012*8位因此,如果使用专用链接,则需要40*1012*8/(100*106)=3200000秒=37天。但
是有了联邦快递的通宵递送,你可以保证数据在一天内到达,而且它的成本应该低于100美元。
  • P25

$$a.t_{prop} = 20000km / 2.5*10^8m/s = 0.08s$$

$$R * t_{prop} = 1.6 * 10^5 bits$$

$$b.1.6 * 10^5 bits 见c$$

$$c.链路上的最大比特数量$$

$$d.20000km / 1.6*10^5 = 125m这比足球场长(正规足球场场地:长105米、宽68米)$$

$$e.s/R $$

  • P26
1
2
3
s/R = 20000km

R = 12.5Mbps
  • P27

$$ \ a. R * d_{prop} = 8 * 10^7 bits$$

$$b. \ 8 * 10^5 bits$$

$$c. \ s/R = 0.25m$$

  • P28

a.$$t_{trans} + t_{prop} = 0.48s$$

b.$$20*(t_{trans}+t_{prop})=20*(0.02+0.08)s=2s$$

c.分解一个文件需要更长的时间来传输,因为每个数据包及其相应的确认包都会添加它们自己的传播延迟。

  • P29

a. $$d_{prop} = 36000km / (2.4 \times 10^8) = 0.15s$$

b.$$
R \times d_{prop} = 10 \ \text{Mbps} \times 0.15 \ \text{s} = 1.5 \times 10^6 \ \text{bits}
$$

c. $$60s \times 10Mbps = 6 \times 10^8 bits$$

  • P30
1
假设乘客和他/她的行李对应到达协议栈顶部的数据单元。当旅客办理登机手续时,他/她的行李会被检查,并在行李和车票上贴上标签。这是在行李层中添加的附加信息,如果图1.20允许行李层在发送方实现服务或分离乘客和行李,然后将它们重新统一(希望如此!)在目的地那边。当乘客经过安检时,通常会在车票上加盖额外的印章,表示乘客通过了安全检查。这些信息用于确保(例如,通过以后对安全信息的检查)人员的安全转移。
  • P31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

a.

8 * 10^6 / 2Mbps = 4s

3 * 4s= 12s

b.

1 * 10^4 b / 2Mbps = 5 * 10^(-3)s

2 * 5 * 10^(-3)s = 10^(-2)s

c.(800 + 3 - 1) * 0.5 * 10^(-2) = 4.01s比 (a) 快非常多

d.便于检测错误并重传;不分段的大包容易使路由器缓存不足导致丢包;

e.分组需要排序;需加上首部信息;
  • P33

$$有F/S包。每个包S=80位。在第一路由器接收最后一个数据包的时间是\frac{S+80}{R}\times \frac{F}{S}秒。$$ $$此时,第一个F/S-2分组位于目的地,F/S-1分组位于第二路由器。$$$$最后一个数据包随后必须由第一个路由器和第二个路由器发送,每一个传输都需要\frac{S+80}{R}秒。$$ $$因此,发送整个文件的延迟为\frac{S+80}{R}\times (\frac{F}{S}+2),以计算导致最小延迟的S值$$$$延迟为:\frac{\mathrm{d} }{\mathrm{d} x}delay=0 \Rightarrow S=\sqrt{40F}。$$

  • p34
1
2
3
4
电路交换电话网络和因特网在“网关”连接在一起。当Skype用户(连接到Internet)呼叫普通电话时,
通过电路交换网在网关和电话用户之间建立电路。Skype用户的语音通过互联网以数据包的形式发送到网关。
在网关处,对语音信号进行重构,然后通过电路发送。
另一方面,语音信号通过电路交换网络发送到网关。网关对语音信号进行分组,并将语音分组发送给Skype用户。

Computer Network
http://example.com/2024/10/25/Computer Network/
Author
Anfsity
Posted on
October 25, 2024
Licensed under