当前位置: 首页 > ds >正文

IP协议.

IP 协议是互联网的核心协议,工作在网络层。它给网络中的设备分配唯一的 IP 地址,把上层数据封装成数据包,然后根据目的 IP 地址通过路由器等设备进行转发,实现数据在不同网络间的传输。它还能在必要时对数据包进行分片和重组,以适应不同网络的 MTU 限制,为互联网上的设备通信提供了基础的寻址和数据传输功能。

IP 地址就像是网络中每个主机的 “身份证”,具有标识主机身份和位置的作用。

ip由网络号和主机号构成:

通过合理设置主机号和网络号,就可以保证在相互连接的网络中,每台主机的 IP 地址都不相同。
那么问题来了,手动管理子网内的 IP,是一个相当麻烦的事情。

  • 有一种技术叫做 DHCP,能够自动的给子网内新增主机节点分配 IP 地址,避免了手动管理 IP 的不便。
  • 一般的路由器都带有 DHCP 功能。因此路由器也可以看做一个 DHCP 服务器。

ip报文:

 有类地址分类 :

它是ip最基础的分类,把IP地址可以分为五类:A\B\C\D\E,不好的是它对每一个类区分以后会有不同的要求,而且数量上有限制。

针对这种效率不高的情况提出了新的划分方案,称为 CIDR (Classless Interdomain Routing):

  • 引入一个额外的子网掩码 (subnet mask) 来区分网络号和主机号;
  • 子网掩码也是一个 32 位的正整数。通常用一串 "0" 来结尾;
  • 将 IP 地址与子网掩码进行 "按位与" 操作,得到的结果就是网络号;
  • 网络号和主机号的划分与这个 IP 地址是 A 类、B 类还是 C 类无关;

通过将 IP 地址与子网掩码的反码进行按位与运算,得到的结果就是主机号;通过让 IP 地址和子网掩码进行按位与运算,就能得到网络号。

所以在这个子网范围里面不存在网络号主机和广播主机,所以可以用的主机只有256-2=254个

主机号就是.0广播号就是.255(也就是ip的首位和末位)

特殊的 IP 地址

  • 将 IP 地址中的主机地址全部设为 0,就成为了网络号,代表这个局域网;
  • 将 IP 地址中的主机地址全部设为 1,就成为了广播地址,用于给同一个链路中相互连接的所有主机发送数据包;
  • 127.* 的 IP 地址用于本机环回 (loop back) 测试,通常是 127.0.0.1

CIDR 在一定程度上缓解了 IP 地址不够用的问题 (提高了利用率,减少了浪费,但是 IP 地址的绝对上限并没有增加),仍然不是很够用。这时候有三种方式来解决:

  • 动态分配 IP 地址:只给接入网络的设备分配 IP 地址。因此同一个 MAC 地址的设备,每次接入互联网中,得到的 IP 地址不一定是相同的;
  • NAT 技术;
  • IPv6:IPv6 并不是 IPv4 的简单升级版。这是互不相干的两个协议,彼此并不兼容;IPv6 用 16 字节 128 位来表示一个 IP 地址;但是目前 IPv6 还没有普及;

私有 IP 地址和公网 IP 地址

如果一个组织内部组建局域网,IP 地址只用于局域网内的通信,而不直接连到 Internet 上,理论上 使用任意的 IP 地址都可以,但是 RFC 1918 规定了用于组建局域网的私有 IP 地址

  • 10.*,前 8 位是网络号,共 16,777,216 个地址
  • 172.16. 到 172.31.,前 12 位是网络号,共 1,048,576 个地址
  • 192.168.*,前 16 位是网络号,共 65,536 个地址
    包含在这个范围中的,都成为私有 IP,其余的则称为全局 IP (或公网 IP)

也就是说,私有和共有都是有规定的:在某个范围内是私有其余就是公有了!

在日常生活中其实都使用的公有IP,私有IP比较少见,例如云服务器就是私有!

NAT技术:

在我看来就是一个转发技术:NAT 就像一个 “翻译员”。家里或公司里很多设备用的是不能直接连外网的私有 IP 地址,没法直接和外网通信。NAT 路由器就把这些设备的私有 IP 地址,转换成能连外网的公网 IP 地址 。比如你家电脑想上网,它的私有 IP 地址别人不认识,NAT 路由器就把这个地址换成自己的公网 IP,再把上网请求发出去。等外网有回应了,NAT 路由器又能把回应里的公网 IP 换回你家电脑的私有 IP,这样你家电脑就能正常上网了。而且,它还能让好多设备共用一个公网 IP,就像很多人用一个 “身份证” 出门一样,既省了公网 IP 的数量,又能把家里、公司里设备的真实 IP 藏起来,让外面的人不容易找到,更安全 。

公有+私有=互联网

网络层进行了分片,那等目标主机收到以后在网络层再进行组装!

交换机是存在于数据链路层的!它的作用:划分碰撞域,减少局域网碰撞!

Mac帧只在局域网内有效,一旦涉及转发的时候就和mac帧无关了

  • IP 地址描述的是路途总体的 起点 和 终点;
  • MAC 地址描述的是路途上的每一个区间的起点和终点

在传输的过程中,会有情况是需要你知道MAC地址或者一定要知道IP地址,此时就会有一种协议进行交换。

ARP是拿IP换MAC;RARP是拿mac换ip

ICMP 协议

ICMP 协议是一个 网络层协议
一个新搭建好的网络,往往需要先进行一个简单的测试,来验证网络是否畅通;但是 IP 协议并不提供可靠传输。如果丢包了,IP 协议并不能通知传输层是否丢包以及丢包的原因。

ICMP 功能

ICMP 正是提供这种功能的协议;ICMP 主要功能包括:

确认 IP 包是否成功到达目标地址。

  • 通知在发送过程中 IP 包被丢弃的原因。
  • ICMP 也是基于 IP 协议工作的。但是它并不是传输层的功能,因此人们仍然把它归结为网络层协议;
  • ICMP 只能搭配 IPv4 使用。如果是 IPv6 的情况下,需要是用 ICMPv6;

结论就是:Icmp分为两大类报文:一类是通知出错原因 另一类是用于诊断原因

http://www.xdnf.cn/news/5173.html

相关文章:

  • GUC并发编程和SpringCloud,二者之间的关系
  • MySQL核心内容【持续更新中】
  • Linux——MySQL基础
  • SSH(安全外壳协议)
  • O2OA(翱途)开发平台系统安全-用户登录IP限制
  • 从RR到RC:解析大厂数据库隔离级别变革的背后逻辑
  • ‌2.4G芯片无晶振方案的技术影响分析
  • istio in action之流量控制与路由
  • 深入理解 Istio v1.25.2
  • 后缀表达式+栈(详解)(c++)
  • 自由学习记录(59)
  • WHAT - Node vs Python 执行速度
  • 如何把win10 wsl的安装目录从c盘迁移到d盘
  • DevExpressWinForms-布局容器之PanelControl
  • Linux服务:Nginx服务重写功能
  • 不同渲染任务,用CPU还是GPU?
  • 什么是项目管理的经营思维本质,怎样将其应用于项目实践
  • 解锁健康养生新境界
  • 【RAG】Milvus、Pinecone、PgVector向量数据库索引参数优化
  • UI设计公司兰亭妙微分享:汽车 MHI 设计的界面布局创新法则
  • Ubuntu 第11章 网络管理_常用的网络配置命令
  • 第三节第二部分:Static修饰方法应用场景
  • windows配置pcl
  • 【计算机主板架构】ATX架构
  • 【IC】voltage droop
  • MapReduce报错 HADOOP_HOME and hadoop.home.dir are unset.
  • 深入理解 Linux 虚拟文件系统(VFS)
  • 【日撸 Java 三百行】Day 9(While语句)
  • 使用 systemd 管理 Linux 服务:配置与自动重启指南
  • web组件的底层实现