热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

计算机网络地址书写,计算机网络——IP编址、子网掩码和特殊的IP地址

1.有类编址。网络层位于数据链路层与传输层之间。网络层中包含了许多协议,其中最为重要的协议就是IP协议。网络层提供了IP路由功能。理解IP路由除了要熟悉IP协议的工作

1.有类编址。

网络层位于数据链路层与传输层之间。网络层中包含了许多协议,其中最为重要的协议就是IP协议。网络层提供了IP路由功能。理解IP路由除了要熟悉IP协议的工作机制之外,还必须理解IP编址以及如何合理地使用IP地址来设计网络。P地址是网络设备接口的属性,而不是网络设备本身的属性。当我们说给某台设备分配一个IP地址时,实质上是指给这台设备的某个接口分配一个IP地址;设备有多个接口时,通常每个接口至少需要一个IP地址。

       IP地址的长度为32比特,由四个字节组成。IP地址通常采用点分十进制数来表示。例如:11.1.0.254就是采用点分十进制数表示的IP地址,下图是它对应的二进制数。ab8e8b7e0f7178740f4af4fe531a8bc3.png

IP地址的分配最初被设计分成了五类,分别是A类、B类、C类、D类、E类,如图:

3bce9ef9c15091f79c2613151bd09c6d.png

       在这里我们只研究A、B、C三类地址,它们都是单播地址,只有这三类中的IP地址才能分配给主机接口使用。主机接口的IP地址即是该接口在网络层的“身份识别号”,又在一定程度上表示了该接口的位置信息。从图中可以看出IP地址分为主机号和网络号两部分。网络号用于表示主机接口所在的网络而主机号用于表示在网络号所定义的网络范围内某个特定的主机接口。下图是A、B、C三类地址的结构差异:1c28752364a739e09bdcbc79d6a7a49d.png

我们通常也把一个网络号所定义的网络范围称为一个网段 。在图中计算一个网段中可分配的主机IP地址的个数时,除了将主机号的位数作为2的幂,还要减去2,这是因为每一个网络号下都预留两个特殊地址。

一个IP地址,若其网络号为X,且主机号的每个比特均为0,则该IP地址称为网络号为X的网络的网络地址。 网络地址是不能分配给具体的主机接口的。

一个IP地址,若其网络号为X,且主机号的每个比特均为1,则该IP地址称为网络号为X的网络的广播地址 。广播地址是不能分配给具体的主机接口的。

随着通信事业的发展这种编址方式已远远不能适应发展需要。

2.无类编址。

有类编址方法中A、B、C三类地址都限定了网络号和主机号的位数,在无类编制中则不限定,这使得IP地址的分配更加灵活,IP地址的利用率也得到了提高。下图是无类编址中的拓展网络号的位数:

970e1355220bb220965ce3894dbf7592.png

可以看到,保持原来的网络位不变,从之前的主机号中拿出来前两位用于网络位就可以将原来的一整段IP地址分成4个新的网段。

通常我们可以这样来规划和分配IP地址,假设一个组织所需要的主机IP地址的数量为N,我们可以通过计算确定出大于或等于N+2的最小的2的幂,然后以幂的值作为主机号的位数,余下的位全部作为网络地址。

采用有类编址时,我们能很容易的知道关于IP地址的所有信息。例如:对于64.1.5.0这个IP地址。由于其第一个字节的值在0~127的范围类,所以它肯定是一个A类地址,于是64便是其所在网络的网络号,其余3个字节为其主机号。并且,64.0.0.0是这个网络的网络地址,64.255.255.255是这个网络的广播地址,64.1.5.0是这个网络中的一个主机接口地址。采用无类编址后为了了解一个IP地址的网络属性必须引入子网掩码的概念。

3.子网掩码。

子网掩码由32个比特组成,可以看作是由4个字节组成,并且也通常以点分十进制数来表示。但是,子网掩码本身并不是IP地址,并且子网掩码必须由若干个连续的1后接若干个连续的0组成。下面是一些知识点:

我们通常将一个子网掩码中1的个数称为这个子网掩码的长度。例如:子网掩码0.0.0.0的长度为0,252.0.0.0的长度为6,255.192.0.0长度为10,255.255.255.255的长度为32。

当一个子网掩码与一个IP地址结合使用时,子网掩码中1的个数就表示这个IP地址的网络号的位数,而0的个数就表示这个IP地址的主机号的位数。如果将一个子网掩码与一个IP地址进行逐位的‘与’运算,所得的结果就是该IP地址所在网络的网络地址。例如:

对于64.1.5.0这个IP地址,假设其子网掩码为255.255.0.0,那么我们就可以通过计算得知这个IP地址所在网络的网络地址为64.1.0.0,计算过程如下:

18e0f91e9bfb0119f6ef713cd235c97f.png

子网掩码的引入使得无类编址方式可以完全后向兼容有类编址即:

fdd535f5ddc6b61d2689dbe2c3220c8c.png

目前,Internet所使用的都是无类编码方式,一个IP地址总是有其对应的子网掩码。书写IP地址时习惯IP地址在前子网掩码在后,中间用“/”隔开。 例如:64.1.5.0/255.255.0.0为了简化用子网掩码长度代替子网掩码本身,64.1.5.0/16。

4.特殊地址。

私有地址范围:

A类:10.0.0.0~10.255.255.255

B类:172.16.0.0~172.31.255.255

C类:192.168.0.0~192.168.255.255

在Internet上的网络设备均不会接收、发送、或者转发IP地址或目的地址在上述范围类的报文,这些地址只用于私有网络。

特殊地址:

127.0.0.0 ~ 127.255.255.255

0.0.0.0

255.255.255.255

127.0.0.0 ~ 127.255.255.255不属于任何一个有类别地址类。它代表设备的本地虚拟接口,所以默认被看作是永远不会宕掉的接口,主要作用有两个:某一是测试本机的网络配置,能ping通127.0.0.1说明本机的网卡和IP协议安装都没有问题;另一个作用是些SERVER/CLIENT的应用程序在运行时需调用服务器上的资源,一般要指定SERVER的IP地址,但当该程序要在同一台机器上运行而没有别的SERVER时就可以把SERVER的资源装在本机,SERVER的IP地址设为127.0.0.1同样也可以运行。

255.255.255.255是有限广播地址,可以作为IP数据包的目的IP地址使用,路由器在接到这种IP数据包后会停止对它的转发。

0.0.0.0网络地址的通配符,表示任何网络。



推荐阅读
  • 本文介绍了如何利用Shell脚本高效地部署MHA(MySQL High Availability)高可用集群。通过详细的脚本编写和配置示例,展示了自动化部署过程中的关键步骤和注意事项。该方法不仅简化了集群的部署流程,还提高了系统的稳定性和可用性。 ... [详细]
  • 如何在PHP中准确获取服务器IP地址?
    如何在PHP中准确获取服务器IP地址? ... [详细]
  • Java Socket 关键参数详解与优化建议
    Java Socket 的 API 虽然被广泛使用,但其关键参数的用途却鲜为人知。本文详细解析了 Java Socket 中的重要参数,如 backlog 参数,它用于控制服务器等待连接请求的队列长度。此外,还探讨了其他参数如 SO_TIMEOUT、SO_REUSEADDR 等的配置方法及其对性能的影响,并提供了优化建议,帮助开发者提升网络通信的稳定性和效率。 ... [详细]
  • 利用 Python Socket 实现 ICMP 协议下的网络通信
    在计算机网络课程的2.1实验中,学生需要通过Python Socket编程实现一种基于ICMP协议的网络通信功能。与操作系统自带的Ping命令类似,该实验要求学生开发一个简化的、非标准的ICMP通信程序,以加深对ICMP协议及其在网络通信中的应用的理解。通过这一实验,学生将掌握如何使用Python Socket库来构建和解析ICMP数据包,并实现基本的网络探测功能。 ... [详细]
  • 本文详细介绍了一种利用 ESP8266 01S 模块构建 Web 服务器的成功实践方案。通过具体的代码示例和详细的步骤说明,帮助读者快速掌握该模块的使用方法。在疫情期间,作者重新审视并研究了这一未被充分利用的模块,最终成功实现了 Web 服务器的功能。本文不仅提供了完整的代码实现,还涵盖了调试过程中遇到的常见问题及其解决方法,为初学者提供了宝贵的参考。 ... [详细]
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • 本文介绍了如何使用Python的Paramiko库批量更新多台服务器的登录密码。通过示例代码展示了具体实现方法,确保了操作的高效性和安全性。Paramiko库提供了强大的SSH2协议支持,使得远程服务器管理变得更加便捷。此外,文章还详细说明了代码的各个部分,帮助读者更好地理解和应用这一技术。 ... [详细]
  • 在Linux系统中避免安装MySQL的简易指南
    在Linux系统中避免安装MySQL的简易指南 ... [详细]
  • SecureCRT是一款功能强大的终端仿真软件,支持SSH1和SSH2协议,适用于在Windows环境下高效连接和管理Linux服务器。该工具不仅提供了稳定的连接性能,还具备丰富的配置选项,能够满足不同用户的需求。通过SecureCRT,用户可以轻松实现对远程Linux系统的安全访问和操作。 ... [详细]
  • 在Cisco IOS XR系统中,存在提供服务的服务器和使用这些服务的客户端。本文深入探讨了进程与线程状态转换机制,分析了其在系统性能优化中的关键作用,并提出了改进措施,以提高系统的响应速度和资源利用率。通过详细研究状态转换的各个环节,本文为开发人员和系统管理员提供了实用的指导,旨在提升整体系统效率和稳定性。 ... [详细]
  • Python 伦理黑客技术:深入探讨后门攻击(第三部分)
    在《Python 伦理黑客技术:深入探讨后门攻击(第三部分)》中,作者详细分析了后门攻击中的Socket问题。由于TCP协议基于流,难以确定消息批次的结束点,这给后门攻击的实现带来了挑战。为了解决这一问题,文章提出了一系列有效的技术方案,包括使用特定的分隔符和长度前缀,以确保数据包的准确传输和解析。这些方法不仅提高了攻击的隐蔽性和可靠性,还为安全研究人员提供了宝贵的参考。 ... [详细]
  • 优化后的标题:深入探讨网关安全:将微服务升级为OAuth2资源服务器的最佳实践
    本文深入探讨了如何将微服务升级为OAuth2资源服务器,以订单服务为例,详细介绍了在POM文件中添加 `spring-cloud-starter-oauth2` 依赖,并配置Spring Security以实现对微服务的保护。通过这一过程,不仅增强了系统的安全性,还提高了资源访问的可控性和灵活性。文章还讨论了最佳实践,包括如何配置OAuth2客户端和资源服务器,以及如何处理常见的安全问题和错误。 ... [详细]
  • 深入探索HTTP协议的学习与实践
    在初次访问某个网站时,由于本地没有缓存,服务器会返回一个200状态码的响应,并在响应头中设置Etag和Last-Modified等缓存控制字段。这些字段用于后续请求时验证资源是否已更新,从而提高页面加载速度和减少带宽消耗。本文将深入探讨HTTP缓存机制及其在实际应用中的优化策略,帮助读者更好地理解和运用HTTP协议。 ... [详细]
  • 本文介绍了如何利用 Delphi 中的 IdTCPServer 和 IdTCPClient 控件实现高效的文件传输。这些控件在默认情况下采用阻塞模式,并且服务器端已经集成了多线程处理,能够支持任意大小的文件传输,无需担心数据包大小的限制。与传统的 ClientSocket 相比,Indy 控件提供了更为简洁和可靠的解决方案,特别适用于开发高性能的网络文件传输应用程序。 ... [详细]
  • DVWA学习笔记系列:深入理解CSRF攻击机制
    DVWA学习笔记系列:深入理解CSRF攻击机制 ... [详细]
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有