- ip地址
IP地址是在计算机网络中被用来唯一标识一台设备的一组数字。IPv4地址由32位二进制数值组成,但为了便于用户识别和记忆,采用了“点分十进制表示法”。采用了这种表示法的IPv4地址由4个点分十进制整数来表示,每个十进制整数对应一个字节。IPv4地址由如下两部分组成:
- 网络号码字段(Net-id):用来标识一个网络。
- 主机号码字段(Host-id):用来区分一个网络内的不同主机。对于网络号相同的设备,无论实际所处的物理位置如何,它们都是处在同一个网络中。IPv4地址分类:
通常网络位越短,可分配的主机就越多,网络位越多,分配的主机就越少。
[0.0.0.0-127.255.255.255]全0的主机号码表示该IP地址就是网络的地址,用于网络路由;全1的主机号码表示广播地址,即对该网络上所有的主机进行广播。
[128.0.0.0-191.255.255.255]全0的主机号码表示该IP地址就是网络的地址,用于网络路由;全1的主机号码表示广播地址,即对该网络上所有的主机进行广播。
[192.0.0.0~223.255.255.255] 全0的主机号码表示该IP地址就是网络的地址,用于网络路由;全1的主机号码表示广播地址,即对该网络上所有的主机进行广播。
[ 224.0.0.0~239.255.255.255]D类地址是一种组播地址。[240.0.0.0~255.255.255.255]保留。255.255.255.255用于局域网广播地址。
一个IPv4数据报文由首部和数据两部分组成。首部的前一部分是固定长度,共20个字节,是所有IPv4数据报必须具有的。在首部的固定部分的后面是一些可选字段,其长度是可变的。主要字段的解释如下表所示:
抓包可以看到如下所示:
source: 源ip,destination: 物理ip
掩码
掩码是来计算主机位,通常一个ip地址都是需要带掩码的,而掩码决定了ip地址段的开始和结束。
比如: 192.168.1.0/24 192.168.1.0/25
掩码通常用在路由配置的时候,比如网关的下一跳配置等
下图中,默认掩码是由网络位的24个1和25个1来表示网络位也就是子网掩码
当192.168.1.0/25到192.168.1.128/25的时候,网络已经不在一个网络段里面,只能通过3层才能互通了。
VLSM(可变长子网掩码) 是为了有效的使用无类别域间路由(CIDR)和路由汇聚(route summary)来控制路由表的大小,它是网络管理员常用的IP寻址技术,VLSM就是其中的常用方式,可以对子网进行层次化编址,以便最有效的利用现有的地址空间。
mac地址
ip地址是一个逻辑概念,任何人都可以叫做同一个ip地址。但是如果你要确定一个主机,还需要一个硬件地址,也就是mac地址。
在windows上,我们可以通过ipconfig /all
查看
以太网适配器 以太网:
连接特定的 DNS 后缀 . . . . . . . :
描述. . . . . . . . . . . . . . . : Killer E2400 Gigabit Ethernet Controller
物理地址. . . . . . . . . . . . . : 80-FA-5B-25-3B-1A
DHCP 已启用 . . . . . . . . . . . : 是
自动配置已启用. . . . . . . . . . : 是
本地链接 IPv6 地址. . . . . . . . : fe80::2c6c:8663:9bb2:4b0e%7(首选)
IPv4 地址 . . . . . . . . . . . . : 172.16.100.3(首选)
子网掩码 . . . . . . . . . . . . : 255.255.255.0
获得租约的时间 . . . . . . . . . : 2022年2月13日 9:56:49
租约过期的时间 . . . . . . . . . : 2022年2月14日 9:56:47
默认网关. . . . . . . . . . . . . : 172.16.100.254
DHCP 服务器 . . . . . . . . . . . : 172.16.100.254
DHCPv6 IAID . . . . . . . . . . . : 75561563
DHCPv6 客户端 DUID . . . . . . . : 00-01-00-01-1F-66-AC-6F-9C-B6-D0-01-7F-A1
TCPIP 上的 NetBIOS . . . . . . . : 已启用
我们观察里面的物理地址. . . . . . . . . . . . . : 80-FA-5B-25-3B-1A
而在linux上表现的则是以冒号分隔的: link/ether fa:28:00:04:ad:bb
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether fa:28:00:04:ad:bb brd ff:ff:ff:ff:ff:ff
inet 192.168.0.1/20 brd 172.16.47.255 scope global noprefixroute eth0
valid_lft forever preferred_lft forever
MAC(Media Access Control)地址用来定义网络设备的位置。MAC地址由48比特长、12位的16进制数字组成,其中从左到右开始,0到23bit是厂商向IETF等机构申请用来标识厂商的代码(OUI),24到47bit由厂商自行分派,是各个厂商制造的所有网卡的一个唯一编号。MAC地址可以分为3种类型:⚫ 物理MAC地址:这种类型的MAC地址唯一的标识了以太网上的一个终端,该地址为全球唯一的硬件地址。⚫ 广播MAC地址:全1的MAC地址(FF-FF-FF-FF-FF-FF),用来表示LAN上的所有终端设备。⚫ 组播MAC地址:除广播地址外,第8bit为1的MAC地址为组播MAC地址(例如01-00-00-00-00-00),用来代表LAN上的一组终端。
通常而言,一般都是动态学习mac地址的,但是为了防止mac地址欺骗,就会配置静态mac地址。
通常,mac地址学习随着ip地址租期而重新分配新的ip(一些长时间不使用的将会被老化),而静态mac地址是不会老化的,mac地址和ip静态的方式写入到配置文件,任何时候都不会改变,除非重新配置。
- 静态MAC地址(Static MAC)
由用户通过命令配置的静态转发的MAC地址,静态MAC地址和动态MAC地址的功能不同 ,静态地址一旦被加入,该地址在删除之前将一直有效,不受最大老化时间的限制。
- 动态MAC地址(Dynamic MAC)
由交换机从接受到报文自动学习到的MAC地址,当端口收到一个报文时,会查找报文的源MAC地址是否存 在于MAC地址表中,如果不存在则会将相应的端口、VLAN和源MAC地址关联起来,并保存到MAC地址表中, 动态MAC地址在达到一定老化时间后会被老化删除,但如果该地址在老化时间内被正确使用过,则会重新 激活该条地址的老化时间,同时MAC地址和端口的对应关系会随着设备所连的交换机的端口的变化而变化。
- 过滤MAC地址、黑洞MAC地址
由用户通过命令配置的静态过滤的MAC地址,当网关接收到的报文中,源或者目的MAC 地址为过滤MAC地址,则直 接丢弃该报文。
设备学习MAC地址的方法如下:如果从某接口(假设为接口A)收到一个数据帧,设备就会分析该数据帧的源MAC地址(假设为MAC-SOURCE)并认为目的MAC地址为MAC-SOURCE的报文可以由接口A转发;如果MAC地址表中已经包含MAC-SOURCE,设备将对该表项进行更新;如果MAC地址表中尚未包含MAC-SOURCE,设备则将这个新MAC地址以及该MAC地址对应的接口A作为一个新的表项加入到MAC地址表中。Note:用户手工配置的静态MAC地址表项和黑洞MAC地址表项不会被动态MAC地址表项覆盖,而动态MAC地址表项可以被静态MAC地址表项和黑洞MAC地址表项覆盖。设备在转发报文时,根据MAC地址表项信息,会采取以下两种转发方式:
mac地址用来确认在交换网络设备中的报文里面的主机是谁的,包括交换机的端口转发,如果有就单播,如果没有就广播学习
单播方式:当MAC地址表中包含与报文目的MAC地址对应的表项时,直接将报文从该表项中的转发出接口发送。广播方式:当设备收到目的地址为全1的报文,或MAC地址表中没有包含对应报文目的MAC地址的表项时,设备将采取广播方式将报文向除接收接口外的所有接口进行转发。
在mac地址冲突的情况,如果能够ping通,可以使用arping来查看。
iP冲突在网络环境还是运维环境都很常见。比如: VIP飘逸没有剔除,造成脑裂等