IP地址怎么来的

我们知道MAC地址是在网卡出厂时就确定了,那对于IP地址呢?IP地址的分类和配置都是人为设定的,那具体是怎么来的呢?

我们先来看看如何配置IP地址
如果对命令行比较熟悉的,可以使用ifconfig或者ip addr进行配置

ifconfig eth1 192.168.10.3/24
ifconfig eth1 up

或者

ip addr add 192.168.10.3/24 dev eth1
ip link set up eth1

我们不免疑问,是不是可以自己设定任意的IP地址?
答案是肯定的。你可以随便设定,比如即使你知道周围的电脑的IP地址都是192.168.10网段的,但你还是把自己本机的IP地址设为10.10.168.2。假设所有这些电脑都连接在同一个交换机上。然后你在自己的电脑上,去ping 192.168.10.10,你觉得只要把包发出去,同一个交换机的另一台机器马上就能收到,对不对?
可是Linux系统并不是这样的,他没有你想象的那么智能,它需要根据自己的逻辑去处理

IP地址

源IP地址:10.10.168.2
目标IP地址:192.168.10.10

MAC地址

源MAC地址:本机MAC地址,容易得到
目标MAC地址:????

目标MAC地址是什么呢?是192.168.10.10的MAC地址吗?显然不是
Linux首先会判断,要去的这个地址和我是在一个网段吗,或者和我的一个网卡是在同一网段的吗?只有是一个网段的,它才会发送ARP请求,获取MAC地址。
如果不是,Linux默认的逻辑是,如果这是一个跨网段的调用,它便不会将包发送到网络上,而是企图把包发到网关。
如果你配置了网关,Linux会获取到网关的MAC地址,然后将包发送出去。对于192.168.10.10这台机器,虽然路过它家门的包,目标IP是它,但是MAC地址不是它,所以它的网卡并不会接受网络包。

如果是没有配置我网关,那包压根就发不出去
如果把网关配置为192.168.10.10呢?这种是不可能的,Linux不会让你配置成功。因为网关要和当前的网络至少一个网卡是同一个网段的。10.10.168.2的网关肯定不会是192.168.10.10。

所以当我们需要手动配置一台电脑的IP时,要问问网络管理员,让他给你分配一个可用的IP地址。配置的时候一般都不会用命令直接配置,而是把IP地址写在配置文件里,通过读取配置文件来进行设定。

当我们配置了IP后,会有一个问题,IP地址不是像MAC地址一样,是一成不变的。比如我们的笔记本,我们在不同的地方使用时,连接不同的网络,IP地址会发生变化。如果每次都是我们手动配置,那会很麻烦,而且不一定配置正确。还有对于一个公司或者一个学校而言,如果没增加一台主机,都要网路管理员去分配IP地址,工作量是很大的。

这里就要提到一个自动配置的协议DHCP(Dynamic Host Configuration Protocol),动态主机配置协议。有了这个协议,网络管理员就轻松多了。他只需要配置一段共享IP地址。每一台新接入的机器都会通过DHCP协议,去这个共享的IP地址池中进行申请,然后自动进行配置。用完了,就还回去,需要用时,再申请,也可以续租。
这就好比租房子,你自己不用装修,都是帮你弄好了的,你只需要领包入住就行了。想接着住就续租,不想住了就退租。

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值