# 计网绝命速通笔记

# 写在前面

K 在存储中表示 2^10

K 在运输中表示 10^3

其余同理

建议再做一遍的计算题:

1. 第一章延时计算

2. 第二章 HTTP 那里,p2p 文件分发

3. 第三章 TCPack,seq

4. 第四章 DV 和 LS

5. 第五章 CSMA/CD 的题,瞅瞅。

# 第一章 - 概述

image-20240615110731625

image-20240615110842720

C .slot

B ./packets & destination

# 1. 网络核心:

# 电路交换网络

电路交换网络的特点是资源独享,即便主机间建立连接后无数据传输,也会占用线路资源,从而使其他用户无法使用,导致资源浪费。但是这种连接方式保证了性能,多用于传统电话网络,而不适用计算机间的连接。

频分(FDM):将带宽分成几个片段,不同的用户使用不同的片段。

时分(TDM):将带宽按周期分为成许多片段,每一个周期再分为几个不同的时隙(slot),每位用户固定使用其中的一个时隙。

波分(WDM):多用于光电路传输,把光信号分成不同波段,分给不同用户使用。

# 分组交换网络

(存储 - 转发)

按需使用。即有需要时才占用网络资源

统计时分多路复用(statistical time division multiplexing,STDM)

# 存储 - 转发

分组的存储转发一段一段从源端到目标端,按照有无网络层的连接可分为两种:

# 1. 数据报(datagram)网络
  • 在通信之前无需建立连接,一有数据就传输。
  • 每一个分组都独立路由(路径不一样,可能会失序)。
  • 源主机发送给目标主机的分组,携带了目标主机的完整地址,路由器根据分组的目标地址进行路由。
  • 路由器不会维护主机间的通讯状态。
# 2. 虚电路(virtual circuit)网络
  • 在通信之前,主机间需要先通过信令建立连接,分组传输路径保持不变。
  • 每个分组都带标签(虚电路标识 VCID),标签决定了下一个跳转。
  • 路由器会维持每个呼叫的状态信息。

# 2. 接入网和物理媒体

image-20240615112402267

image-20240615112421157

D. 将端系统和边缘路由器连接的方式可以分为三类:住宅接入网络;单位接入网络(学校、公司);无线接入网络。

# 住宅、企业、无线

住宅用了:modern,DSL(电话线),HFC(hybrid fiber coax,混合光纤同轴网)

image-20240615112615810

D. 数字卫星

# 双绞线、同轴电缆、光纤(导引型)

# 无线链路(如:卫星,LAN.eg.Wifi,非导引型媒体)

# 3. 分组延时

image-20240615111635798

B.This if called quening delay

  1. 节点处理延时(nodal processing delay):节点在收到分组时,为处理分组所花费的时间。
    • 检查 bit 级差错
    • 检查分组首部和决定将分组导向何处
    • 微秒级
  2. 排队延时(queuing delay):分组在节点中排队等待被发送所花费的时间。
    • 时间长短依赖于路由的拥塞程度(是不确定的)
    • 毫秒 - 微妙级
  3. 传输延时(transmission delay):数据从节点进入到传输媒体所耗费的时间。
    • R = 链路带宽(bps)
    • L = 分组长度(bits)
    • 将分组发送到链路上的时间:T = L/R
  4. 传播延时(propagation delay):数据(电磁波)在物理信道上传输一定距离所耗费的时间。
    • d = 物理链路的长度
    • s = 数据信号在介质上传播的速度(约为 2×108 m/sec)
    • 传播延时:T = d/s

image-20240615112157160

image-20240615111851033

# Tracerouter

Traceroute 具体实现原理:

利用了 ICMP(Internet Control Message Protocol,互联网控制报文协议)。这种协议下的报文数据 IP 头部有一个字段:TTL(Time to Live,生存时间)字段。这个字段在最初传输时会被赋值,每经过一个路由器时,TTL 减 1。当 TTL 在某一个路由器降为零时,该分组会被抛掉,并会向源主机发送一个 ICMP 报文 —— 通知源主机:分组发送到该路由时被 “干掉” 了(并附带 IP 地址),所以实现每一跳的查询方式就是设置不同的 TTL。当分组到达目标主机时,肯定会占用一个端口,但是在目标主机中该端口并没有进程在跑,于是目标主机就会向源主机发送另一种 ICMP 报文 —— 通知源主机:分组在我这边由于目标端口不可达,“挂掉了”(并附带 IP 地址)。这就是具体的工作原理。

# 4.OSI 与 Internet 协议栈

image-20240615112952104

B.prsentation

# OSI

  • 应用层(application)

  • 表示层(presentation):允许应用解释传输的数据。(关心交换数据的格式)

    表示层的目的是表示出用户看得懂的数据格式,实现与数据表示有关的功能。主要完成数据字符集的转换、数据格式化和文本压缩、数据加密、解密等工作。

  • 会话层(session):数据交换的同步,检查点,恢复。

  • 传输层(transport)【端到端服务】【进程 - 进程】

  • 网络层(network)【主机到主机】

  • 链路层(data link)

  • 物理层(physical)

    表示层与会话层的功能在 TCP/IP 协议栈中由应用层完成。

    OSI 参考模型包括了体系结构、服务定义和协议规范三级抽象。

# Internet 协议栈

  • 应用层(application):完成应用报文之间的交互。(实现各种网络应用)

    数据单元:报文(message)

    eg:FTP、SMTP、HTTP

  • 传输层(transport):实现进程到进程之间的数据传输。

    数据单元:报文段(segment)

    eg:TCP、UDP

  • 网络层(network):实现端到端(源主机 - 目标主机)的以分组为单位的数据传输。

    数据单元:分组(packet);如果是无连接的方式:数据报(datagram)

    eg:IP、routing protocols(路由协议)

  • 链路层(link):在相邻网络节点间以帧为单位传输数据。

    数据单元:帧(frame)

    eg:PPP(点对对协议)、802.11 (wifi)、Ethernet

  • 物理层(physical):在线路上传送 bit。(把数字数据转换成物理信号,使其承载于媒体之上)

    数据单元:位(bit)

    Internet 实际上只定义了上三层协议(应用层、传输层、网络层),下面的链路层和物理层被统一为网络接口层。

    协议栈不同层中的协议并未实现全覆盖,有些应用可以直接跨层,由更低层的协议实现。

# 5. 简答题汇总

image-20240615114343128

a:电路交换非常适合这个应用,因为传输速率已知并且会话为长会话,不会造成带宽的大量浪费。

b:在最坏的情况下,所有应用程序都通过一条链路传输数据,因为还未达到链路最大带宽所以不会发生拥堵,所以网络不需要拥塞控制机制。

# 6. 计算题

# 传输时间

image-20240615122713825

packet-switched virtual circuit 分组交换网络 虚电路

需要建立 VCID

packet-switched datagram network

circuit-switched network

image-20240615114627040

# 时延积

image-20240615115140382

image-20240615122544825

# 吞吐量

在源端和目标端之间传输的速率(数 据量 / 单位时间)

  • 瞬间吞吐量:在一个时间点的速率
  • 平均吞吐量:在一个长时间内平均值

有个概念在这里,链路层会和冲突域、交换机一起来考。

# 第二章 - 应用层

image-20240619150912942

fixed:固定的

image-20240619151045016

image-20240619151112606

syntax: 语法

fields: 字段

semantics: 语义

image-20240619151343717

image-20240619152854612

image-20240619153505009

C.No physical

A.soket

D.not rule

B.Type & code

C.close = non

D.No allcocat

# 1. 协议基本总结

Application/ProtocolDifferenceStatefulnessPortBasic FunctionPush/Pull Protocol
HTTPHypertext Transfer ProtocolStateless80Web document transferPull
HTTPSSecure HTTPStateless443Encrypted web document transferPull
FTPFile Transfer ProtocolStateful21/20File upload and downloadPush/Pull
SMTPSimple Mail Transfer ProtocolStateless25Email sendingPush
POP3Post Office ProtocolStateless110Email receivingPull
IMAPInternet Mail Access ProtocolStateful143Email receiving and managementPull
DNSDomain Name SystemStateless53Domain to IP address resolutionPull

# 2.HTTP

VersionUsesCalculate
HTTP/1.0Nonpersistent HTTP(非持久)
*1index.html + 10jpeg = 2RTT(建立连接) + html 传输 + 10 (2RTT(请求一个图片)+ jpg 传输)
并行1index.html + 10jpeg = 2RTT(建立连接) + 2RTT(并行请求对象) + 所有文件传输时间 = 4RTT + 所有文件传输时间
HTTP/1.1Persistent HTTP(持久)
Persistent without pipelining1index.html + 10jpeg = 2RTT(建立连接) + 10×1RTT(10jpeg)+ 所有文件传输时间 = 12RTT + 所有文件传输时间
defaultPersistent with pipelining1index.html + 10jpeg = 2RTT(建立连接) + 1RTT(10jpeg)+ 所有文件传输时间 = 3RTT + 所有文件传输时间

注意:default 是一个页面的引用对象仅用一个 RTT 可以满足,每次请求新的 HTML 都要 2RTT,这个跑不脱。

# 【HTTP 报文】

# 请求

image-20240615145156063

# 响应

image-20240615145226444

  1. HTTP/1.1 200 OK: 这是状态行,表示 HTTP 协议的版本是 1.1,状态码是 200,意味着请求成功,并且请求的资源可以正常访问。
  2. Date: Tue, 07 Jun 2020 12:00:00 GMT: 响应的日期和时间,使用格林尼治标准时间(GMT)。
  3. Server: Apache/2.6.52 (Fedora): 服务器软件的名称和版本,这里表明服务器使用的是 Apache 服务器,版本号为 2.6.52,运行在 Fedora 操作系统上。
  4. Last-Modified: Sat, 07 Jun 2020 11:00:00 GMT: 资源最后被修改的日期和时间。
  5. ETag: “526c3-f22-a88a4c80”: 资源的实体标签(ETag),用于识别资源的特定版本,常用于缓存控制。
  6. Accept-Ranges: bytes: 表示服务器接受分块请求,即客户端可以请求资源的一部分而不是全部。
  7. Content-Length: 1024: 响应体的字节长度,这里是 1024 字节。
  8. Keep-Alive: timeout=max=100: 持久连接参数,指定了连接保持打开状态的最大超时时间是 100 秒。
  9. Connection: Keep-Alive: 指示服务器希望保持连接打开,以便进行后续的请求和响应。(还有 close, 就是非持久;upgrade, 客户端请求服务器升级协议)
  10. Content-Type: text/html; charset=ISO-8859-1: 响应体的媒体类型是 HTML,字符编码是 ISO-8859-1。

image-20240615151635817

# Web Cache

与 304 响应报文有关,若返回 304,说明直接在 Cache 里找到了,且没有更改

若 200,说明 Cache 已经是旧的数据,还是请求了最新的内容。

更多的 Web Cache 请移步到综合分析题。

# Short URL (重定向)

301 响应报文,可以重定向。

当我们在浏览器里输入 http://t.cn/RlB2PdD 时会经历以下步骤:

  • 浏览器解析 DNS,获取域名对应的 IP;

  • 当获取到 IP 时,会往这个 IP 地址发送 http 的 get 请求以获取到 RlB2PdD 对应的长链接地址;

  • HTTP 通过 301 转到对应的长链接 URL;

    注意:这里为什么使用 301?

    301 是永久性转移(重定向)。也就是说,这个短地址 一经生成就不会发生变化了。

# 3.FTP

image-20240619144125612

C.data is non-per

image-20240619144853702

  • 控制连接:带外( “out of band” )传送(只能建立一个)
  • 数据连接:带内传送(可以建立多个)

# 4.Email

image-20240619150746454

D.show type

User agents<----SMTP---->email servers

image-20240619145332861

# SMTP vs HTTP

SMTP

  • SMTP:推(push)
  • SMTP 使用持久连接
  • SMTP 要求报文(首部和主体)为 7 位 ASCII 编码
  • SMTP 服务器使用 CRLF.CRLF 决定报文的尾部
  • SMTP:多个对象包含在一个报文中

HTTP

  • HTTP:拉(pull)
  • 二者都是 ASCII 形式的命令 / 响应交互、状态码
  • HTTP:每个对象封装在各自的响应报文中

# MIME

问题:如果传输的内容包含中文字符,都不在 ASCII 范围之内。就要对其进行编码(扩展):

  • MIME:多媒体邮件扩展(multimedia mail extension),RFC 2045, 2056

  • 在报文首部用额外的行申明 MIME 内容类型

  • 内部的编码采用 base64 编码格式

    使用 bsae64,将不在 ASCII 范围之内的内容进行长扩展,使得其在 ASCII 范围之内。(大小写英文字母,加号,等号)

img

# 5.DNS

image-20240619152518491

B.no local

# 主要思路

  • 分层的、基于域的命名机制
  • 若干分布式的数据库完成名字到 IP 地址的转换
  • 运行在 UDP 之上端口号为 53 的应用服务
  • 核心的 Internet 功能,但在端系统(边缘)中的应用层实现

# 主要目标

  • 实现主机名 - IP 地址的转换 (name/IP translate)

  • 其他目的:

    • 主机别名 - 规范名字的转换:Host aliasing

      规范名字便于管理,主机别名便于访问

    • 邮件服务器别名 - 邮件服务器的正规名字的转换:Mail server aliasing

    • 负载均衡:Load Distribution

# 查询方式

# 递归(recursive)

image-20240619153737558

# 迭代(iterative)

image-20240619154656196

Now use iter, due to its name stored in each DNS server

# 攻击 DNS

# DDoS 攻击
  • 对根服务器进行流量轰炸攻击:发送大量 ping
    • 没有成功
      • 原因1:根目录服务器配置了流量过滤器,防火墙
      • 原因2:Local DNS 服务器缓存了 TLD 服务器的 IP 地址,因此无需查询根服务器
  • 向 TLD 服务器流量轰炸攻击 :发送大量查询
    • 可能更危险
    • 效果一般,大部分 DNS 缓存了 TLD
# 重定向攻击
  • 中间人攻击
    • 截获查询,伪造回答,从而攻击某个(DNS 回答指定的 IP)站点
  • DNS 中毒
    • 发送伪造的应答给 DNS 服务器,希望它能够缓存这个虚假的结果
  • 技术上较困难:分布式截获和伪造利用 DNS 基础设施进行 DDoS
  • 伪造某个 IP 进行查询,攻击这个目标 IP
  • 查询放大,响应报文比查询报文大
  • 效果有限

总体来讲:DNS 是比较健壮的。

# 新增域

  • 在上级域的名字服务器中增加两条记录,指向这个新增的子域的域名域名服务器的地址

  • 在新增子域的名字服务器上运行名字服务器,负责本域的名字解析: 名字→IP 地址

    如:在 com 域中建立一个 “Network Utopia”

  • 比如:到注册登记机构注册域名 networkutopia.com

    • 需要向该机构提供权威 DNS 服务器(基本的、和辅助的)的名字和 IP 地址

    • 登记机构在 com TLD 服务器中插入两条 RR 记录:

      (networkutopia.com, dns1.networkutopia.com, NS)

      (dns1.networkutopia.com, 212.212.212.1, A)

  • 在 networkutopia.com 的权威服务器中确保有:

    • 用于 Web 服务器的 www.networkuptopia.com 的类型为 A 的记录
    • 用于邮件服务器 mail.networkutopia.com 的类型为 MX 的记录
# eg

image-20240619155620699

A) 网站:一个 NS, 一个 A

(mscu.com, dns1.mscu.com, NS)

(dns1.mscu.com, 128.119.12.40, A)

B) 邮箱要一个 MX,有多少个 域名 - ip 就有多少个 A 记录,其他看需要(别名)

MX:所在域的邮箱服务器

A:域名 - ip

CNAME: 别名 (可以看文中的表述,also has a name)

mscu.com,128.119.12.55,A)

mscu.com,128.119.12.56,A)

www.mscu.commscu.com,CNAME)

mail.mscu.com,128.119.12.60,A)

mscu.commail.mscu.com,MX)

# 6.P2P 应用

文件分发模式时间计算
C/S 模式image-20240619160704397
P2P 模式image-20240619160727313

P2P 文件共享需要解决以下问题:

  • 如何定位所需资源
  • 如何处理对等方的加入与离开
# exchange

P2P:查询洪泛(Gnutella)

P2P:利用不匀称性(KaZaA)

比特洪流(BitTorrent)[简答]

# 7. 简答题汇总

# FTP 带内带外

image-20240619155304044

对于控制数据而言,

  • 带内控制消息(in-band control messages):指的是控制消息与数据消息一起在相同的通信通道上发送。也就是说,控制消息是数据流的一部分,它们使用相同的传输介质和协议来发送。
  • 带外控制消息(out-of-band control messages):指的是控制消息通过与数据消息不同的通道或机制发送。这些控制消息通常用于紧急或重要的控制信息,它们不与数据流混合,而是通过一个特殊的、独立的通道来发送。

二者可参考,TCP 就是将 ACK,SYN,FIN 这些控制内容和数据一起,FTP 分别有两个传输通道,通过端口 21 发起控制连接,传输控制指令。

# 减少 HTTP 服务器

image-20240619161309930

  1. HTTP 重定向,当客户端请求某个资源时,,服务器会返回一个状态码(通常是 301 或 302),告诉客户端去另一个 URL 地址获取请求的资源。HTTP 重定向是一个标准,但如果它不是,将需要升级客户端服务器。
  2. DNS 服务器根据客户端的来源提供不同的响应;DNS 不需要任何升级。

# SMTP 安全问题

image-20240619161754043

image-20240619161835524

# 8. 计算题

image-20240619161121947

# 第三章 - 传输层

image-20240619194047388

image-20240619194206772

image-20240619195221397

D.No

C.

B.MSS just the data

传输层为运行在不同主机上的应用进程提供逻辑通信服务(以报文为单位)。

提供进程 - 进程之间的通信

传输协议运行在端系统中:

  • 发送方:将应用层的报文分成报文段(添加段头,形成本层数据单元),然后传递给网络层。
  • 接收方:将报文段重组成报文(去掉段的头部信息,取出段的内容),然后以字节流的形式传递给应用层

传输层向上层提供多种协议:

  • Internet: TCP 和 UDP

重点:

1. 不管是 TCP 四元组还是 UDP 二元组,必须元组内信息全部一致,才会对应同一个 Socket,发送给同一个进程。

UDP 如果不同源端口,但目标二元组相同也可以发给同一个目标进程。

image-20240619194343895

B.2-tuples : ip + port , So UDP could be same

# 1.TCP

image-20240619195018827

duplex 全双工

A.Not broadcast

# 复用 / 解

img

# rdt

核心的 4 个问题:确认、重传、序号、错误校验

  • 停止等待协议:send_window = 1, receive_window = 1
  • 回退 N 协议:send_window > 1,receive_window = 1
  • 选择重传协议:send_window > 1,receive_window > 1

send_window = 1 时:发送窗口,一个一个发,非流水线

send_window > 1 时:发送窗口有前沿和后沿,发送窗口的最大值 ≤ 发送缓冲区的值

​ 前沿,发一个往前移动一个,后沿,收到一个 ack 往前移动一个。【累计确认】

receive_window = 1 时:接收窗口只能顺序接收。

image-20240619200543590

receive_window > 1 时:则可以乱序接收(但提交给上层的分组,要按序提交)

image-20240619200930401

正常情况下两个窗口的互动:

  • 发送窗口:

    • 有新的分组落入发送缓冲区范围,发送 → 前沿滑动
    • 来了老的低序号分组的确认 → 后沿向前滑动 → 新的分组可以落入发送缓冲区的范围
  • 接收窗口:

    • 收到分组,落入到接收窗口范围内,接收
    • 发送确认给发送方
      • 如果低序号分组确认收到,向前滑动接收窗口
      • 否则不滑动

    img

    GBN 协议和 SR 协议的异同:

    • 相同点:
      • 发送窗口 > 1
      • 一次能够可发送多个未经确认的分组
    • 不同点:
      • GBN : 接收窗口尺寸 = 1
        • 接收端:只能顺序接收
        • 发送端:从表现来看,一旦一个分组没有发成功,如:0、1、2、3、4; 假如 1 未成功,2、3、4 都发送出去 了,要返回 1 再发送 1、2、3、4。
        • 累计确认:cumulative ack
        • 发送端拥有对最老的未确认分组的定时器:
          • 只需设置一个定时器
          • 当定时器到时时,重传所有未确认分组
        • 发送窗口的最大值(序号大小为 n):2^n-1
      • SR: 接收窗口尺寸 > 1
        • 接收端:可以乱序接收
        • 发送端:发送 0、1、2、3、4,一旦 1 未成功,2、3、4, 已发送,无需重发,只选择性发送 1。
        • 非累计确认 / 独立确认:individual ack
        • 发送方为每个未确认的分组保持一个定时器:
          • 当超时定时器到时,只是重发到时的未确认分组
        • 发送窗口的最大值(序号大小为 n):2^n-1

image-20240619201957929

image-20240619202222111

A.So Now the base means 后端,next 即前端,故前端到 buffer 结束可以立即发出

A. 三次冗余

# 报文

image-20240619201722942

seq:32bits

ack:32bits

ACK: 合法有效

# 全过程

image-20240619202729940

建立连接:

image-20240620125007883

中间:

ack = seq + 1

seq = ack

image-20240619202641258

D.do not need

# 计算

# RTT & Time out

SampleRTT:测量从报文段发出到收到确认的时间。

EstimatedRTT = (1- α) × EstimatedRTT + α × SampleRTT (a=0.125)

DevRTT = (1-β) × DevRTT + β × |SampleRTT-EstimatedRTT| (β=0.25)

TimeoutInterval = EstimatedRTT + 4 × DevRTT

# SR(3 ACK)

由三个冗余 ACK 触发

# Flow Control

流量控制:接收方控制发送方,不让发送方发送的太多、太快以至于让接收方的缓冲区溢出。

接收方在其向发送方的 TCP 段头部的 rwnd 字段 “通告” 其 空闲buffer 大小 Win = Buffer - (Rcv - Read)

image-20240619202506833

B.20 - (20-15)

# Congestion avoidance

拥塞控制:发送端,尽量保持在网络边缘,路由不管这个,采取简单的 TCP/IP 架构原则(复杂性放在传输层及以上)

事件状态TCP 发送端行为解释
以前没有收到 ACK 的 data 被 ACKed慢启动 (SS)CongWin = CongWin + MSS If (CongWin> Threshold) <br /> 状态变成 “CA”每一个 RTT CongWin 加倍
以前没有收到 ACK 的 data 被 ACKed拥塞避免 (CA)CongWin = CongWin+MSS × (MSS/CongWin)加性增加,每一个 RTT 对 CongWin 加一个 1 MSS
通过收到 3 个重复的 ACK,发现丢失的事件SS or CAThreshold = CongWin/2, CongWin = Threshold+3<br /> 状态变成 “CA”,快速重传 SR, 实现乘性的减,CongWin 没有变成 1 MSS.
超时SS or CAThreshold = CongWin/2, CongWin = 1 MSS,<br /> 状态变成 “SS”进入 slow start
重复的 ACKSS or CA对被 ACKed 的 segment, 增加重复 ACK 的计数CongWin and Threshold 不变
发生除法,若没有特别说明向上取整,比如 17 / 2 = 9

image-20240620123644902

B.Timeout ; be 1

# 2.UDP

image-20240619194857104

image-20240619194936192

A.Like this

B.include header

# 复用 / 解

img

# 报文

image-20240619203939047

头部为 8Byte,包括:源端口号、目标端口号、长度(包括头部在内的整个报文段的长度)、校验和 (checksum)。(均为 2Byte)

image-20240619204911280

B.destination ip

# 3. 简答题

# TCP 适应高速网络

image-20240619210004860

# 4. 计算题

# 链路利用率

img

image-20240619204254866

B.4

image-20240623102438020

RTT = 250(传过去)+ L0 / R(确认帧 / 单帧) + 250 = 0.5625s 一个发送周期

分子:x (1000 * 8)/(128 * 1000) = L/R = x/16 持续发送时间

(x/16)/0.5625 = 0.8 ===> x = 7.2 = 8 故 比特位有 4 位 (1111) = 31 (2^n - 1 > 7.2 ,n = 3 不行)

# ack 计算

注意 ACK 大写为标志位,表示合法

image-20240619204657277

1st:

re:ack = 500;

se:seq = 500; (len = 500)

2nd: ack = 1000;

ack = seq + length

# Seq 计算

image-20240619204736091

B.Seq = ack = 2046 ack = seq + length = 1913 + 100 = 2013

image-20240620124232732

先收到后面的段,没收到期待的,确认段返回的 ack 仍然是期待收到 seq 起始

# TCP 文件传输

image-20240619210134713

# 拥塞控制识图

image-20240619210308099

5109403279ae936eeeafc6b389bb3b51.jpg

# 第四章 - 网络层

image-20240620170441694

image-20240620172109681

image-20240620172142148

image-20240620172348988

image-20240620172431830

D.RIP:UDP ; OSPF:IP; BGP: TCP.

B.Best effert

B.R 一般不包括 传输层

B. 虚电路不分配,建立 VC,才开始传

A.BGP use 路径向量


引用下学长的句子介绍这一层,非常重要的一层。[Best effert]

Protocol Stack :

image-20240620132032516

网络层所提供的服务:

  • 在发送主机和接收主机对之间传送段(segment)
    • 在发送端将段封装到数据报 (datagram) 中
    • 在接收端,将段上交给传输层实体 (Application layers)
  • 网络层协议存在于每一个主机和路由器
    • 路由器检查每一个经过它的 IP 数据报的头部

网络层的关键功能:转发路由

  • ** 转发:** 将分组从路由器的输入接口转发到合适的输出接口

    这是一个局部的功能

    是数据平面的功能

    路由器从不同的端口接收分组,再通过合适的端口将其分发出去。

  • ** 路由:** 使用路由算法来决定分组从发送主机到目标接收主机的路径

    这是一个全局的功能

    是控制平面的功能

    • 路由选择算法
    • 路由选择协议

举个例子说明转发与路由:

计算机网络一口气学了好长时间,打算去郊区的公园散散心:

  • 转发就好像是在行程中通过每个路口时的决策,从哪里进入路口,又从哪里出去
  • 路由就像是在出发前用手机导航规划全局路径的过程

# 1.Router

image-20240620131033410

A

Head of Line block

image-20240620130820870

输入端口、交换结构、输出端口、(调度机制)

# 2.IP

# 报文

# IPV4

image-20240620132134939

# 分片 / 重组使用

image-20240620142234510

D.180

(如果 IP 数据报超过链路层的最大传输单元 MTU,就会分片)

  • 16-bit identifier(16bit):判断分片是否是同一个 IP 数据报
  • flags(4bit):1 → 后面还有分片;0 → 后面无分片(此分片是最后一个)
  • fragment offset(12bit):偏移量

image-20240620132608292

每一片都到最后的目标主机才进行重组,中间转发节点不重组。

# TTL

每经过一个路由减 1,8bits

# Internet checksum

(头部校验和,16bit):数据部分不进行校验,只判断头部是否异常,IPV4 中每次 TTL 减少都要重新计算。

# IPV6

image-20240620142649532

40 字节头部,取消了分片

hop limit 即 TLL

next header 即 upper layer

  • Checksum: 被移除掉,降低在每一段中的处理速度
  • Options: 允许,但是在头部之外,被 “Next Header” 字段标示
  • ICMPv6: 新增 ICMP 的新版本
    • 附加了报文类型,例如:“Packet Too Big”
    • 增加多播组管理功能

# 分类

# classful 有类

image-20240620132648501

image-20240620144432218

A

# 单播地址

A:0+7 位网络(0x8)【网络位:8 位】

B:10+14 位网络(巧记,x10 长)【网络位:16 位】

C:110+21 位网络(0x16 长)【网络位:24 位】

# 组播地址

D:1110 + Multicast addr

# 预留地址

E:11110 + Reserved for future use

1. 通常获取的都是 C 类地址(192 开始到 223 结束)

2. 主机位:全 0 和全 1,不可用,全 0,本机,全 1,特定子网下的广播地址,计算要 - 2

3. 网络位:全为 0,本网络,全为 1,不准使用,计算要 - 2

4.127.X.X.X:回路地址(测试地址):即 TCP/UDP 数据报传到 IP 层面后返回

D.D 开始没有子网了,E 现在作为预留

广播地址 - broadcast有限广播地址 - limit broadcast
定义主机号全为 1 即为广播地址(如 192.168.1.255)网络号与主机号全为 1(即 255.255.255.255)
作用可以将数据发送给该子网内的所有主机只能本网广播

image-20240620144328445

C

# 内网 (专用) IP 地址
  • 专用地址:地址空间的一部份供专用地址使用
  • 永远不会被当做公用地址来分配,不会与公用地址重复
    • 只在局部网络中有意义,区分不同的设备
  • 路由器不对目标地址是专用地址的分组进行转发
  • 专用地址范围:
    • Class A: 10.0.0.0 ~ 10.255.255.255 MASK 255.0.0.0
    • Class B: 172.16.0.0 ~ 172.31.255.255 MASK 255.255.0.0
    • Class C: 192.168.0.0 ~ 192.168.255.255 MASK 255.255.255.0
# CIDR(With Mask)

伴随而生的子网掩码出现了:

  • 如果位为 1:表示该位为网络位(子网部分)
  • 如果位为 0:表示该位为主机位
  • 子网部分可以在任意的位置
  • 地址格式: a.b.c.d/x , 其中 x 是地址中子网号的长度(另一种表示方式)

image-20240620140502966

image-20240620143433047

B,due to A not exist

注意:A 选项是错误表述,题目说的是 network, 但对于 21 的掩码,掩码后的子网不是 A 前面那一坨,因此 A 不是一个 network,而是 192.168.8.0/21 才行

image-20240620144834502

考察什么是一个 network

# DHCP

  • 基于 UDP 的服务
  • 允许主机在加入网络的时候,动态地从服务器那里获得 IP 地址:
    • 可以更新对主机在用 IP 地址的租用期(租期快到了)
    • 重新启动时,允许重新使用以前用过的 IP 地址
    • 支持移动用户加入到该网络(短期在网)
  • DHCP 工作概况:
    • 主机广播 “DHCP discover” 报文 [可选]
    • DHCP 服务器用 “DHCP offer” 提供报文响应 [可选]
    • 主机请求 IP 地址:发送 “DHCP request” 报文
    • DHCP 服务器发送地址:“DHCP ack” 报文

img

# NAT

img

用一个路由器充当网关,区分内网和外网。

# 存在问题
  • 路由器只应该对第 3 层做信息处理(物理层、链路层、网络层),而这里对端口号(4 层,传输层)作了处理,显然不符合分层规范。

  • 违反了 end-to-end 原则:

    • 端到端原则:复杂性放到网络边缘

      无需借助中转和变换,就可以直接传送到目标主机,显然这里路由器也承担了很多工作

    • NAT 可能要被一些应用设计者考虑,例如:P2P applications

    • 外网的机器无法主动连接到内网的机器上(NAT 穿越)

IP 地址不够用,根本原因,用 IPV6 解决

# NAT 内网穿透

很明显,内网的设备主动联系外网设备是容易做到的(路由器会在分组发出的时候记录下映射关系),但是如果外网设备主动连接内网中的设备是不可以的,并不知道具体的端口号。

1. 把映射写进路由器

2. 用 IGD 或者 UPnP 协议

3. 中继(内网中的一个服务器主动连接外面的,就比如 B 连了 C,A 可通过 B 连接 C)

# ICMP

image-20240620142359230

差错报告,主要依靠 Traceroute 的 TLL

image-20240620170709457

Source Quench 源抑制,用来通知:R 因拥塞丢弃 IP 数据报

路由重定向(Redirect),用于告知主机应该将数据报发送到另一个路由器。

目的不可达(Destination Unreachable),当目的地无法到达时发送,但它并不特指拥塞问题。

超时(Time Exceeded),当 IP 数据报的生存时间(TTL)减到 0 时发送,表示数据报在网络中生存时间过长,已被丢弃。

# 3. 路由选择算法

路由:按照某种指标 (传输延迟,所经过的站点数目等) 找到一条从源节点到目标节点的较好路径。

img

  • 全局:
    • 所有的路由器拥有完整的拓扑和边的代价的信息
    • link state 算法
  • 分布式:
    • 路由器只知道与它有物理连接关系的邻居路由器,和到相应邻居路由器的代价值
    • 叠代地与邻居交换路由信息、 计算路由信息
    • distance vector 算法

# LS

# 案例

image-20240620161005452

# 应用情况

链路状态的应用情况:

  • OSPF 协议是一种 LS 协议,被用于 Internet 上
  • IS-IS (intermediate system - intermediate system):被用于 Internet 主干中,Netware
# 讨论
  • 算法复杂度: n 节点

    • 每一次迭代:需要检查所有不在永久集合 N 中节点
    • n (n+1)/2 次比较: O (n2)
    • 有很有效的实现: O (nlogn)
  • 可能的震荡:

    举例:如果链路代价 = 链路承载的流量(拥塞程度)

    计算新路由复杂。

# DV

# Bellman-Ford
  • 设:dx (y) = 从 x 到 y 的最小路径代价(x 为源节点,y 为目标节点)

  • 则 dx (y) = min

    • min:取所有 x 的邻居取最小的 v
    • c (x,v):x 到邻居 v 的代价
    • dv (y):从邻居 v 到目标 y 的代价
  • 每个节点只是在自己的 DV 改变之后向邻居通告

  • 然后邻居们在有必要的时候通知他们的邻居

# 特点

1. 好消息传的快

2. 坏消息传的慢:

比如节点撤销这种,会存在无穷计算,可以利用水平分裂 (split horizon) 算法,毒性逆转。(传假消息 “左向虚假,右向真实”)

image-20240620170410707

# 对比

健壮性:如果路由器故障会发生什么

  • LS:

    • 节点会通告不正确的链路代价
    • 每个节点只计算自己的路由表
    • 错误信息影响较小,局部,路由较健壮
  • DV:

    • DV 节点可能通告对全网所有节点的不正确路径代价

    • 每一个节点的路由表可能被其它节点使用

      假如一个节点出现错误,通告全网到此路由的代价为 0,那么全网的所有分组就都会涌向此节点

    • 错误可以扩散到全网

# 4.intra-AS

# RIP

[UDP 520]

  • 基于距离矢量算法:

    • 距离矢量:每条链路 cost = 1,

      代价就是跳数 (max = 15 hops,16 代表目标不可达)

    • 约定 V 每隔 30 秒和邻居交换距离矢量(DV),通告

      • 情况一:定期 30 秒,而且在改变路由的时候发送通告报文
      • 情况二:在对方的请求下也可以发送通告报文
    • 每个通告包括:最多 25 个目标子网

      • 内容:目标网络 + 跳数(最大跳数为 16,表示不可达)

# OSPF

又叫 IGP,内部网关协议

  • 使用链路状态算法:

    • LS 分组在网络中(一个 AS 内部)分发
    • 全局网络拓扑、代价在每一个节点中都保持
    • 路由计算采用 Dijkstra 算法
  • OSPF 通告信息中携带:每一个邻居路由器一个表项

    “我是谁”,传输的链路状态分组是第几个版本,TTL

    “我有哪些邻居,我到邻居的代价是多少”

  • 通告信息会传遍 AS 全部(通过泛洪)

    • 在 IP 数据报上直接传送 OSPF 报文 (而不是通过 UDP 和 TCP)
  • IS-IS 路由协议:几乎和 OSPF 一样

image-20240620164000405

image-20240620165307421

# 对比

img

# 5.ISP 的选择

# 层次路由

将互联网中的路由问题分为两个层面(按照物理分布范围):

  • 自治区域内 intra-AS

  • 自治区域间 inter-AS

  • 路由变成了两个层次的路由:

    • AS 内部路由:在同一个 AS 内路由器运行相同的路由协议
      • intra-AS routing protocol:内部网关协议
      • 不同的 AS 可能运行着不同的内部网关协议(如:LS,DV)
      • 能够解决规模和管理问题
      • 如:RIP,OSPF,IGRP
      • 网关路由器:AS 边缘路由器,可以连接到其他 AS
    • AS 间运行 AS 间路由协议
      • inter-AS routing protocol:外部网关协议
      • 解决 AS 之间的路由问题,完成 AS 之间的互联互通
  • 层次路由的优点:

    • 解决了规模问题:

      • 内部网关协议解决:AS 内部数量有限的路由器相互到达的问题,AS 内部规模可控

        如果 AS 节点太多,可继续分割 AS,使得 AS 内部的节点数量有限

      • AS 之间的路由的规模问题:

        • 增加一个 AS,对于 AS 之间的路由从总体上来说,只是增加了一个节点 = 子网(每个 AS 可以用一个点来表示)
        • 对于其他 AS 来说只是增加了一 个表项,就是这个新增的 AS 如何走的问题
        • 扩展性强:规模增大,性能不会减得太多
    • 解决了管理问题:

      • 各个 AS 可以运行不同的内部网关协议
      • 可以使自己网络的细节不向外透露,增加安全性

# BGP

  • BGP (Border Gateway Protocol): 自治区域间路由协议 “事实上的” 标准,TCP

    将互联网各个 AS 粘在一起的胶水

    BGP(边界网关协议)是一种域间路由协议,它使用路径向量算法来确定数据包的最佳路径。

    路径选择:

    • 最短 AS-PATH:AS 的跳数
    • 最近的 NEXT-HOP 路由器:热土豆路由(给最近的)

BGP 提供给每个 AS 以以下方法:

  • eBGP: 从相邻的 ASes 那里获得子网可达信息(外部)
  • iBGP: 将获得的子网可达信息传遍到 AS 内部的所有路由器(内部)
  • 根据子网可达信息和策略来决定到达子网的 “最优” 路径

img

# 6. 简答题

# IPV6 的改进

IPv6 不允许像 IPv4 那样由路由器进行数据报文的分片处理。分片是由路由器完成的,并且这个过程很耗时。消除分片可以加快网络内部的 IP 转发速度。

IPv6 的数据报文也没有像 IPv4 那样的头部校验和。由于 TTL 字段的变化,需要在每个跳数上重新计算校验和。移除校验和减少了路由器需要完成的工作量,加快了处理速度。

# NAT 缺陷 / 内穿

image-20240620175506080

0faa4e643e28a10a5efb57c28971369a.jpg

# DV 通知问题

  • 每个节点只是在自己的 DV 改变之后向邻居通告 自己变了要通报。
  • 然后邻居们在有必要的时候通知他们的邻居 这次发生变化影响了此前的数据要通知。

image-20240620180939657

321fc3a0bb9877a775444f4d1699a615.jpg

# 7. 计算题

# 瓶颈链路

image-20240620173350137

# 分片偏移

image-20240620175208070

image-20240620175219274

# LS 算法

image-20240620180721738

20d7103f9c2d8571aee62d5ccaefc3c1.jpg

# (LS 应用)OSPF

最后一题,认真读图,看图即可。

# 第五章 - 链路层

image-20240620220259178

B

image-20240620220557405

image-20240620220618855

D

image-20240620220727728

曼斯特:高到低为 1,低到高为 0

NRZ:高 1 低 0


还是学长的话吧。

网络层解决了分组如何从一个网络到达另一个网络的路由问题(以子网为单位),但是分组如何在子网内部的相邻节点之间传输,链路层解决了这个问题

# 1. 概述

1. 点对点传输的三个问题:封装、差错、rdt

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2. 使用广播信道的数据链路层

在这里插入图片描述

  • 1️⃣共享式以太网的 媒体接入控制协议 CSMA/CD
    在这里插入图片描述
  • 2️⃣802.11局域网的 媒体接入控制协议 CSMA/CA
    在这里插入图片描述

# 2. 细节

# 封装成帧

前导码 Preamble,交替的 10,最后一次以 11 结尾,用来指示 Preamble 的结束和帧的开始

image-20240620215005949

C

img

1. 封装成帧 :指数据链路层给上层交付的协议数据单元添加帧头和帧尾使之成为帧。

帧头和帧尾的作用之一就是 帧定界限

# 透明传输

2. 透明传输 :指数据链路层对上层交付的传输数据没有任何限制,就好像数据链路层不存在一样。

img

  • 1️⃣面向字节的物理链路使用字节填充实现

+ESC 这种转义标签

  • 2️⃣面向比特的物理链路使用比特填充实现

连续出现 5 个 1,填充 0

img

为了提高帧的传输效率,应当使帧的数据部分的长度尽可能大些。

考虑到差错控制等多种因素,每一种数据链路层协议都规定了帧的数据部分的长度上限,即 最大传送单元MTU (Maximum Transfer Unit)。

# 差错检测

奇偶校验

Even Parity 偶校验

Odd Parity 奇校验

image-20240620220028273

C

  • 在待发送的数据后面添加 1 位奇偶校验位,使整个数据 (包括所添加的校验位在内) 中 "1”的个数为奇数(奇校验)或偶数(偶校验)
  • 如果有 奇数个位 发生误码,则奇偶性发生变化,可以检查出误码;
  • 如果有 偶数个位 发生误码,则奇偶性不发生变化,不能检查出误码 (漏检) ;

CRC

循环冗余校验 CRC很好的检错能力 (漏检率非常低), 虽然计算比较复杂,但非常易于用硬件实现,因此被 广泛应用于数据链路层

img

一定要记住加(r-1)个 0

# rdt

同 TCP

# 3.PPP

image-20240620215745171

image-20240620222907768

D 不算网络层的,可以提供服务,就另外三个

B,支持 IPX。。。

点对点协议PPP(Point-to-Point Protocol) 是目前使用最广泛的点对点数据链路层协议。

img

img

# 4. 媒体接入 Medium Access Control

image-20240620213825319

image-20240620214219327

image-20240620220121310

image-20240620221003837

B. 媒体接入

A. 时隙分片

D. 共享带宽的 data-link 协议

D. 检测避免

# 静态划分信道

# 复用

先讲一下复用。当网络中传输媒体的传输容量大于多条单一信道传输的总通信量时,可利用复用技术在一条物理线路上建立多条通信信道来充分利用传输媒体的带宽

1️⃣信道复用

img

2️⃣频分复用 FM:占用不同的频带资源并行通信

3️⃣时分复用 TDM:User 在不同时间占用同样的频带宽度 (按照时隙 slot 去分)

4️⃣波分复用 WDM:利用多路光载波

# 5️⃣码分复用 CDM

码分复用 CDM 是另一种共享信道的方法。实际上,由于该技术主要用于多址接入,人们更常用的名词是码分多址 CDMA (Code Division Multiple Access)

img

image-20240620221123290

首先码片之间要满足内积为 0,OK。

对于消息,每一个站的码片去和消息做一个内积运算,若为 1,则该站发送 1,若为 - 1,该站发送的是 0,若为 0,则未发送

对于 A:

(2 + 0 + 2 + 0)/ 4 = 1 收到 1

(-2 + 0 -2 + 0)/ 4 = -1 收到 0

(0 + 2 + 0 + 2)/ 4 = 1 收到 1

故为 101

# 动态划分信道

1️⃣媒体接入控制的大致 "路线" 图

img

# 2️⃣CSMA/CD 协议

img

载波监听多址接入 / 碰检测 CSMA/CD (Carrier Sense Multiple Access/Collision Detection)

img

# 3️⃣争用期(碰撞窗口)

img

# 4️⃣最小帧长

以太网规定最小帧长为 64 字节,即 512 比特 (512 比特时间即为争用期) ; 如果要发送的数据非常少,那么必须加入一些填充字节,使帧长不小于 64 字节。
以太网的最小帧长确保了主机可在帧发送完成之前就检测到该帧的发送过程中是否遭遇了碰撞;
如果在争用期 (共发送 64 字节) 没有检测到碰撞,那么这次发送的数据就一定不会发生碰撞;
如果在争用期内检测到碰撞,就立即中止发送,这时已经发送出去的数据一定小于 64 字节,因此凡长度小于 64 字节的帧都是由于碰撞而异常中止的无效帧。
最小帧长 = 争用期 × 数据传输速率

争用期 = 2 * 端到端距离 / 电磁波信号速率 = 2τ

争用期的比特时间:争用期(秒) * 以太网传输速率(bps 比特 /s) 【就是最小帧长】

image-20240620221030124

5️⃣最大帧长

img

6️⃣截断二进制指数退避算法

image-20240620215556498

image-20240620215708362

若连续多次发生碰撞,就表明可能有较多的主机参与竞争信道。但使用上述退避算法可使重传需要推迟的平均时间随重传次数而增大 (这也称为动态退避),因而减小发生碰撞的概率,有利于整个系统的稳定。

当重传达 16 次仍不能成功时,表明同时打算发送帧的主机太多,以至于连续发生碰撞,则丢弃该帧,并向高层报告。

7 信道利用率

img

# 8️⃣CSMA/CA 协议

载波监听多址接入 / 碰撞避免 CSMA/CA (Carrier Sense Multiple Access/Collision Avoidance)

(说白了,等一段时间再发送,避免碰撞)

img

帧间间隔 IFS
802.11 标准规定,所有的站点必须在持续检测到信道空闲一段指定时间后才能发送帧,这段时间称为帧间间隔 IFS

CSMA/CA 协议的工作原理

img

CSMA/CA 协议的退避算法

image-20240620211419860

CSMA/CA 协议的信道预约和虚拟载波监听
为了尽可能减少碰撞的概率和降低碰撞的影响,802.11 标准允许要发送数据的站点对信道进行预约。

(1) 源站在发送数据帧之前先发送一个短的控制帧,称为请求发送 RTS (Request To Send), 它包括源地址、目的地址以及这次通信 (包括相应的确认顿) 所需的持续时间。
(2) 若目的站正确收到源站发来的 RTS 帧,且媒体空闲,就发送一个响应控制帧,称为允许发送 CTS (Clear To Send), 它也包括这次通信所需的持续时间 (从 RTS 帧中将此持续时间复制到 CTS 帧中)。
(3) 源站收到 CTS 帧后,再等待一段时间 SIFS 后,就可发送其数据帧。
(4) 若目的站正确收到了源站发来的数据帧,在等待时间 SIFS 后,就向源站发送确认帧 ACK。

除 RTS 帧和 CTS 帧会携带通信需要持续的时间,数据帧也能携带通信需要持续的时间,这称为 802.11 的虚拟载波监听机制
由于利用虚拟载波监听机制,站点只要监听到 RTS 帧、CTS 帧或数据帧中的任何一个,就能知道信道被占用的持续时间,而不需要真正监听到信道上的信号,因此虚拟载波监听机制能减少隐蔽站带来的碰撞问题。

# 补充 ALOHA
  1. 原始 ALOHA(pure ALOHA):在这种协议中,当一个节点有数据要发送时,它会立即发送数据。如果发生冲突(即两个或多个节点同时发送数据),节点会随机等待一段时间后重试。这种方式简单但效率不高,因为数据包可能会频繁冲突。
  2. 扩展 ALOHA(分时 slot ALOHA):为了提高效率,扩展 ALOHA 引入了时间分片的概念。在这种协议中,时间被分为固定长度的时隙,每个节点只能在其分配的时隙内发送数据。这减少了数据包冲突的可能性,提高了网络的吞吐量。

# 5.MAC

image-20240620214336846

D. 没有层次结构

  • 严格来说,MAC 地址是对网络上各接口的唯一标识,而不是对网络上各设备的唯一标识。
  • 不变,唯一

img

# 广播地址

FF-FF-FF-FF-FF-FF,所有端都要接收这个帧

# 多播地址

07-E0-.... 首位 16 进制不能整除 2,就是多播地址

多播地址在接收的时候,每个端有个多播组列表,如果在,那就接收这个地址。

# ARP

源主机在自己的 ARP 高速缓存表中查找目的主机的 IP 地址所对应的 MAC 地址,若找到了,则可以封装 MAC 帧进行发送; 若找不到,则发送 ARP 请求 (封装在广播 MAC 帧中);

目的主机收到 ARP 请求后,将源主机的 IP 地址与 MAC 地址记录到自己的 ARP 高速缓存表中,然后给源主机发送 ARP 响应 (封装在单播 MAC 帧中),ARP 响应中包含有目的主机的 IP 地址和 MAC 地址;

找不到:

img

ARP 的作用范围逐段链路或逐个网络使用

img

# 6.HUB & Switch

记住区别就行

img

其他:

  • 中继器(Repeater)和集线器(Hub)是物理层设备,它们会转发所有接收到的信号,包括广播和多播帧,因此它们不能抑制网络风暴,反而可能加剧广播风暴。
  • 网桥(Bridge)是数据链路层设备,可以过滤和转发帧,只将必要的帧从一个端口转发到另一个端口,从而有助于抑制网络风暴。
  • 路由器(Router)是网络层设备,可以分割冲突域和广播域,并且只根据路由表转发必要的数据包,因此也可以抑制网络风暴。
  • image-20240620223113823
  • image-20240620223140363

# 7. 以太网交换机自学习和转发帧的流程

【交换机即插即用】

以太网交换机工作在数据链路层(也包括物理层)

收到帧后进行登记。登记的内容为帧的源 MAC 地址及进入交换机的接口号

根据帧的目的 MAC 地址和交换机的帧交换表对帧进行转发,有以下三种情况:
1️⃣明确转发:交换机知道应当从哪个 (或哪些) 接口转发该帧 (单播,多播,广播)
2️⃣盲目转发:交换机不知道应当从哪个端口转发帧,只能将其通过除进入交换机的接口外的其他所有接口转发 (也称为泛洪)
3️⃣明确丢弃:交换机知道不应该转发该帧,将其丢弃

# 8.VLAN

路由器的成本较高,因此虚拟局域网 VLAN 也就应运而生

虚拟局域网 VLAN (Virtual Local Area Network)

VLAN 是一种将局域网内的设备划分成与物理位置无关的逻辑组的技术。

# 9. 简答题

# ARP 请求 empty

本题目展示封装过程,就是

1. 原来 link, 直接封装 FF-FF

2.R 发一个广播 arp request,FF-FF...

3. 有端回应 R,arp response, 封装自己的 MAC

4.R 用 MAC 正常发送

总结双端其实没什么变化,主要是 Router 和 RAP 发挥了作用

5.png

image-20240620223853785

# RAP 本机无,R 有

image-20240621132952758

image-20240621132927661

# CSMA/CD 过程描述

image-20240620224549310

1.t=225 检测到碰撞

2.t=225+48 发送碰撞信号,安排重新传输

3.t=225+48+225 接收到 B 发来的碰撞信号,开始重传 + 96 (监听信道空闲)

4.t=225+48+225+96 + 225 重传的第一个 bit 达到 B

# 10. 计算题

# 冲突域容量

image-20240620223614114

# 最短帧长

image-20240620224229867

# ALOHA 概率计算

image-20240620224821248

image-20240620224831471

image-20240620224841595

# CSMA/CD 与退让

CSMA/CD 协议分析笔记_为什么发送很短的帧发送站不知道这个帧发生了碰撞 - CSDN 博客

1. 先算单向传播延时

这个延时只要在中间乱搞的都要算进来

2. 算冲突期 = 2 * 单向

最小帧长 = 争用期 × 数据传输速率

争用期 = 2 * 端到端距离 / 电磁波信号速率 = 2τ

争用期的比特时间:争用期(秒) * 以太网传输速率(bps 比特 /s) 【就是最小帧长】

3. 检测到碰撞时间:

画图辅助分析,最短时间是双方同时发送,一个单向传播延时

最长是 A 发的马上要到了,B 才发送,故最长为一个争用期。

4. 检测到空闲时间

就是一个传播延时之后,正常发过去了

5. 注意退避算法,一个随机数,中间一般会忽略一个什么 96bits 啥的

image-20240621135223050

image-20240621135151328

# 综合分析题

# 1.【LAN 拓扑】

# Hosts

这些是网络中的终端设备,可以是个人电脑、笔记本电脑或其他设备。它们用于访问网络资源,如服务器、互联网等。

# Web Server (DS-1)

这是一台服务器,用于存储和处理网站数据,提供网页内容给客户端浏览器。当用户通过浏览器请求网页时,Web 服务器会响应这些请求并发送网页内容。

# Web Cache (DS-2)

也称为代理服务器或内容分发网络 (CDN) 节点,它缓存来自 Web 服务器的内容,以便更快地为用户服务,减少对原始 Web 服务器的请求,提高访问速度和减轻服务器负担。

image-20240619144351646

  • 缓存器:在 HTTP 请求中指定缓存拷贝的日期

    If-modified-since:<date’>

  • 服务器:

    • 如果缓存拷贝没有改变,则响应报文不包含对象: HTTP/1.0 304 Not Modified
    • 如果缓存拷贝改变,则返回数据:HTTP/1.0 200 OK <data’>

# DHCP Server (DS-3)

动态主机配置协议 (DHCP) 服务器负责自动分配 IP 地址给网络中的设备。它还可能提供其他网络配置信息,如子网掩码、默认网关和 DNS 服务器地址。

# 请求一个 IP

img

# DCHP 附带信息

image-20240615153618631

eg.2020

(1)address of first-hop router for client (default gateway) (0.5 分), 122.98.44.1(0.5 分);默认网关

(2)name and IP address of DNS sever: DS-4(0.5 分), 122.98.44.3(0.5 分);DNS 服务器

(3)network mask (indicating network versus host portion of address) (0.5 分): (/24 or 255.255.255.0)(0.5 分)子网掩码

# DNS Server (DS-4)

域名系统 (DNS) 服务器用于将域名(如 www.example.com)转换为 IP 地址。这使得用户能够通过易于记忆的域名而不是数字 IP 地址来访问网站。

分类:根 DNS 服务器,顶级域 DNS 服务器,权威 DNS 服务器。

分布式的原因:便于维护,避免流量爆炸,降低延迟,避免单点故障。

现在用的查询:迭代查询,根 DNS 服务器返回它认为可以解决域名查询的服务器,减少了延迟。

# Routers (R1)

路由器是网络中的关键设备,它们连接不同的网络段,并根据数据包的目的地址来决定其路由。路由器可以在局域网 (LAN)、广域网 (WAN) 或互联网之间转发数据。

# 基本功能:路由和转发
# 其他功能
  1. NAT(网络地址转换):如果子网 B 的 IP 地址是私有地址,R3 需要提供 NAT 服务,以允许这些设备通过一个或多个公共 IP 地址访问互联网。

NAT(网络地址转换),它通过允许多个设备共享单个公网 IP 地址来减少对公网 IPv4 地址的需求。虽然 NAT 可以暂时缓解 IPv4 地址耗尽的问题,但它并没有解决 IPv4 地址总量有限的根本问题。为了从根本上解决 IPv4 地址耗尽的问题,我们应该采取以下措施:过渡到 IPv6:IPv6 是互联网协议的一个更新版本,提供了比 IPv4 更多的地址空间。通过逐步过渡到 IPv6,可以确保每个设备都能拥有唯一的 IP 地址,从而解决地址耗尽问题。

  1. 防火墙:为了保护内部网络不受外部攻击,R3 可以提供防火墙服务,监控和过滤进出网络的流量。
  2. DHCP(动态主机配置协议):R3 可以提供 DHCP 服务,自动分配 IP 地址给子网 B 中的主机,确保它们能够连接到网络。
  3. VPN(虚拟私人网络):如果需要远程访问或安全连接到其他网络,R3 可以提供 VPN 服务。
# 修改头部信息

当 IP 数据报通过路由器 R3 时,以下是可能会被修改的头部字段:

  1. TTL(Time to Live): 普通路由器通常会减少 TTL 值,每经过一个路由器,TTL 值减 1,这是为了确保数据报不会在网络中无限循环。
  2. IP 头部校验和(IP Header Checksum): 如果 TTL 值被修改,或者在路由器进行分片处理时,IP 头部的校验和可能需要更新,以确保数据报的准确性。

出去的话:有 NAT

  1. 源 IP 地址(Source IP Address): 对于执行 NAT 的路由器,源 IP 地址可能会被修改,以便将内部网络的私有 IP 地址转换为可用于互联网的公有 IP 地址。

进来的话:有 NAT

  1. 目的 IP 地址(Destination IP Address): 类似地,执行 NAT 的路由器也可能修改目的 IP 地址,特别是在进行地址转换时。

# Switches (S1, S2):

交换机用于连接多个设备,如主机和服务器,在同一网络段内进行数据包的转发。它们工作在数据链路层,能够根据 MAC 地址来转发和过滤数据包,提高网络效率。

当交换机收到一个数据帧时,它会查看目标 MAC 地址。

交换机会根据目标 MAC 地址表中的信息,确定应将数据帧转发到哪个端口。

因此在有目标 MAC 时,直接转发。

若表中没有,或者包没有,那么就会广播(除了接收的端口)

image-20240623094645515

# Hub (H1)

集线器是一种较老的网络设备,用于连接多个设备,但它不像交换机那样智能地转发数据包。集线器通常会广播所有接收到的数据包到所有端口,这可能会导致网络拥塞和安全问题。

# 2.【报文识别】

# 【UDP】

image-20240615144955475

# 【TCP】

image-20240615145023863

# 2020 年题目

# 客观

image-20240622153259895

image-20240622153317414

image-20240622153351583

image-20240622153709825

5.B

10.A 还有其他操作

19.D MAC 地址并没有严格的层次结构,它是一个 48 位的全球唯一标识符

20.C 同时发送才可能碰撞,其他都不至于

10.F 错的背住。

# 途径网关 IP&MAC 变化

内网出去:Source IP 会变成网关地址。

外网进内网:Source IP 不会变成网关地址。

MAC 会变,每次都是

发的:源

收的:目的

# TCP 拥塞控制

image-20240622163850383

# Final

现在是 6 月 23 日的 9:08 分,距离考试还有 6h。

image-20240623090911036

image-20240623091252572

# 判断题专项

#

image-20240623105040593

1.T. 电路交换网络需要信令和控制来建立电路。

2.F.TDM

3.T.OSI 中 network: 点到点,trans : 端到端 【】

4.T.** 网络节点(Network Node)** 是一个更广泛的术语,可以包括端主机、路由器、交换机,以及其他网络设备如集线器(Hub)、防火墙(Firewall)、网关(Gateway)等。

网络节点是指在网络中负责数据转发、处理或控制的任何设备或程序。

5.F.Framing 是在 TDM 中,而不是 FDM 【】

6.T.ethernet 是 lan,被放在链路层 【】

7.F.ADSL 用 FDM 【】

8.F. 包交换更适合,包适合突发数据传输,而电路交换是固定的。

9.T

10.T. 互联网路由器能够实现 IP 协议,而链路层交换机则不能。

image-20240623111511389

1.F.Traceroute 工具提供了延迟测量 //【】

2.T. 在分层架构中,只要每一层向上一层提供相同的服务,并使用下一层提供的相同服务,当更改某一层的实现时,系统的其余部分保持不变。【】

3.F. 电路交换更适合恒定的传输

4.F. 数据报网络将路由和转发服务设置在路由中,发送方无法决定

5.T.4 是传输、5 是应用层,不在 core 实现

6.F. 电路交换才提供,互联网是包交换网络 【】

7.T,ADSL 是 FDM,ADSL 中,每个订阅者的下行带宽比上行带宽更多。 这个是对的【】

#

image-20240623122001313

1.T

2.T

3.F.SSL 是 HTTP 的变成 HTTPS

4.F. 每一个单独的实体都会发一个资源请求

5.【】F HTTP 响应消息中的 Date 头部字段表示响应消息生成的日期和时间,而不是响应中对象最后修改的时间。要获取对象的最后修改时间,通常会使用响应头部中的 Last-Modified 字段。

6.F.DNS 服务器是分布式的,避免了单点故障

7.F. 非持久的 HTTP 不维护一个连接状态

8.T【】. 不同的 HTML page 需要建立不同的 HTTP 连接 【】 T 在 HTTP 协议中,持久连接(persistent connection)允许客户端与服务器之间在同一 TCP 连接上发送多个 HTTP 请求和响应。因此,两个不同的 Web 页面(如 www.scu.edu.cn/research.html 和 www.scu.edu.cn/students.html)可以在同一个持久连接上发送

9.T 【】F 递归中不是返回 IP 让 local 自己去查,而是返回查询结果,迭代才是这样

10.F.MAIL FROM 是说明邮件服务器地址,而 From 则是实际寄件人自己写的地址。

image-20240623130127124

1.T 【】F 304 或者 204 等状态没有实体

2.T

3.F 【】T :SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)支持在同一个 TCP 连接上发送多封邮件消息。这种机制通过减少连接建立和断开的开销,提高了邮件传输的效率。SMTP 客户端可以在建立连接后连续发送多封邮件,而无需每次都重新建立连接。

4.T

5.F 【】T

6.T

7.T

8.T

9.F 可以使用 DNS(Domain Name System,域名系统)来为同一 IP 地址分配不同的别名,例如 web.example.com 和 mail.example.com 可以指向同一个服务器。

10.F

#

1.T 【】不可靠

2.T

3.T

4.F 【】T,书上原话,背住,确实直接和 IP 通信

5.F 【】T

6.F 不提供

7.T

8.T

9.F

10.T

image-20240623132036999

image-20240623132045502

11.F

12.T

13.F 序列号空间的大小应足够大,以确保唯一标识所有未确认的数据包,不是至少 2 倍。

14.F 【】T 在选择重传(Selective Repeat,SR)协议中,窗口大小必须小于或等于序列号空间大小的一半。序列号空间定义了可以同时存在的未确认数据包的最大数量。例如,如果序列号空间是 N,那么窗口大小必须小于或等于 N/2。

15.F 【】T

image-20240623134914595

image-20240623134925410

1.T

F. 上层应用层可以用 UDP 实现可靠传输

T

F 可以同时传,全双工

T

6.F 设置为当前的一半而不是全部的

F 也要回复 ack

T

F rwnd 随时都在变化

10.F 下一个序列号是前一个序列号 + 前一个段的 data 字节数,而不是固定为 1.

11.F 不是 42,无法确定当前的 ack

F 不一定是,也有可能小于

T

14.【】T ,因为 IP 层没有向终端系统提供关于网络拥塞的明确反馈

F 不保持

16.T 【】 F 数据包网络不预先建立连接,就没有 setup time

F SR 可以

F GBN 的话会直接丢弃

#

image-20240623142255832

TFFT

5.F 交换机不减少

6.T

F. 只是头部

F 是的

T

T

image-20240623143104005

image-20240623143115926

F 1【】T

T

F 【】T

F

T

F

F

F

T

F

F

F BGP exchanges path vectors.

# Final

现在是 time:20 点 26 分,计网考的全是应用层。