一、什么是IP?
IP是Internet Protocol(网际互连协议)的缩写,IP是整个TCP/IP协议族的核心,也是构成互联网的基础。IP位于TCP/IP模型的网络层(相当于OSI模型的网络层)。设计IP的目的是提高网络的可扩展性:一是解决互联网问题,实现大规模、异构网络的互联互通;二是分割顶层网络应用和底层网络技术之间的耦合关系,以利于两者的独立发展。根据端到端的设计原则,IP只为主机提供一种无连接、不可靠的、尽力而为的数据包传输服务。
1、IPv4
IPv4,是互联网协议(Internet Protocol,IP)的第四版,也是第一个被广泛使用,构成现今互联网技术的基础的协议。连接到Internet的每个设备和域都分配有一个唯一的编号,称为IP地址。
2、IPv6
IPv6的全称是Internet Protocol version 6,其中,Internet Protocol译为“互联网协议”,所以,IPv6就是互联网协议第6版。IPv6具有比IPv4大得多的编码地址空间,彻底解决了IPv4地址不足的问题。同时,IPv6简化了地址配置、网络重编号和路由器通知等方面,从而提升了网络连接速度。此外,使用IPv6还可提高网络安全性,并降低网络延时。
3、IPv4包头
IP数据包封装从上面层接收到的数据单元,并添加自己的头信息。该封装的数据被称为IP有效载荷。 IP报头包含所有必需的信息以在另一端传送的数据包。IPv4包头一般是20字节长。在以太网帧中,IPv4包首部紧跟着以太网帧首部,同时以太网帧首部中的协议类型值设置为080016。 IPv4一般很少使用可选项字段,如果使用IPv4包首部最长可扩展到60字节(总是4个字节4个字节的扩展)
- Version:4 bit,4:表示为IPv4;6:表示为IPv6。
- Header Length:4 bit,首部长度,如果不带Option字段,则为20,最长为60。
- Type of Service:8 bit,服务类型。只有在有QoS差分服务要求时,这个字段才起作用。
- Total Length:16 bit,总长度,整个IP数据包的长度。
- Identification:16 bit,标识,分片重组时会用到该字段。
- Flags:3 bit,标志位。
- Fragment Offset:12 bit,片偏移,分片重组时会用到该字段。
- Time to Live:8 bit,生存时间。
- Protocol:8 bit,协议:下一层协议。指出此数据包携带的数据使用何种协议,以便目的主机的IP层将数据部分上交给哪个进程处理。
- Header Checksum:16 bit,首部检验和。
- Source IP Address:32 bit,源IP地址。
- Destination IP Address:32 bit,目的IP地址。
- Options:可变,选项字段。
- Padding:可变,填充字段,全填0。
二、什么是IP地址?
IPv4地址是32位数字,由四个小数组成。每个小数点之间是0到255之间的数字。
1、A/B/C/D/E类地址
早年没有VLSM技术的时候,只有靠A、B、C、D、E类网络地址的通用标准来实现网段的区分。
- A类地址是网络地址首位为0的地址,IP地址范围为:1.0.0.1-127.255.255.254
- B类地址是网络地址前2位为10的地址,IP地址范围为:128.1.0.1-191.255.255.254
- C类地址是网络地址前3位为110的地址,IP地址范围为:192.0.1.1-223.255.255.254
- D类地址是网络地址前4位为1110的地址,IP地址范围为:224.0.0.0-239.255.255.255
- E类地址是网络地址前4位为1111的地址,IP地址范围为:240.0.0.0-247.255.255.255
2、公网IP和私网IP
IP地址中D类、E类地址有特殊的用途,我们日常路由所使用的都是A/B/C三类地址。公网IP地址指的是可以在国际互联网中路由的地址,是全球唯一的。私网地址是从A/B/C类地址中拆分了一小部分地址用于局域网、企业网。私网地址包括1个A类地址,16个B类地址,256个C类地址,私网地址范围如下:
序号 | 所属 | 网络数量 | 范围 |
---|---|---|---|
1 | A类地址 | 1 | 10.0.0.0-10.255.255.255 |
2 | B类地址 | 16 | 172.16.0.0-172.31.255.255 |
3 | C类地址 | 256 | 192.168.0.0-192.168.255.255 |
3、其他
A/B/C类地址中除了私网IP地址和少量特殊用途的IP地址都可以作为公网IP地址在公网中路由和使用。特殊用途的地址举例如下:
序号 | 地址或地址范围 | 用途 |
---|---|---|
1 | 127.0.0.1-127.255.255.255 | 环回口地址 |
2 | 169.254.0.0-169.254.255.255 | 自动专用IP地址 (APIPA auto private IP address),windows终端在DHCP获取地址失败时会自动分配一个此范围内的IP地址 |
3 | 0.0.0.0 | 任意地址,常用用配置默认路由 |
4 | 255.255.255.255 | 限制广播地址 |
三、IP地址规划和计算
作为一名网络工程师,在日常工作中免不了需要进行IP地址规划和分配,这个时候需要我们熟练掌握IP地址计算,网络地址、子网、主机地址计算、拆分和合并等等。IP地址规划和计算是一名合格网络工程师的必备技能。
1、掩码计算
网络掩码就是结构为网络号全部是1,主机号全部是0的IP地址。如果把32位IP地址拆分为M+H,M表示网络位,H表示主机位,M位全部为1,H位全部为0即为网络掩码。IPv4地址表示采用的4段点分十进制形式,每一段是8位,这8位中M和H位可取值如下:
序号 | M位 | H位 | 掩码值 |
---|---|---|---|
1 | 0 | 8 | 0 |
2 | 1 | 7 | 128 |
3 | 2 | 6 | 192 |
4 | 3 | 5 | 224 |
5 | 4 | 4 | 240 |
6 | 5 | 3 | 248 |
7 | 6 | 2 | 252 |
8 | 7 | 1 | 254 |
9 | 8 | 0 | 255 |
总共是32位,拆分4段,如果是25位掩码地址,网络位25%8等于3模1,说明前三段全部为1,第4段1个网络位,根据上表可以推算网络掩码为:255.255.2555.128。
反之也可以根据掩码计算网络位。假设掩码为255.255.252.0计算网络位。根据上表可以得出M网络位为8+8+6=22位。
2、可用主机地址计算
可用主机地址计算一般分两种:可用主机地址数量和可用主机范围。可用主机地址数量只需要记住一个公式,2ⁿ-2,其中n=H,即n为主机位数值。可用主机地址范围只需要明白这个为什么减2,减的就是网络地址和广播地址,这两个地址是每个网络段的特殊地址,有着特殊用途,这两个地址分别是网段的第一个地址和最后一个地址,及主机位全0表示网段地址,主机位全1表示网段广播地址。
举例:114.124.128.0/17和114.124.128.0/25这两段的可用地址范围及数量。
子网 | 114.124.128.0/17 | 114.124.128.0/25 |
---|---|---|
网络位数 | 17 | 15 |
主机位数 | 25 | 7 |
网络地址 | 114.124.128.0 | 114.124.128.0 |
广播地址 | 114.124.255.255 | 114.124.128.127 |
可用主机数 | 32766 | 126 |
可用主机地址范围 | 114.124.128.1-114.124.255.254 | 114.124.128.1-114.124.128.126 |
如上示例,网络地址一样,网络位不一样,可用的主机数和可用地址范围就不一样,只需要计算出广播地址,我们就可以轻松写出可用主机地址范围。
3、网关的选择
网关是什么?网关实质上是一个网络通向其他网络的IP地址。很多人认为网关地址是第一个可用主机地址,其实这是不对的,网关地址可以是可用主机地址范围中的任意一个。只不过我们日常家用路由器尝尝用网段的第一个地址作为网关,所以造成了这种认知。只要通过这个地址可以将网络数据包正确的转发到其他网络它就可以作为网关。为了规划地址分配和管理,一般建议使用网段的第一个或者最后一个IP地址作为网关。如果是在静态分配IP地址的局域网中,个人建议使用最后一个IP地址作为网关,因为总有人网络不通的时候随意修改个人IP地址,而1往往是他们尝试的开始。(为了防止网关IP地址冲突,好的习惯是在网关设备上配置IP-MAC地址绑定)
4、子网划分
子网划分是指将1个A/B/C地址划分成多个网段。子网划分最重要的就是根据拆分后网段所需IP地址数量或者掩码来拆分主机位,将主机位一部分移做网络位。举例:将192.168.100.0/24网段划分为可以满足100人、60人、60人办公的三个子网。
5、超网合并
超网合并是指将多个A/B/C地址合并成1个网段。根据当前的网络计算主机位和网络位,将可以合并的主机位移做网络位。举例,将192.168.1.0/24,192.168.3.0/24,192.168.4.0/24三个C类地址合并为一个网段。
6、互联地址规划
网络工程师除了规划用于局域网或者系统的网络,还需要规划分配网络设备(交换机、路由器、防火墙等等)的IP地址,用于网络设备的管理和互联互通。互联地址一般情况下主要分两类:两台设备之间的直接互联和冗余协议互联。关于互联地址规划个人经验建议几点:
- 尽量节省地址资源
- 统一分配规则
- 单设备互联使用/30掩码段地址互联
- 冗余协议(HSRP,VRRP)互联使用/29掩码地址段互联
- 建议上联设备使用小地址,下联设备使用大地址
- 平级设备互联设备ID小的使用小地址,大ID使用大地址