春花秋月何时了?IP知多少

IP基础知识一网打尽

IP基础认识

​ IP在TCP/IP参考模型中处于第三层,也就是网络层‘

  • 网络层的主要作用就是:实现主机与主机之间的通信,也就是点对点之间的通信

网络层(IP)和数据链路层(MAC)关系:

  • IP:
    • 作用:主机之间通信中的(没有直连)的两个忘了之间进行通信传输
  • MAC:
    • 作用:实现【直连】的两个设备之间通信

​ 计算机网络中也需要【数据链路层】和【网络层】这个分层才能实现和最终目标地址的通信。在传输过程中源IP地址和目标IP地址是不会变化的,只有源MAC地址和目标MAC一直在变化。

IP地址的基础知识

​ 在TCP/IP网络通信时,为了保证能正常通信,每个设备都需要配置正确的IP地址,否则无法实现正常的通信。

​ IP地址(IPv4地址)由32位二进制正整数表示,为了方便记忆采用了点分十进制的标记方式。

IP地址分类

​ IP地址分为五类:分别是A(0)、B(10)、C(110)、D(1110)、E(11110)如下图所示:

在这里插入图片描述

  • 什么是ABC类地址?
    • 对于ABC类主要分为两个部分,分别是网络号和主机号
  • 什么是D、E类地址?
    • D和E类地址是没有主机号的,所以不可用于主机IP,D类通常被用于多播,E类是预留的分类,暂未使用
      • 多播地址:用于将包发送给特定组内的所有主机
  • ABC类地址最大主机个数是多少?
    • 就是2的所占位数次幂,再减去2
      • 减2是因为主机号全0和全1是有特殊含义的
        • 全1:指定某个网络下的所有主机,用于广播
        • 全0:指定某个网络

广播地址

  • 广播地址用于在同一链路中项目连接的主机之间发送数据包
  • 广播地址可以分为本地广播和之间广播两种:
    • 在本地网络内广播的叫做本地广播
    • 在不同网络之间的广播叫做直接广播
  • IP分类的优点
    • 简单明了、选路(基于网络地址)简单
  • IP分类的缺点
    • 同一网络下没有地址层次,缺少地址的灵活性
    • A、B、C类有个尴尬的处境就是不能很好的与现实网络匹配
      • C类太少 254个不够用
      • B类太多 6W闲着就是浪费
  • 解决方法:CIDR无分类地址
    • CIDR不在有分类地址的概念,32位比特的IP地址被划分为两个部分,前面是网络号,后面是主机号。
    • 表示形式:a.b.c.d/x 其中/x表示前x位属于网络号,x的范围是0到32,这就使得IP地址更加具有灵活性

还有一种划分网络号与主机号的形式,那就是子网掩码,掩码的意思就是掩盖掉主机号,剩余的就是网络号

  • 将子网掩码和IP地址按位计算AND,就可以得到网络号
  • 为啥要分离网络号和主机号呢
    • 因为两台计算机要通信,首先要判断是否处于同一广播域内,即网络地址是否相同。相同的话,表名接收方在本网络上,那么可以把数据报直接发送到目标主机上。
    • 路由器寻址工作中,也是通过这样的方式来找到对应的网络号,进而把数据包转发给对应的网络内。
  • 怎么进行子网划分
    • 子网掩码不仅可以划分出网络号和主机号,还可以划分子网
    • 子网划分实际上是将主机地址分为两个部分:子网网络地址和子网主机地址

公有IP地址和私有IP地址

  • 私有IP,这些地址允许组织内部的IT人员自己管理、自己分配,可以重复
  • 公有IP:有一个组织统一分配,公有IP地址基本上要在整个互联网范围内保持唯一
  • 公有地址的管理:
    • 由ICANN组织管理

IP地址与路由控制

  • IP地址的网络协议这一部分是用于进行路由控制
    • 在发送IP包时,首先要确定IP包首部中的目标地址,再由路由控制表中找到与该地址具有相同网络地址的记录,再根据该记录将IP包转发给相应的下一个路由器。如果路由控制表中存在多相同网络地址的记录,就选择相同位数最多的网络地址,也就是最长匹配
  • 环回地址是不会流向网络
    • 环回地址是在同一台计算机上的程序之间进行网络通信所使用的一个默认地址
    • 计算机使用一个特殊的IP地址127.0.0.1作为环回地址,与该地址具有相同意义的是一个叫做localhost的主机名
    • 使用这个IP或主机名,数据包不会流向网络

IP分片与重组

​ 每种数据链路层的MTU是不尽相同的,因为每个不同类型的数据链路层的使用目的不同。

​ 当IP地址数据包大于MTU时,IP数据包就会被分片

​ 经过分片以后的IP数据报在被重组的时候,只能由目标主机进行,路由器是不会进行重组的

​ 在分片传输中,一旦某个分片丢失,则会造成整个IP数据报作废,所以TCP引入了MSS也就是在 TCP 层进行分片不由 IP 层分片,那么对于 UDP 我们尽量不要发送一个大于 MTU 的数据报文。

IPV6

​ 地址位数128位,有更多的分配地址,还有更好的安全性和扩展性。

  • IPV6的亮点

    • IPv6可自动配置,及时没有DHCP服务器也可以实现自动分配IP地址,即插即用
    • IPv6包头包首部长度采用固定的值40字节,去掉了包头校验和,简化了首部结构,减轻了路由器负荷,大大提高传输性能
    • IPv6有对应伪造IP地址的网络安全功能以及防止线路窃听的功能,大大提高了安全性
  • IPv6地址的标识方法

    • 地址长度128位,是以每16位作为一组,每组用冒号隔开
  • IPv6地址的结构

    • IPv6类似于IPv4,也是通过IP地址的前几位标识IP地址的种类
    • 主要的类型地址
      • 单播地址:用于一对一的通信
      • 组播地址:用于一对多的通信
      • 任播地址:用于通信最近的节点,最近的节点是由路由协议决定的
      • 没有广播地址
  • IPv6单播地址类型

    对于一对一通信的IPv6地址,主要划分了三类单播地址,每类地址的有效范围都不同

    • 在同一链路单播通信,不经过路由器,可以使用链路本地单播地址,IPv4没有此类型
    • 在内网里单播通信,可以使用唯一本地地址,相当于IPv的私有IP
    • 在互联网通信,可以使用全局单播地址,相当于IPv4的公有IP
  • IPv4首部和IPv6首部

    IPv6相比IPv4在一下方面进行了改进

    • 取消了首部校验和字段:因为在数据链路层和传输层都会校验,因此IPv6直接取消了IP的校验
    • 取消了分片/重新组装相关字段。分片与重组是耗时的过程,IPv6不允许在中间路由器进行分片与重组,这种操作只能在源与目标主机,这就大大提高了路由器转发的速度
    • 取消选项字段

IP协议相关技术

DNS

域名层级关系

​ DNS中的域名都是用句号来分隔的,句号表示不同层次之间的界限,并且越靠右的位置表示其层级越高

域名的层级关系类似于一个树状结构

  • 根DNS服务器
  • 顶级域DNS服务器
  • 权威DNS服务器
域名解析的工作流程

具体内容可以查看:计网面试大全

ARP

​ 由于主机的路由表中可以找到下一条的IP地址,所以可以通过ARP协议,求得下一跳的MAC地址。

ARP找MAC的原理

​ ARP是借助ARP请求与ARP响应两种类型的包确定MAC地址的。

  • 主机会通过广播发送ARP请求,这个包中包含了想要知道的MAC地址的主机IP地址

  • 当同个链路中的所有设备收到ARP请求时,会去拆开ARP请求包里的内容,如果ARP请求包中的目标IP地址与自己的IP地址一致,那么这个设备就将自己的MAC地址塞入ARP响应包返回给主机

    操作系统通常会把第一次通过 ARP 获取的 MAC 地址缓存起来,以便下次直接从缓存中找到对应 IP 地址的 MAC 地址。

    不过,MAC 地址的缓存是有一定期限的,超过这个期限,缓存的内容将被清除。

RARP协议

自己的IP地址一致,那么这个设备就将自己的MAC地址塞入ARP响应包返回给主机

操作系统通常会把第一次通过 ARP 获取的 MAC 地址缓存起来,以便下次直接从缓存中找到对应 IP 地址的 MAC 地址。

不过,MAC 地址的缓存是有一定期限的,超过这个期限,缓存的内容将被清除。

RARP协议

​ 已知MAC地址求IP地址

最后

  • 如果觉得看完有收获,希望能给我点个赞,这将会是我更新的最大动力,感谢各位的支持
  • 欢迎各位关注我的公众号【java冢狐】,专注于java和计算机基础知识,保证让你看完有所收获,不信你打我
  • 如果看完有不同的意见或者建议,欢迎多多评论一起交流。感谢各位的支持以及厚爱。

猜你喜欢

转载自blog.csdn.net/issunmingzhi/article/details/108582846
今日推荐