目录
虚拟互联网络(考点△)
将网络互相连接需要使用一些中间设备,又称中间系统或中继系统。
有以下五种不同中间设备:
1.
物理层
中继系统:转发器 (repeater)、中继器、
集线器
。
2.
数据链路层
中继系统:网桥 / 桥接器 (bridge)、
交换机
。
3.
网络层
中继系统:
路由器
(router)。
4.
网桥和路由器的
混合物
:
桥路器
(brouter)。
5.
网络层以上
的中继系统:
网关
(gateway)。
直接交付与间接交付(考点√)
H1和H3在同一网络上,不需要经过路由器,因此是直接交付。
H1和H2不是在同一网络,因此需要将ip发给R1,R1查表后将数据报发给R2间接交付(分组交换原理)。一直转发到R5,最后R5再直接交付给H2。
点分十进制记法
★★★分类IP地址(分坑!!)
- 将IP地址划分为若干个固定类。
- 每一类地址都由两个固定长度的字段组成,一个字段是网络号 net-id,它标志主机(或路由器)所连接到的网络,另一个字段是主机号 host-id,它标志该主机(或路由器)。
- 主机号在它前面的网络号所指明的网络范围内必须是唯一的。 一个 IP 地址在整个互联网范围内是唯一的。
网络类别
| 最大可指派的网络数 | 第一个可指派的网络号 | 最后一个可指派的网络号 | 每个网络中最大主机数 |
A(1字节) | 126(2^7-2) | 1 | 126 | 2^24-2 |
B(2字节) | 2^14-1 | 128.1 | 191.255 | 2^16-2 |
C(3字节) | 2^21-1 | 192.0.1 | 233.255.255 | 2^8-2 |
练习:
IP地址的重要特点
- IP 地址是一种分(两个)等级的地址结构。
- 实际上 IP 地址是标志一个主机(或路由器)和一条链路的接口。
- 当一个主机同时连接到两个网络上时,该主机就必须同时具有两个相应的 IP 地址,其网络号 net-id 必须是不同的。这种主机称为多归属主机 (multihomed host)。
- 由于一个路由器至少应当连接到两个网络(这样它才能将IP 数据报从一个网络转发到另一个网络),因此一个路由器至少应当有两个不同的 IP 地址
- 用转发器/集线器或网桥/交换机连接起来的若干个局域网仍为一个网络,因此这些局域网都具有同样的网络号net-id。不同网络号的局域网用路由器相连。
- 所有分配到网络号 net-id 的网络,无论是范围很小的局域网,还是可能覆盖很大地理范围的广域网,都是平等的。
地址解析协议APR
通信时使用了两个地址(考点△):
1.
IP 地址(网络层地址)
2.
MAC 地址(数据链路层地址)
ARP的作用:从网络层使用的 IP地址,解析出在数据链路层使用的硬件地址。
APR要点
- 每一个主机都设有一个 ARP 高速缓存 (ARP cache),里面 有所在的局域网上的各主机和路由器的 IP 地址到硬件地址的映射表。
- 当主机 A 欲向本局域网上的某个主机 B 发送 IP 数据报时, 就先在其 ARP 高速缓存中查看有无主机 B 的 IP 地址。
- 如有,就可查出其对应的硬件地址,再将此硬件地址写入 MAC 帧,然后通过局域网将该 MAC 帧发往此硬件地址。
- 如没有, ARP 进程在本局域网上广播发送一个 ARP 请求分组。收到 ARP 响应分组后,将得到的 IP 地址到硬件地址的映射写入 ARP高速缓存。
- ARP请求分组:包含发送方硬件地址 / 发送方 IP 地址 、目标方硬件地址(未知时填 0) / 目标方 IP 地址。
- 本地广播 ARP 请求(路由器不转发ARP请求)。
- ARP 响应分组:包含发送方硬件地址 / 发送方 IP地址 、目标方硬件地址 / 目标方 IP 地址
使用ARP的四种典型情况(考点△)
- 发送方是主机,要把 IP 数据报发送到本网络上的另一个主机——用 ARP 找到目的主机的硬件地址。
- 发送方是主机,要把 IP 数据报发送到另一个网络上的一个主机——用 ARP 找到本网络上本机的默认路由器的硬件地址。剩下的工作由这个路由器来完成。
- 发送方是路由器,要把 IP 数据报转发到本网络上的一个主机——用 ARP 找到目的主机的硬件地址。
- 发送方是路由器,要把 IP 数据报转发到另一个网络上的一个主机——用 ARP 找到本网络上另一个路由器的硬件地址。 剩下的工作由这个路由器来完成
IP数据报的格式(考点)
- 一个 IP 数据报由首部和数据两部分组成。
- 首部分为两部分
- 前一部分(A)是固定长度,共 20 字节,是所有 IP 数据报必须具有的。
- A的后面,数据的前面是一些可选字段,其长度是可变的。
- 版本——占 4 位,指 IP 协议的版本。 目前的 IP 协议版本号为 4 (即 IPv4)
- 首部长度——占 4 位,可表示的最大数值 是 15 个单位(一个单位为 4 字节), 因此 IP 的首部长度的最大值是 60 字节。
- 区分服务——占 8 位,用来获得更好的服务
- 总长度——占 16 位,指首部和数据之和的长度, 单位为字节,因此数据报的最大长度为 65535 字节。 总长度必须不超过最大传送单元MTU。
- ★标识(identification) ——占 16 位, 它是一个计数器,用来产生 IP 数据报的标识。
-
★ 标志(flag) ——占 3 位,目前只有前两位有意义。
-
标志字段的最低位是 MF (More Fragment)。• MF=1 表示后面“还有分片”• MF=0 表示最后一个分片。标志字段中间的一位是 DF (Don't Fragment) 。只有当 DF=0时才允许分片
-
-
★ 片偏移——占13 位,指出:较长的分组在分片后 某片在原分组中的相对位置。 片偏移以 8 个字节为偏移单位。
-
√ 生存时间——占8 位,记为 TTL (Time To Live), 指示数据报在网络中可通过的路由器数的最大值。
-
协议——占8 位,指出此数据报携带的数据使用何种协议, 以便目的主机的 IP 层将数据部分上交给那个处理过程
-
▲ 首部检验和——占16 位,只检验数据报的首部, 不检验数据部分。这里不采用 CRC 检验码而采用简单的计算方法。
-
例子: 3个16 bit的整数1100011001100110,1111010101010101, 1000111100001100相加,三数依次相加,如果有进位,就头部去1,然后整体加1。
-
- 源地址和目的地址都各占 4 字节
IP 层转发分组流程
需强调
- IP 数据报的首部中没有地方可以用来指明“下一跳路由器的 IP 地址”。
- 当路由器收到待转发的数据报,不是将下一跳路由器的 IP 地址填入 IP 数据报,而是送交下层的网络接口软件。
- 网络接口软件使用 ARP 负责将下一跳路由器的 IP 地址转换成硬件地址,并将此硬件地址放在链路层的 MAC 帧的首部,然后根据这个硬件地址找到下一跳路由器。
路由器分组转发算法 (考点▲)
特定主机路由:即为特定的目的主机指明一个路由
默认路由(default route)举例:
流程:
1.
从数据报的首部提取
目的主机
的 IP 地址
D
, 得出
目的网络地址
为
N
。
2.
若
网络
N
与此路由器直接相连
,则把数据报直接交付目的主机
D
;
否则是间接交付,执行 (3)。
3.
若路由表中
有目的地址为
D
的特定主机路由
,则把数据报传送给路
由表中所指明的下一跳路由器;否则,执行 (4)。
4.
若路由表中
有到达网络
N
的路由
,则把数据报传送给路由表指明的
下一跳路由器;否则,执行 (5)。
5.
若路由表中
有一个默认路由
,则把数据报传送给路由表中所指明的
默认路由器;否则,执行 (6)。
6.
报告转发分组出错。