你应该知道的ip地址相关知识
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地址相关知识的更多相关文章
- IP地址相关知识
IP地址基本概念 ...
- IP地址基础知识
IP地址基础知识 网络号:用于识别主机所在的网络:主机号:用于识别该网络中的主机. 一 OSI/RM模型 应用层 表示层 会话层 传输层 网络层 数据链路层 物理层 二 TCP/IP模型 数据链路层( ...
- IP 地址基本知识
ip地址被分成了5类:A类,B类,C类,D类,E类 私有地址 只能在局域网内使用,不能在internet上使用的ip地址称为私有ip地址,私有ip地址有: 10.0.0.0-10.255.255.25 ...
- IP地址相关运算(如VLSM,超网汇总)
1.根据IP地址+子网掩码算出IP地址所在的网段(网络号) 例子: IP地址192.168.10.33,子网掩码为:255.255.255.240 (/28) ,写出所在的网络号 1.得出子网的块大小 ...
- 已知局域网IP地址,如何查看mac
arp -a 加对方IP是查对方的MAC地址 转自: http://zhidao.baidu.com/link?url=8sRdpGcjfGQ-C1F9zNub49Mxe3DAR-RCAHDkHvKC ...
- 笔记:修改centos的IP地址相关配置
最近碰到不少认识的人问相关问题 索性做个笔记 图个方便 修改eth0的网卡配置vi /etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=eth0BOOTPR ...
- 学习React之前你需要知道的的JavaScript基础知识
在我的研讨会期间,更多的材料是关于JavaScript而不是React.其中大部分归结为JavaScript ES6以及功能和语法,但也包括三元运算符,语言中的简写版本,此对象,JavaScript内 ...
- c++ ip地址相关
#include <stdio.h> #include <string.h> #include <arpa/inet.h> #include <sys/typ ...
- BFS:UVa1590-IP Networks (子网掩码相关知识)
IP Networks Alex is administrator of IP networks. His clients have a bunch of individual IP addresse ...
随机推荐
- RabbitMQ巩固学习一
说起RabbitMQ大家第一时间应该想到的就是异步队列,关于异步队列的话题简直太多了,各位同学在园子里一搜便知.我第一次听异步队列这个名词感觉非常高大上
- 【String注解驱动开发】面试官让我说说:如何使用FactoryBean向Spring容器中注册bean?
写在前面 在前面的文章中,我们知道可以通过多种方式向Spring容器中注册bean.可以使用@Configuration结合@Bean向Spring容器中注册bean:可以按照条件向Spring容器中 ...
- Java 多线程基础(十一)线程优先级和守护线程
Java 多线程基础(十一)线程优先级和守护线程 一.线程优先级 Java 提供了一个线程调度器来监控程序启动后进去就绪状态的所有线程.线程调度器通过线程的优先级来决定调度哪些线程执行.一般来说,Ja ...
- 常用电子邮件协议服务POP3/IMAP/SMTP/Exchange
标题: 常用电子邮件协议服务POP3/IMAP/SMTP/Exchange 作者: 梦幻之心星 347369787@QQ.com 标签: [电子邮件, 服务, 协议] 目录: [客户端] 日期: 20 ...
- Python3-configparser模块-配置文件解析器
Python3中的configparser模块主要用于处理类似于windows ini 文件结构的配置文件 1.configparser模块提供实现基本配置语言的ConfigParser类 2.配置文 ...
- 03 . 二进制部署kubernetes1.18.4
简介 目前生产部署kubernetes集群主要两种方式 kubeadm Kubeadm是一个K8s部署工具,提供kubeadm init和kubeadm join,用于快速部署Kubernetes集群 ...
- xxl-job搭建、部署、SpringBoot集成xxl-job
一.搭建xxl-job 1.下载xxl-job代码 码云地址:https://gitee.com/xuxueli0323/xxl-job gitHub地址:https://github.com/xux ...
- js基础练习题(4)
9.对象 阅读代码,回答问题 function User(name) { var name1 = name; this.name2 = name; function getName1() { retu ...
- .netcore 网站启动后 502.5
网站启动后,报错 HTTP Error 502.5 - ANCM Out-Of-Process Startup Failure 请检查安装的.netcore runtime版本和hosting版本是否 ...
- Python3笔记003 - 1.3 python开发工具
第1章 认识python 1.3 python开发工具 IDLE(python自带的python shell) Pycharm(python开发的,选择专业版) 1.进入IDLE模式: C:\Prog ...