IP地址是一个网卡在网络世界里的通讯地址,相当于我们家里的门牌号码。这样类比的话,很显然ip地址是唯一的。在windows系统中,我们可以使用 ipconfig 命令查看本机的ip地址相关信息:

图中 10.17.191.222就是本机ip地址,地址的大小为32bit,这个地址被分为四个部分,也就是每个部分8个bit。按照这种方式给网卡分配地址的话,那很快地址就不够用了,细分的话这个地址其实是IPv4地址。因此就出现了IPv6地址,这个有128位,由16进制表示。

32位的IP地址在使用的时候被分为5类,A、B、C类是我们经常用到的。

  其中网络号的含义可以这样类比,我是A小区的六栋1001号,你是B小区六栋1001号,A、B小区就代表不同的网络号。A、B、C三类地址所包含的主机数是有限的,C类主机数量非常少,使用的话确实挺尴尬的。上面的ip是A类的私有IP地址,其实数据中心、办公室、家里、学校的ip地址,一般都是私有ip地址段。因为这些地址允许组织内部的IT人员自己管理、自己分配,而且是可以重复的,也就是说不同的学校IP地址段可以相同。

这就像不同小区,你的楼栋叫6号 我的也可以叫6栋,不会出现问题。如果我们走出了小区,就要使用公有IP地址,就像崇文路2号这是政府命名的,不能相同。公有ip地址有组织统一分配,需要花钱买。比如开发一个网站给全世界人访问,就需要公有ip地址。192.168.0.*是最常用的私有ip地址,比如家里的wifi 对应会有一个IP地址。192.168.0就是网络号,后面是主机号,一般我们的主机数量不会超过2^8也就是256个。当我们的手机连上wifi,wifi的路由器的地址就是192.168.0.1,192.168.0.255就是广播地址。一旦发送的目的ip地址是这个,那么192.168.0网络里面所有的机器都能收到。

  我们之前学习网络的时候,应该都做过这样一道题目:对于 16.158.165.91/22 这个 CIDR,求一下这个网络的第一个地址、子网掩码和广播地址。CIDR(无类别域间路由选择)将是一个ip地址分为网络号和主机号,22的意思是网络号占22位。22不是8的倍数,将165转换成二进制为10100101。这里二进制的前6位网络号,后面都是主机号了。 所以第一个ip地址为16.158.<101001><00>.1, 即 16.158.164.1。子网掩码将ip地址划分为网络地址和主机地址,网络地址用1表示,主机地址用0表示。所以上面的ip地址的子网掩码为255.255.<11111100>.0即255.255.252.0。广播地址的主机号都用1填充,所以广播地址为16.158.<101001><11>.255即16.158.167.255。

  对于网络部分的知识我们应该结合实际的使用来理解,基础的概念很多,不然很容易记了就忘。

参考资料:《趣谈网络协议》刘松

     《计算机网络:自顶向下方法》原书第六版 陈鸣译

你应该知道的ip地址相关知识的更多相关文章

  1. IP地址相关知识

    IP地址基本概念                                                                                            ...

  2. IP地址基础知识

    IP地址基础知识 网络号:用于识别主机所在的网络:主机号:用于识别该网络中的主机. 一 OSI/RM模型 应用层 表示层 会话层 传输层 网络层 数据链路层 物理层 二 TCP/IP模型 数据链路层( ...

  3. IP 地址基本知识

    ip地址被分成了5类:A类,B类,C类,D类,E类 私有地址 只能在局域网内使用,不能在internet上使用的ip地址称为私有ip地址,私有ip地址有: 10.0.0.0-10.255.255.25 ...

  4. IP地址相关运算(如VLSM,超网汇总)

    1.根据IP地址+子网掩码算出IP地址所在的网段(网络号) 例子: IP地址192.168.10.33,子网掩码为:255.255.255.240 (/28) ,写出所在的网络号 1.得出子网的块大小 ...

  5. 已知局域网IP地址,如何查看mac

    arp -a 加对方IP是查对方的MAC地址 转自: http://zhidao.baidu.com/link?url=8sRdpGcjfGQ-C1F9zNub49Mxe3DAR-RCAHDkHvKC ...

  6. 笔记:修改centos的IP地址相关配置

    最近碰到不少认识的人问相关问题 索性做个笔记 图个方便 修改eth0的网卡配置vi /etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=eth0BOOTPR ...

  7. 学习React之前你需要知道的的JavaScript基础知识

    在我的研讨会期间,更多的材料是关于JavaScript而不是React.其中大部分归结为JavaScript ES6以及功能和语法,但也包括三元运算符,语言中的简写版本,此对象,JavaScript内 ...

  8. c++ ip地址相关

    #include <stdio.h> #include <string.h> #include <arpa/inet.h> #include <sys/typ ...

  9. BFS:UVa1590-IP Networks (子网掩码相关知识)

    IP Networks Alex is administrator of IP networks. His clients have a bunch of individual IP addresse ...

随机推荐

  1. 13.Django-分页

    使用Django实现分页器功能 要使用Django实现分页器,必须从Django中导入Paginator模块 from django.core.paginator import Paginator 假 ...

  2. 曹工说Redis源码(8)--面试时,redis 内存淘汰总被问,但是总答不好

    文章导航 Redis源码系列的初衷,是帮助我们更好地理解Redis,更懂Redis,而怎么才能懂,光看是不够的,建议跟着下面的这一篇,把环境搭建起来,后续可以自己阅读源码,或者跟着我这边一起阅读.由于 ...

  3. mybatis配置和使用

    1,配置 MyBatis实现映射器的2种方式:XML文件形式和注解形式,下文主要是用xml形式,比较好维护 mybatis-config.xml文件: <?xml version="1 ...

  4. 使用matplotlib进行可视化

    转自:https://blog.csdn.net/qq_30614345/article/details/99049790 https://blog.csdn.net/qq_30614345/arti ...

  5. cb42a_c++_STL_算法_替换_replace

    cb42a_c++_STL_算法_替换_replacereplace(b,e,ov,nv),ov,old value, nv,new valuereplace_if(b,e,p,v) 根据p的条件,全 ...

  6. WeChair项目Alpha冲刺(7/10)

    团队项目进行情况 1.昨日进展    Alpha冲刺第七天 昨日进展: 前端:页面修改和完善,安排页面美化 后端:和前端成功交互,数据解密成功 数据库:修改数据表属性,与后端部署数据库交互 2.今日安 ...

  7. selenium3.0-selenium发展史

  8. vue入门的第一天:v-clock、v-text、v-html的使用

    vue入门的第一天 1. v-cloak v-cloak可以解决插值闪烁问题(防止代码被人看见),在元素里加入 v-cloak即可 html: <p v-cloak>{{msg}}< ...

  9. SpringMVC 学习笔记(7)异常操作

    如何使用HandleException 在程序中,异常是最常见的,我们需要捕捉异常并处理它,才能保证程序不被终止. 最常见的异常处理方法就是用try catch来捕捉异常.这次我们使用springmv ...

  10. 【服务器】CentOs7系统使用宝塔面板搭建网站,有FTP配置(保姆式教程)

    内容繁多,请耐心跟着流程走,在过程中遇到问题请在下面留言(我只是小白,请专业人士喷轻点). 这次用thinkphp5.1做演示,单纯的做演示,我打算下一篇文章用typecho(博客框架)演示. 前言 ...