本节内容是TCP/IP体系中网络层内容的开篇,是学习网络原理课程的非常重要的一节,也是我们能正确理解网络通信的最基本的概念。

本节我们只学习标准的IP地址的概念、分类等基本问题,而对于一个网络划分子网后的IP,以及多个子网聚合成一个超网这些问题,在以后的内容中会学习到。


从MAC地址到 IP地址

学习到此处,我们又要来回忆一遍,数据的发送过程:用户主机产生的数据报文从本机TCP/IP协议栈的应用层(也就是最顶层)开始一层一层往下,封装数据,到传输层封装成报文,到网络层封装成数据包,到数据链路层是数据帧,到物理层转换成比特流,再通过传输介质发送出去,到达接收方后,接收方再向上一层一层解封装,还原数据。

经过了前面数据链路层的学习,我们应该知道,主机和主机之间的通信,从根本上来说,靠的就是MAC地址的寻址,只有知道对方的MAC地址才能最终把数据发送给对方,因为MAC地址是具有全球唯一性的,一个MAC地址就可以唯一标识一个主机。

现在我们来回想一下MAC地址的格式,它是48位二进制,一般分为6段,每段8位,用十六进制的数表示出来,比如AA-BB-CC-DD-EE-FF,这就是一个MAC地址的例子。虽然我们在学习过程中,例子可以随便举,但实际情况中,并没有这么随便的地址。

所以,就造成了这样一种情况:如果某个用户主机想要和世界上任何一台主机通信,那就必须要知道对方主机的MAC地址,但是要让一台主机记住世界上所有的MAC地址,显然是不现实的,而如果把这个问题放到网络层的高度,用网络层的IP地址来寻址,那就会迎刃而解。

IP地址的出现,把整个的物理网络就虚拟成了一个大的逻辑网络,这样做的意义是:不管底层的MAC地址是什么格式,有多么复杂,都可以使用统一格式的IP地址来识别它们。在这个大的逻辑网络中,所有的主机都具有自己的IP地址,这个IP地址就是在整个网络中可以让别人找到自己的一个标识。

说到这里,你可以会产生这样两个问题,第一是“如果使用IP地址寻址的话,就不用记住世界上所有的IP地址吗”,第二是“根据上面的描述,意思就是IP地址也必须是具有唯一性的吗,否则别人怎么找到我呢”。

这两个问题,属于网络初学者经常迷茫的问题。首先,如果使用IP地址寻址的话,不用记住世界上所有的IP地址,就可以找到世界上任何一台主机,原理是这样的:比如我们的主机和国外的一台主机通讯,我们的数据包发送出去之后,会有网络中的大量的路由器去处理,路由器会根据一些算法帮我们把数据送达到目的主机;第二,IP地址确实必须具有唯一性,否则路由器就不能为数据包精确找到目的地。

IP地址必须具有唯一性,这句话有很多平日细心观察的小伙伴,可能会提出质疑,他可能观察过这样一种情况:举个例子,当他自己家使用电脑上网的时候,发现他的IP地址是192.168.1.1,这时候他去邻居家,发现人家的电脑的IP地址也是192.168.1.1,后来他去一个好朋友家,发现他朋友家电脑的IP地址也是192.168.1.1。好多地方都是一样的,这不是冲突了吗,怎么会具有唯一性呢。其实啊,这是因为应用了路由的NAT技术,这个技术的出现,大大节约了IP地址的资源,这是一个很重要的技术,我们以后会详细讲到。


IP地址的表示

首先我们来说,IP地址有两种表示形式,但是要注意的是,这两种表示形式,可不同于MAC地址,MAC地址的两种表示形式本质上是一样的,比如AA-BB-CC-DD-EE-FF 和 AABB-CCDD-EEFF,这两种表示方法说到底没什么区别,但是IP地址就不同了,因为IP协议有两个版本,一个是版本4,一个是版本6,即IPv4和IPv6,这两个版本使用的IP地址的格式是不一样的。

因为IPv4被设计出来以后,没有过多考虑到以后IP地址数量被用尽了怎么办,随着互联网迅速的发展,大规模的用户接入,IPv4的地址很快就要要被用尽,后来应用了NAT技术,虽然缓解了很大的压力,但也不能从根本上解决问题,所以后来提出了IPv6的计划,IPv6号称“让地球上的每一粒沙子都有自己的IP地址”,虽然有些夸张了,但是这意味着IPv6的地址空间是非常巨大的。截止到现在,IPv4的地址已经被用尽,现在我们所处的阶段,正是IPv4向IPv6过渡的一个阶段。

关于IPv6的知识,我们以后会单独作为一节,目前,在日常生活中,IPv4的地址还在被大多数使用,各种的考试也把IPv4作为重点来考,所以我们着重学习IPv4。

IPv4地址的表示格式是:由32位二进制组成,分为4组,每组8位,通常用点分十进制表示出来,比如192.168.0.1,它就是由二进制11000000.10101000.00000000.00000001转换而来的,对于路由器来说,它能认识这些二进制,而对于我们人来说,使用点分十进制的192.168.0.1这种形式更容易接受。


IP地址的分类

IP地址可以按不同的角度进行分类,比如A/B/C类,公网地址、私网地址、专用地址等。但在本节内容中,我们只讨论A/B/C类,不讨论别的角度。

首先,我们要知道IP地址的32位二进制数,它并不是无意义的四串数字的组合,它的每一串都是有意义的。IP地址分为前后两个部分:网络号和主机号。网络号是标识一个主机或路由器所连接到的网络,一个网络号在整个互联网范围内必须是唯一的;主机号是标识一个主机或路由器本身,一个主机号在它前面的网络号所指明的网络范围内必须是唯一的。

有了网络号和主机号的概念之后,IP地址就可以被分成五类,谢希仁教授的教材上用一张图片把这五类地址很好的展现:

以A类地址为例,前面8位是网络号,其中最开头的一位固定是0,后面24位是主机号。8位网络号意味着一个A类地址的网络号范围是从00000000~01111111,也就是十进制的0~127,但是我们通常要把这个范围掐头去尾,变成1~126,这是实际可用的范围,因为规定了头和尾有特殊的用途。24位主机号意味着,一个A类地址的网络可以包含的最大主机数是(2^24)-2,减2的意义也是要掐头去尾,大概是可以包含一千六百多万台主机,适合大型网络分配。

以此类推,B类地址前后各16位分别是网络号和主机号,B类地址的网络号范围是128~191,可以包含的最大主机数是(2^16)-2,是65534台。C类地址的网络号范围是192~223,可以包含最大主机数是(2^8)-2,是254台,可以看出C类地址适合给小型局域网使用。

D类地址的网络号范围是224~239。D类地址专门用作组播,也叫多播,它是一种不同于单播和广播的数据发送方式,单播是一对一,广播是一对多,组播也是一对多,但不同的是,广播的一对多是发送给同一网络内的所有主机,而组播是发送给同一网络内指定的几台主机。

E类地址(网络号范围240~254),E类保留不用,是为以后预留,可最终还是要被IPv6取代。


本节的内容作为网络层的开篇,内容比较多,需要理解和记忆,尤其是几类IP地址的范围,是必须要牢固记住的,下一节我们学习会继续学习IP地址,介绍几种特殊的IP地址,以及IP地址与MAC地址之间的转换。

参考资料:谢希仁《计算机网络》第七版

23、IP地址的表示及分类相关推荐

  1. 【TCP/IP】IP地址的划分及其分类

    本文是参考[TCP/IP详解卷一]的学习知识记录 本文是该系列文章的第二篇,将了解Internet中使用的网络层地址,又称IP地址.每个设备都至少需要一个IP地址,其可以作为我们设备的标识,就跟我们的 ...

  2. 网络层—IP地址的三种分类方式

    本文主要介绍网络层中的IP地址,其中有三种地址管理方法也将会详细介绍说明 IP地址是给因特网上的每一个主机或者是路由器的每一个接口(注意是接口,而不是主机或者是路由器本身)分配的一个在全世界范围中唯一 ...

  3. 0分配不到地址_前端学习计算机网络——IP地址的划分及其分类

    点击上方"前端印象",选择"设为星标"第一时间关注技术干货! 本文是该系列文章的第二篇,将了解Internet中使用的网络层地址,又称IP地址.每个设备都至少需 ...

  4. IP 地址编址方式(分类、子网划分、无分类)

    1. 分类 由两部分组成,网络号和主机号,其中不同分类具有不同的网络号长度,并且是固定的. IP 地址 ::= {< 网络号 >, < 主机号 >} 2. 子网划分 通过在主机 ...

  5. ip地址的作用及分类

    什么是IP地址? 如果有人问你什么是IP地址?你会怎么回答呢? ip地址:一台电脑在网络中的唯一标识, 比如192.168.1.1:用来在本地局域网上中标记一台电脑. ip地址的分类 每一个IP地址包 ...

  6. IP地址的组成和分类

    IP 地址的组成: 由32位二进制数字序列组成的数字序列,点分十进制,采用点将32为数字进行分割成4段,每段8位的二进制数,但二进制数不方便记忆,因此转换为10进制数,即点分十进制 IP地址的分类: ...

  7. IP地址的格式与分类

    为什么要有IP地址呢? Internet连接着数千万台计算机,无论是发送E-mail.浏览WWW网页.下载文件还是进行远程登陆,计算机之间都要交流信息,就是必须有一种方法来识别它们.Internet上 ...

  8. 带你了解IP地址的分类与子网划分

    带你了解IP地址的分类与子网划分 一.IP地址 二.IP协议 三.IP地址的组成 四.分类 五.长间的私有IP地址范围,特殊地址 六.子网划分应用实例 一.IP地址 IP地址概念 IP地址是IP协议提 ...

  9. CIDR地址块及其子网划分(内含原始IP地址分类及其子网划分的介绍)

    CIDR地址块及其子网划分(内含原始IP地址分类及其子网划分的介绍) 1. 原始的IP地址表示方法及其分类(近几年慢慢淘汰)     IP地址是由4字节,32位表示的,为了表示方便,通常用点分十进制表 ...

最新文章

  1. 第十六天-企业应用架构模式-离线并发模式
  2. 倒计时1天 | 2019 中国大数据技术大会(BDTC)报名通道即将关闭(附参会提醒)...
  3. 11月4日下午:植物保护高端论坛 (白洋、韦中)
  4. Windows phone 7新开发工具发布
  5. hdu 1081 To The Max(最大子段和的升级版,二维)
  6. 如何像技术高手一样解决问题
  7. 漫长的数据中心绿化之路到底该如何走www.shzhenai.com
  8. Boostrap的按钮下拉菜单
  9. 深入理解Java 虚拟机
  10. (day 48 - 双端队列的使用 ) 剑指 Offer 59 - II. 队列的最大值
  11. 【历史上的今天】5 月 15 日:Mozilla 发布 Rust;起点中文网成立;Windows 启动音乐设计者出生
  12. ORACLE ERP consolidation流程(二)
  13. 漫画:程序员找工作—外包公司
  14. 从源代码编译和安装gluster
  15. mysql 2038年问题_当前系统在2038年之后datetime类也无法获取当前时间的解决
  16. java提示系统找不到指定路径怎么解决?
  17. 操作系统实验二实验报告
  18. 绪论(p1-p2) author:run
  19. 技术科普丨有趣的DxOMark测试(一)
  20. 【vue2项目实战】---- 1.项目准备

热门文章

  1. Juery事件方法 — 37个
  2. 【毕业设计】深度学习手势识别检测系统 - python
  3. 必读干货丨这项技能玩不转,职场终生当菜鸟
  4. Spring、Mybatis、Spring MVC整合实例
  5. pyppeteer报错:NoneType‘ object has no attribute ‘goto‘
  6. CNCC2018中国计算机大会:自然语言生成,让机器掌握文字创作的本领
  7. Java码农进阶之路~JavaWeb开发入门
  8. 2016 下半年网络工程师上午真题及解析
  9. 工业电表接线方法,光纤接线方法、97,、2007协议
  10. windows8计算机在哪,win8怎么投屏,win8系统投屏在哪