网络层相关概念
目录
网络层特性
划分为网络
IP 地址表示方法
最大传输单位(MTU)
网关
IP 多播
虚拟专用网 VPN 和网络地址转换NAT
网络层特性
设计思路:
功能:
网络层向上只提供简单灵活的,无连接的,尽最大努力交付的数据报服务
方法:
网络在发送分组时不需要先建立连接.每一个分组(即IP数据报)独立发送,与其前后的分组无关(不进行编号)
基本过程:
-
- 编址
- 封装
- 解封装
优点:
网络的造价大大降低,运行方式灵活,能够适应多种应用
缺点:
网络层不提供服务质量的承诺.即所传送的分组可能出错,丢失,重复和失序(不按序到达终点),当然也不保证分组传送的时限
注意:
不管网络层使用什么协议,在实际网络链路上传送数据帧时,最终还须使用硬件地址
从协议栈的层次上看数据的流动:
提供的两种服务:
面向连接(可靠交付由网络)
-
- 建立虚电路(虚电路表示这只是一条逻辑上的连接,分组都沿着这条逻辑连接按照存储转发方式传送,而并不是真正建立了一条物理连接)以保证双方通信所需的一切网络资源
- 用可靠传输的网络协议,就可使所发送的分组无差错按序到达终点
无连接(可靠交付由端系统)
面向连接与无连接对比:
对比的方面 虚电路服务 数据报服务
思路 可靠通信应当由网络来保证 可靠通信应当由用户主机来保证
连接的建立 必须有 需要
终点地址 仅在连接建立阶段使用,每个分组使用短的虚电路号 每个分组都有终点的完整地址
分组的转发 属于同一条虚电路的分组均按照同一路由进行转发 每个分组独立选择路由进行转发
当结点出故障时 所有通过出故障的结点的虚电路均不能工作 出故障的结点可能会丢失分组,一些路由可能会发生变化
分组的顺序 总是按发送顺序到达终点 到达终点时不一定按发送顺序
端到端差错处理和流量控制 可以由网络负责,也可以由用户主机负责 由用户主机负责
中间设备 / 中间系统 / 中继(relay)系统:
- 物理层中继系统: 转发器(repeater)
- 数据链路层中继系统: 网桥或桥接器(bridge)
- 网络层中继系统: 路由器(router)
- 网桥和路由器的混合物: 桥路器(brouter)
- 网络层以上的中继系统: 网关(gateway)
划分为网络
目的:
性能:
-
- 分割大型网络,将通信的主机划分到一起,可以降低网间流量
- 广播含于网络之中.就此意义而言,网络也称为广播域
安全:
根据所有权划分网络就意味着可以禁止,允许或监控与每个网络各自范围之外的资源相互访问
地址管理:
分割大型网络,将需要通信的主机划分到一起,可以减少因所有主机都需要知道所有地址而产生的不必要开销
划分子网:
步骤:
子网掩码:
要求:
-
- 路由器上的每个接口都必须有唯一的网络 ID
- 使用一个或多个主机位作为子网络位创建子网
- 子网数量 = 2^n (n = 借用的位数)4.主机数量 = 2^n - 2 (n = 剩余的主机位数)
IP 地址表示方法
图释:
定义:
把整个因特网看成一个单一的抽象的网络.IP地址就是给每个连接在因特网上的主机(或路由器)分配一个在全世界范围是唯一的32位的标识符它由网络号net-id和主机号host-id组成
特别注意:
- 实际上IP地址是标志一个主机(或路由器)和一条链路的接口
- 当一个主机同时连接到两个网络上时,该主机就必须同时具有两个相应的IP地址,其网络号net-id 必须是不同的.这种主机称为多归属主机(multihomed host)
- IP 数据报的首部中没有地方可以用来指明"下一跳路由器的 IP 地址".当路由器收到待转发的数据报,不是将下一跳路由器的IP地址填入IP数据报,而是送交下层的网络接口软件.网络接口软件使用ARP负责将下一跳路由器的IP地址转换成硬件地址,并将此硬件地址放在链路层的MAC帧的首部,然后根据这个硬件地址找到下一跳路由器
形式:
IP 地址 ::= { <网络号>, <主机号>}
缺点:
- IP 地址空间的利用率有时很低
- 两级的 IP 地址不够灵活
优点:
- IP 地址管理机构在分配IP地址时只分配网络号,而剩下的主机号则由得到该网络号的单位自行分配.这样就方便了IP地址的管理
- 路由器仅根据目的主机所连接的网络号来转发分组(而不考虑目的主机号),大幅度减少路由表中的项目数
形式:
IP地址 ::= {<网络号>, <子网号>, <主机号>}
原理:
划分子网是单位内部的事情.单位对外仍然表现为没有划分子网的网络.从主机号借用若干个位作为子网号subnet-id而主机号host-id也就相应减少了若干个位,采用与子网掩AND运算得到网络地址
三级划分数据交换过程:
接受数据:
-
- 从其他网络发送给本单位某个主机的IP数据报,仍然是根据IP数据报的目的网络号net-id,找到连接在本单位网络上的路由器
- 此路由器在收到IP数据报后,再按目的网络号net-id和子网号subnet-id找到目的子网
- 最后就将 IP 数据报直接交付目的主机
发送数据:
-
- 将数据先发送到网关
- 网关再把数据发送出去
注意:
-
- 当没有划分子网时,IP地址是两级结构.划分子网后IP地址就变成了三级结构
- 划分子网只是把IP地址的主机号host-id这部分进行再划分,而不改变IP地址原来的网络号net-id
三级划分路由器转发分组的算法:
定义:
使用"斜线记法"(slash notation),它又称为CIDR记法,即在IP地址面加上一个斜线"/",然后写上网络前缀所占的位数(这个数值对应于三级编址中子网掩码中 1 的个数)
例子:
192.168.0.0/24
目的:
为了有效地分配 IPv4 的地址空间
形式:
IP地址 ::= {<网络前缀>, <主机号>} ("网络前缀"(network-prefix)来代替分类地址中的网络号和子网号)
作用:
CIDR 把网络前缀都相同的连续的 IP 地址组成"CIDR 地址块".
路由聚合:
定义:
一个CIDR地址块可以表示很多地址,这种地址的聚合常称为路由聚合路由聚合也称为构成超网(supernetting)
优点:
它使得路由表中的一个项目可以表示很多个(例如上千个)原来传统分类地址的路由
最长前缀匹配:
-
- 来源: 使用CIDR时,路由表中每个项目由"网络前缀"和"下一跳地址"组成.在查找路由表时可能会得到多个匹配结果
- 解决: 应当从匹配结果中选择具有最长网络前缀的路由:最长前缀匹配(longest-prefix matching)
二叉线索查找路由表:
-
- 将无分类编址的路由表存放在一种层次数据结构中后至上而下按层进行查找,最常用的就是二叉线索(binary trie)
- IP地址从左到右比特值决定了从根结点逐层向下延伸的路径,而二叉线索中各个路径就代表路由表中存放的各个地址
- 为了提高二叉线索的查找速度,广泛使用了各种压缩技术
地址类型:
- 网络地址:指代网络的地址
- 广播地址:用于向网络中的所有主机发送数据的特殊地址
- 主机地址:分配给网络中终端设备的地址
点分十进制:
特殊IPv4地址:
- 默认路由:0.0.0.0
- 环回地址:127.0.0.0/8
- 链路本地地址:169.254.0.0 /16
- TEST-NET地址:192.0.2.0 /24
分类:
网络类别 最大网络数 第一个可用的网络号 最后个可用的网络号 每个网络中最大的主机数
A 126(27-2) 1.0.0.0 126.0.0.0 16,777,214
B 16,383(214-1) 128.1.0.0 191.255.0.0 65,536
C 2,097,151(221-1) 192.0.1.0 233.255.255.0 254
保留地址:
特点:
- 无连接
- 尽力:尽力服务 (不可靠)
- 介质无关性
特性和优点:
- 128位分层编址,用以提高编址能力
- 报头格式简化,用以改进数据包处理过程
- 提高对扩展和选项的支持,用以增强可扩展性和延长生命周期并改进数据包处理过程
- 流标签功能,作为QoS机制
- 身份验证和隐私权功能,用于集成安全性
最大传输单位(MTU)
每种介质可以传输的最大 PDU 大小
网关
定义
网关是连接到本地网络的路由器接口
作用
将该数据包发送到本网络以外的网络
IP是网络层上的主要协议,同时被 TCP和UDP使用,也会被ICMP(IP协议的附属协议)、IGMP(Internet组管理协议)用到
在 TCP/IP 协议族中,网络层 IP 提供的是一种不可靠的服务.也就是说,它只是尽可能快地把分组从源结点送到目的结点,但是并不提供任何可靠性保证.而另一方面, TCP 在不可靠的 IP层上提供了一个可靠的运输层.为了提供这种可靠的服务, TCP 采用了超时重传、发送和接收端到端的确认分组等机制.由此可见,运输层和网络层分别负责不同的功能.
IP 多播
图释:
特点:
- 永久组地址——由因特网号码指派管理局 IANA 负责指派
- 多播使用组地址—— IP 使用 D 类地址支持多播。多播地址只能用于目的地址,而不能用于源地址
- 动态的组成员
- 使用硬件进行多播
优点:
多播可明显地减少网络中资源的消耗
硬件多播:
- 因特网号码指派管理局 IANA 拥有的以太网地址块的高 24 位为 00-00-5E
- 因此 TCP/IP 协议使用的以太网多播地址块的范围是:从 00-00-5E-00-00-00 到 00-00-5E-FF-FF-FF
- D 类 IP 地址可供分配的有 28 位,在这 28 位中的前 5 位不能用来构成以太网硬件地址
需协议:
网际组管理协议 IGMP (Internet Group Management Protocol)
转发多播数据报使用的方法:
洪泛与剪除适用范围:
这种方法适合于较小的多播组,而所有的组成员接入的局域网也是相邻接的
方法:
一开始,路由器转发多播数据报使用洪泛的方法(这就是广播)。为了避免兜圈子,采用了叫做反向路径广播 RPB (Reverse Path Broadcasting)的策略
RPB
要点:
-
-
- 路由器收到多播数据报时,先检查是否从源点经最短路径传送来的.若是,就向所有其他方向转发刚才收到的多播数据报(但进入的方向除外),否则就丢弃而不转发
- 如果存在几条同样长度的最短路径),那么只能选择一条最短路径,选择的准则就是看这几条最短路径中的相邻路由器谁的 IP 地址最小图释:
-
图释:
基于核心技术的发现:
- 这种方法对于多播组的大小在较大范围内变化时都适合。
- 这种方法是对每一个多播组 G 指定一个核心(core)路由器,给出它的 IP 单播地址
- 核心路由器按照前面讲过的方法创建出对应于多播组 G 的转发树
几种多播路由选择协议:
- 距离向量多播路由选择协议 DVMRP (Distance Vector Multicast Routing Protocol)
- 基于核心的转发树 CBT (Core Based Tree)
- 开放最短通路优先的多播扩展 MOSPF (Multicast Extensions to OSPF)
- 协议无关多播-稀疏方式 PIM-SM(Protocol Independent Multicast-Sparse Mode)
- 协议无关多播-密集方式 PIM-DM (Protocol Independent Multicast-Dense Mode)
虚拟专用网 VPN 和网络地址转换NAT
本地地址——仅在机构内部使用的 IP 地址,可以由本机构自行分配,而不需要向因特网的管理机构申请
全球地址——全球唯一的IP地址,必须向因特网的管理机构申请
RFC 1918 指明的专用地址(private address)
10.0.0.0 到 10.255.255.255172.16.0.0 到 172.31.255.255
192.168.0.0 到 192.168.255.255
这些地址只能用于一个机构的内部通信,而不能用于和因特网上的主机通信,专用地址只能用作本地地址而不能用作全球地址.在因特网中的所有路由器对目的地址是专用地址的数据报一律不进行转发