引言


本章主要介绍了:

  • 如何为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. 使用img标签能使用background-size:conver一样的效果

    使用css img { object-fit: cover; object-position:left center; } 就可以达到 和 background-size:cover; 一样的效果 共 ...

  2. 【五】安装fcig

    安装fcig 安装fcig 此步骤是为了让spawn-fcgi能够识别自定义的demo 编译文件 自定义c文件 测试成功后,启动spawn cgi进行代理托管 此步骤是为了让spawn-fcgi能够识 ...

  3. 01-Python简介

    人生苦短,我用 Python —— Life is short, you need Python 目标 Python 的起源 Python 解释器 是用 C 语言实现的,并能够调用 C 语言的库文件. ...

  4. HTTP1.0,HTTP1.1,HTTP2.0的主要特征对比

    HTTP1.0 是一种无状态.无连接的应用层协议. HTTP1.0规定浏览器和服务器保持短暂的连接,浏览器的每次请求都需要与服务器建立一个TCP连接,服务器处理完成后立即断开TCP连接(无连接),服务 ...

  5. 验证码生成工具——Jcaptcha

    <dependency> <groupId>com.octo.captcha</groupId> <artifactId>jcaptcha</ar ...

  6. AWT之—画图

    package edu.ch4; import java.awt.Color;import java.awt.Font;import java.awt.Frame;import java.util.C ...

  7. C语言复习20170826

    数组 先定义,再初始化,最后使用. 访问数组中的元素可以采用数组名加下标的方式,下标是从0开始,c并不检查数组下标是否越界,所以在访问数组中的元素时需要注意,需要对数组下标做判断,防止访问数组越界. ...

  8. 20145209 实验二 《Java面向对象程序设计》 实验报告

    20145209 实验二 <Java面向对象程序设计> 实验报告 实验内容 1.初步掌握单元测试和TDD. 2.理解并掌握面向对象三要素:封装.继承.多态. 3.初步掌握UML建模. 4. ...

  9. 成都Uber优步司机奖励政策(4月14日)

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...

  10. 最优布线问题(wire.cpp)

    最优布线问题(wire.cpp) [问题描述] 学校有n台计算机,为了方便数据传输,现要将它们用数据线连接起来.两台计算机被连接是指它们间有数据线连接.由于计算机所处的位置不同,因此不同的两台计算机的 ...