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

Internet 地址结构


连接到Internet的每个设备至少要有一个IP地址。基于TCP/IP协议的专用网络中使用的设备也需要IP地址。

表示IP地址

IPv4地址:

32bit
采用点分四组或者点分十进制表示。例如165.195.130.105

IPv6地址:

128bit
采用块或字段的四个十六位进制数表示。例如5f05:2000:80ad:5800:0058:0800:2023:1d71

该表示方法有以下共识:

  1. 块前导0必须省略,如上面的地址可以写成5f05:2000:80ad:5800:58:800:2023:1d71
  2. 全零的块可以用::省略,但为了避免歧义,仅能使用一次且使用在省略块长度最长的地方(当多个省略块长度相同时,省略较高位的块)。例如2001:0:0:0:2:0:0:1可以写成2001::2:0:0:1

基本的IP地址结构


IP地址可以根据类型和大小分组,那些用于识别连接Internet或某些专用的内联网的计算机网络接口称为单播地址。此外还有广播、组播和任播地址。但是,IPv6并没有广播地址

分类寻址

IPv4地址空间最初分成五大类如下图所示

A,B,C类用于单播地址,D用于组播而E地址保留。

其地址空间划为如下图所示

我们很容易可以看出,A,B类的网络号浪费了太多的主机号,而C类则不能为很多站点提供足够的主机号。就如同学校中有的教室大,有的教室很小。教务处按上面的方法分配教室的时候,就会出现有的教室只有少部分座位被利用,而有的教室却有很多人没有座位。所以可能有人就建议要建更大的教室,于是就有了IPv6。也有人提出了更加优化的分配方案,这些都是我们之后要谈的。

子网寻址


子网寻址的想法是,给站点分配A,B,C类的网络号,保留下一些剩余的主机号,让站点自行分配。这种方法使得站点管理员能够在子网数和每个子网预期的主机数中折中,减少了与其他站点的协调。

这就好比学校再不给每个班级分配教室了,而是把这个任务扔给了学院去处理。学院的灵活折中处理稍微的解决下了这个苦恼的问题。

那么什么是子网寻址呢?它是如何工作的呢?

在上图的这个例子中,我们再给定网络号的基础上,选定了8位子网号,剩下的8位为主机号。这样就有256个子网,每个子网可以包含254(256-2,其中子网的第一个和最后一个地址无效)台主机。注意:只有划分子网的网络中的主机和路由器知道子网的结构,Internet的其他部分仍将它作为站点相关的地址看待。

那么问题来了,如何知道网络号之后的子码和主机号码是怎么划分的?


子网掩码

子网掩码的长度和其IP地址相同。在数值上,子网掩码在对应主机位上均置0,其余位置均置1。于是有255.255.254.0(可以简写成/23)表示前面23位以后才是代表主机号码。

将地址与掩码按位与运算得到路由的地址的网络与子网标识符(前缀)。这样便可以知晓该地址的子网。

在对同一站点的不同部分,将不同长度的子网掩码应用于相同的网络号,就形成了可变长度子网掩码(VLSM)


广播地址

广播地址是该IP地址与掩码取反进行或运算的结果。

当目的地址为某广播地址,如上图的128.32.1.255时,数据报将发送给目标站点的所有主机

CIDR和聚合


无类别域间路由(CIDR)和聚合为解决下列原因而出现

  1. B类地址耗尽
  2. 路由表的条目数增加

前缀

使用CIDR,未经过预定义的任何地址范围都可以作为一个类的一部分,但是需要一个类似子网掩码的掩码,称之为CIDR掩码。CIDR掩码不再局限于一个站点,而对全球性路由系统都是可见的

除了网络号之外,核心Internet路由器必须能解释和处理掩码,这样的数字组合称为网络前缀

消除IP地址中网络和主机号的预定义分隔,将使更细粒度的IP地址分配范围成为可能。

例如192.125.3.0 写成前缀形式:192.125.3.0/24。A 类和 B 类网络号用前缀 /8/16 表示


聚合

减少路由表的条目数也很重要,就好比你在十字路口碰到了无数多的道路指向牌,你也会蒙蔽的。所以人们就想出了一些方法。

我们想到,路由表的条目数利用网络拓扑排列成一棵树,如果这棵树的上一层能够和目的IP地址的较高位吻合,接下的每一层依次匹配下来,就可以节省大量的时间。

做到这样的树,就要通过路由聚合这个过程来实现,即:

将相邻的多个IP前缀合并成一个短前缀,这样就可以覆盖更多的地址空间。而合并的方法便是进行按位与运算。

特殊用途地址


这里暂时不举例

组播地址

一个IP组播地址标识一组主机接口,而不是单个接口。

站点管理员可将路由器配置为管理范围边界,这意味着相关组的组播流量不会被路由器转发

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

  1. 第二章:Internet地址结构

    引言 本章主要介绍了: 如何为Internet中的设备分配IP地址. 有助于理由可扩展性的地址结构分配方式. 特殊用途的地址. 表示IP地址 IPv4地址 长32位,采用点分四组或点分十进制来表示. ...

  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. material(一)

    项目目录如下 逻辑代码 import React from 'react'; import PropTypes from 'prop-types'; import Button from '@mate ...

  2. P1774 最接近神的人_NOI导刊2010提高(02)

    P1774 最接近神的人_NOI导刊2010提高(02) 关于此题为什么可以使用求逆序对的方法来做 假设一个数\(a_i\),且前\(i-1\)个数已经成为单调增的数列. 我们要从前\(a_1\)至\ ...

  3. C# as运算符

    一.C# as运算符 as运算符用于执行引用类型的显式类型转换.请阅读C#数据类型. as运算符可以用下面的格式表示: expression as type?expression:引用类型的表达式. ...

  4. React后台管理系统-品类选择器二级联动组件

    1.页面大致是这个样子 2.页面结构 <div className="col-md-10">            <select name="&quo ...

  5. JavaWeb-拦截器,过滤器,监听器的区别和执行顺序

    一:拦截器 :是在面向切面编程的就是在你的service或者一个方法,前调用一个方法,或者在方法后调用一个方法比如动态代理就是拦截器的简单实现,springmvc的aop中的前置通知和后置通知. 二: ...

  6. 简版会员私信表设计及sql 私信列表查询

    先上下表结构和数据 DROP TABLE IF EXISTS `message`; CREATE TABLE `message` ( `id` int(11) NOT NULL AUTO_INCREM ...

  7. Docker学习之镜像操作

    使用Docker镜像 以下都是Docker镜像的一系列重要名操作,包括获取.查看.搜索.删除.创建.存出或载入.上传等.可使用docker image help命令查看帮助. 1.获取镜像(pull) ...

  8. Ansible学习 ad-hoc命令

    Ansible提供两种方式去执行命令,一种是ad-hoc命令,一种是写入Ansible playbook.类似于前者在命令行敲shell,后者是写shell-script脚本,前者解决一些简单的任务, ...

  9. Tomcat+jdk 环境处理 java jsp代码编写web环境的容器

    Tomcat是由 Apache 软件基金会下属的 Jakarta 项目开发的一个Servlet 容器,按照 SunMicrosystems 提供的技术规范,实现了对 Servlet 和 JavaSer ...

  10. python中的文件操作小结2

    ''' #-----------文件修改---------- f=open("test_1",'r',encoding="utf-8") f2=open(&qu ...