1.定义

IP地址就是给互联网上的每一台主机(或路由器)的每一个接口分配一个在全世界范围内是唯一的32位标识符(介绍的是IPV4)。

2.最基本的编址方法

最基本的编址方法是“分类的IP地址”。

所谓“分类的IP地址”就是将IP地址分为若干个固定类,每一类都由两个固定长度的字段组成。

第一个字段是网络号,它标志主机(或路由器)所连接到的网络。

第二个字段是主机号,它标志该主机(或路由器)。

一个IP地址在整个互联网范围内是唯一的。

上面的两级IP地址可以记为

IP地址::={<网络号><主机号>}

“::=”表示“定义为”。

A类,B类和C类地址都是单播地址(一对一通信)。

D类地址用于多播(一对多通信)。

E类地址保存为以后用。

A类,B类和C类地址的网络号字段(灰色部分)分别是1个,2个和3个字节长,网络号最前面有1~3位的类别位,分别是0,10和110.

同理A类,B类和C类地址的主机号分别为3个,2个和1个字节长。

为了方便表示IP地址,引入点分十进制记法。

3.点分十进制记法

我们常常把32位的IP地址中的每8位插入一个空格,并且用十进制数来表示每个8位的二进制数,这就是点分十进制记法。

下面是常用的三类地址

因为三类地址有许多的共性,所以就以A类地址为例。

A类地址的网络号字段占1个字节,但只有7位可供使用,因为第一位已经固定,但最大可指派的网络数并不是128个,而是126个,即2^7-2个,这是因为网络号字段为全0的IP地址是保留地址,意思是“本网络”,第二,网络号为01111111的保留为本地软件环回测试 本主机的进程之间的通信之用。

同时,A类地址主机号表示的最大主机数也要减二,即减去全0和全1的地址。

B类和C类与A类地址唯一不同的是,B类和C类地址的类别位存在1,所以网络号不可能为全0,所以最大可指派的网络数只需要减1.

注意上面题中说的是包含的IP地址的数量,意思是所有IP地址,包括全0和全1的情况。

IP地址的认识(一)相关推荐

  1. Go 学习笔记(79)— Go 标准库 net(获取本机IP地址)

    1. 获取本机 IP 地址 package mainimport ("fmt""net" )// 获取本机网卡IP func getLocalIP() (ipv ...

  2. Docker 入门系列(5)- Docker 端口映射(映射所有IP地址、映射到指定地址和指定端口、映射指定地址任意端口、查看映射端口配置)

    端口映射 映射容器内应用的服务端口到本地宿主主机 1. 从外部访问容器应用 在启动容器的时候,如果不指定对应的参数,在容器外部是无法通过网络来访问容器内的网络应用和服务的.当容器中运行一些网络应用,要 ...

  3. 分享2020 几个好用的ip地址归属地查询

    ip地址归属地查询接口 一.百度 大公司,不必说,肯定好用,我就一直用的他作为主要查询接口. url:http://opendata.baidu.com/api.php params:query=ip ...

  4. win10安装虚拟机提示主IP地址显示网络信息不可用

    问题:在虚拟机详情下面显示 主ip地址:网络信息不可用 解决方案 先root用户[root@localhost~]#cd - [root@localhost/]#cd /etc/sysconfig/n ...

  5. php dedecms 记录访问者ip,dedecms实现显示访问者ip地址的方法

    有时候我们需要在网站底部或其他地方显示访问者IP地址,这样我们可以在需要的位置放以下代码来显示: {dede:php} $user_IP = ($_SERVER["HTTP_VIA" ...

  6. Android 获取联网的IP地址

    这个方法需要先判断当前应用是否联网 联网判断的方法,请查看 首先你需要确保配置文件应添加了联网的权限 如果没有下面的直接的赋值过去即可 <uses-permission android:name ...

  7. 关于创建zeromq消息队列,设置和更改IP地址,远程可以访问,不只是本地链接。python代码。

    关于zeromq的创建,绑定本地,和绑定其他客户端的方法. 网上一大堆关于zmq的通信模式的介绍,包括三种类型,具体我就不在描述. 但是他们给的demo,都是创建本地作为server服务端,也作为cl ...

  8. Django mysql 多线程_【实例:利用Django管理后台管理IP地址】(四)Django test+多线程+数据库+(踩坑)...

    准备在views.py编写函数,多线程检测每个IP地址的占用情况.胡乱一通写完之后,哦豁,怎么测试写得对不对呢? 一开始想单独测试views.py文件,结果要引入各种包和配置文件,还要注意各种顺序,各 ...

  9. java 获取linux mac_java在linux获得ip地址和mac

    以前在linux下获取ip和mac一般使用jni,调用linux的ioctl.当然也有使用shell获取的. 发现在jdk 6下已经实现了,java.net.NetworkInterface上面有静态 ...

  10. java获取当前电脑的ip_Java获取电脑真实IP地址的示例代码

    /** * @author yins * @date 2018年8月12日下午9:53:58 */ import java.net.Inet4Address; import java.net.Inet ...

最新文章

  1. LeetCode简单题之二叉搜索树中的众数
  2. 并发编程-03线程安全性之原子性(Atomic包)及原理分析
  3. 启明云端分享|LVGL官方认证的开发板,到底有多牛
  4. java http编码_java httprequest编码/解码
  5. 4. Linux 系统目录
  6. js基础-22-基本数据类型不是对象
  7. adb连接手机显示:List of devices attached
  8. cJSON 轻量级json解析器 速度快
  9. 【C语言】扫雷(递归展开 + 标记功能)
  10. 一种面向业务流的内存管理算法
  11. GreenPlum 大数据平台--安装
  12. build-resource-filtering解释
  13. 利用supervisor对服务进行管理
  14. ISO14443 Type A类型卡的防碰撞过程以及命令解析
  15. 360极速浏览器扩展 文件夹 在哪
  16. [30期] 个人职业规划
  17. matlab imshow()函数显示白色图像问题
  18. 12306铁道部订票网站瘫痪 技术惹的祸?
  19. 我,一个当代创业人,如何让选择大于努力
  20. 钣金系统三维设计与工艺展开功能的实现

热门文章

  1. ardupilot软件仿真及调试(vscode版)
  2. 【C#】字体增大、减小、改变颜色
  3. Codeforces Round #439C 组合数-The Intriguing Obsession
  4. 混合模式程序集是针对“v1.1.4322”版的运行时生成的,在没有配置其他信息的情况下,无法在 4.0 运行时中加载该程序集。
  5. [Windows10]Win10如何获取最高管理员权限
  6. css3怎么实现筛子的效果??transform得常用属性??
  7. Unity升级到URP渲染管线,
  8. 转:程序员应该怎样去学习和掌握计算机英语呢?
  9. 《Effective Java》读书笔记五(枚举和注解)
  10. 强化学习的概念及学习过程