计算机网络-4-1-2-分类的IP地址
有关IP最重要的文档就是互联网的正式标准RFC 791
IP地址及其表示方法
整个互联网就是一个单一,抽象的网络,IP地址就是给互联网上的每一台主机(或者路由器)的每一个接口分配一个在全世界范围内都是唯一的32位的标识符。IP地址的出现是为了我们更方便的寻址。
IP地址现在是由ICANN进行分配。
IP地址编码三大阶段:
分类的IP地址:最基本的便知方法。
就是将IP地址划分为若干个固定类,每一类地址都由两个固定长度的字段组成。第一个字段为网络号,第二个字段为主机号,一个网络号在整个互联网范围内必须是唯一的,一个主机号在某一个网络区间内必须是唯一的。
因此可以记为:
IP地址不仅仅指明一台主机,还指明该主机所连接到的互联网络。
注意这里A类,B类,C类都是单播地址(一对一通信),且是最常用的。D类地址用于多播(一对多通信),E类地址保留为以后使用。
A类地址:
网络号8位,占1个字节,网络号第一位必须是0,只有7位可以使用,可以指派的网络号是2^7-2=126。-2的目的是:
网络号字段全为0的IP是个保留地址,意思是本网络。
网络号位127(0111111)作为本地软件环回测试本主机进程之间的通信使用,意思就是若主机发送了一个目的地址为环回地址例如127.0.0.1的IP数据包,主机并不会发送到网络上。环回地址永远都不会出现在任何网络上,因此网络号位127根本就不是一个网络地址。
主机地址占3个字节(24位),因此A类网络中最大的主机数位2^24-2=16777214,-2的原因是
- 全0的主机号位
B类地址:网络号为16位,网络号前两位必须是10,主机号位32-18=16位
C类地址:网络号为24位,网络号前必须是110,主机号为32-24=8位
D类地址:网络号32位,网络号前必须是1110。
E类地址:网络号32位,网络号前必须是1111。
IP的指派范围
下图是特殊的IP地址:
IP地址具有如下特征
每个IP都是由网络号和主机号两部分组成。IP地址只一种分等级的地址结构,分等级的好处是:
IP地址管理机构在分配IP时只分配网络号(第一级),而剩下的主机号(第二级)则由得到该网络的主机机构自行分配。这样就方便了了IP地址的管理。
路由器仅仅根据目的主机所连接的网络号来分组转发(并不考虑主机号),这样就大大方便了了路由器查询路由表的压力,从而减少了路由表所占的内存存储空间以及查找路由表的时间。
IP地址标志着一台主机(或者路由器)和一条链路的接口,当一台主机同时连接到两个网络上时,则该主机必须同时拥有两个相应的IP地址,并且网络号必须是不同的。 举个简单的额例子:有一个建筑正好在北京路和上海路的交叉口上那么这两个建筑可以同时拥有两个门牌号码:例如北京路4路和上海路37路。
一个网络指具有相同网络号net-id的主机的集合,因此,使用转发器或者网桥连接起来的若干局域网仍为一个网络,具有不同网络号的若干局域网必须要通过路由器进行连接。
在IP地址中,所有分配到网络号的网络都是平等的-->互联网同等对待每一个IP地址。
IP地址与硬件地址
硬件地址与IP地址的区别
-
- 物理地址是数据链路层和物理层使用的地址,而IP地址是网络层及其上层使用的地址,因此也叫做逻辑地址(因为IP地址是用软件实现的)。
-
在发送数据的时候,数据从高层下到低层,然后才能在通信链路上通信,使用IP地址的数据报一旦交给了数据链路层,就会被封装成MAC帧。MAC帧在传输的时候使用的源地址和目的地址都是硬件地址,这两个硬件地址都写入了MAC帧的首部中。连接在通信链路上的设备(主机或者路由器)在收到MAC帧的时,根据MAC帧首部中的硬件地址决定收下还是丢弃。只有在剥去MAC帧的首部和尾部才能把MAC帧的数据上交到网络层以后,网络层只能在IP数据报的首部找到源IP地址和目的IP地址。 特别注意当IP数据报放到链路层的MAC帧中,整个IP数据报就成了MAC的数据,因此在数据链路层看不到数据报的IP地址。
如图
这里要强调几点
在IP层抽象的互联网上只能看到IP数据报,虽然IP数据报要经过路由器R1和R2的两次转发,但在它的首部中的源地址和目的地址始终是IP1和IP2,数据报中间经过的两个路由器的IP地址并不会出现在IP数据报的首部中。
虽然在IP数据报首部有源IP地址,但是路由器只根据目的IP地址的网络号进行路由选择。
在局域网的链路层,只能看到MAC帧,IP数据报在被封装到MAC帧中.MAC帧在不同的网络上传输。其MAC帧首部的源MAC地址和目的MAC地址都要发送变化,如上图。
尽管互联在一起的网络的硬件地址体系各不同。但是IP层抽象的的互联网屏蔽了下层这些很复杂的细节,我们只需要在网络层上讨论问题,就能够使用统一的,抽象的IP地址来研究主机和主机或者主机和路由器之间的通信。
计算机网络-4-1-2-分类的IP地址的更多相关文章
- 网络通信协议分类和IP地址
网络通信协议分类 通信的协议还是比较复杂的,java.net 包中包含的类和接口,它们提供低层次的通信细节.我们可以直接使用这些类和接口,来专注于网络程序开发,而不用考虑通信的细节 java.net ...
- [转,讲的非常精彩]CIDR地址块及其子网划分(内含原始IP地址分类及其子网划分的介绍)
http://blog.csdn.net/dan15188387481/article/details/49873923 CIDR地址块及其子网划分(内含原始IP地址分类及其子网划分的介绍) 1. ...
- 计算机网络之IP地址
IP地址的分类 整个的因特网就是一个单一的.抽象的网络.IP地址就是给因特网上的每一个主机(或路由器)的每一个接口分配一个在全世界范围内唯一的32位的标识符. 所谓分类的IP地址,就是将IP地址划分为 ...
- IP地址分类及CIDR划分方法
IP地址的分类和表示有三种形式,1.分类的IP地址.2.子网划分.3.无分类编址CIDR 1.分类的IP地址 IP地址:: = {<网络号>,<主机号>} 不同的网络号和主机号 ...
- 三分钟网络基础-IP地址分类
IP 地址的编址方法共经过了三个历史阶段: 分类的 IP 地址 子网的划分 超网 这篇文章首先介绍,最初始的 IP 地址分类方法. 分类的 IP 将 IP 地址划分为若干个固定类,每一类地址都由两个固 ...
- IP地址的格式和分类,你都清楚吗?
一个执着于技术的公众号 在网际层中,利用 IP 地址将数据传输到目的地.为了能够使数据正确地发送到目标主机上,网络上的 IP 地址必须有一定的规则来识别主机的位置. IP地址的基本构成 为了便于寻址, ...
- IP地址规划和设计方法
IP地址规划和设计方法 无类域间路由技术需要在提高 IP 地址利用率和减少主干路由器负荷两个方面取得平衡 网络地址转换 NAT 最主要的应用是专用网,虚拟专用网,以及 ISP 为拨号用户 提供的服务 ...
- IP地址,子网掩码,网段表示法,默认网关,DNS服务器详解,DNS域名设计
本文参考:<计算机网络: IP地址,子网掩码,网段表示法,默认网关,DNS服务器详解> IP地址 概述 计算机要实现网络通信,就必须要有一个用于快速定位的网络地址.IP地址就是计算机在网络 ...
- TCP/IP__TCP协议IP协议&IP地址
IP协议(Internet Protocol) 1. 定位:计算机网络间相互连接进行通信而定义的协议.在因特网中,它是能使连接到网上的所有计算机网络实现相互通信的一套规则,规定了计算机在因特网上进 ...
随机推荐
- VMware中安装CentOS Linux release 7.4.1708 (Core)
本篇文章主要介绍了VMware安装Centos7超详细过程(图文),具有一定的参考价值,感兴趣的小伙伴们可以参考一下 1.软硬件准备 软件:推荐使用VMwear,我用的是VMwear 12 镜像:Ce ...
- YARN的工作过程
yarn的工作执行流程图 1.用户向YARN中提交应用程序 2.ResourceManager为该应用程序找到一个可用的NodeManager 并分配一个Container,然后在这个Containe ...
- 使用Visual Studio分析dump
最近系统是不是CPU会飙升的百分之九十多甚至百分百,在本地又很难复现问题,无法定位问题出现在哪. 可以用转储文件来保存现场,然后通过分析dump文件可以大概分析出问题的所在 生成转存文件 在CPU飙升 ...
- HCNP Routing&Switching之OSPF LSA类型
前文我们了解了OSPF中的虚连接相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15202348.html:今天我们来聊一聊OSPF数据包中LSA类型相 ...
- sublime text build system automatic ctrl/cmd+B自动选择 python2 或 python3
背景 我同时安装了 python2 和 python3 时,python 指向 python2,python3 才是 python3 默认情况下,在 Sublime 内 Ctrl/Cmd + B 运行 ...
- Python之win32模块
如果想在Windows操作系统上使用Python去做一些自动化工作,pywin32模块常常会被用到,它方便了我们调用Windows API. 安装及使用 通过命令pip install pywin32 ...
- Django——实现最基础的评论功能(只有一级评论)
我对评论功能的理解: --------(1)数据库建一个评论的表 --------(2)前端建一个提交评论的form表单 --------(3)表单提交评论内容后写入到数据库评论表中 -------- ...
- 第九章 Net 5.0 快速开发框架 YC.Boilerplate --定时服务 Quartz.net
在线文档:http://doc.yc-l.com/#/README 在线演示地址:http://yc.yc-l.com/#/login 源码github:https://github.com/linb ...
- MongoDB(10)- 查询嵌套文档
插入测试数据 db.inventory.insertMany( [ { item: "journal", qty: 25, size: { h: 14, w: 21, uom: & ...
- unity渲染篇:烘焙模型贴图
今天要来做一件有趣的事情,那就是把一个模型数据烘焙到贴图上! 什么意思?就是下面酱紫,把这只小喵从第一张图拍扁,变成第二张图的样子(似乎有点残忍~) 可能你经常会从美术那边听到"烘焙光照贴图 ...