IP地址和路由

IP地址和路由

IPv4地址

IP地址

  • IP地址是逻辑上的地址,可人为分配,具有可管理性

  • IP地址可唯一标识 IP 网络中的每台设备

  • 每台主机(计算机、网络设备、外围设备)必须具有唯一的地址

  • IP地址由两部分组成
    ①网络ID
       标识网络
       每个网段分配一个网络ID
    ②主机ID
       标识单个主机
       由组织分配给各设备

  • IPv4地址格式:点分十进制
    IP地址和路由_第1张图片

IP地址分类

IP地址和路由_第2张图片

  • A类:
    0 000 0000 - 0 111 1111: 1-127
    网络数:126, 127
    每个网络中的主机数:2^24-2
    默认子网掩码:255.0.0.0
    私网地址:10.0.0.0

  • B类:
    10 00 0000 - 10 11 1111:128-191
    网络数:2^14
    每个网络中的主机数:2^16-2
    默认子网掩码:255.255.0.0
    私网地址:172.16.0.0-172.31.0.0

  • C类:
    110 0 0000 - 110 1 1111: 192-223
    网络数:2^21
    每个网络中的主机数:2^8-2
    默认子网掩码:255.255.255.0
    私网地址:192.168.0.0-192.168.255.0

  • D类:组播
    1110 0000 - 1110 1111: 224-239

  • E类:保留未使用
    240-255

  • 注:ABC类地址由于分类时主机数目差距特别庞大,不太适应于实际场景,因此目前一般采取不分类使用。(eg:2000台,每台主机分配一个地址,但根据ABC类地址分配地址就不符合应用场景)

  • 公共IP地址
    IP地址和路由_第3张图片

  • 私有IP地址
    IP地址和路由_第4张图片

  • 特殊地址
    ①0.0.0.0
       0.0.0.0不是一个真正意义上的IP地址。它表示所有不清楚的主机和目的网络
    ②255.255.255.255
       限制广播地址。对本机来说,这个地址指本网段内(同一广播域)的所有主机
    ③127.0.0.1~127.255.255.254
       本机回环地址,主要用于测试。在传输介质上永远不应该出现目的地址为“127.0.0.1”的 数据包
    ④224.0.0.0到239.255.255.255
       组播地址,224.0.0.1特指所有主机,224.0.0.2特指所有路由器。224.0.0.5指OSPF 路由器,地址多用于一些特定的程序以及多媒体程序
    ⑤169.254.x.x
       如果Windows主机使用了DHCP自动分配IP地址,而又无法从DHCP服务器获取地址,系统会为主机分配这样地址

子网掩码

  • 目前打破了ABC的分类方式,根据特定场景划分主机ID和网络ID,因此引入子网掩码,以便区分主机ID和网络ID。

  • 子网掩码:32bit二进制数字,用于区分主机ID和网络ID。

  • 对应于网络ID的位为1,对应于主机ID的位为0

  • 子网掩码的八位
    IP地址和路由_第5张图片
    即可能成为掩码的十进制数字
    00000000 0
    10000000 128
    11000000 192
    11100000 224
    11110000 240
    11111000 248
    11111100 252
    11111110 254
    11111111 255

  • 可变长度子网掩码,根据需求划分网络ID和主机ID eg:IP/21,IP/22

如何判断两个主机在同一网段?

  • 两个主机在同一网段:主机ID位数相同,需要根据掩码判断主机位数

  • 判断方法:IP与子网掩码相与,得出网络ID
    注意:二进制相与)

eg:192.168.38.7/24
网段:192.168.38.0

两个主机通信?

  • 两个主机通信:
    ①首先知道对方IP
    ②判断对方和自己是否属于同一网段
       同一网段:arp广播
       不同网段:找网关,若没有配置网关,则对方网络不可达。

  • 判断目标主机与自己是否在同一网段?

  • 注意:通信时是用自己的子网掩码与对方ip相与,因为通信时不知道对方子网掩码

  • eg:主机A与主机B的IP地址如下,请问A与B通信机制?
    A:192.168.38.100/25
    B:192.168.38.200/24
    此时子网掩码不一样的情况下:分别单独分析:
       ① A --> B (以A的子网掩码为基准)
       NETMASK:255.255.255.128
       192.168.38.0110 0100 & 255.255.255.1000 0000=192.168.38.0
       192.168.38.1100 1000 & 255.255.255.1000 0000=192.168.38.128
       ip-A 与 ip-B分别与A主机子网掩码相与,不相同,则不在同一网段


       ② B --> A(以B的子网掩码为基准)
       NETMASK:255.255.255.128
       192.168.38.0110 0100 & 255.255.255.0000 0000=192.168.38.0
       192.168.38.1100 1000 & 255.255.255.0000 0000=192.168.38.0
       ip-A 与 ip-B分别与B主机子网掩码相与,相同,则在同一网段

IP地址范围

  • glob:全局有效
  • link:只针对ip网卡所在链路有效
  • host:只有在本机访问有效,其他主机访问无效

配置主机IP时应该结合物理实际和逻辑

  • 场景一
    IP地址和路由_第6张图片
  • 场景二
    IP地址和路由_第7张图片
  • 逻辑上和物理上统一配置网络比较符合

划分子网

  • 划分子网:将一个大网(主机数较多)分成多个小网(主机数较少)

  • 实现:网络ID向主机ID借位

  • 网络ID必须为高位,主机ID必须为低位

  • 举例:
    10.0.0.0/8(划分子网)
    网络ID:8位
    主机ID:24位
    表示IP范围:10.0.0.1–10.255.255.254


    ①网络ID向主机ID借1位
    10.0000 0000.0.0/9 — 10.0.0.0/9
    10.0 0000000.0.0/9 — 10.0.0.0/9
    10.1 0000000.0.0/9 — 10.128.0.0/9
    (借1位时有0或1两种状态) 因此划分出2个子网


    ①网络ID向主机ID借2位
    10.0000 0000.0.0/10 — 10.0.0.0/10
    10.00 000000.0.0/10 — 10.0.0.0/10
    10.01 000000.0.0/10 — 10.64.0.0/10
    10.10 000000.0.0/10 — 10.128.0.0/10
    10.11 000000.0.0/10 — 10.192.0.0/10
    (借2位时具有:00 01 10 11) 因此划分出4个子网

    (以此类推)

  • 例题:将10.0.0.0/8划分32个子网
    1、子网的子网掩码?
    2、最小的子网的网络ID?
    3、最大的子网的网络ID?
    4、第10个子网的IP范围?
    解:32=2^5,因此网络ID需要向主机ID借5位,则子网一共13位
    10.00000 000.0.0/13
    1、子网的子网掩码:255.11111000.0.0=255.248.0.0
    2、最小的子网的网络ID:10.0.0.0/13
    3、最大的子网的网络ID:10.248.0.0/13
    4、第10个子网的IP范围:10.72.0.1~10.72.255.254

  • 合并超网:将多个小网合并成一个大网,主机id向网络id借位
    合并超网作用:合并超网可以节约路由器的路由记录,即节约路由器的存储空间
    IP地址和路由_第8张图片
    eg:上图这些IP合并超网时:
    220.78.10101 000.0
    220.78.10101 001.0

    220.78.10101 111.0
    主机id向网络id借3位满足网络id保持不变~因此此时路由记录将上图中的多条改为:220.78.168.0/21 即子网掩码为255.255.168.0

  • 还有可能出现以下场景:
    ①有时也设置30为的网络ID,剩下2主机IP
    ②在回环网卡上指定32网络ID,指定ip的情况。回环网卡指定ip不会因为物理网卡down导致ip丢失。

路由

路由简介

  • 路由主要的功能实现跨网络通信
  • 路由分类:
    主机路由:描述网络中某主机怎么到达
    网络路由:描述主机所在网络怎么到达,到达网络之后在ARP广播
    默认路由:指明走的方向就能到达
      访问时可能三种路由都知道,由优先级决定
  • 路由的优先级:精度越高,优先级越高

路由表

  • 路由器、主机中都有路由表,路由表有路由记录组成

  • 有路由表主机与不在同一网段的主机通信才能出去

  • 注: 路由是核心,网关是形式

  • 路由记录的组成:
    ①网络ID:目标主机所在网络id/子网掩码 (其中可以是主机ip,网络id,默认路由)
    ②接口(interface):本路由器要到达对应的网络所发送的本地接口(即路由器到达对应网络应该从哪一个接口转发)
    ③网关(gateway):要到达目标网络,需要发送到下一个路由器的接口ip(即目标主机不是与本机路由器直接相连的链路时,应该要转发至去目标主机且与本机当相邻的路由—>每个路由只负责与自己直连的链路和转发)
    ④meric:数字越小优先级越高(当有多条路径可供选择时)

  • 查看当前主机路由表信息:
    IP地址和路由_第9张图片
    IP地址和路由_第10张图片
    ①与路由表中没有记录的主机通信时,走默认路由,默认路由(0.0.0.0)-可以去任何网段(而且系统默认路由的优先级最低)
    ②默认路由是由网关生成的,(配置文件不配置网关就不会生成默认路由)

  • 路由记录的描述
    IP地址和路由_第11张图片
    如上图加入A与B通信,路由器1(R1)和路由器2(R2)的路由记录图表

路由表的生成

①静态路由:手动一条一条添加;(小环境)
②动态路由:通过守护进程获取动态路由
路由表的自动生成:路由协议 利用软件实现
RIP(学习使用,走的路径越少,越好)
OSPF(中小型企业使用,考虑带宽)
BGP(大型企业使用)
  quagga:软件包
  命令vtysh配置

路由相关命令和配置文件

  • ip route:- routing table management
    ①删除路由:ip route del TARGET
    ②显示路由:ip route show|list
    ③添加网关:ip route add default via GW dev IFACE
    ④清空路由表:ip route flush [dev IFACE] [via PREFIX]
           ip route flush dev eth0

  • route命令
    ①默认路由,网关:172.16.0.1
       route add -net 0.0.0.0 netmask 0.0.0.0 gw 172.16.0.1
       route add default gw 172.16.0.1
    ②删除:route del
       route del [-net|-host] target [gw Gw] [netmask Nm] [[dev] If]
    ③目标:192.168.1.3 网关:172.16.0.1
       route del -host 192.168.1.3
    ④目标:192.168.0.0 网关:172.16.0.1
       route del -net 192.168.0.0 netmask 255.255.255.0
    ⑤显示:route / route -n

  • 路由相关的配置文件:
    /etc/sysconfig/network-scripts/route-IFACE
    /etc/sysconfig/network-scripts/ifcfg-IFACE(需要手动创建)
    • 注意:需service network restart生效
    • 两种风格:(一般建议采用第一种风格)
    (1) TARGET via GW
    如:10.0.0.0/8 via 172.16.0.1
    (2) 每三行定义一条路由
    ADDRESS#=TARGET
    NETMASK#=mask
    GATEWAY#=GW

实验

  • 主机A和主机B通信,其中路由器使用Linux模拟,各阶段配置如下
    IP地址和路由_第12张图片
  • 实验总结:
    ①因为我在A主机没有配置默认网关(即没有默认路由),也并未配置路由记录去192.168.6.0/24网段
    在A主机添加的路由记录:(没有指明去192.168.6.0/24网段的路由记录,然后其A主机 ping B主机 )
    route add -net 192.168.38.0/24 gw 172.18.4.27/24
    造成现象:
    a、图中其他IP均能ping通除了A ping B;和B ping A
    b、当A主机去pingB主机时:报文只能到达192.168.38.0/24网段;
    c、当B主机去ping A主机时:A的响应报文也只能到达192.168.38.0/24网段;
    ②错误分析:此时172.18.0.0/16网段要抵达192.168.6.0/24 需要经192.168.38.0/24这个网段,但是添加的路由记录并不能抵达至192.168.6.0/24网段,受到路由的限制,报文在抵达192.168.38.0/24网段时就不进行转发了。
    ③错误原因:因为没有指明去192.168.6.0/24的路由记录。
    ④路由是指明方向,方向很重要╮(╯▽╰)╭

你可能感兴趣的:(网络)