计算机网络-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. 定位:计算机网络间相互连接进行通信而定义的协议.在因特网中,它是能使连接到网上的所有计算机网络实现相互通信的一套规则,规定了计算机在因特网上进 ...
随机推荐
- Python使用flask架构、跨域
from flask import Flask import json from flask_cors import CORS Server = Flask(__name__) cors = CORS ...
- jQuery最后案例:商标展示
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <hea ...
- nginx《一安装》
linux上nginx相关 wget https://nginx.org/download/nginx-1.14.1.tar.gz tar -zxvf nginx-1.14.1.tar.gz ./co ...
- Java全栈方向学习路线
前端方向 前端基础 HTML --> https://www.w3school.com.cn/html/index.asp CSS --> https://www.w3school.com ...
- Clean Architecture For RazorPage 实现多语言和本地化
最近终于把多语言功能加上了,这次就再发一篇,讲一下在asp.net core环境下如何实现多语言和本地化(Globalization and localization)功能,主要参看:ASP.NET ...
- vue2+vite初体验
前言 自从 vite 发布之后,社区赞誉无数,而我也一直心水 vite 的轻量快速的热重载的特性,特别是公司的项目巨大,已经严重拖慢了热重载的速度了,每次热重载都要等上一小会,所以急需寻找一个解决方案 ...
- 手把手教你在 SuperEdge 上用 EdgeX Foundry 接入 IoT 设备
作者 连泓乔,华南理工计算机科学与技术大三在读,主要研究容器领域,Kubernetes.容器等云原生技术爱好者,SuperEdge 优秀贡献者. 王冬,腾讯云研发工程师,专注于 Kubernetes. ...
- Django的form组件基本使用——生成标签
from django.contrib import admin from django.urls import path from app01 import views urlpatterns = ...
- Python - 面向对象编程 - 使用 super() 的一些注意事项
super() 详解 https://www.cnblogs.com/poloyy/p/15223443.html 多继承中使用 super() class A: def test(self): pr ...
- WinForm控件常用设置(转)
本来想自己整理一份,但找到了一份挺全的,就直接用到直接找吧 A0 ---- 通用A1 ---- Form 类A2 ---- Control 类A3 ---- MessageBox 类A4 ---- B ...