目录
概述
- 因为网络层是整个互联网的核心,实现终端节点之间的通信,在复杂的网络环境中将数据包发送给最终的目标地址。
- 数据链路层只能在同一种数据链路的节点之间进行包传递。
- 应当让网络层尽可能简单。网络层向上只提供简单灵活的、无连接的、尽最大努力交互的数据报服务。
- 使用 IP 协议,可以把异构的物理网络连接起来,使得在网络层看起来好像是一个统一的网络。
与 IP 协议配套使用的还有三个协议:
- 地址解析协议 ARP(Address Resolution Protocol)
- 网际控制报文协议 ICMP(Internet Control Message Protocol)
- 网际组管理协议 IGMP(Internet Group Management Protocol)
发送数据至最终目标地址:
一跳表示同一个数据链路中的源节点到目的节点的范围。当 IP 包到达路由器时,路由器首先查找其目标地址,从而再决定下一步应该将这个包发往哪个路由器,然后将包发送出去。这个过程会重复多次,直到找到最终的目标地址将数据包发往这个节点。
IP 属于面向无连接型
- 面向无连接,即在发包之前,不需要建立与对端目标地址之间的连接。即使对端主机关机或者不存在,数据包还是会被发送出去。
- 原因:简化、提速 需要有连接的特性时,可以委托上一层提供此项服务(TCP)。
一、IP 地址解析
IPv4 地址由32位正整数表示,8位一组,分4组,每组以 . 隔开,再将每组数转换为十进制数。
1. 分类
由两部分组成,网络号和主机号,其中不同分类具有不同的网络号长度,并且是固定的。
IP 地址 ::= {< 网络号 >, < 主机号 >}
主机标识不能设置为全为0和全为1,全部为0的只有在标识对应的网络地址或 IP 地址不可获知的情况下才使用,全部为1的为广播地址。
广播的 IP 包在数据链路层实现发送时,同理也是将 MAC 地址都变为1,即FF:FF:FF:FF:FF:FF
2. 子网划分
通过在主机号字段中拿一部分作为子网号,把两级 IP 地址划分为三级 IP 地址。
IP 地址 ::= {< 网络号 >, < 子网号 >, < 主机号 >}
要使用子网,必须配置子网掩码。一个 B 类地址的默认子网掩码为 255.255.0.0,如果 B 类地址的子网占两个比特,那么子网掩码为 11111111 11111111 11000000 00000000,也就是 255.255.192.0。
注意,外部网络看不到子网的存在。子网掩码与网络内的任意一个 IP 地址相与后,得到的就是这个 IP 地址所在的网络地址。
3. 无分类
无分类编址 CIDR 消除了传统 A 类、B 类和 C 类地址以及划分子网的概念,使用网络前缀和主机号来对 IP 地址进行编码,网络前缀的长度可以根据需要变化。
IP 地址 ::= {< 网络前缀号 >, < 主机号 >}
CIDR 的记法上采用在 IP 地址后面加上网络前缀长度的方法,例如 128.14.35.7/20 表示前 20 位为网络前缀。
一个 CIDR 地址块中有很多地址,例如将202.244.160.1到202.144.167.254合并为一个网络,实际是将8个C类地址合并成一个网络。
一个 CIDR 表示的网络就可以表示原来的很多个网络,并且在路由表中只需要一个路由就可以代替原来的多个路由,减少了路由表项的数量。把这种通过使用网络前缀来减少路由表项的方式称为路由聚合,也称为 构成超网 。
在路由表中的项目由“网络前缀”和“下一跳地址”组成,在查找时可能会得到不止一