3.1、计算机网络常见的一些概念(基于IPV4)

文章目录

1、基础概念

1.1、IPV4 由32个二进制数字组成

IPV4 地址由 32个二进制数字组成,即4个字节;
由于二进制的可读性差,所以人们习惯把每一个字节的二进制数字转化为10进制数字,形如 127.0.0.1 。

1.2、保留地址

一些特殊的ip地址。有些保留地址可以作为ip使用,有些保留ip只能作为网络标识,还有一些保留ip未指定具体功能。保留地址的网络只能在内部进行通信,而不能与其他网络互连。因为本网络中的保留地址同样也可能被其它网络使用,如果进行网络互连,那么寻找路由时就会因为地址的不唯一而出现问题。

1.2.1、IPV4 中的保留地址

详情可见 特殊IP-保留地址

1.3、公有地址和私有地址

公有地址即公网地址,是全球唯一的。
私有地址只有在特定的网络环境(局域网)中是唯一的。
按照标准规范来说,A、B、C类地址中某些保留地址被专门用于作为私有地址。

由于公有地址数量有限,十分宝贵,一般很少给计算机配置公有地址,而是使用路由器拓展出一个局域网,然后给局域网内的机器配置一个私有地址。
其次,在实际配置时,并不会限制局域网内的IP,但是如果局域网的机器配置了公有IP,会导致该局域网内的机器无法访问真正的公有地址。
对于IPV4的分配可以参考 现实生活中IPV4的分配

1.4、网络地址(net_id)和主机地址 (host_id)

为了方便进行网络地址的管理,同时实现网络地址利用的最大化,一个 IPV4 地址可以分为两部分,即网络地址+主机地址。

  • 网络地址用于区分不同的网络,主机地址表示该局域网下的具体的主机。
  • A、B、C 类地址有网络地址和主机地址一说,D、E类地址没有网络地址一说。

比如
192.168.2.3 和 192.168.2.4 可以同属于 192.168.2.0 网段,那么网络地址就是 192.168.2.0
也可以是
192.168.2.3 和 192.168.2.4 可以同属于 192.168.0.0 网段
,那么网络地址就是 192.168.0.0

  • IPV4 地址借助 子网掩码(本文1.5)来识别网络地址和主机地址。

1.5、子网掩码

1.5.1、用子网掩码计算IP地址归属的网络地址

IP地址&子网掩码=网络地址

IP 地址与运算(全1得1,否则得0)可以得到网络地址。

IPV4 地址 11000000 00000000 00000001 00000001 (192.0.1.1)
子网掩码 11111111 11111111 00000000 00000000 (255.255.0.0)
与运算可得:
网络地址为 11000000 00000000 (192.1.0.0)

1.5.2、子网掩码的格式

1.5.0、为什么有子网掩码

  • 由于IPV4的IP数量有限,不可能给每一台计算机分配一个公有地址,所以实际上网络拓扑结构是:
    一个或一段公有IP-局域网-一段或一个私有IP-局域网-··

一个IP可以下挂几个子网段,一个网段可以关联多个私有IP。子网掩码就用于区分具体是哪一个网段——毕竟逻辑划分不表示这个IP被实际分配了,所以路由器需要缩小范围。

1.5.2.1、子网掩码的标准格式

子网掩码是全1+全零的组合,长度也是 32 位, 其对应网络地址的所有位都置为1,对应于主机地址的所有位置都为0

1.5.2.2、子网掩码的变体

由于子网掩码的使用方式是和IP地址做与运算,因此,如果IP中网络地址的二进制位数字为0,子网掩码对应位为0是没有关系的,所以在实际应用中,子网掩码可以灵活一些。

  • 举例子

标准情况,用子网掩码 255.255.0.0 得到 11.1.1.1 的网络地址为 10.1.0.0

IPV4 地址 00001011 00000001 00000001 00000001 (11.1.1.1)
子网掩码 11111111 11111111 00000000 00000000 (255.255.0.0)
与运算可得:
网络地址为 00001011 00000001 (11.1.0.0)

不规范,但是也不影响使用情况
用子网掩码 11.1.0.0 得到 11.1.1.1 的网络地址为 10.1.0.0

IPV4 地址 00001011 00000001 00000001 00000001(11.1.1.1)
子网掩码 00001011 00000001 00000000 00000000 (11.1.0.0)
与运算可得:
网络地址为 00001011 00000001 (11.1.0.0)

1.6、网络规模和分类

1.6.1、互联网(Internet)、以太网(局域网标准)、因特网(internet 最大广域网)的区别

  • 互联网(Internet)是指将两台计算机或者是两台以上的计算机终端、客户端、服务端通过计算机信息技术的手段互相联系起来的结果。其并未说明具体哪种网络技术实施的。互联网有广域网、城域网、局域网之分。
  • 以太网是现在主流的局域网标准,IEEE组织的IEEE 802.3标准制定了以太网的技术标准,它规定了包括物理层的连线、电子信号和介质访问层协议的内容。以太网是应用最普遍的局域网技术,取代了其他局域网技术如令牌环、FDDI和ARCNET。。
  • 因特网(internet)是最大的广域网,我们只有一个因特网,由广域网、城域网、局域网及单机按照一定的通讯协议组成的国际计算机网络。

1.6.2、局域网(LAN)、城域网(MAN)、广域网(WAN)

局域网(LAN) Local Area Network 通常只范围在几百米到几十千米的网络
城域网( MAN).Metropolitan Area Network通常覆盖1个城市,城域网是一个大型的局域网。
广域网(WAN).Wide Area Network…通常跨接很大范围如一个国家

1.7、网络分层和报文格式

1.7.0、网络分层

在这里插入图片描述

1.7.1、TCP 首部(运输层)

在这里插入图片描述

1.7.2、UDP 首部(运输层)

在这里插入图片描述

1.7.3、IP 首部(网络层)

在这里插入图片描述

1.7.4、MAC 帧(数据链路层)

在这里插入图片描述

2、命令集合

2.0、查看本地IP

2.1、查看本机缓存的 IP和MAC 对信息

本地缓存的 IP 和 MAC 信息,下面的信息如何获取呢?
命令

arp -a

结果

接口: 192.168.1.13 --- 0xb
  Internet 地址         物理地址              类型
  192.168.1.1           XX-XX-XX-XX-74-49     动态
  192.168.1.2           XX-XX-XX-XX-d4-75     动态
  192.168.1.4           XX-XX-XX-XX-35-1c     动态
  192.168.1.7           XX-XX-XX-XX-c1-94     动态
  192.168.1.12          XX-XX-XX-XX-18-29     动态
  192.168.1.255         XX-XX-XX-XX-ff-ff     静态
  224.0.0.22            XX-XX-XX-XX-00-16     静态
  224.0.0.251           XX-XX-XX-XX-00-fb     静态
  224.0.0.252           XX-XX-XX-XX-00-fc     静态
  239.255.255.250       XX-XX-XX-XX-ff-fa     静态
  255.255.255.255       XX-XX-XX-XX-ff-ff     静态

2.2、查看本地路由表

2.2.1、route PRINT

该命令仅适用于 Windows 环境

//查看所有路由表
route PRINT
//查看IPV4 路由表
route PRINT -4
//查看IPV6路由表
route PRINT -6
  • 举例子
route print -4
===========================================================================
接口列表
 12...14 da e9 5c b0 d1 ......Realtek PCIe GBE Family Controller
 11...74 2f 68 48 cb 87 ......Atheros AR9285 Wireless Network Adapter
  1...........................Software Loopback Interface 1
 18...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter
 13...00 00 00 00 00 00 00 e0 Teredo Tunneling Pseudo-Interface
 15...00 00 00 00 00 00 00 e0 Microsoft 6to4 Adapter
===========================================================================

IPv4 路由表
===========================================================================
活动路由:
网络目标        网络掩码          网关       接口   跃点数
          0.0.0.0          0.0.0.0       12.12.12.1     12.12.12.100     25
       12.12.12.0    255.255.255.0            在链路上      12.12.12.100    281
     12.12.12.100  255.255.255.255            在链路上      12.12.12.100    281
     12.12.12.255  255.255.255.255            在链路上      12.12.12.100    281
        127.0.0.0        255.0.0.0            在链路上         127.0.0.1    306
        127.0.0.1  255.255.255.255            在链路上         127.0.0.1    306
  127.255.255.255  255.255.255.255            在链路上         127.0.0.1    306
        224.0.0.0        240.0.0.0            在链路上         127.0.0.1    306
        224.0.0.0        240.0.0.0            在链路上      12.12.12.100    281
  255.255.255.255  255.255.255.255            在链路上         127.0.0.1    306
  255.255.255.255  255.255.255.255            在链路上      12.12.12.100    281
===========================================================================
永久路由:
  网络地址          网络掩码  网关地址  跃点数
          0.0.0.0          0.0.0.0     192.168.80.1     默认
===========================================================================

2.2.2、netstat -r

该命令可用于 Mac 和 Windows 环境

netstat -r
  • 举例(Mac)
netstat -r
Routing tables

Internet:
Destination        Gateway            Flags        Refs      Use   Netif Expire
default            12.12.12.1         UGSc          124       69     en0       
12.12.12/24        link#10            UCS             0        0     en0      !
12.12.12.1/32      link#10            UCS             1        0     en0      !
12.12.12.1         3c:46:d8:97:9d:74  UHLWIir        51      128     en0   1162
12.12.12.102/32    link#10            UCS             0        0     en0      !
127                localhost          UCS             0        0     lo0       
localhost          localhost          UH             25   551611     lo0       
169.254            link#10            UCS             1        0     en0      !
224.0.0/4          link#10            UmCS            2        0     en0      !
224.0.0.251        1:0:5e:0:0:fb      UHmLWI          0        0     en0       
239.255.255.250    1:0:5e:7f:ff:fa    UHmLWI          0        8     en0       
255.255.255.255/32 link#10            UCS             0        0     en0      !

Internet6:
Destination        Gateway            Flags         Netif Expire
default            fe80::%utun0       UGcI          utun0       
localhost          localhost          UHL             lo0       
fe80::%lo0         fe80::1%lo0        UcI             lo0       
fe80::1%lo0        link#1             UHLI            lo0       
fe80::%en5         link#8             UCI             en5       
fe80::aede:48ff:fe ac:de:48:0:11:22   UHLI            lo0       
fe80::aede:48ff:fe ac:de:48:33:44:55  UHLWIi          en5       
fe80::%en0         link#10            UCI             en0       
macbook.loc a4:83:e7:93:e6:4e  UHLI            lo0       
fe80::%awdl0       link#12            UCI           awdl0       
fe80::c85d:2eff:fe ca:5d:2e:15:af:26  UHLI            lo0       
fe80::%utun0       macbook.loc UcI           utun0       
macbook.loc link#18            UHLI            lo0       
ff01::%lo0         localhost          UmCI            lo0       
ff01::%en5         link#8             UmCI            en5       
ff01::%en0         link#10            UmCI            en0       
ff01::%awdl0       link#12            UmCI          awdl0       
ff01::%utun0       macbook.loc UmCI          utun0       
ff02::%lo0         localhost          UmCI            lo0       
ff02::%en5         link#8             UmCI            en5       
ff02::%en0         link#10            UmCI            en0       
ff02::%awdl0       link#12            UmCI          awdl0       
ff02::%utun0       macbook.loc UmCI          utun0    

2.2.3、本地路由表属性含义

2.2.1.1、跃点数

到达目的网络中途需要经过几个网段,也就是需要通过多少个路由器

2.2.1.2、Destination 目标地址
  • 第一种
    直接就是一个地址
    12.12.12.100
  • 第二种,除了地址还包含了子网掩码
    地址/子网掩码
    12.12.12/24
    掩码为24个1,即255.255.255.0
    对应的网络地址为 12.12.12.0
    该网段包含的IP为 12.12.12.1~12.12.12.255,其中 12.12.12.255 为广播地址
2.2.1.3、Netmask

网络掩码列提供这个网段本身的子网掩码,而不是连接到这个网段的网卡的子网掩码。这基本上能够让路由器确定目的网络的地址类。

2.2.1.4、Gateway

网关。一旦路由器确定它要把这个数据包转发到哪一个目的网络,路由器就要查看网关列表。网关表告诉路由器这个数据包应该转发到哪一个IP地址才能达到目的网络。

2.2.1.5、Interface

接口列告诉路由器哪一个网卡连接到了合适的目的网络。从技术上说,接口列仅告诉路由器分配给网卡的IP地址。那个网卡把路由器连接到目的网络。然而,路由器很聪明,知道这个地址绑定到哪一个物理网卡。

2.2.1.6、Metric

跳数,跳数用于指出路由的成本,通常情况下代表到达目标地址所需要经过的跳跃数量,一个跳数代表经过一个路由器。跳数越低,代表路由成本越低,优先级越高。

2.4、 查看路由路径

命令:
tracert www.baidu.com

在这里插入代码片
  • 举例子
    (1)基础信息(12.12.12.100 是在局域网给本地电脑配置了公有地址,一般应该配置私有地址,影响就是局域网内无法访问到实际的这个公网IP了)
    IPv4 地址 . . . . . . . . . . . . : 12.12.12.100
    子网掩码 . . . . . . . . . . . . : 255.255.255.0
    默认网关. . . . . . . . . . . . . : 12.12.12.1
    (2)分析
    第一跳为 12.12.12.1 即默认网关,也即LAN 的网关
    第二跳为 192.168.1.1 为 WAN 的默认网关
    第三跳为 10.21.0.1,依旧时局域网,可以猜想是小区所在网络的 默认网关
    之后 111.13.98.174 已经为公网地址
tracert www.baidu.com

通过最多 30 个跃点跟踪
到 www.a.shifen.com [39.156.66.18] 的路由:

  1    <1 毫秒    1 ms     2 ms  12.12.12.1
  2     6 ms     1 ms     3 ms  192.168.1.1 [192.168.1.1]
  3     7 ms     6 ms     3 ms  10.21.0.1 [10.21.0.1]
  4     *        *        *     请求超时。
  5    15 ms     7 ms     8 ms  111.13.98.174
  6     7 ms    11 ms    11 ms  39.156.27.1
  7   383 ms    25 ms    12 ms  39.156.67.1
  8     *        *        *     请求超时。
  9     *        *        *     请求超时。
 10     *        *        *     请求超时。
 11     *        *        *     请求超时。
 12     *        *        *     请求超时。
 13     *        *        *     请求超时。
 14     7 ms     7 ms     9 ms  39.156.66.18

跟踪完成。

2.5、查看本地 ARP 缓存(本次 IP-MAC 缓存)

命令

arp -a

结果


接口: 12.12.12.100 --- 0xb
  Internet 地址         物理地址              类型
  12.12.12.1            xx-xx-xx-xx-9d-74     动态
  12.12.12.255          xx-xx-xx-xx-ff-ff     静态
  224.0.0.22            xx-xx-xx-xx-00-16     静态
  224.0.0.251           xx-xx-xx-xx-00-fb     静态
  224.0.0.252           xx-xx-xx-xx-00-fc     静态
  239.11.20.1           xx-xx-xx-xx-14-01     静态
  239.255.255.250       xx-xx-xx-xx-ff-fa     静态
  255.255.255.255       xx-xx-xx-xx-ff-ff     静态

3、路由器

路由器配置模拟器

3.1、交换机或路由器的 WAN 口和LAN 口

WAN 口用于连接外部的网络(更大的局域网->城域网->因特网)。
LAN口用于连接内部的网路,即一个路由器可以组成自己的局域网。
WLAN 是无线局域网网络。
在这里插入图片描述

3.2、默认网关(局域网中一个地址)和网关(不通网络交互的设备)

在路由寻址的过程中,不同网络中的主机是无法直接通信的,这个时候我们需要指定本网络中的一个网络地址作为代表和外界进行通信,这就是默认网关,就是本网络中的一个 IP地址。
网关是一种设备,不同的网络通过网关来进行沟通,网关可以是路由器交换机等。

举例子:PC 把信息交给默认网关,默认网关是路由器(网关)和 PC 交互的地址,有路由器负责将信息传递给其他网络。

4、IP地址分配

4.0、IP地址在实际生活中的分配

请移步:现实生活中IPV4的分配

4.1、PPP和PPPoE(小区内电脑计费连入因特网)

  • PPP是Point to Point Protocol(点到点协议)
  • PPPoE是Point to Point Protocol over Ethernet的缩写,意思也就是以太网(局域网协议)上的PPP
  • 它利用以太网(局域网)将大量主机组成网络,通过一个远端接入设备连入因特网,并对接入的每一台主机实现控制计费功能,PPPoE广泛应用在包括小区组网建设等一系列应用中,前些年流行的宽带接入方式ADSL就使用了PPPoE协议。
  • 简单来说,就是路由器通过PPPoE连接了因特网
    在这里插入图片描述

4.2、DHCP(用于动态分配局域网内的IP)

动态主机配置协议 DHCP(Dynamic Host Configuration Protocol,动态主机配置协议) 是 RFC 1541(已被 RFC 2131 取代)定义的标准协议,该协议允许服务器向客户端动态分配 IP 地址和配置信息。

4.2.1、DHCP 的结构

DHCP协议支持C/S(客户端/服务器)结构,主要分为两部分:
1、DHCP客户端:通常为网络中的PC、打印机等终端设备,使用从DHCP服务器分配下来的IP信息,包括IP地址、DNS等。
2、DHCP服务器:所有的IP网络设定信息都由DHCP服务器集中管理,并处理客户端的DHCP请求。
DHCP采用UDP作为传输协议,客户端发送消息到DHCP服务器的的67号端口,服务器返回消息给客户端的68号端口。

4.2.2、DHCP 分配的IP地址没有限制

这里的没有限制是说,不会限制你设置的网段,但是这样做会有弊端。
由于寻址的时候,会优先判断目标IP是否是本局域网的,如果是,则不会通过默认网关访问到外部网络,因此,如果配置的IP不是私有IP,而是公有IP(全球IP),那么会影响对这个正式公有IP(全球IP)的访问
当然,如果这个公有IP确认不会访问,则也可以被用作私有IP,但是需要注意,这样是违反规范的。

5、寻址

5.0、IPV4 的寻址过程

请移步:IPV4 的寻址过程

5.1、DNS 协议

域名转IP协议,一般借助于DNS服务器,DNS服务器保存了域名IP映射关系
知名的 DNS 域名服务器有 谷歌的 8.8.8.8
但是如果是一些局域网,那么可能有自定义域名,需要使用特定的DNS服务地址,这在一些大型的公司中比较常见。
DNS 优先级从高到低为:

5.1.1、优先级

由高到低顺序为:
浏览器缓存 >
本地hosts >
路由缓存(实际存在多级路由,越靠近本地PC的路由缓存优先级越高) >
DNS服务(本地域名、顶级域名、根域名)->迭代解析递归查询

5.2、APR 和 RAPR

5.2.1、APR

ARP(Address Resolution Protocol),即地址解析协议。ARP表中维护了IP --> MAC地址的映射,另外其为了知道映射关系,需要询问网内的主机,让对方告知其MAC地址,即询问目标IP对应的MAC地址。

5.2.1.1、APR 协议流程

1.1. 网页输入地址,回车后产生的影响。
1.1.1. 调用gethostbyname,通过域名获取ip。使用DNS协议。
1.1.2. 使用获取到的ip进行连接,TCP发出一个连接请求。
1.1.3. 使用IP封装请求包。
1.1.4. 查询ARP缓存,如果有相应的MAC,则直接发送;否则发送ARP请求。
1.1.5. 只有相应IP的主机才会响应该请求,并填充其IP和MAC。
1.1.6. 发送方收到应答后即知道MAC,因此可以发送链路层的包了。
1.2. 协议格式(略)
1.3. ARP代理
不同网络上时,又路由器响应ARP请求。因此一般,只记录本局域网的ARP记录,外域根据ip可知道不再本地,因此会直接转发给相应的路由器。
另外,主机启动时,会向局域网广播其IP和MAC,以便同域的其他主机更新其ARP记录。

5.2.1.2、APR 欺骗

ARP协议的基本功能是以广播的形式通过目标主机的IP地址查询目标主机MAC地址。网络内的主机都可以进行ARP应答,如果黑客将自己的主机侵入到你所在的网络内,当一台主机A发起ARP广播,黑客机器进行ARP应答,这样就导致A主机会将接下来的数据发送到黑客机器。
这就是ARP欺骗。

5.2.1.3、ARP欺骗的防范方法
  • 网关定时发送IP/MAC映射
  • 静态ARP
  • DHCP snooping

5.2.2、RARP协议

RARP协议是通过MAC地址获取IP的协议,和ARP协议刚好相反。

5.3、CIDR(无类别域间路由)

如果严格按照5类地址的分类来进行IP地址的配置,数量是远远不够的。
因此,实际的IP配置方式采用了不分类方式,直接使用 IP+子网掩码的方式。

  • 无类别域间路由是基于可变长子网掩码(VLSM)来进行任意长度的前缀的分配的。
  • 路由器在寻找过程中,会按照最精准匹配原则进行网络地址的匹配。

5.4、NAT技术

NAT(Network Address Translation)即:网络地址转换。NAT技术致力于将一个局域网络通过一个外网IP接入外网中。

5.4.1、静态NAT

如果一个内部主机唯一占用一个公网IP,这种方式被称为一对一模型。此种方式下,转换上层协议就是不必要的,因为一个公网IP就能唯一对应一个内部主机。显然,这种方式对节约公网IP没有太大意义,主要是为了实现一些特殊的组网需求。比如用户希望隐藏内部主机的真实IP,或者实现两个IP地址重叠网络的通信。

5.4.2、动态NAT

它能够将未注册的IP地址映射到注册IP地址池中的一个地址。不像使用静态NAT那样,你无需静态地配置路由器,使其将每个内部地址映射到一个外部地址,但必须有足够的公有因特网IP地址,让连接到因特网的主机都能够同时发送和接收分组。

5.4.3、NAPT(也是局域网实际使用的)

局域网机器会使用一个随机端口(任意>1024的随机端口)作为路由器识别自己的身份,局域网使用路由器的IP+端口作为自己在互联网上的唯一身份。
通过使用NAPT,只需使用一个公网ip地址,就可将数千名用户连接到因特网。其核心之处就在于利用端口号实现公网和私网的转换。

5.5、路由表

在计算机网络中,路由表(routing table)或称路由择域信息库(RIB, Routing Information Base),是一个存储在路由器或者联网计算机中的电子表格(文件)或类数据库。路由表存储着指向特定网络地址的路径(在有些情况下,还记录有路径的路由度量值)。路由表中含有网络周边的拓扑信息。路由表建立的主要目标是为了实现路由协议和静态路由选择。

5.5.1、路由表包含的内容

路由表中的表项内容包括:
destination:目的地址,用来标识IP包的目的地址或者目的网络。
mask:网络掩码,与目的地址一起标识目的主机或者路由器所在的网段的地址。
pre:标识路由加入IP路由表的优先级。可能到达一个目的地有多条路由,但是优先级的存在让他们先选择优先级高的路由进行利用。
cost:路由开销,当到达一个目的地的多个路由优先级相同时,路由开销最小的将成为最优路由。
interface:输出接口,说明IP包将从该路由器哪个接口转发。
nexthop:下一跳IP地址,说明IP包所经过的下一个路由器。

5.5.2、静态路由表

静态路由是由管理员在路由器中手动配置的固定路由,路由明确地指定了包到达目的地必须经过的路径,除非网络管理员干预,否则静态路由不会发生变化。静态路由不能对网络的改变作出反应,所以一般说静态路由用于网络规模不大、拓扑结构相对固定的网络。

5.5.3、动态路由表

动态路由表是指动态路由协议(如RIP)自动建立路由表,当你去掉一条连线时,它会自动去掉其路由。路由器的每一个接口对应不同网络,而一条连接两个路由器连线的两个端点IP应该属于同一网络。 设置的IP地址时,如果路由器的其它端口已有这个网络了,则提示已有这个网络,并显示对应的端口。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值