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. (五)pom文件详解

    <?xml version="1.0" encoding="UTF-8"?> <!--是所有pom.xml的根元素,并且在里面定义了命名空间和 ...

  2. 在Unix系统中执行可执行文件

    这篇文章是我在一个叫做Charlotte数据挖掘的公众号上看到的文章,文首提到转载自"朱小厮的博客",当我今天执行一个自己编译的可执行文件后的运行阶段想到了这篇文章,直接一次成功. ...

  3. SpringCloud(一)版本选择

    Springboot版本 官网:https://spring.io/projects/spring-boot 在官网上 springboot已经更新到最新2.2.6 Spingcloud版本 官网:h ...

  4. 特性速览| Apache Hudi 0.5.3版本正式发布

    1. 下载连接 源代码下载:Apache Hudi 0.5.3 Source Release (asc, sha512) 0.5.3版本相关jar包地址:https://repository.apac ...

  5. jenkins构建报错 Error fetching remote repo 'origin'

    ERROR: Error fetching remote repo 'origin' Finished: FAILURE // 原因如下 原因一:可能是配置的git分支的权限问题,检查一下配置里面的源 ...

  6. jmeter组件中 测试计划,线程组,sampler等等

    [测试计划] 这边用户定义的变量,定义整个测试中使用的重复值(全局变量),一般定义服务器的ip,端口号 [线程组] 关于,线程组,我简单聊聊,有不对的地方欢迎大家拨乱反正 线程数:你需要运行的线程 比 ...

  7. 【hdoj】哈希表题hdoj1425

    hdoj1425 github链接 #include<cstdio> #include<cstring> using namespace std; const int offs ...

  8. zip矩阵转至

    list01=[1,2,3,4] list02=["a","b","c","d"] for itme in zip(li ...

  9. typora中的图片处理20200622

    typora中的图片处理20200622 食用建议 typora作为markdown的书写神器,一般习惯的流程是在typora中写完,然后复制粘贴到博客园中,然而,markdown中图片采用的是本地连 ...

  10. 逻辑式编程语言极简实现(使用C#) - 2. 一道逻辑题:谁是凶手

    本系列前面的文章: 逻辑式编程语言极简实现(使用C#) - 1. 逻辑式编程语言介绍 这是一道Prolog经典的练习题,中文翻译版来自阮一峰的文章<Prolog 语言入门教程>. 问题 B ...