对ip网络层的一些理解-爱代码爱编程
文章目录
IP地址
IP 地址就是网络中的所有主机进行通信的标识地址,在网络上的每个主机都需要有自己的 IP 地址,这样才能在网络中唯一的标识自己。
什么是网络地址 和 主机地址?
IP 地址由 网络地址
和 主机地址
两部分组成,
举例:我所在的小区的相当于是网络标识
,小区的某一栋楼的第几户就相当于是我的主机标识
.
广播地址和网络地址
在 IP 地址中,有两个 IP 是特殊的,分别是主机号
全为 1 和 全为 0 地址。不能分配给主机或路由器的各接口
,因为他们无法唯一标识
一台主机或路由器的某个接口。
- 主机号全为 1 是
广播地址
,指定某个网络下的所有主机,用于广播 - 主机号全为 0 是
网络地址
,指定某个网络,相当于小区的id
A、B、C 类地址
只有A、B、C 类地址可分配给主机或路由器的各接口。
A类 :网络地址范围:1.0.0.0 - 126.0.0.0
B类:网络地址范围:128.0.0.0 - 191.255.0.0
C类 网络地址范围:192.0.0.0 - 223.255.255.0
D、E 类地址
而 D 类和 E 类地址是没有主机号
的,所以不可用于主机 IP,D 类常被用于多播,E 类是预留的分类,暂时未使用。
IP分类编址的不足
缺点一:旱的旱死涝的涝死
A、B、C类有个尴尬处境,就是不能很好的与现实网络匹配。
C 类地址能包含的最大主机数量实在太少了,只有 254 个,估计一个网吧都不够用。
而 B 类地址能包含的最大主机数量又太多了,6 万多台机器放在一个网络下面,一般的企业基本达不到这个规模,闲着的地址就是浪费。
缺点二:不能分层树状,缺乏地址的灵活性
同一网络下没有地址层次,比如一个公司里用了 B 类地址,但是发展壮大之后,可能需要根据生产环境、测试环境、开发环境来划分地址层次,而现在只有一个B类网络,并且这种 IP 分类是没有地址层次划分的功能,难道重新申请多个B类地址吗?显然很浪费成本。所以这就缺少地址的灵活性。
那怎么解决缺点?子网掩码和CIDR
子网掩码
子网掩码就是实现划分子网的功能的,即在小区中继续划分不同的单元。解决缺点二
可以看到,如果没有划分的话,主机号个数有2^8-2=254,
划分成两个子网之后,每个子网的主机个数为126,一共252个。
CIDR
这两个缺点,都可以在 CIDR
无分类地址
解决。
无分类地址 CIDR
这种方式不再有分类地址
的概念,32 比特的 IP 地址被划分为两部分,前面是网络号,后面是主机号。
划分形式:
形如: a.b.c.d/x,其中 /x 表示前 x 位属于网络号, x 的范围是 0 ~ 32,这就使得 IP 地址更加具有灵活性。
只要知道CIDR地址块中的任何一个地址 就可以知道该地址块的全部细节
比如:
公有 IP 地址与私有 IP 地址
下面三个分别是在 A、B、C 三类地址中的私有地址。
平时我们办公室、家里、学校用的 IP 地址,一般都是私有 IP 地址。
因为这些地址允许组织内部的 IT 人员自己管理、自己分配,而且可以重复。因此,你学校的某个私有 IP 地址和我学校的可以是一样的。就好比不同小区都可以取一栋一单元。
IPv6
为了解决 IPv4 地址不够用的问题,又设计了IPv6
IPv4 的地址长度为 4 个 8 字节,即 32 比特
, 而 IPv6 的地址长度是 128 比特
,可以为地球上的每一粒沙子分配一个地址。
另外,IPv6 相对IPv4还有如下优点:
报文结构更加精简: IPv6 要比 IPv4 精简很多,IPv4 的报文长度不固定
,而IPv6 报文段固定40字节
,简化了首部结构,减轻了路由器负荷,大大提高了传输的性能。
更加安全:IPv6在安全方面做的更好。比如在防止伪造ip地址上做的更好。
ARP & RARP
ARP协议:
Address Resolution Protocol(地址解析协议)
可以通过ARP协议获取IP地址
对应的MAC 地址
RARP协议:
RARP(Reverse Address Resolution Protocol)
从 MAC 地址定位 IP 地址的一种协议
ICMP:网际控制报文协议
一个新搭建好的网络,往往需要先进行一个简单的测试,来验证网络是否畅通;这个工作就由ICMP协议
来完成。
ICMP协议的功能
- 确认IP包是否成功到达目标地址
- 如果没有成功到达,通知源主机在发送过程中IP包被丢弃的原因
ICMP协议只是试图报告错误,并对特定的情况提供反馈,但最终并没有使IPv4成为一个可靠的协议。ICMP消息是以未确认的IPv4数据报传送的,它自己也不可靠。
NAT:网络地址转换协议
产生背景:
IPv4地址危机,从而开始开发IPv6技术。但开发IPv6需要足够的时间,为了延长IPv4技术的使用时间,产生了NAT技术。
NAT简介:
Network Address Translation,网络地址转换,允许一个整体机构以一个公用IP地址出现在Internet上。它是一种把内部私有IP地址翻译成公网IP地址的技术。
两个作用:
- NAT在一定程度上
能够有效的解决公网地址不足的问题
。 - 外部看到的源地址是公司边界路由转换过的公网IP地址,增加了
内部网络的安全性
。