计算机网络-网络层
网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务
网际协议IP
配套协议
- 地址解析协议 ARP
- 网际控制报文协议 ICMP
- 网际组管理协议 IGMP
虚拟互联网络
中间设备
将网络互相连接起来要使用一些中间设备。
- 物理层中继系统:转发器 (repeater)。
- 数据链路层中继系统:网桥 或 桥接器 (bridge)。
- 网络层中继系统:路由器 (router)。
- 网桥和路由器的混合物:桥路器 (brouter)。
- 网络层以上的中继系统:网关 (gateway)。
网络互连都是指用路由器进行网络互连和路由选择
意义
虚拟互连网络是逻辑互连网络,互连起来的各种物理网络的异构性本来是客观存在的,但是我们利用 IP 协议就可以使这些性能各异的网络从用户看起来好像是一个统一的网络
当互联网上的主机进行通信时,就好像在一个网络上通信一样,而看不见互连的各具体的网络异构细节。
如果在这种覆盖全球的 IP 网的上层使用 TCP 协议,那么就是现在的互联网 (Internet)。
分类的IP地址
A类地址中,网络号全0,为保留地址,为本网络;网络号为127(01111111)保留作为环回测试地址。
B类网络号 129.0 、C类网络号 129.2.0.0 都不指派
IP地址的重要特点
- IP 地址是一种分等级的地址结构。分两个等级的好处是:
- IP 地址管理机构在分配 IP 地址时只分配网络号,而剩下的主机号则由得到该网络号的单位自行分配。这样就方便了 IP 地址的管理
- 路由器仅根据目的主机所连接的网络号来转发分组(而不考虑目的主机号),这样就可以使路由表中的项目数大幅度减少,从而减小了路由表所占的存储空间。
- 实际上 IP 地址是标志一个主机(或路由器)和一条链路的接口。
- 当一个主机同时连接到两个网络上时,该主机就必须同时具有两个相应的 IP 地址,其网络号必须是不同的。这种主机称为多归属主机 (multihomed host)。
- 由于一个路由器至少应当连接到两个网络(这样它才能将 IP 数据报从一个网络转发到另一个网络),因此一个路由器至少应当有两个不同的 IP 地址。
- 用转发器或网桥连接起来的若干个局域网仍为一个网络,因此这些局域网都具有同样的网络号 net-id。
- 所有分配到网络号 net-id 的网络,无论是范围很小的局域网,还是可能覆盖很大地理范围的广域网,都是平等的。
IP 地址与硬件地址
地址解析协议 ARP
在实际网络的链路上传送数据帧时,最终还是必须使用硬件地址。
每一个主机都设有一个 ARP 高速缓存 ,里面有所在的局域网上的各主机和路由器的 IP 地址到硬件地址的映射表
当主机 A 欲向本局域网上的某个主机 B 发送 IP 数据报时,就先在其 ARP 高速缓存中查看有无主机 B 的 IP 地址。
- 如有,就可查出其对应的硬件地址,再将此硬件地址写入 MAC 帧,然后通过局域网将该 MAC 帧发往此硬件地址。
- 如没有, ARP 进程在本局域网上广播发送一个 ARP 请求分组。收到 ARP 响应分组后,将得到的 IP 地址到硬件地址的映射写入 ARP 高速缓存。
IP数据报格式
IP数据报分片,片偏移
协议字段
指出此数据报携带的数据使用何种协议,以便目的主机的 IP 层将数据部分上交给哪个处理进程
IP 层转发分组的流程
按主机所在的网络地址(非主机地址)来制作路由表
路由表指出,到某个网络应当先到某个路由器(即下一跳路由器)
查找路由
- 直接交付
-
间接交付
路由器分组转发算法
- 从数据报的首部提取目的主机的 IP 地址 D, 得出目的网络地址为 N。
- 若网络 N 与此路由器直接相连,则把数据报直接交付目的主机 D;否则是间接交付,执行 (3)。
- 若路由表中有目的地址为 D 的特定主机路由,则把数据报传送给路由表中所指明的下一跳路由器;否则,执行 (4)。
- 若路由表中有到达网络 N 的路由,则把数据报传送给路由表指明的下一跳路由器;否则,执行 (5)。
- 若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器;否则,执行 (6)。
- 报告转发分组出错
划分子网
划分子网纯属一个单位内部的事情。单位对外仍然表现为没有划分子网的网络。
从主机号借用若干个位作为子网号 subnet-id,而主机号 host-id 也就相应减少了若干个位
子网掩码
从一个 IP 数据报的首部并无法判断源主机或目的主机所连接的网络是否进行了子网划分。
使用子网掩码 (subnet mask) 可以找出 IP 地址中的子网部分
在划分子网情况下路由器转发分组的算法
- 从收到的分组的首部提取目的 IP 地址 D。
- 先用各网络的子网掩码和 D 逐位相“与”,看是否和相应的网
络地址匹配。若匹配,则将分组直接交付。否则就是间接交付,
执行 (3)。 - 若路由表中有目的地址为 D 的特定主机路由,则将分组传送给
指明的下一跳路由器;否则,执行 (4)。 - 对路由表中的每一行,将子网掩码和 D 逐位相“与”。若结果与该行的目的网络地址匹配,则将分组传送给该行指明的下一跳路由器;否则,执行 (5)。
- 若路由表中有一个默认路由,则将分组传送给路由表中所指明
的默认路由器;否则,执行 (6)。 - 报告转发分组出错。
网际控制报文协议ICMP
- ICMP差错报告报文
- ICMP询问报文
差错报文种类
- 终点不可达
- 原点抑制
- 时间超过
- 参数问题
- 改变路由(重定向)
询问报文种类
- 回送请求和回答
- 时间戳请求和回答
PING 使用了ICMP回送请求与回送回答报文
虚拟专用网VPN
背景
IP地址紧缺
机构内部由本机构自行分配IP地址,这些IP地址有可能与公网IP相同
RFC 1918 指明了一些专用地址,只能用于一个机构内部通信,不能将其作为全球地址
- 10.0.0.0 – 10.255.255.255
- 172.16.0.0 – 172.31.255.255
- 192.168.0.0 – 192.168.255.255
因特网上所有主机,对目的地址是专用地址的数据报一律不转发
专用互联网
使用专用IP地址的互联网络
NAT 网络地址转换
专用地址主机无法直接跟公网主机通信
NAT 缺点
专用网内的主机轮流共用NAT路由器有限数量的全球IP地址