IPV4/IPV6网络地址相关知识
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地址的路由过程:
- 从其他网络发送给本单位某个主机的IP数据报,仍然是根据IP数据报的目的网络net_id,先找到链接本单位网络上的路由器;
- 然后此路由器在收到IP数据报后,在按照网络号net_id和子网号subnet_id找到目的子网。
- 最后将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地址的同时必须设置自己的子网掩码,同处于一个子网的路由器的子网掩码必须相同,路由表的项目中必须包含:目的网络地址,子网掩码,下一跳地址。
使用子网掩码路由器分组转发的过程:
- 从收到的报文中的首部中提取目的IP地址,记为D
- 先判断是否为直接交付,对路由器直接相连的网络逐个进行检查:用网络的子网掩码和D计算得到网络地址,判断是否和相应的网络地址相匹配,如果匹配,则将分组直接交付;否则就是间接交付,执行3
- 若路由表中有目的地址为D的特定主机路由,则将分组再传给路由表所指明的下一跳路由器;否则,执行4
- 对路由表中的每一行(目的网络地址,子网掩码,下一跳地址)中的子网掩码和D计算得到结果N,如果N与该行的目的网络地址相匹配,则将分组传送给该行指明的下一跳路由器,否则执行5
- 若路由表中有一个默认路由,则将该分组传送给路由表中所指明的默认路由,否则报转发分组出错。
CIDR记法:IP地址/网络前缀所占比特数,其中网络前缀所占比特数对应于网络号的部分,等效于子网掩码中联系1的部分。
CIDR地址消除了传统的A、B、C类地址划分子网的概念,将网络前缀都相同的连续的IP地址组成CIDR地址块,一个CIDR地址块可以包括多个A、B、C类地址,这种地址称为路由聚合。
最长前缀匹配:当在路由表中进行网络前缀匹配时,可能会有多个匹配结果,此时应该选择最长的网络前缀,因为该项的地址块越小(主机号所占位数最少),因而路由就越具体。(查找最常用的方法是线索二叉树)
IPV4/IPV6网络地址相关知识的更多相关文章
- 《Python网络编程》学习笔记--从例子中收获的计算机网络相关知识
从之前笔记的四个程序中(http://www.cnblogs.com/take-fetter/p/8278864.html),我们可以看出分别使用了谷歌地理编码API(对URL表示地理信息查询和如何获 ...
- LINUX涉及网络相关知识
才接触到网络的老铁,是否比较晕呢? 简单记录一下网络相关知识吧(IPV4)! A0. 网络号.主机号 A1.网络地址分类: A2. 保留地址: A3. 子网掩码作用:(子网掩码.IPV4地址做“与”运 ...
- IP协议/地址(IPv4&IPv6)概要
IP协议/地址(IPv4&IPv6)概要 IP协议 什么是IP协议 IP是Internet Protocol(网际互连协议)的缩写,是TCP/IP体系中的网络层协议. [1] 协议的特征 无连 ...
- 有关rip路由协议相关知识以及实例配置【第1部分】
有关rip路由协议相关知识以及实例配置[第一部分] RIP呢,这是一个比较重要的知识点,所以它的知识覆盖面很广泛:但是呢,我将会对碰到的问题进行一些分析解刨(主要是为了帮助自己理清思维):也希望能够从 ...
- OSPF相关知识与实例配置【第一部分】
OSPF相关知识与实例配置[基本知识及多区域配置] OSPF(开放式最短路径优先协议)是一个基于链路状态的IGP,相比于RIP有无环路:收敛快:扩展性好等优点,也是现在用的最多的:所以这次实验就针对于 ...
- 【Python五篇慢慢弹(5)】类的继承案例解析,python相关知识延伸
类的继承案例解析,python相关知识延伸 作者:白宁超 2016年10月10日22:36:57 摘要:继<快速上手学python>一文之后,笔者又将python官方文档认真学习下.官方给 ...
- 移动WEB像素相关知识
了解移动web像素的知识,主要是为了切图时心中有数.本文主要围绕一个问题:怎样根据设备厂商提供的屏幕尺寸和物理像素得到我们切图需要的逻辑像素?围绕这个问题以iphone5为例讲解涉及到的web像素相关 ...
- listener监听器的相关知识
从别人的博客上我学习了listener的相关知识现在分享给大家 1.概念: 监听器就是一个实现特定接口的普通java程序,这个程序专门用于监听另一个java对象的方法调用或属性改变,当被监听对象发生上 ...
- UIViewController相关知识
title: UIViewController 相关知识date: 2015-12-13 11:50categories: IOS tags: UIViewController 小小程序猿我的博客:h ...
随机推荐
- 二、Solr单机版的搭建
1.1. 运行环境 solr 需要运行在一个Servlet容器中,Solr4.10.3要求jdk使用1.7以上,Solr默认提供Jetty(java写的Servlet容器),本次使用Tocmat作为S ...
- peoplesoft function PSTREENODE 通过 deptid 获得部门树 一级部门 code
create or replace function ht_gettopdeptid(deptid in varchar) return varchar2 is r ); c int; m ); r_ ...
- jsPlumb之流程图项目总结及实例
在使用jsPlumb过程中,所遇到的问题,以及解决方案,文中引用了<数据结构与算法JavaScript描述>的相关图片和一部分代码.截图是有点多,有时比较懒,没有太多的时间去详细的编辑. ...
- 流畅python学习笔记:第十章:序列的修改,散列和切片
前面在介绍了类的很多内置方法,比如__add__,__eq__,这里继续介绍类的两个内置方法,这2个内置方法可以将一个类实例变成一个序列的形式.代码如下 class vector(object): ...
- 改进log4go的一些设想
log4go 的 4.0.2 版本(https://github.com/ccpaging/log4go/tree/4.0.2)发布以后, 看了看别的 go 语言日志文件设计.发现了一篇好文: log ...
- jmeter连接配置带跳板机(SSH)的mysql服务器
jmeter连接配置mysql服务器时,如果数据库服务器没有通过ssh连接,则只需要配置相应的jdbc参数就可以了,即请求域名或ip地址:3306,如果数据库服务器是通过SSH连接的,那需要通过中间远 ...
- Angularjs Material
公司用Angularjs Material进行开发,之前在网站上看了一些Demo,做一个学习的整理. 1.新建窗体的数据绑定 1.1修改kendo表格新增页面按钮,添加按钮,并Dialog一个窗体 t ...
- Ambari2.5.3卸载smartsense
第一步,确定SmartSence服务均已关闭 curl -u admin:$PASSWORD -i -H 'X-Requested-By: ambari' -X PUT -d '{"Requ ...
- Python基础之模块、数据类型及数据类型转换
一.模块 1.标准库 不需要安装,直接调入使用的模块. import sys模块: import sys print(sys.path) #打印环境变量绝对路径 print(sys.argv) #打印 ...
- Docker安装及基础使用
Docker 安装 在 Mac OS X 系统中,首先你要下载安装包安装:Docker Toolbox 安装过程中,可以选择是否安装 Docker Machine,Docker Compose 等,默 ...