IPv4 寻址方式简介
IPv4 支持三种不同类型的寻址模式。单播寻址方式、广播寻址方式和组播寻址方式。本章节我们来介绍这些寻址方式。
单播寻址方式
在这种模式下,数据只发送到一个目标主机。Destination Address 字段包含目标主机的 32 位 IP 地址。在这里,客户端将数据发送到目标服务器

广播寻址方式
在这种模式下,数据包被寻址到一个网段内的所有主机。Destination Address 字段包含一个特殊的广播地址,即255.255.255.255。当主机在网络上看到这个数据包时,它必然会对其进行处理。在这里,客户端发送一个数据包,所有服务器都接受它

组播寻址方式
这种模式是前两种模式的混合,即发送的数据包既不是去往单个主机,也不是去往网段上的所有主机。在这个数据包中,目标地址包含一个以 224.xxx 开头的特殊地址,可以被多个主机接收。

在这里,服务器发送由多个服务器接收的数据包。每个网络都有一个为代表网络的网络号保留的 IP 地址和一个为广播地址保留的 IP 地址,它代表该网络中的所有主机。
分层寻址方案
IPv4 使用分层寻址方案。一个 32 位长的 IP 地址被分成两个或三个部分,如图所示

单个 IP 地址可以包含有关网络及其子网以及最终主机的信息。该方案使 IP 地址能够分层,其中网络可以有许多子网,而子网又可以有许多主机。
子网掩码
32 位 IP 地址包含有关主机及其网络的信息。对二者的区分是非常有必要的。为此,路由器使用子网掩码,它与 IP 地址中网络地址的长度是一样的,也是 32 位长。二进制的 IP 地址与其子网掩码进行 AND 运算,结果将产生网络地址。例如,假设 IP 地址为 192.168.1.152,子网掩码为 255.255.255.0,则运算过程如下图所示

这样子网掩码有助于从 IP 地址中提取网络 ID 和主机。现在可以确定 192.168.1.0 是网络编号,而 192.168.1.152 是该网络上的主机。
二进制表示
位置表示法是从十进制值转换二进制值的最简单形式。IP 地址是 32 位值,分为 4 个字节。一个字节组包含 8 位二进制位,每个位的值可以由位值“1”在八位组中的位置确定。

位置值由 2 的 (位置 - 1)次幂决定,即 1 在第 6 位的值是 2(6-1) 即 25 ,值为 32。八位字节是通过将位的位置值相加来确定的。11000000 的值是 128+64 = 192。
可以通过下表的一些例子加深一下理解
| 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 | 值 |
|---|---|---|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
| 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 2 |
| 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 3 |
| 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 4 |
| 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 5 |
| 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 6 |
| 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 7 |
| 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 8 |
| 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 9 |
| 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 10 |
| 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 16 |
| 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 32 |
| 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 64 |
| 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 128 |
| 1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 168 |
| 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 192 |
| 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 255 |
更多关于IPv4的内容可以参考 迹忆客 IPV4教程
扩展阅读
IPv4 寻址方式简介的更多相关文章
- IPv6 寻址方式简介
在计算机网络中,寻址模式是指在网络上托管地址的机制.IPv6 提供了多种类型的模式,可以通过这些模式对单个主机进行寻址.也可以同时对多个主机进行寻址或者寻址最近距离的主机. 单播寻址 在单播寻址方式 ...
- ipv4 ipv6简介
互联网协议地址(英语:Internet Protocol Address,又译为网际协议地址),缩写为IP地址(IP Address),在Internet上,一种给主机编址的方式.常见的IP地址,分为 ...
- ipv4与ipv6 Inet4Address类和Inet6Address类
在设置本地IP地址的时候,一些人会疑惑IPv4与IPv6的区别是什么?下面由学习啦小编为你分享ipv4与ipv6的区别的相关内容,希望对大家有所帮助. ipv4与ipv6的区别 在windows 7以 ...
- vmware centos 安装
一.分区 一块硬盘主分区+扩展分区最多只能有4个,其中扩展分区最多只能有1个.扩展分区不能写入数据,只能包含逻辑分区.这些都不是linux的限制,而是硬盘结构的限制. 分区号 第一种分区法: |--- ...
- C#实现局域网聊天 通讯 Socket TCP 多人
程序分别为服务端与客户端,服务端创建套接字使用多线程侦听多客户端请求 代码需要引用System.Net:和System.Net.Socket:这两个类 分享源码demo:https://pan.bai ...
- linux进阶之nmtui和nmcli配置网络
CentOS7配置网络推荐使用NetworkManager服务(不推荐network服务). 图形化方式:nmtui或Applications->System Tools->Setting ...
- 网络拓扑实例13:IPv4静态路由与NQA联动简介
组网图形 IPv4静态路由与NQA联动简介 网络质量分析NQA(Network Quality Analysis)是一种实时的网络性能探测和统计技术,可以对响应时间.网络抖动.丢包率等网络信息进行统计 ...
- 套接字编程简介: IPV4套接字地址结构/ 通用套接字地址结构/ IPV6套接字地址结构/新通用套接字地址结构
IPv4套接字地址结构通常也称为“网际套接字地址结构”,它以sockaddr_in命名,定义在<netinet/in.h>头文件中. struct in_addr { in_addr_t ...
- JavaScript简介及示例
JavaScript简介及使用 一.简介 JavaScript一种直译式脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型.它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛 ...
随机推荐
- 一文彻底搞通TCP之send & recv原理
接触过网络开发的人,大抵都知道,上层应用使用send函数发送数据,使用recv来接收数据,而send和recv的实现原理又是怎样的呢? 在前面的几篇文章中,我们有提过,TCP是个可靠的.全双工协议.其 ...
- 【UE4 C++】获取运行时间、设置时间流速、暂停游戏
基于UGameplayStatics 获取运行时间 /** Returns the frame delta time in seconds, adjusted by time dilation. */ ...
- Java:ConcurrentHashMap类小记-2(JDK7)
Java:ConcurrentHashMap类小记-2(JDK7) 对 Java 中的 ConcurrentHashMap类,做一个微不足道的小小小小记,分三篇博客: Java:ConcurrentH ...
- 微信小程序的发布流程
一.背景 在中大型的公司里,人员的分工非常仔细,一般会有不同岗位角色的员工同时参与同一个小程序项目.为此,小程序平台设计了不同的权限管理使得项目管理者可以更加高效管理整个团队的协同工作 以往我们在开发 ...
- [no_code][Beta]事后分析
设想和目标 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 我们要解决的目前的手写表单的电子化问题,办公电子化问题的一个key问题.定义十分清楚: 输入: 手写表单 ...
- [源码解析] Pytorch 如何实现后向传播 (2)---- 引擎静态结构
[源码解析] Pytorch 如何实现后向传播 (2)---- 引擎静态结构 目录 [源码解析] Pytorch 如何实现后向传播 (2)---- 引擎静态结构 0x00 摘要 0x01 Engine ...
- (二)、Docker 快速入门
文档:https://docs.docker.com/install/linux/docker-ce/centos/ 中文文档:https://docs.docker-cn.com/engine/in ...
- 热身训练1 Problem B. Harvest of Apples
http://acm.hdu.edu.cn/showproblem.php?pid=6333 题意: 求 C(0,n)+C(1,n)+...+C(m,n) 分析: 这道题,我们令s(m,n) = C( ...
- 疯狂Java基础Day1
--每过一遍基础,都是一次提升! 太多遗忘了,慢慢补... 推一个Java学习教程--->b站搜:狂神说Java系列(排序完毕) 推荐原因:讲的不错,会涉及到底层,也会讲讲面试. 一.注释 主要 ...
- Tarjan算法离线 求 LCA(最近公共祖先)
本文是网络资料整理或部分转载或部分原创,参考文章如下: https://www.cnblogs.com/JVxie/p/4854719.html http://blog.csdn.net/ywcpig ...