408 · 计算机网络 · 第 1 章 · 分量 ★★

把一个大问题拆成几层小问题

这一章是全书的地基:数据用什么方式送出去、送一趟要多久、为什么要分层、每层之间怎么配合。真正要算的只有时延,其余都是概念判断。

这一章只要会:

  1. 分组交换的总时延计算
  2. 协议、服务、接口三个概念
  3. 各层的功能和数据单位
  4. OSI 与 TCP/IP 的区别
一 · 主线

每一步都在回答上一步留下的问题

数据用什么方式送出去

电路交换
先建立一条独占的通路再传。传的时候快,但通路空着时也被占着
报文交换
整个报文一站一站存储转发。不独占线路,但报文太大,每站都要等很久
分组交换
把报文切成小分组,逐个存储转发。互联网用的就是它

送一趟要多久 必考计算

答案
发送时延 + 传播时延。分组交换每经过一个结点都要重新发送一次

要处理的事情太多,怎么组织

做法
分层。每层只解决一个小问题,下层给上层提供服务,上层不管下层怎么实现

层与层、机器与机器怎么配合

协议
两台机器的同一层之间的约定(水平方向)
服务
同一台机器里下层给上层提供的功能(垂直方向)

具体分成几层

两套模型
OSI 七层(理论标准)和 TCP/IP 四层(实际使用)。学习时用五层
二 · 重点

时延:这一章唯一要算的东西

处理时延和排队时延题目一般会说"忽略",要算的只有下面两个。

发送时延

发送时延 = 分组长度(bit) ÷ 发送速率(b/s)

把一个分组从第一位到最后一位全部推到线路上需要的时间。发生在主机和每个路由器的出口。

传播时延

传播时延 = 链路长度(m) ÷ 传播速率(m/s)

信号在线路上跑完全程需要的时间。发生在链路上,只和距离有关。

提高带宽只能减小发送时延。信号在线路上跑的速度不会因为带宽变大而变快。

分组交换的总时延

n 个分组,经过 k 段链路(中间有 k − 1 个路由器),每个分组的发送时延为 t:

总时间 = (n + k − 1) × t + k × 每段传播时延

理解:最后一个分组在 n × t 时刻离开源主机,之后还要被 k − 1 个路由器各转发一次。

2010 真题数据H1 经两个路由器向 H2 发文件

所有链路速率 100 Mb/s,分组大小 1000 B(其中首部 20 B),文件 980 000 B,忽略传播时延和拆装时间。

每个分组装 980 B 数据 分组数 n = 980 000 ÷ 980 = 1000 两个路由器,三段链路 k = 3 一个分组的发送时延 t = 1000 × 8 ÷ 10⁸ = 0.08 ms 总时间 = (1000 + 3 − 1) × 0.08 = 80.16 ms

易错:分组数按"数据部分"算,发送时延按"整个分组"算(要带上首部)。

三 · 重点

分层:三个概念 + 一张封装图

协议(水平)

不同机器的对等层之间通信的规则。三要素:

  • 语法:数据的格式
  • 语义:要做什么动作、怎么响应
  • 同步:事件的先后顺序

服务(垂直)

下层通过层间接口向上层提供的功能。上层只管用,看不到下层的协议(对上层透明)。

接口

同一台机器相邻两层交换信息的地方,叫服务访问点 SAP。

n 层的 PDU 交给 n − 1 层后,就成了 n − 1 层的 SDU。

封装:每往下一层,加一个首部

应用层
数据报文
传输层
TCP 首部
数据报文段
网络层
IP 首部
TCP 首部
数据IP 数据报
链路层
帧首部
IP 首部
TCP 首部
数据帧
FCS
物理层
0101…… 比特流

只有链路层既加首部又加尾部。接收方从下往上,每层拆掉对应的首部。

四 · 重点

两套模型:记功能归属和一处区别

OSI 七层数据单位主要功能(考"某功能属于哪一层")TCP/IP
应用层报文各种具体应用协议应用层
表示层—数据格式转换、加密解密、压缩
会话层—建立和管理会话,设置同步点
传输层报文段端到端的可靠传输、流量控制、复用分用传输层
网络层分组路由选择、拥塞控制、网际互连网际层
数据链路层帧组帧、差错控制、流量控制、介质访问控制网络接口层
物理层比特透明地传输比特流,规定接口特性
最常考的一处区别OSITCP/IP
网络层无连接 + 面向连接只有无连接
传输层只有面向连接无连接 + 面向连接

TCP/IP 的网络层提供的是无连接、不可靠的数据报服务(尽最大努力交付)。传输层是第一个端到端的层,下面三层都是点到点。

五 · 易错速记

选择题直接对表

协议是水平的,服务是垂直的协议在两台机器的同一层之间,服务在同一台机器的上下层之间。
带宽大 ≠ 传得快带宽影响发送时延,不影响传播时延。
分组数按数据算,时延按整个分组算首部不装文件数据,但发送时要一起发。
流量控制有两层都做数据链路层是相邻结点之间,传输层是端到端。
速率用 10³,存储用 2¹⁰1 kb/s = 1000 b/s,1 KB = 1024 B。别忘了 1 B = 8 bit。
语义管"做什么",同步管"先后顺序"收到报文后该做何种响应属于语义。
六 · 看一眼就行

这些不用花时间

七 · 自测

先自己做,再点开看

H1 经 3 个路由器到 H2,各链路速率 10 Mb/s,分组大小 1000 B(忽略首部),文件 10 000 B,忽略传播时延。从开始发到 H2 收完要多久?
n = 10,k = 4,t = 8000 ÷ 10⁷ = 0.8 ms 总时间 = (10 + 4 − 1) × 0.8 = 10.4 ms
TCP/IP 参考模型的网络层提供的是什么服务?

无连接、不可靠的数据报服务。可靠性交给传输层的 TCP 去做。

"数据的加密和解密"由 OSI 的哪一层完成?"路由选择"呢?

加密解密在表示层,路由选择在网络层。