引言


本章主要介绍了:

  • 如何为Internet中的设备分配IP地址。
  • 有助于理由可扩展性的地址结构分配方式。
  • 特殊用途的地址。

表示IP地址


  • IPv4地址

    • 32位,采用点分四组或点分十进制来表示。
    • 点分十进制,每个数字都是非负整数,范围是0~255.
    165.195.130.107
    • 大多数时候我们更关心它的二进制结构,如下转换:

  • IPv6地址

    • 128位,用冒号分八组十六进制表示。
    • 标准化表示法:
      • 一个块中的前导0必须省略
      • 全0的块可以用: :省略,但只能出现一次,用于压缩最多的0,如果数量相同,顺序靠前的将被替换。
      • 在IPv6格式中嵌入IPv4地址可以采用混合符号形式,紧接着IPv4部分的地址快为ffff,其余部分为点分四组。例::( : :ffff:10.0.0.1)可表示IPv4地址(10.0.0.1)。被称为IPv4映射的IPv6地址
  • IPv6例子:

基本IP地址结构


IP地址可以根据类型和大小进行分组。大多数IPv4地址快被最终细分为一个地址,用于识别连接Internet的计算机网络接口,被称为单播地址。IPv4地址中大部分是单播地址

分类寻址


最初建立Internet地址结构时,每个地址包含:网络部分(网络号,用于识别该主机属于哪个网络),和主机地址(主机号,用于识别主机)。每个主机需要一个唯一的IP地址。

  • 最初的五大类地址

    • 每一类都基于网络中可容纳的主机数量,站点的网络号长,网络种类多,但是每个种类的网络可容纳的主机数就会少一些。要注意取舍。

    • 其中A、B、C属于单播地址,D位组播,E位保留。
    • 直观的空间划分:

  • 可以看出网络号长,网络种类多,主机号长,可容纳的主机多
  • 一些缺陷:A类B类网络号通常浪费了太多的主机号,而C类不能提供充足的主机号。还有就是很难为新接入Internet的新网络分配新的网络号

子网寻址


  • 为了解决“很难为新接入Internet的新网络分配新的网络号”这个问题,我们可以舍弃一些主机号长度(反正也用不完),就不必再为新加入的网络分配网络号,使其成为站点,而是把它加入到已经分配的站点中。称为子网,把我们舍弃的主机号长度用来编号这些子网。剩下的主机号继续用来编号主机。

  • 比如这个例子,Internet中的一个站点已经被分配了B类的网络号(就是说前16位已经固定),而后16位可以自由分配,和之前一个道理。这里例子分配了八位子网ID、八位主机ID,这个配置支持256个子网,每个子网最多包含254个地址(当前子网的第一个和最后一个地址无效!)。而且每个支持子网的站点都会有一个子网掩码,一会再说。

子网掩码


  • 子网掩码用于从主机的IP地址中获取网络号和子网信息。IP子网掩码和IP地址的长度相同(IPv4:32,IPv6:128)。可以静态也可以动态,这都是我们后面要讨论的。对于IPv4来说,子网掩码也采用相同格式(点分十进制)编写。由一串的1后跟若干0组成,有时被称为前缀长度。可以简化表示成一个十进制数,表示前面有几个1。下面是例子:

  • 子网掩码使用方法: 我们来看看子网掩码如何确定一个IP地址的网络信息。子网掩码中的1表示一个IP地址的对应位与一个地址的网络/子网对应位相结合。相反,子网掩码中的0表示,表示一个IP地址的对应位作为主机ID的一部分。举个例子,我们用子网掩码255.255.255.0,处理IPv4地址128.32.1.14。

  • 我们将地址中的以子网掩码对应位与运算

可变长度子网掩码


  • 一个站点的子网分配不一定都是我们刚才所说的:8位子网ID8位主机ID。可能有多种样子,可以将不同的子网掩码用于相同网号的站点,虽然增加了复杂性,但是却提高了子网的灵活性。因为不同的子网可以有不同的种类,可以容纳不同数量的主机。当然站点要支持可变长度子网掩码(VLSM)。

  • 解释一下这张图,三个不同的子网掩码被用于站点128.32.0.0/16:/24、/25、/26。这样每个子网可以提供不同数量的主机。
  • 只有IP地址和MAC地址同时确定,才能唯一的确定一台主机。

广播地址


  • 在每个IPv4地址中,一个特殊的地址被保留作为子网广播地址,将IPv4地址的网络/子网部分设置为适当值,主机部分全部设为1,向这个IP发送数据报,就会发送到这个子网的所有主机上。
  • 构造方式为:对子网掩码取反,并与子网中任意计算机的地址进行按位或运算得到。例如,前缀为128.32.1.0/24的子网,的广播地址构造方式如图所示:

CIDR与聚合


  • 前缀

    • 把IP地址的前几位固定,用来表示网络号,后几位自然用来表示主机号。

第二章:Internet地址结构的更多相关文章

  1. 第二章 Internet 地址结构

    注意: 这个系列的博客只是为了巩固我学习的知识,参考的价值不是很大,如果需要,请转到http://www.cnblogs.com/ZCplayground/p/7764436.html Interne ...

  2. Internet地址结构

    IP地址结构及分类寻址 IP地址 = <网络号> + <主机号>            ------------IPv4(32bit)点分四组表示法: 192.168.31.1 ...

  3. 《TCP/IP 详解 卷1:协议》第 2 章:Internet 地址结构

    第二章介绍 Internet 使用的网络层地址,即熟知的 IP 地址.连接到 Internet 的设备,基于 TCP/IP 的专用网络中使用的设备都需要一个 IP 地址. 路由器(见 IP 协议 一章 ...

  4. TCP/IP 笔记 - Internet地址结构

    连接到Internet中的每台设备至少都有一个IP地址,IP地址表示了流量的来源(好比别人要找你玩,需要知道你家的地址:网络中别人需要和你通信,也需要知道IP地址),且Internet中的IP地址必须 ...

  5. <TCP/IP>Internet地址结构回顾

    本章介绍了Internet中使用的网络层地址,又称IP地址. 要想在网上冲浪,一个设备至少要有一个IP地址(PS:我用赛风FQ的时候,居然自动更换了IP地址,顿时感觉很神奇但是不知道为什么) ***成 ...

  6. 二、Internet地址结构

    IP路由器实现的转发程序使用IP地址来识别流量去向.IP地址也表示流量来源. 2.1 IP地址的表示 IPV4地址通常采用点分四组或点分十进制表示法,如192.168.1.1. 点分四组表示法由四个用 ...

  7. 第二章 STM32的结构和组成

    2.5 芯片里面有什么 STM32F103采用的是Cortex-M3内核,内核即CPU,由ARM公司设计. ARM公司并不生产芯片,而是出售其芯片技术授权. 芯片生产厂商(SOC)如ST.TI.Fre ...

  8. 交换机安全学习笔记 第二章 MAC地址泛洪攻击

    本文为书中相关知识的摘要,由于书中以思科设备为配置依据,所以笔记中补充了华为.H3C设备的相关配置.华为设备配置参考华为S2352EI 产品版本:V100R005C01文档版本:02.  H3C配置参 ...

  9. 第二章,循环结构,输入输出,clock

    计时 计时函数: clock() 返回目前为止运行的时间 注意要除以常数 CLOCKS_PER_SEC, 才能得到以秒为单位. 头文件 time.h 管道 在windows命令行下执行echo 20| ...

随机推荐

  1. 小白的Unity5之路(二)镜头平滑跟随角色

    这次要完成Camera跟随Player移动, 首先考虑Camera的跟随目标target和平滑移动速度smothing再考虑Camera与Player的偏移量(就是Camera与Player有一个永恒 ...

  2. npm run build 时报错operation not permitted

    1.项目使用vue框架,在npm run build 打包时报错: 访问对应的目录,发现无法打开,原来是文件被其他应用程序占用了,仔细看了一下,xftp文件传输的软件打开着,把它关闭以后,重新运行np ...

  3. day 35初识数据库

    一.数据库概述 1.什么是数据库?先来看看百度怎么说的. 数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行新增.截取.更新.删除等操作.     所谓“数据库”系 ...

  4. 大数据学习之Hadoop运行模式

    一.Hadoop运行模式 (1)本地模式(默认模式): 不需要启用单独进程,直接可以运行,测试和开发时使用. (2)伪分布式模式: 等同于完全分布式,只有一个节点. (3)完全分布式模式: 多个节点一 ...

  5. 嵌入式C语言自我修养 13:C语言习题测试

    13.1 总结 前面12节的课程,主要针对 Linux 内核中 GNU C 扩展的一些常用 C 语言语法进行了分析.GNU C 的这些扩展语法,主要用来完善 C 语言标准和编译优化.而通过 C 标准的 ...

  6. nRF52832 BLE_DFU空中升级OTA(一)安装软件(SDK14.2.0)

    准备工作,需要安装好几个软件,详细的过程请参考下面的文章(http://www.cnblogs.com/iini/p/9314246.html)这里说的非常详细,而且也有工具在云盘,对于初学者非常友好 ...

  7. django中的auth详解

     Auth模块是什么 Auth模块是Django自带的用户认证模块: 我们在开发一个网站的时候,无可避免的需要设计实现网站的用户系统.此时我们需要实现包括用户注册.用户登录.用户认证.注销.修改密码等 ...

  8. 双端队列 ADT接口 数组实现

    Deque ADT接口 DEQUEUE.h: #include <stdlib.h> #include "Item.h" void DEQUEUEinit(int); ...

  9. Oracle入门第一天(上)——简介与安装

    一.Oracle介绍  Oracle 公司是全球最大的信息管理软件及服务供应商,成立于1977年 Oracle 公司因其复杂的关系数据库产品而闻名.Oracle的关系数据库是世界第一个支持SQL语言的 ...

  10. 20155214 2016-2017-2 《Java程序设计》第3周学习总结

    20155214 2016-2017-2 <Java程序设计>第3周学习总结 教材学习内容总结 Chapter4 一个原始码中可以有多个类定义,但只能有一个公开类,且文档中的主文档名必须与 ...