分享

一文快速入门掌握IP地址

 新用户0935snDB 2023-02-20 发布于河南

基本认识

IP 在 TCP/IP 参考模型中处于第三层,也就是网络层。
网络层的主要作用是:实现主机与主机之间的通信,也叫点对点(end to end)通信。

Image

IP(网络层) 和 MAC (数据链路层)之间的区别和关系。
MAC 地址的作用是实现「直连」的两个设备之间通信。
IP 地址的作用是在「没有直连」的两个网络之间进行通信传输。
可以用我们旅行来做类比。
旅行的起点和终点是源IP地址和目的IP地址,旅行行程的起始地址和目的地址始终都不会改变的,所以源IP地址和目标IP地址在传输过程中是不会变化的。
旅行之间的各个景点是MAC地址,一个景点即是上一个MAC的目的地址,也是下一个景点的源MAC地址,所以源 MAC地址和目标MAC一直在变化。Image
IP地址(IPv4 地址)由32位的二进制来表示,采用点分十进制的标记方法,即32位IP地址,每8个一组,共分为4组,每组以.隔开并转换成十进制来表示。
IPV4理论上允许2^32 = 43亿台计算机连接网络。
但实际上IP地址并不是根据主机台数来配置的,而是根据网卡。
而如服务器、路由器等设备都是有2个以上的网卡,也就是它们会有2个以上的 IP 地址。

分类地址

Image

上图中黄色部分为分类号,用以区分 IP 地址类别。
IP 地址分类成了 5 种类型,分别是 A 类、B 类、C 类、D 类、E 类。
每一类都分为网络号和主机号两部分,由于主机号位数不同,所以范围也不同。
为什么要分离网络号和主机号?
因为两台计算机要通讯,首先要判断是否处于同一个广播域内,即网络地址是否相同。
如果网络地址相同,表明接受方在本网络上,那么可以把数据包直接发送到目标主机。

Image

A、B、C 分类地址最大主机个数是如何计算的呢?
最大主机个数,就是要看主机号的位数。
如 C 类地址的主机号占 8 位,那么 C 类地址的最大主机个数:2^8 - 2= 254。
A类最大,容纳主机数 16777214台。
B类居中,容纳主机数 65534。
C类最少,容纳主机数 254。
D类、E类没有网络号和主机号,D类用来多播,E类待用。
减 2 的原因是在 IP 地址中,有两个 IP 是特殊的,分别是主机号全为 1 和 全为 0 地址。

Image

主机号全为 1 指定某个网络下的所有主机,用于广播。
在不同网络之间的广播叫做直接广播。
在本网络内广播的叫做本地广播。

Image

主机号全为 0 指定某个网络。

多播地址

多播用于将包发送给特定组内的所有主机。
比如老师说:“最后一排的同学,上来做这道数学题。”
老师指定的是最后一排的同学,也就是多播的含义了。
优缺点
优点:能快速的找出网络地址和主机地址,简单明了、选路(基于网络地址)简单。
缺点:不能很好的与现实网络匹配,最大主机数量分配的比较极端,少的太少多的太多。

无分类地址

这种方式不再有分类地址的概念,32 比特的 IP 地址被划分为两部分,前面是网络号,后面是主机号。
划分方式
表示形式 a.b.c.d/x,其中 /x 表示前 x 位属于网络号,x 的范围是 0 ~ 32,这就使得 IP 地址更加具有灵活性。
比如 10.100.122.2/24,这种地址表示形式就是 CIDR,/24 表示前 24 位是网络号,剩余的 8 位是主机号。
还有另一种划分网络号与主机号形式,那就是子网掩码,掩码的意思就是掩盖掉主机号,剩余的就是网络号。
将子网掩码和 IP 地址按位计算 & 运算,就可得到网络号。
Image

网掩码

子网掩码不仅能划分出网络号和主机号,还有划分子网的作用。

子网划分实际上是将主机地址分为两个部分:子网网络地址和子网主机地址。

Image

假设对 C 类地址进行子网划分。
网络地址 192.168.1.0,使用子网掩码 255.255.255.192 对其进行子网划分。
子网掩码尾部 的 192 的二进制表示为 11000000
所以根据子网掩码可知从 8 位主机号中借用 2 位作为子网号。

Image

由于子网网络地址被划分成 2 位,那么子网地址就有 4 个,分别是 00、01、10、11。

IP分片与重组

每种数据链路的最大传输单元 MTU 都是不相同的,如 FDDI 数据链路 MTU 4352、以太网的 MTU 是 1500 字节等。
每种数据链路的MTU之所以不同,是因为每个不同类型的数据链路的使用目的不同。使用目的不同,可承载的MTU也就不同。
当 IP 数据包大小大于 MTU 时,IP 数据包就会被分片。
假设发送方发送一个 4000 字节的大数据报,若要传输在以太网链路,则需要把数据报分片成 3 个小数据报进行传输,再交由接收方重组成大数据报。
在分片传输中,一旦某个分片丢失,则会造成整个 IP 数据报作废,所以 TCP 引入了 MSS 也就是在 TCP 层进行分片不由 IP 层分片,那么对于 UDP 我们尽量不要发送一个大于 MTU 的数据报文。

IPv6基本认识

IPv4 的地址是 32 位的,大约可以提供 42 亿个地址,但是早在 2011 年 IPv4 地址就已经被分配完了。
IPv6 的地址是 128 位的,分配的地址数量甚至可以保证地球上的每粒沙子都能被分配到一个 IP 地址。
IPv6 除了有更多的地址之外,还有
更好的扩展性:IPv6 可自动配置,即使没有 DHCP 服务器也可以实现自动分配IP地址,真是便捷到即插即用。
更好的安全性:IPv6 有应对伪造 IP 地址的网络安全功能以及防止线路窃听的功能。
有更好的传输性能:IPv6 包头包首部长度采用固定的值 40 字节,去掉了包头校验和,简化了首部结构,减轻了路由器负荷。
IPv4 地址长度共 32 位,是以每 8 位作为一组,并用点分十进制的表示方式。
IPv6 地址长度是 128 位,是以每 16 位作为一组,每组用冒号 「:」 隔开。
Image

IPv6 类似 IPv4,也是通过 IP 地址的前几位标识 IP 地址的种类。

IPv6 的地址主要有以下类型地址:

  • 单播地址,用于一对一的通信

  • 组播地址,用于一对多的通信

  • 任播地址,用于通信最近的节点,最近的节点是由路由协议决定

  • 没有广播地址

IPv4 首部与 IPv6 首部

取消了首部校验和字段。因为在数据链路层和传输层都会校验,因此 IPv6 直接取消了 IP 的校验。
取消了分片/重新组装相关字段。分片与重组是耗时的过程,IPv6 不允许在中间路由器进行分片与重组,这种操作只能在源与目标主机,这将大大提高了路由器转发的速度。
取消选项字段。选项字段不再是标准 IP 首部的一部分了,但它并没有消失,而是可能出现在 IPv6 首部中的「下一个首部」指出的位置上。删除该选项字段使的 IPv6 的首部成为固定长度的 40 字节。

IP协议相关技术

DNS
DNS 域名解析:可以将域名网址自动转换为具体的 IP 地址。
域名的层级关系
DNS 中的域名用句号隔开。如www.server.com,用句号来划分不同层次。
在域名中,从左到右域名层级依次递增。
根域在最顶层,下一层的com 是顶级域,再下面是权威 server.com
域名的层级关系类似一个树状结构:
  • 根 DNS 服务器

  • 顶级域 DNS 服务器(com)

  • 权威 DNS 服务器(server.com)

Image

根域的DNS服务器信息保存在互联网中所有的DNS服务器中。
这样客户端只有能够找到任意一台DNS服务器都可以找到并访问根域 DNS 服务器,然后一路顺藤摸瓜找到位于下层的某台目标 DNS 服务器。

域名解析的工作流程

浏览器首先查看自己缓存里面有没有 ,如果没有就询问操作系统的缓存,还没有就检查本机域名解析文件host,如果还是没有,就会向 DNS 服务器 请求查询。
  1. 客户端首先会发出一个 DNS 请求,询问 www.server.com对应的IP,并发给本地的DNS 服务器,即客户端TCP、IP设置中填写的 DNS 服务器地址。
  2. 本地域名服务器收到客户端的请求后,如果在缓存里的表格里 找到此域名,则会直接返回对应的 IP 地址。如果没有,本地DNS服务器会询问 他的根域名服务器 www.server.com对应的IP,根域名服务器是最高层次的,它不直接用于域名解析,但能知名一条道路。
  3. 根DNS收到本地 DNS 的请求后,检测到后置是 .com ,于是将 .com 顶级域名发送给本地 DNS 服务器。
  4. 本地 DNS 收到顶级域名服务器后,又向顶级域名服务器发起询问。
  5. 顶级域名服务器查询之后,将负责www.server.com 区域的权威 DNS 服务器的地址发给 本地DNS。
  6. 本地DNS最后向权威 DNS 服务器发起询问。
  7. 权威 DNS 服务器查询后将对应的 IP 地址 X.X.X.X 告诉本地 DNS。
  8. 本地 DNS 再将 IP 地址返回客户端,客户端和目标建立连接。
    Image

ARP

MAC 地址是以太网的 MAC 子层使用的地址。
IP 地址是TCP/IP 体系结构网际层所使用的地址。
ARP 协议属于 TCP/IP 体系结构的网际层,其作用是将已知设备所分配到的 IP 地址通过ARP协议获得设备的 MAC 地址。
如何从IP地址找出其对应的MAC地址?
ARP 是借助 ARP 请求与 ARP 响应两种类型的包确定 MAC 地址的。
  • 在发送ARP 请求之前,源主机会先在自己的ARP高速缓存表中查找目的主机的IP 地址所对应的 MAC 地址,如果没有找到。
  • 目的主机会通过广播发送 ARP 请求,这个包中包含了想要知道的 MAC 地址的主机 IP 地址。
  • 当同个链路中的所有设备收到 ARP 请求时,会去拆开 ARP 请求包里的内容,如果 ARP 请求包中的目标 IP 地址与自己的 IP 地址一致,那么这个设备就将自己的 MAC 地址塞入 ARP 响应包返回给主机。
操作系统通常会把第一次通过 ARP 获取的 MAC 地址缓存起来,以便下次直接从缓存中找到对应 IP 地址的 MAC 地址。
不过,MAC 地址的缓存是有一定期限的,超过这个期限,缓存的内容将被清除。

RARP

RARP是逆向地址解析协议即已知 MAC地址求 IP 地址。
例如将打印机服务器等小型嵌入式设备接入到网络时就经常会用得到。
通常这需要架设一台 RARP 服务器,在这个服务器上注册设备的 MAC 地址及其 IP 地址。然后再将这个设备接入到网络,接着:
  • 该设备会发送一条「我的 MAC 地址是XXXX,请告诉我,我的IP地址应该是什么」的请求信息。
  • RARP 服务器接到这个消息后返回「MAC地址为 XXXX 的设备,IP地址为 XXXX」的信息给这个设备。
最后,设备就根据从 RARP 服务器所收到的应答信息设置自己的 IP 地址。

NAT

Image


ICMP

ICMP 全称是 Internet Control Message Protocol,也就是互联网控制报文协议。

架构IP网络时需要特别注意两点:

  • 确认网络是否正常工作

  • 遇到异常时进行问题诊断

ICMP的主要功能包括:

  • 确认IP包是否成功送达目标地址

  • 通知在发送过程当中IP包被废弃的具体原因

  • 改善网络设置等

有了这些功能以后,就可以获得网络是否正常,设置是否有误以及设备有何异常等信息,从而便于进行网络上的问题诊断
在 IP 通信中如果某个 IP 包因为某种原因未能达到目标地址,那么这个具体的原因将由 ICMP 负责通知。

ICMP 类型

  • 一类是用于诊断的查询消息,也就是「查询报文类型」。

  • 另一类是通知出错原因的错误消息,也就是「差错报文类型」。

Image

完结散花

ok以上就是对 IP地址 的全部分享啦,很感谢你能看到这儿。如果有遗漏、错误或者有更加通俗易懂的讲解,欢迎小伙伴私信我,我后期再补充完善。

Image

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多