注意: 这个系列的博客只是为了巩固我学习的知识,参考的价值不是很大,如果需要,请转到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. 清除ie10+浏览器的input输入框后面会出现的x号和闭眼logo

    x号:::-ms-clear{display:none;} 闭眼logo: ::-ms-reveal{display:none;} tips:如果在外部引用的css里面没有作用,可以在写本页面的< ...

  2. 开发常用宏 - iOS

    以下是一些开发中会经常用到的宏,简单的进行了整理,为了今后可以更加方便的使用,从而提升开发的效率,不为此搭进去更多时间. 也希望有大家可以补充,从而使其更加强加! /** * 开发常用宏相关 */ # ...

  3. LINUX安装好后无法访问网络

    LINUX安装好后无法访问网络 在虚拟机安装好新的LINUX系统后,ping www.baidu.com ,发现无法ping通. 键入ifconfig查询配置: eno16777728: flags= ...

  4. java 微信开发 常用工具类(xml传输和解析 json转换对象)

    与微信通信常用工具(xml传输和解析) package com.lownsun.wechatOauth.utl; import java.io.IOException; import java.io. ...

  5. 区分js中的null,undefined,"",0和false

    console.log(typeof null);//object console.log(typeof undefined);//undefined console.log(typeof " ...

  6. 使用cookie登陆知乎

    只是想说明一个问题,Cookie可以维持登录状态,有些网页当中,访问之后的cookie里面带有登陆账号,和登陆密码,这样可以使用cookie直接访问网页,如知乎,首先登录知乎,将Headers中的Co ...

  7. Java源码解析——Java IO包

    一.基础知识: 1. Java IO一般包含两个部分:1)java.io包中阻塞型IO:2)java.nio包中的非阻塞型IO,通常称为New IO.这里只考虑到java.io包中堵塞型IO: 2. ...

  8. 【JavaScript高级程序设计】6.1 理解对象

    上一章曾经介绍过,创建自定义对象的最简单方式就是创建一个Object 的实例,然后再为它添加属性和方法,如下所示. var person = new Object(); person.name = & ...

  9. VIM配置IDE

    转载于:https://blog.csdn.net/andre617/article/details/53496490#%E8%84%9A%E6%B3%A8 由于YCM需要vim支持python,需要 ...

  10. python——numpy_1图像基本操作

    1.图像的数组表示: from PIL import Image from pylab import * from numpy import * im = array(Image.open('E:\P ...