计算机网络-4-1-2-分类的IP地址
有关IP最重要的文档就是互联网的正式标准RFC 791
IP地址及其表示方法
整个互联网就是一个单一,抽象的网络,IP地址就是给互联网上的每一台主机(或者路由器)的每一个接口分配一个在全世界范围内都是唯一的32位的标识符。IP地址的出现是为了我们更方便的寻址。
IP地址现在是由ICANN进行分配。
IP地址编码三大阶段:
分类的IP地址:最基本的便知方法。
就是将IP地址划分为若干个固定类,每一类地址都由两个固定长度的字段组成。第一个字段为网络号,第二个字段为主机号,一个网络号在整个互联网范围内必须是唯一的,一个主机号在某一个网络区间内必须是唯一的。
因此可以记为:

IP地址不仅仅指明一台主机,还指明该主机所连接到的互联网络。

注意这里A类,B类,C类都是单播地址(一对一通信),且是最常用的。D类地址用于多播(一对多通信),E类地址保留为以后使用。
A类地址:
网络号8位,占1个字节,网络号第一位必须是0,只有7位可以使用,可以指派的网络号是2^7-2=126。-2的目的是:
网络号字段全为0的IP是个保留地址,意思是本网络。
网络号位127(0111111)作为本地软件环回测试本主机进程之间的通信使用,意思就是若主机发送了一个目的地址为环回地址例如127.0.0.1的IP数据包,主机并不会发送到网络上。环回地址永远都不会出现在任何网络上,因此网络号位127根本就不是一个网络地址。
主机地址占3个字节(24位),因此A类网络中最大的主机数位2^24-2=16777214,-2的原因是
- 全0的主机号位
B类地址:网络号为16位,网络号前两位必须是10,主机号位32-18=16位
C类地址:网络号为24位,网络号前必须是110,主机号为32-24=8位
D类地址:网络号32位,网络号前必须是1110。
E类地址:网络号32位,网络号前必须是1111。
IP的指派范围

下图是特殊的IP地址:

IP地址具有如下特征
每个IP都是由网络号和主机号两部分组成。IP地址只一种分等级的地址结构,分等级的好处是:
IP地址管理机构在分配IP时只分配网络号(第一级),而剩下的主机号(第二级)则由得到该网络的主机机构自行分配。这样就方便了了IP地址的管理。
路由器仅仅根据目的主机所连接的网络号来分组转发(并不考虑主机号),这样就大大方便了了路由器查询路由表的压力,从而减少了路由表所占的内存存储空间以及查找路由表的时间。
IP地址标志着一台主机(或者路由器)和一条链路的接口,当一台主机同时连接到两个网络上时,则该主机必须同时拥有两个相应的IP地址,并且网络号必须是不同的。 举个简单的额例子:有一个建筑正好在北京路和上海路的交叉口上那么这两个建筑可以同时拥有两个门牌号码:例如北京路4路和上海路37路。
一个网络指具有相同网络号net-id的主机的集合,因此,使用转发器或者网桥连接起来的若干局域网仍为一个网络,具有不同网络号的若干局域网必须要通过路由器进行连接。
在IP地址中,所有分配到网络号的网络都是平等的-->互联网同等对待每一个IP地址。
IP地址与硬件地址
硬件地址与IP地址的区别

- 物理地址是数据链路层和物理层使用的地址,而IP地址是网络层及其上层使用的地址,因此也叫做逻辑地址(因为IP地址是用软件实现的)。
在发送数据的时候,数据从高层下到低层,然后才能在通信链路上通信,使用IP地址的数据报一旦交给了数据链路层,就会被封装成MAC帧。MAC帧在传输的时候使用的源地址和目的地址都是硬件地址,这两个硬件地址都写入了MAC帧的首部中。连接在通信链路上的设备(主机或者路由器)在收到MAC帧的时,根据MAC帧首部中的硬件地址决定收下还是丢弃。只有在剥去MAC帧的首部和尾部才能把MAC帧的数据上交到网络层以后,网络层只能在IP数据报的首部找到源IP地址和目的IP地址。 特别注意当IP数据报放到链路层的MAC帧中,整个IP数据报就成了MAC的数据,因此在数据链路层看不到数据报的IP地址。
如图


这里要强调几点
在IP层抽象的互联网上只能看到IP数据报,虽然IP数据报要经过路由器R1和R2的两次转发,但在它的首部中的源地址和目的地址始终是IP1和IP2,数据报中间经过的两个路由器的IP地址并不会出现在IP数据报的首部中。
虽然在IP数据报首部有源IP地址,但是路由器只根据目的IP地址的网络号进行路由选择。
在局域网的链路层,只能看到MAC帧,IP数据报在被封装到MAC帧中.MAC帧在不同的网络上传输。其MAC帧首部的源MAC地址和目的MAC地址都要发送变化,如上图。
尽管互联在一起的网络的硬件地址体系各不同。但是IP层抽象的的互联网屏蔽了下层这些很复杂的细节,我们只需要在网络层上讨论问题,就能够使用统一的,抽象的IP地址来研究主机和主机或者主机和路由器之间的通信。
计算机网络-4-1-2-分类的IP地址的更多相关文章
- 网络通信协议分类和IP地址
网络通信协议分类 通信的协议还是比较复杂的,java.net 包中包含的类和接口,它们提供低层次的通信细节.我们可以直接使用这些类和接口,来专注于网络程序开发,而不用考虑通信的细节 java.net ...
- [转,讲的非常精彩]CIDR地址块及其子网划分(内含原始IP地址分类及其子网划分的介绍)
http://blog.csdn.net/dan15188387481/article/details/49873923 CIDR地址块及其子网划分(内含原始IP地址分类及其子网划分的介绍) 1. ...
- 计算机网络之IP地址
IP地址的分类 整个的因特网就是一个单一的.抽象的网络.IP地址就是给因特网上的每一个主机(或路由器)的每一个接口分配一个在全世界范围内唯一的32位的标识符. 所谓分类的IP地址,就是将IP地址划分为 ...
- IP地址分类及CIDR划分方法
IP地址的分类和表示有三种形式,1.分类的IP地址.2.子网划分.3.无分类编址CIDR 1.分类的IP地址 IP地址:: = {<网络号>,<主机号>} 不同的网络号和主机号 ...
- 三分钟网络基础-IP地址分类
IP 地址的编址方法共经过了三个历史阶段: 分类的 IP 地址 子网的划分 超网 这篇文章首先介绍,最初始的 IP 地址分类方法. 分类的 IP 将 IP 地址划分为若干个固定类,每一类地址都由两个固 ...
- IP地址的格式和分类,你都清楚吗?
一个执着于技术的公众号 在网际层中,利用 IP 地址将数据传输到目的地.为了能够使数据正确地发送到目标主机上,网络上的 IP 地址必须有一定的规则来识别主机的位置. IP地址的基本构成 为了便于寻址, ...
- IP地址规划和设计方法
IP地址规划和设计方法 无类域间路由技术需要在提高 IP 地址利用率和减少主干路由器负荷两个方面取得平衡 网络地址转换 NAT 最主要的应用是专用网,虚拟专用网,以及 ISP 为拨号用户 提供的服务 ...
- IP地址,子网掩码,网段表示法,默认网关,DNS服务器详解,DNS域名设计
本文参考:<计算机网络: IP地址,子网掩码,网段表示法,默认网关,DNS服务器详解> IP地址 概述 计算机要实现网络通信,就必须要有一个用于快速定位的网络地址.IP地址就是计算机在网络 ...
- TCP/IP__TCP协议IP协议&IP地址
IP协议(Internet Protocol) 1. 定位:计算机网络间相互连接进行通信而定义的协议.在因特网中,它是能使连接到网上的所有计算机网络实现相互通信的一套规则,规定了计算机在因特网上进 ...
随机推荐
- ThreadLocal, volatile, synchronized, map, epoll, AQS简单总结
ThreadLocal ThreadLocal主要是为了解决内存泄漏的问题,它是一种弱引用: 引用总共有四种,,我简单列一下: 强引用(Strong Reference):正常引用,根据垃圾回收算法, ...
- 第13篇-通过InterpreterCodelet存储机器指令片段
在TemplateInterpreterGenerator::generate_all()函数中生成了许多字节码指令以及一些虚拟机辅助执行的机器指令片段,例如生成空指针异常抛出入口的实现如下: { C ...
- 高德地图——公交路线规划(关键字&坐标)
&plugin=AMap.Transfer 1.关键词方式---不支持途径(仅支持2个数据) <!DOCTYPE html> <html> <head> & ...
- 25道经典Java算法题
题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? //这是一个菲波拉契数列问题 [Java] 纯 ...
- 测试Kaggle kernel commit 是否会删除以前的output
在kaggle上创建kernel,加入如下代码. 连续运行两次,可以看到保存的文件名字不一样,且无论运行错少次,都只有一个输出文件. 这说明,kaggle上的kernel每次commit运行,都会清空 ...
- PyTorch安装及试用 基于Anaconda3
设置Torch国内镜像 conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/ ...
- JDBC简介及JDBC编写步骤及常见API
JDBC : Java Database Connectivity,Java数据库连接.SUN公司为了简化.统一对数据库的操作,定义了一套Java操作数据库的规范,称之为JDBC. JDBC就像一座桥 ...
- SQL查询语句执行流程
msyql执行流程 你有个最简单的表,表里只有一个 ID 字段,在执行下面这个查询语句时:: select * from T where ID=10: 我们看到的只是输入一条语句,返回一个结果,却不知 ...
- 前后端数据交互(五)——什么是 axios?
一.什么是 axios ? axios是基于 Promise 的 ajax 封装库,也是前端目前最流行的 ajax 请求库.简单地说发送 get.post 请求,是一个轻量级的库,使用时可直接引入. ...
- openswan协商流程之(五):main_inR2_outI3()
主模式第五包:main_inR2_outI3 文章目录 主模式第五包:main_inR2_outI3 1. 序言 2.函数调用关系 3. 第五个报文流程图 4. main_inR2_outI3()源码 ...