概述

IP地址–通用标识符

  • 唯一标识互联网上的主机或路由器(唯一、通用、网络连接)

主机标识符

  • name:是什么,可读性强
  • address:在哪里,软件效率高
  • route:如何达到

IP地址表示

IPv4地址

  • 长度为32 bit
  • 采用所谓的点分四组或点分十进制表示法
  • 每个数字是一个非负整数,范围为[0-255],代表整个IP地址的四分之一

IPv6地址

  • 长度为128 bit
  • IPv6地址的传统表示方法为采用称为块或字段的4个十六进制数,这些称为块或字段的数由==冒号==分隔

IPv6地址简化表示:

  • 一个块中前导的零必须压缩
  • 全零的块可以省略,并用符号::代替(::只能用于影响最大的地方,压缩最多的零),一个IPv6地址中只能使用一次::符号
  • 在IPv6格式中嵌入IPv4地址可使用混合符号形式,紧接着IPv4部分的地址块的值为ffff,地址的其余部分使用点分四组格式(IPv4映射的IPv6地址)【::ffff:10.0.0.1 –> 10.0.0.1】
  • IPv6地址的低32位通常采用点分四组表示法(IPv4兼容的IPv6)【::0102:f001 –> 1.2.240.1】
  • a到f的16进制数字应该用小写表示

IP地址结构

分类寻址

IP地址组成:网络部分和主机部分

  • 网络部分:用于识别接口使用的IP地址在哪个网络中发现
  • 主机地址:用于识别由网络部分给出的网络中的特定主机

地址中的一些连续位称为网络号,其余称为主机号。

img

image-20200719202429136

用于表示通信节点的IP地址为A、B、C三类,用于为Internet(单播地址)中的接口分配地址

D:供组播使用

E:保留地址

特殊网络地址

特殊地址 Net id Host ID 源/目的地址
网络地址 特定的 全0 都不是
直接广播地址 特定的 全1 目的地址
受限广播地址 全1 全1 目的地址
本网络上的本主机 全0 全0 源地址(0.0.0.0)
本网络上的特定主机 全0 特定的 目的地址
环回地址 127 任意 目的主机

网络地址:仅用于标识网络,而不标识网络内的任意节点,标识的是一个网络集合

直接广播地址:标识对特定网络的广播

受限广播地址(本地广播地址):标识对本地网络的广播

本网络上的特定主机:仅可作为源地址,获取自己的IP地址而临时使用的IP地址

子网掩码

子网掩码是由一台主机或路由器使用的分配位,以确定如何从一台主机对应IP地址中获取网络和子网信息。

掩码由路由器和主机使用,以==确定一个IP地址的网络/子网部分的结束和主机部分的开始。==

  • 表示网络或子网的大小
  • 32 bits 二进制数
  • 1表示一个IP地址的对应位与一个地址的网络/子网部分的对应位集合
  • 0表示一个IP地址的对应位作为主机ID的一部分

可变长度子网掩码

VSLM(可变长度子网掩码):用于分割一个网络号,使每个子网支持不同数量的主机。提高子网结构的灵活性

如何确定可变子网长度?

确定可变子网掩码长度的过程其实就是划分子网的过程。

当从主机位中借1位二进制位时,当前网络可划分出2个子网,每个子网主机数是原来的1/2-2;当从主机位中借2位二进制位时,当前网络可划分出4个子网,每个子网主机数是原来的1/4-2……当从主机位中借N位二进制位时,当前网络可划分为2N个子网,每个子网主机数是原来的2-N-2

192.168.10.0/24这个C类网络要划分出2个相等主机数的子网,则

  1. 网络号与子网掩码转为二进制

    网络号  192.168.10.0  转为二进制 11000000 10101000  00001010 00000000
    子网掩码 255.255.255.0 转为二进制 11111111 11111111 11111111 00000000
  2. 要把一个网络划分成两个相等子网,子网掩码要加1位,变成11111111 11111111 11111111 10000000

  3. 网络号从主机位借一位用于子网11000000 10101000 00001010 XYYYYYYY

    X位代表借入的,用于表示子网号,7个Y代表剩余主机位,X有两个值0和1。

    1)为0时:

    ​ 11000000 10101000 00001010 0YYYYYYY

    ​ 当Y全为0,表示划分出的这个子网的网络号,为11000000 10101000 00001010 00000000

    ​ 其主机可用IP地址范围是:

    ​ 11000000 10101000 00001010 0 0000001(192.168.10.1,掩码:255.255.255.128)

    ​ 至

    ​ 11000000 10101000 00001010 0 1111110(192.168.10.126,掩码:255.255.255.128)

    2)为1时

    ​ 11000000 10101000 00001010 1YYYYYYY

    ​ 当Y全为0,表示划分出的这个子网的网络号,为11000000 10101000 00001010 10000000

    ​ 其主机可用IP地址范围是:

    ​ 11000000 10101000 00001010 1 0000001(192.168.10.129,掩码:255.255.255.128)

    ​ 至

    ​ 11000000 10101000 00001010 1 1111110(192.168.10.254,掩码:255.255.255.128)

    综述,192.168.10.0/24要划分成两个相等主机数的子网,子网掩码要改为25位,划分出的两个子网情况是:

    子网1:

    网络号:192.168.10.0 子网掩码:255.255.255.128 广播地址:192.168.10.127

    主机IP地址范围:192.168.10.1至192.168.10.126

    子网2:

    网络号:192.168.10.128 子网掩码:255.255.255.128 广播地址:192.168.10.255

    主机IP地址范围:192.168.10.129至192.168.10.254

广播地址

  1. 定向广播地址

    1. 通过子网掩码取反与IP地址按位或运算得到
    2. 可作为一个单独的数据报通过Internet路由直至到达目标子网,再作为一组数据报发送给子网中所有主机
    * 由于安全问题,其在Internet中被禁用
  2. 本地网络广播(有限广播)

    1. 特殊地址:255.255.255.255
    2. 不会被路由器转发,链路层的广播机制用于支持它们
    3. 广播地址可用于IPv4中,而IPv6仅使用组播地址

IPv6地址和接口标识符

IPv6特点:

  • 一个IPv6地址范围指其可用的网络规模
  • 节点本地(只用于同一计算机通信)
  • 链路本地(只用于同一网络链路或IPv6前缀中的结点)
  • 全球性(Internet范围)
  • IPv6中,大部分节点通常在同一网络接口上使用多个地址
  • 一个IPv6节点需要一组地址,包括组播地址

链路本地IPv6地址使用接口标识符(IID)作为一个单播IPv6地址的分配基础。

IID的长度通常为64位,并直接由一个网络接口相关的链路层MAC地址形成,该地址使用修改的EUI-64格式或由其他进程随机提供的值形成,以提供可防范地址跟踪的某种程度的隐私保护。

EUI表示扩展唯一标识符

EUI-64标识符由一个24位的组织唯一标识符(OUI)+组织分配的40位可扩展标识符组成,并由前24位识别。

OUI由IEEE注册权威机构维护并分配。长度为24位,并占据EUI-48和EUI-64地址的前3个字节。该地址的第一个字节的低两位分别为u位和g位。当u位被设置时,表示该地址是本地管理,当g位被设置时,表示该地址是一组或组播类型的地址。

EUI-64计算方法:

  • 由EUI-48地址形成
  • 将EUI-48地址的24位OUI复制到EUI-64地址
  • EUI-64地址的4,5字节的16位替换为FFFE
  • 复制由组织分配的剩余位

修改的EUI-64用于形成IPv6地址的IID,但需要对u位取反。

链路本地IPv6地址计算方法:

  1. 查看接口MAC地址:

    eth0      Link encap:Ethernet  HWaddr 00:50:56:9d:a3:b4  
    inet addr:10.160.14.61 Bcast:10.160.14.255 Mask:255.255.255.0
    inet6 addr: fe80::250:56ff:fe9d:a3b4/64 Scope:Link
    UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
    RX packets:147710806 errors:2 dropped:3659 overruns:0 frame:0
    TX packets:158983119 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:1000
    RX bytes:9252586604 (9.2 GB) TX bytes:35110783086 (35.1 GB)
  2. 变换为EUI-64,MAC地址前三节不变,第4,5节插入fffe(固定的),并复制剩余位

    00:50:56:ff:fe:9d:a3:b4
  3. u位取反(第一节内容:0000 0000,后两位分别为0)

    0000 0000:50:56:ff:fe:9d:a3:b4
    u位取反:
    0000 0010:50:56:ff:fe:9d:a3:b4
  4. 形成的IID为:02:50:56:ff:fe:9d:a3:b4

  5. 使用保留的链路本地前缀fe80:/10,形成完整地址,/64为标准长度,用于一个IPv6地址中识别子网/主机部分:

    fe80:250:56ff:fe9d:a3b4

CIDR和聚合

前缀

无类别域间路由(CIDR)

单播/多播/广播地址

单播(Unicast)

  • 通信:一对一,源或目的地址
  • 因特网上的所有系统必须至少有一个唯一的单播地址
  • 可以为A、B或C类

多播(Multicast)

  • 通信:一对多,目的地址
  • 因特网上的系统可以由一个或多个多播地址
  • 只能是D类,本地级(本IP网络内的一组通信节点)或全局级

广播(Broadcast)

  • 通信:一对所有,目的地址
  • 受限广播或直接广播,本地级
地址范围 高序位 用途 百分比 网络数 主机数
A 0.0.0.0-127.255.255.255 0 单播/特殊 1/2 128(126) 1677216
B 128.0.0.0-191.255.255.255 10 单播/特殊 1/4 16384 65536
C 192.0.0.0-223.255.255.255 110 单播/特殊 1/8 2097152 256
D 224.0.0.0-239.255.255.255 1110 组播 1/16 N/A N/A
E 240.0.0.0-255.255.255.255 1111 保留 1/16 N/A N/A

专用网

  • 不需接入Internet,但需要用TCP/IP通信

  • 编址方案

    ​ 申请,并使用A、B、C类地址(全局唯一)

    ​ 不申请,直接使用A、B、C类地址(本组织唯一,全局不唯一)

    ​ 不申请,直接使用专用地址(本组织唯一,全局不唯一)

  • 专用地址(私有地址)

私有地址 总数
A 10.0.0.0-10.255.255.255 1 x A
B 172.16.0.0-172.31.255.255 16 x B
C 192.168.0.0-192.168.255.255 256 x C

术语

网络号:IP地址的一个组成部分

网络地址:一个IP地址