程序员必须知道的IP地址基础知识有哪些
【摘要】 假如现在突然问你 localhost与127.0.0.1有什么区别的时候,你会有什么反应??
是不是心里一万个艹泥M,哈哈哈哈。看完这篇,你就知道了
1. IP地址介绍
1).IP 和 MAC 的区别
- IP 和 MAC 的区别:IP 位于网络层,作用是主机间的通信,负责在没有直连的两个网络之间传输通信数据,而 MAC 位于数据链路层,作用是实现两个设备之间的直连通信
2).IP 地址表示
- IP 地址(吃IPv4)由 32 位正整数表示,在计算机中是以二进制的方式处理的,人类为了方便记忆而采用了点分十进制的标记方式:也就是将 32 位二进制的 IP 地址以每 8 位为一组,共分为 4 组,组之间用“.”隔开,再将每组转换成十进制数表示。也就是说,IP 地址的最大值就是 2^32= 4294967296
3). IP 地址分类
- IP 地址分类:互联网诞生之初,IP 地址显得很充裕,因此计算机科学家们设计了分类地址。他们把 IP 地址分为五种类型:A、B、C、D、E
4).特殊IP地址(私网地址)
-
A 类:10.0.0.0 ~ 10.255.255.255
-
B 类:172.16…0.0 ~ 172.31.255.255
-
C 类:192.168.0.0 ~ 192.168.255.255
5).无分类地址 CIDR
- 无分类地址 CIDR:不再有 A、B、C、D、E 等分类的概念,而是仅仅将 32 位的 IP 地址划分成两部分:网络号 + 主机号,形式为:a.b.c.d/x,其中/x 表示前 x 位属于 网络号,范围是 0~32。例如 10.100.122.2/24,通过 CIDR 也可以得到子网掩码
6).本机 IP、127.0.0.1 和 localhost三者区别:
- 本机 IP:确切地说是本机物理网卡的 IP 地址,它会受到防火墙和网卡的限制
- 127.0.0.1:这是一个环回地址,也是一个特殊的网络接口,从它发出的任何数据包都不会出现在网络中,它也会受到防火墙和网卡的限制
- localhost:它是一个域名,过去它指向 127.0.0.1 这个 IP 地址,现在它同时还指向 IPv6 地址:[::1] ,它不会受防火墙和网卡的限制
- 如果开启了防火墙,那么 127.0.0.1、localhost 和本机 IP,这三者中哪一个能 ping
通? Localhost
7). Ipv6 地址
(1).什么是ipv6
- IPv6 是英文“Internet Protocol Version 6”(互联网协议第 6 版)的缩写,是互联网工程任务组(IETF)设计的用于替代 IPv4 的下一代 IP 协议,其地址数量号称可以为全世界的每一粒沙子编上一个地址。
(2).表示方法
- 冒分十六进制表示法: 格式为 X:X:X:X:X:X:X:X, 每个 X 表示地址中的 16 个二进制
位 (或者十六进制数) , 例如: ABCD:EF01:2345:6789:ABCD:EF01:2345:6789,
这种表示法中,X 中的前导 0 是可以省略的
- 0位压缩表示法:如果一个 IPv6 地址中间包含很长的一段 0,就可以把连续的一段 0 压缩为“::”。但这种形式“::”只能出现一次,例如
FF01:0:0:0:0:0:0:1101 → FF01::1101
0:0:0:0:0:0:0:1 → ::1
0:0:0:0:0:0:0:0 → ::
内嵌 IPv4 表示法:为了和 IPv4 兼容,IPv4 地址可以嵌入 IPv6 地址中,此时地址
格式为:X:X:X:X:X:X:d.d.d.d,前 96 位采用冒分十六进制表示,而最后 32 位则
使用 IPv4 的点分十进制表示,例如 :::192.168.0.1
2.面试灵魂一问
为何有MAC地址还要IP地址?
-
答
# 基本上一个观点就是一个是物理地址,一个是逻辑地址。 假设两点在一个网络内。在这种情况下,只需要MAC地址就可以了。例如通过交换机将多台电脑组成一个网络。然而,如果两点不在一个网络内。这时就需要IP地址了。因为IP地址含有两个部分,一个是网络地址,一个是主机地址。因此,通过对方的IP地址,是可以判断出对方是否和本机在一个网络内。如果在一个网络内,如上所述,只需要知道对方的MAC地址即可通信。 # 如果不在一个网络内,本机的网络层就认为数据应该发送给网关。道理是显然的,如果不在一个网络内,首先得把数据发送出网络才可以。如何发出网络,当然是发给网关,因为网关就相当于网络的门卫。要想把数据发给网关,同样需要知道网关的MAC地址,如何知道网关的MAC地址呢?这就涉及到ARP协议。 # 电脑缓存里有一张ARP表,该表主要有两列:一列是IP地址,另外一列是MAC地址。这张表不是天生就有的,是随着网卡收到网络中的各种通信数据,不断学习增加的。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)