IPv4地址:连接在Internet的每台主机(或路由器)都被分配了一个32bit的全球唯一的标识符,就是IP地址。

IPv4地址的组成:网络号 + 主机号

IPv4地址的分类:

A类地址:网络地址(1Byte) + 主机地址(3Byte),且网络地址的首位必须是0;则网络地址的取值范围是0~~127,

      而0是保留的并且表示所有IP地址(0.0.0.0表示整个TCP/IP网络),而127也是保留的地址(作为环路自检)。因此A类地址的范围其实是从1-126之间。

      可用的A类网络有126个,每个网络能容纳1亿多个主机(2的24次方减1的主机数目)。

      子网掩码:255.0.0.0.

A类IP范围:首位为0;1.0.0.1~~126.255.255.254;主机号24位(3byte)。

A类私有地址:10.0.0.0~10.255.255.255

B类地址:网络地址(2Byte) + 主机地址(2Byte),且网络地址的前两位是10;则网络地址的取值范围是128~~191,

      可用的B类网络有2的14方个,每个网络能容纳6万多个主机 (2的16次方减0和广播地址)。

      子网掩码:255.255.0.0

B类IP范围:前两位为10 ;128.0.0.1~~191.255.255.254;主机号16位

B类私有地址:172.16.0.0~172.31.255.255

C类地址:网络地址(3Byte) + 主机地址(1Byte),且网络地址的前三位是110;则网络地址的取值范围是192~~223,

      可用的C类网络有2的21次方,可达209万余个,每个网络能容纳254个主机。

      子网掩码:255.255.255.0

C类IP范围:前三位为110;192.0.0.1~~223.255.255.254;主机号8位

C类私有地址:192.168.0.0~192.168.255.255

D类地址:此类地址称为多播地址,也叫做组播地址,前四位必须是1110;网络地址的取值范围是224~~239,

D类IP范围:前四位为1110;224.0.0.1~~239.255.255.254

PS:对于所有IPv4的地址,主机号全0表示网络本身,主机号全1表示本网络的广播地址。


地址的转换:为了减少IP地址注册的成本及稀缺的IP地址资源,可以利用地址转换将内部使用的地址转换为外部地址。

IPv4地址的私有地址又称为可重用地址,这种地址专门用于专用互联网及本地互联网。路由器对目的地址是私有地址的报文一律不予转发。如果在路由器上安装了NAT软件的话,NAT路由器会利用NAT转换表将本地地址转换为外部全球地址。


子网划分+子网掩码:

1.三级IP地址

二级IP地址不够灵活:给每个物理网络都分配一个网络号,会使路由器的路由表的规模很大,使得网络性能变坏。

二级地址----->从主机号借若干个位作为子网号------>三级IP地址:网络号+子网号+主机号

PS:子网号可以为全0全1,但是主机号不能为全0全1

三级IP地址的路由过程:

  1. 从其他网络发送给本单位某个主机的IP数据报,仍然是根据IP数据报的目的网络net_id,先找到链接本单位网络上的路由器;
  2. 然后此路由器在收到IP数据报后,在按照网络号net_id和子网号subnet_id找到目的子网。
  3. 最后将IP数据报交付到目的主机。

2.子网掩码

子网掩码:32bit,由一串1和一串0组成。1对应IP地址中的网络及子网号部分,0对应主机号部分。因此A类地址的子网掩码是255.0.0.0,B类地址的子网掩码是255.255.0.0,C类地址的子网掩码是255.255.255.0.

路由器在相互之间交换路由信息时,必须把自己所在网络(或子网)的子网掩码告诉对方,这样才可以计算得到网络地址:网络地址=IP地址&子网掩码。

主机在设置IP地址的同时必须设置自己的子网掩码,同处于一个子网的路由器的子网掩码必须相同,路由表的项目中必须包含:目的网络地址,子网掩码,下一跳地址。

使用子网掩码路由器分组转发的过程:

  1. 从收到的报文中的首部中提取目的IP地址,记为D
  2. 先判断是否为直接交付,对路由器直接相连的网络逐个进行检查:用网络的子网掩码和D计算得到网络地址,判断是否和相应的网络地址相匹配,如果匹配,则将分组直接交付;否则就是间接交付,执行3
  3. 若路由表中有目的地址为D的特定主机路由,则将分组再传给路由表所指明的下一跳路由器;否则,执行4
  4. 对路由表中的每一行(目的网络地址,子网掩码,下一跳地址)中的子网掩码和D计算得到结果N,如果N与该行的目的网络地址相匹配,则将分组传送给该行指明的下一跳路由器,否则执行5
  5. 若路由表中有一个默认路由,则将该分组传送给路由表中所指明的默认路由,否则报转发分组出错。

CIDR记法:IP地址/网络前缀所占比特数,其中网络前缀所占比特数对应于网络号的部分,等效于子网掩码中联系1的部分。

CIDR地址消除了传统的A、B、C类地址划分子网的概念,将网络前缀都相同的连续的IP地址组成CIDR地址块,一个CIDR地址块可以包括多个A、B、C类地址,这种地址称为路由聚合

最长前缀匹配:当在路由表中进行网络前缀匹配时,可能会有多个匹配结果,此时应该选择最长的网络前缀,因为该项的地址块越小(主机号所占位数最少),因而路由就越具体。(查找最常用的方法是线索二叉树)

IPV4/IPV6网络地址相关知识的更多相关文章

  1. 《Python网络编程》学习笔记--从例子中收获的计算机网络相关知识

    从之前笔记的四个程序中(http://www.cnblogs.com/take-fetter/p/8278864.html),我们可以看出分别使用了谷歌地理编码API(对URL表示地理信息查询和如何获 ...

  2. LINUX涉及网络相关知识

    才接触到网络的老铁,是否比较晕呢? 简单记录一下网络相关知识吧(IPV4)! A0. 网络号.主机号 A1.网络地址分类: A2. 保留地址: A3. 子网掩码作用:(子网掩码.IPV4地址做“与”运 ...

  3. IP协议/地址(IPv4&IPv6)概要

    IP协议/地址(IPv4&IPv6)概要 IP协议 什么是IP协议 IP是Internet Protocol(网际互连协议)的缩写,是TCP/IP体系中的网络层协议. [1] 协议的特征 无连 ...

  4. 有关rip路由协议相关知识以及实例配置【第1部分】

    有关rip路由协议相关知识以及实例配置[第一部分] RIP呢,这是一个比较重要的知识点,所以它的知识覆盖面很广泛:但是呢,我将会对碰到的问题进行一些分析解刨(主要是为了帮助自己理清思维):也希望能够从 ...

  5. OSPF相关知识与实例配置【第一部分】

    OSPF相关知识与实例配置[基本知识及多区域配置] OSPF(开放式最短路径优先协议)是一个基于链路状态的IGP,相比于RIP有无环路:收敛快:扩展性好等优点,也是现在用的最多的:所以这次实验就针对于 ...

  6. 【Python五篇慢慢弹(5)】类的继承案例解析,python相关知识延伸

    类的继承案例解析,python相关知识延伸 作者:白宁超 2016年10月10日22:36:57 摘要:继<快速上手学python>一文之后,笔者又将python官方文档认真学习下.官方给 ...

  7. 移动WEB像素相关知识

    了解移动web像素的知识,主要是为了切图时心中有数.本文主要围绕一个问题:怎样根据设备厂商提供的屏幕尺寸和物理像素得到我们切图需要的逻辑像素?围绕这个问题以iphone5为例讲解涉及到的web像素相关 ...

  8. listener监听器的相关知识

    从别人的博客上我学习了listener的相关知识现在分享给大家 1.概念: 监听器就是一个实现特定接口的普通java程序,这个程序专门用于监听另一个java对象的方法调用或属性改变,当被监听对象发生上 ...

  9. UIViewController相关知识

    title: UIViewController 相关知识date: 2015-12-13 11:50categories: IOS tags: UIViewController 小小程序猿我的博客:h ...

随机推荐

  1. H3CNE实验:配置交换机接口

    第1步:配置交换机端口 <H3C>system-view System View: return to User View with Ctrl+Z. [H3C]interface Giga ...

  2. AngularJS实用基础知识---入门必备

    前言 今天来和大家学习一下AngularJS-- AngularJS 通过新的属性和表达式扩展了 HTML. AngularJS 可以构建一个单一页面应用程序. AngularJS 学习起来非常简单. ...

  3. 通用JSONHelp 的通用的封装

    1. 最近项目已经上线了 ,闲暇了几天 想将JSON  的序列化 以及反序列化进行重新的封装一下本人定义为JSONHelp,虽然Microsoft 已经做的很好了.但是我想封装一套为自己开发的项目使用 ...

  4. 浅谈Ajax 异步的几点细节

    1.浏览器执行到Ajax代码的这行语句的时候,发出了一个HTTP请求,欲想请求服务器上的数据.服务器此时开始I/O,所谓的I/O就是磁盘的读写,需要花费一些时间,所以不会立即产生下行的HTTP报文: ...

  5. PhpStorm配置PHP解释器(wampServer版)

    PHPStorm(以下简称为PS)和wampServer集成环境安装简单,不再赘述. 本人使用PhpStrom版本为2017.1.4版本. PS刚开始使用会使用自带服务器,但是有几率不能自动匹配到PH ...

  6. java IO之 字符流 (字符流 = 字节流 + 编码表) 装饰器模式

    字符流 计算机并不区分二进制文件与文本文件.所有的文件都是以二进制形式来存储的,因此, 从本质上说,所有的文件都是二进制文件.所以字符流是建立在字节流之上的,它能够提供字符 层次的编码和解码.列如,在 ...

  7. web.xml is missing and <failOnMissingWebXml> is se

    摘要 maven模块化 在学习maven模块化构建项目的时候遇到了如下报错信息: web.xml is missing and <failOnMissingWebXml> is set t ...

  8. webpack 多页应用架构系列实战

    阅读目录 1.webpack配置了解 2.webpack CommonsChunkPlugin公共代码剥离 3.了解ProvidePlugin的用途 回到顶部 1.webpack配置了解 webpac ...

  9. [钉钉通知系列]Jenkins发布后自动通知

    一.前言 最近使用Jenkins进行自动化部署,但是发布署后,并没有相应的通知,虽然有邮件发送通知,但是发现邮件会受限于大家接受的设置,导致不能及时看到相关的发布内容.由于之前有用Gitlab推送消息 ...

  10. Android系统--输入系统(十六)APP跟输入系统建立联系_InputChannel和Connection

    Android系统--输入系统(十六)APP跟输入系统建立联系_InputChannel和Connection 0. 核心:socketpair机制 1. 回顾Dispatch处理过程: 1.1 放入 ...