这组问题放在一起看,主线其实很清楚:先分清“一个网络”是什么,再分清“路由器靠什么转发”,最后把“几种交换方式”和“各层协议”放回到各自的位置。这样很多选择题和判断题就不会混。路由器所连接的“一个网络”,在考研语境里通常指的是一个独立的 IP 网络或子网,更准确地说,是挂在路由器某个接口上的那个网段。也就是说,路由器的每个接口一般都对应一个不同的网络,接口地址属于这个子网,和这个接口直连的主机也属于这个子网。路由器之所以能“连接多个网络”,本质上就是它有多个接口,每个接口连着不同的网段。路由器内部会维护路由表,路由表的核心内容通常包括:目的网络/目的主机、子网掩码或前缀长度、下一跳、出接口;在实际设备里还常带有度量值、路由来源等附加信息。路由器收到 IP 分组后,会先看首部里的目的 IP 地址,再查路由表,决定应该从哪个接口转发给哪个下一跳。(IBM)
很多人容易困惑:既然已经有 MAC 地址了,为什么还要有 IP 地址?这是因为两者解决的根本不是同一个层次的问题。MAC 地址是数据链路层地址,作用范围通常只在“当前这一段链路”或“当前这个局域网”内,用来完成一跳交付;IP 地址是网络层地址,用来标识端系统或接口所在的网络位置,支持跨网络寻址和路由选择。主机把数据发到远方时,真正决定“最终往哪去”的是目的 IP;而每经过一跳,链路层封装都会重做一次,所以源 MAC 和目的 MAC 也会跟着变。可以把它记成一句最稳的考场口诀:IP 决定跨网络到哪里,MAC 决定这一跳交给谁。因此,路由器转发分组时看的是目的 IP 地址,而不是原来的 MAC 地址;原 MAC 只对上一跳有效,到了路由器这里就会被拆掉,再按下一跳重新封装新的 MAC 首部。(IETF Datatracker)
你问到“路由器在能够开始向输出链路传输分组的第一位之前,必须先接收到整个分组”,这就是存储转发。它的关键词就是“先完整接收,再转发”。这和直通交换正好相反。存储转发的好处是可以先缓存、先检查、再决定是否转发;代价是时延更大。顺着这个点去理解分组交换就很自然了:所谓分组交换,就是把长报文切分成一个个较小的分组,在网络中按分组为单位进行传输和转发,多个用户共享链路资源,路由器根据分组首部逐跳转发。考题里经常把“分组交换”和“存储转发”绑在一起出,因为路由器收到一个分组后,往往要先存下来、查表、必要时做差错检查或缓存排队,再决定转发。这里还要注意一个易混点:分组交换是一种交换方式,存储转发是一种转发机制,二者有关联,但不是同一个概念。(Cisco)
至于协议分层,做题时最稳的办法不是死背,而是看它“解决什么问题”。IP 负责把分组从源传到目的网络,属于网络层;ICMP 直接封装在 IP 数据报里,用于差错报告和控制,也按考研常见表述归网络层;TCP 提供端到端传输控制,属于传输层;FTP 是文件传输协议,SMTP 是邮件发送协议,SNMP 是网络管理协议,这几个都属于应用层。你写的“se mp”不是常见标准缩写,按网络层次题的常见语境,大概率是想写 SMTP 或 SNMP;如果原本想写的是 ICMP,那它就不是应用层,而是网络层。做题时看到题干里有“文件传输、邮件、网络管理”这种业务功能描述,通常优先想到应用层;看到“可靠传输、端到端、端口号”,优先想到传输层;看到“IP 地址、路由、分组转发”,优先想到网络层。(IETF Datatracker)
可以把这一组最容易考的协议层次先整理成一个对照:
| 协议 | 常见功能 | 所属层次 |
|---|---|---|
| IP | 寻址、路由、分组转发 | 网络层 |
| ICMP | 差错报告、控制信息 | 网络层 |
| TCP | 可靠传输、流量控制、拥塞控制 | 传输层 |
| FTP | 文件传输 | 应用层 |
| SMTP | 电子邮件发送 | 应用层 |
| SNMP | 网络管理 | 应用层 |
上表里最容易错的是 ICMP。很多人看到“控制报文”就想当然往传输层甚至应用层靠,但它本质上还是网络层配套协议。(IETF Datatracker)
再看虚电路服务和数据报服务。它们的共同点是:都属于分组交换网络中的两种网络层服务方式,都不是电路交换。不同点主要考四个:第一,虚电路是面向连接的,发送前要先建立虚电路;数据报是无连接的,不预先建立连接。第二,虚电路中,同一会话的分组通常按同一路径走,所以更容易按序到达;数据报中,每个分组可以独立选路,路径未必相同,所以到达顺序未必保持。第三,虚电路网络中,网络本身往往承担更多的状态维护,甚至可做一定的流量控制、差错控制;数据报服务则强调“尽力而为”,网络层一般不保证可靠、按序、无重复。第四,虚电路更像“先铺路再发车”,数据报更像“每个分组自己问路”。因此,你最后那句“由网络负责差错控制和流量控制,分组按顺序提交的是什么”,答案应当是虚电路服务。(wiki.eecs.yorku.ca)
你提到的四种传输/交换方式,也很容易在题里混成一团。最稳的分法不是硬背名字,而是先看它们是不是“整个通信子网采用的交换方式”,还是“分组交换内部再细分出来的网络层服务方式”。可以这样记:
| 名称 | 本质 | 常见教材定位 |
|---|---|---|
| 电路交换 | 先建立连接,独占资源,按线路传输 | 传统交换方式,常联系物理层/电话网 |
| 报文交换 | 以整个报文为单位存储转发 | 交换方式 |
| 分组交换-虚电路 | 分组交换中的面向连接服务 | 网络层服务方式 |
| 分组交换-数据报 | 分组交换中的无连接服务 | 网络层服务方式 |
这里最关键的辨析是:电路交换、报文交换、分组交换是“大类交换方式”;而虚电路、数据报是“分组交换下面的两种网络层服务方式”。所以如果题目问“Internet 采用哪种方式”,标准答案通常是“数据报分组交换”;如果问“网络层可向运输层提供哪两类服务”,答案就是“虚电路服务和数据报服务”。(IBM)
把这些内容最后压成几句做题判断,效果最好。看到“目的网络、下一跳、出接口”,想到路由表;看到“跨网靠什么找路”,想到 IP;看到“本地一跳交付给谁”,想到 MAC;看到“先完整接收再转发”,想到存储转发;看到“先建立连接、分组按序、网络负责更多控制”,想到虚电路;看到“每个分组独立路由、尽力而为”,想到数据报。这样这几块知识就不是散的,而是一个完整体系。



