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. (转载)JAVA中八种基本数据类型的默认值

    原文链接: http://simon-c.iteye.com/blog/1016031 引用 For type byte, the default value is zero, that is, th ...

  2. Building Apps for Windows 10 on LattePanda–Jump Start

    1.引言 目前来看,LattePanda应该是最小的运行Full Windows 10系统的开发板了(注意,不是Windows 10 for Mobile,也不是Windows 10 IoT系列,而是 ...

  3. [基础架构]PeopleSoft Application Server 重要文件说明

    我们都知道PeopleSoft是由几个不同的服务组成的,他们在PeopleSoft体系结构中扮演着自己的角色.这些服务具有不同的文件结构并包含重要的可执行文件和配置文件. 以下是Peoplesoft体 ...

  4. 接口开发,tp5结合swagger-ui安装方法

    今天看到老java用的swagger提供接口,美观好用,方便维护,不是写好接口之后再写接口文档,麻烦的要死.网上找了找结合php的方法,在此记录一下,以后再开发接口就可以方便很多了. Swagger的 ...

  5. 通过ALM OTA API获取test case的信息,并上传测试结果到test set中

    ALM提供了OTA接口,可以用来获取和上传测试数据到ALM.比如获取Test case的step信息.上传测试结果到test instance. 在ALM的Help中可以下载相关文档,这里以ALM11 ...

  6. Android系统--输入系统(十四)Dispatcher线程情景分析_dispatch前处理

    Android系统--输入系统(十四)Dispatcher线程情景分析_dispatch前处理 1. 回顾 我们知道Android输入系统是Reader线程通过驱动程序得到上报的输入事件,还要经过处理 ...

  7. 使用jenkins实现持续集成

    一.jenkins 介绍 它是一个自动化的周期性的集成测试过程,从检出代码.编译构建.运行测试.结果记录.测试统计等都是自动完成的,无需人工干预: 它需要有专门的集成服务器来执行集成构建: 它需要有代 ...

  8. .Net中关于相等的问题

    在.Net框架中,如果您查看所有类型的的基类:System.Object类,将找到如下4个与相等判断的方法: static Equals() virtual Equals() static Refer ...

  9. Memcached的基础梳理

    1 .Memcached 概念 官方解释如下: What is Memcached? Free & open source, high-performance, distributed mem ...

  10. GIT - 代码管理工具之命令集

    GIT 是一个快速.可扩展的分布式版本控制系统,它具有极为丰富的命令集,对内部系统提供了高级操作和完全访问.它会把你的每次提交的文件的全部内容都会记录下来. GIT特点 速度 简单的设计 对非线性开发 ...