IP协议总结

news2024/11/16 22:45:40

一、定义。

IP全称为Internet Protocol,是TCP/IP协议族中的一员,负责实现数据在网络上的传输。它是一种无连接、不可靠的数据报协议。
IP协议常用于Internet网络和局域网中,它通过将数据包进行分组并进行逐跳转发来实现数据在网络中的传输。IP协议定义了网络地址寻址方式(IPv4或IPv6),以及数据包在路由器之间传递时的处理规则。每个运行IP协议的设备都有一个唯一的IP地址,用于标识该设备在网络中的位置。
IP协议本身并不提供任何确认机制和重传机制,因此它无法保证数据传输的可靠性。在使用IP协议传输数据时,需要借助其他协议如TCP或UDP来确保数据的可靠传输。

二、IP协议在网络分层的作用。

TCP作为传输层控制协议,其保证的是数据传输的可靠性和传输效率,但TCP提供的仅仅是数据传输的策略,而真正负责数据在网络中传输的则传输层之下的网络层和链路层。
IP协议作为网络层的协议,他的作用主要涉及以下方面:

寻址和标识:IP协议为网络中的设备提供唯一的IP地址,用于标识和寻址设备。每个设备都有一个唯一的IP地址,这使得它们可以在网络上被准确地定位和识别。

路由选择:IP协议负责根据目的IP地址来选择最佳的路径,以确保数据包从源主机传输到目的主机。这包括在网络中查找路由表,以确定数据包应该通过哪个路由器传输。

数据包封装:IP协议将数据包封装为IP数据包。这个封装的过程包括在数据包中添加源IP地址和目的IP地址等信息,以确保数据包能够在网络中正确传输。

跨网络通信:IP协议允许数据包从一个网络传输到另一个网络,因为它能够跨越不同的网络边界。这使得设备可以在全球范围内进行通信,而不受物理网络拓扑的限制。

路由和数据包转发:IP协议负责路由器之间的数据包转发。路由器使用IP地址来确定数据包的下一跳路由器,并根据路由表中的信息来选择正确的路径。这确保了数据包能够沿着正确的路由路径传输。

三、传输过程。


当数据包到达了网络层之后,经过IP协议包装之后,就会选择合适的路由路径,路由器路径的选择是由IP协议决定的,而非链路层协议。
在网络协议栈中,IP协议位于网络层,负责将数据包从源主机传输到目标主机。IP协议使用IP地址来标识主机和网络,并提供了路由选择的功能。当一个数据包到达路由器时,路由器会根据数据包的目标IP地址查找路由表,并基于此选择下一跳路由器或输出接口。IP协议使用一系列路由算法和度量标准来确定最佳路径,如最短路径优先、延迟、带宽等。
而链路层协议(如以太网)主要负责将数据包从一个链路传输到下一个链路,通过物理地址(MAC地址)进行寻址和传输。链路层协议只关注相邻节点之间的数据传输,而不涉及网络范围内的路径选择。
在这个过程中,网络层和链路层是密不可分的,共同完成了在路由器的传递过程。在路由器和路由器之间的数据传输过程中,网络层和链路层会交替工作,各自负责不同的任务,以确保数据包能够从一个路由器传输到另一个路由器,最终到达目的地。

以下是它们的交替工作方式:

网络层(第三层)工作:在发送路由器(源路由器)上,网络层的主要工作是路由选择。它根据目标IP地址来确定数据包的下一跳路由器,并将数据包封装成IP数据包。这个封装过程包括添加源IP地址和目标IP地址等信息。网络层的路由选择决定了数据包的路径。

链路层(第二层)工作:一旦数据包在网络层被封装为IP数据包,它将被传递到链路层。在发送路由器上,链路层的主要工作是将IP数据包封装为适当的数据链路层帧(例如以太网帧)。这个帧包含了目标物理地址(通常是MAC地址),源物理地址,以及链路层协议需要的控制信息。链路层的工作是确保数据包能够在物理网络上传输。

传输到下一跳路由器:一旦数据链路层帧被创建,它将被发送到源路由器连接的物理网络中。这个帧将经过物理网络中的设备,例如交换机和中继器,以最终到达下一跳路由器。

下一跳路由器的处理:在下一跳路由器上,链路层将负责解封装数据链路层帧,提取出IP数据包,并将其传递到网络层。网络层然后再次执行路由选择,选择下一个跳转的路由器。这个过程在不同的路由器之间重复,直到数据包最终到达目的地。

三、IP协议的分片与组装。

在网络分层中,TCP只关心提供数据传输的可靠性,而链路层只关心封装成MAC帧以实现在两个节点之间的传递。
所以数据的分片和组装都是由IP层独立完成的,因为MAC帧的最大长度限制MYU为1500字节,所以IP协议传下来的就不能大于这个值。
在这里插入图片描述
在这里插入图片描述

四、网段。

前提背景是要将数据从一台主机发送到另一台主机时,其实不是直接将数据发送到了目标主机,而是先将数据发送到目标主机所在的网络,然后再将数据发送到目标主机。这种方式可以一次性排查很多,提高检索的效率。因此,我们对网络进行了网段划分。
在这里插入图片描述
在这里插入图片描述
网络号不同于IP地址,尽管它们通常是IP地址的一部分。

IP地址是一个用于唯一标识设备或主机的32位(IPv4)或128位(IPv6)二进制数。IP地址用于标识一个具体的网络接口或主机,以便在互联网上进行通信。例如,IPv4地址可能是192.168.1.1或者8.8.8.8。

网络号是IP地址中的一部分,它用于标识一个网络。网络号的作用是将IP地址分组为不同的网络,以便路由器能够正确地将数据包传送到正确的目标网络。网络号的范围通常是IP地址的高位部分。例如,在IPv4地址192.168.1.1中,网络号通常是192.168,用于标识所属的网络。
但是这种划分方法有很多的问题:
浪费地址空间:类别划分中每个类别都有固定的网络号和主机号划分,导致了IP地址的浪费。特别是,A类地址的主机号非常大,而B类和C类地址的主机号相对较小,因此在许多情况下,分配的地址数量远远超过实际需要。

不适应网络规模变化:类别划分没有考虑到不同网络规模的需求。大型组织可能会获得过多的IP地址,而小型组织则可能获得太少的IP地址。这种不平衡会导致地址浪费或地址不足的问题。

路由表膨胀:由于每个类别都有固定数量的网络,这导致了路由表的膨胀。路由器需要存储大量的路由表项,即使有些网络可能只有少数IP地址。

难以分配子网:在类别划分下,划分子网变得复杂和不灵活。组织难以有效地划分子网以满足其内部网络拓扑的需求。
于是引入了子网划分和子网掩码。

五、子网划分和子网掩码。

子网划分是将一个大型IP网络划分成多个更小的子网,每个子网可以包含一定数量的主机。这样做的好处是可以更有效地利用IP地址资源,在网络管理和路由控制方面提供更多的灵活性和可扩展性。

子网掩码则是用于划分子网的一个二进制数字,与IP地址结合使用,确定网络号和主机号的边界。子网掩码的作用是将一个IP地址划分为网络地址和主机地址两部分。子网掩码的长度(用“1”表示的位数)表示了网络地址的长度,其余的位数则是主机地址。例如,一个子网掩码为255.255.255.0的IP地址与子网掩码相与后,就可以得到该IP地址所在的网络地址和主机地址。

在实际应用中,通常使用CIDR(无类域间路由)表示法来表示子网掩码和IP地址。CIDR表示法使用斜线后面的数字来表示子网掩码中网络地址所占用的位数,例如,一个CIDR地址为192.168.1.0/24,代表子网掩码为255.255.255.0,网络地址为192.168.1.0,主机地址范围为192.168.1.1~192.168.1.254。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1078025.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Android App备案获取公钥、签名MD5值

1.生成签名文件 keytool -genkey -alias 别名XXX -keypass 密码XXX -keyalg RSA -keysize 2048 -validity 36500 -keystore D:\XXX.keystore -storepass 密码XXX2.查看签名MD5值 keytool -list -v -keystore D:\XXX.keystore3.查看公钥 导出证书XXX.cer keytool -export -a…

小程序分销商城有哪些功能?

越来越多的企业,开始打造商城小程序,想要利用商城小程序功能来进行转型升级,那么商城小程序功能有哪些,[可R]下面就来分享一下商城小程序功能有哪些?常用小程序商城功能介绍; 1.产品展示功能:产…

DataGrip导出和导入文件

导出文件后用excel打开 发现乱码。解决办法: DataGrip导出CSV文件中文乱码 | 一个博客 (imguan.com) 再次导入进行测试

java - 设计模式 - 状态模式

文章目录 前言java - 设计模式 - 状态模式1. 概述2. 作用3. 示例 前言 如果您觉得有用的话,记得给博主点个赞,评论,收藏一键三连啊,写作不易啊^ _ ^。   而且听说点赞的人每天的运气都不会太差,实在白嫖的话&#xf…

CDGA数据治理工程师考试心得

2023年8月初,准备备考CDGA。当时也是很迷茫,啥时候考试都不知道,也不知道该怎么做。写这篇文章的目的也只是记录一下。 1.什么是CDGA? CDGA就是数据治理工程师(Certified Data Governance Associate),“D…

【安鸾靶场】cmseasy内网渗透 (500分)

文章目录 题目一、渗透开始后台执行rce漏洞内网横向 题目 一、渗透开始 上burp后没有报漏洞&#xff1a; /admin存在后台&#xff1a; 爆破一下&#xff1a; admin admin123 后台执行rce漏洞 POC&#xff1a; 1111111111";}<?php phpinfo()?> 触发漏洞&#xf…

公众号运营重要策略-公众号排名优化

排名优化一直以来都是公众号运营的重要策略之一。公众号作为连接用户和商家的桥梁&#xff0c;其排名的高低直接影响着曝光量和用户关注度&#xff0c;因此公众号排名优化是每个运营者必须掌握的技能之一。本文将从以下几个方面&#xff0c;为大家深入剖析公众号排名优化的技术…

CCF CSP认证 历年题目自练Day27

题目一 试题编号&#xff1a; 202104-1 试题名称&#xff1a; 灰度直方图 时间限制&#xff1a; 1.0s 内存限制&#xff1a; 512.0MB 样例输入 7 11 8 0 7 0 0 0 7 0 0 7 7 0 7 0 7 0 7 0 7 0 7 0 7 7 0 0 0 7 0 0 0 7 0 7 7 0 0 0 0 7 0 0 7 7 0 7 0 0 0 0 0 7 0 7 0 0 7 0 …

MySQL对日期计算

mysql日期计算 前言使用场景一 日期作减法操作二 获取前一天或后一天的日期三 获取前一个月或后一个月的日期四 获取前一年或后一年的日期五 查询一个月内的申请记录 总结 前言 在MySQL中&#xff0c;日期计算是非常常见的操作。其中&#xff0c;日期减法操作可以用来计算两个…

PTE DESCRIBE IMAGE做题方法 (一)

目录 界面切换来判断 到了哪一种题目 说废话 还是会给流利度加分 回答问题的时候想想哪些不说 必定是不行的呢 事先会预计学生会说些什么 鱼池理论 1st:Ttle.Unit,Legends.非说不可2nd:X-axis.Y-axis. 多多益善3 rd:Extra information(implications&development)不…

滚雪球学Java(45):探秘Java Runtime类:深入了解JVM运行时环境

&#x1f3c6;本文收录于「滚雪球学Java」专栏&#xff0c;专业攻坚指数级提升&#xff0c;助你一臂之力&#xff0c;带你早日登顶&#x1f680;&#xff0c;欢迎大家关注&&收藏&#xff01;持续更新中&#xff0c;up&#xff01;up&#xff01;up&#xff01;&#xf…

《深入理解计算机系统》(2):虚拟内存

虚拟内存是一种对主存的抽象概念。 &#xff08;1&#xff09;将主存看作一个存储在磁盘上的地址空间的高速缓存&#xff0c;在主存中只保存活动区域&#xff0c;并根据需要在磁盘和主存之间来回传送数据&#xff0c;通过这种方式高效地使用内存 &#xff08;2&#xff09;为每…

30天入门Python(基础篇)——第4天:Python中的【输入】+【数据类型】的认识(万字建议点赞收藏)

文章目录 专栏导读上节课回顾Python中的输入Python中的数据类型1、可变数据类型2、不可变数据类型 如何查看一个变量(数据)的变量类型字符串&#xff08;str不可变&#xff09;整数&#xff08;int不可变&#xff09;浮点数&#xff08;float不可变&#xff09;列表&#xff08…

```,```中间添加 # + 空格 + 空行后遇到的底部空行出错,书接上回,处理空行

【python查找替换&#xff1a;查找空行&#xff0c;空行前后添加&#xff0c;中间添加 # 空格 空行后遇到的第1行文字&#xff1f; - CSDN App】http://t.csdnimg.cn/QiKCV def is_blank(line):return len(line.strip()) 0txt 时间戳&#xff1a; ("%Y-%m-%d %H:%M:…

软件设计师考试知识点大全思维导图

软件设计师考试知识点大全思维导图 欢迎交流学习

BDJ-A02-32、BRJ-A02-50比例减压阀放大板

BDJ-A02-210、BDJ-A02-100、BDJ-A02-32、BRJ-A02-50、BRJ-A02-100、BRJ-A02-210、BRJ-A02-315、BCJ-A03-315、BCJ-A06-100、BCJ-A08-50、BYJ-A02-20、BYJ-A02-40是比例减压阀&#xff0c;阀的二次压力与输入电信号成正比。此类阀工作时是通过电子放大器提供比例电磁铁的驱动电流…

技术干货:解密最受欢迎的开源 Serverless 框架弹性技术实现

作者&#xff1a;元毅 Knative 是一款基于 Kubernetes 的开源 Serverless 应用编排框架&#xff0c;其目标是制定云原生、跨平台的 Serverless 应用编排标准。Knative 主要功能包括基于请求的自动弹性、缩容到 0、多版本管理、基于流量的灰度发布以及事件驱动等。 弹性是 Ser…

kali linux安装redis

官网&#xff1a;Install Redis from Source | Redis wget https://download.redis.io/redis-stable.tar.gztar -xzvf redis-stable.tar.gz cd redis-stable make显示如下即可进入下一步 sudo make installredis-server 可以看到已经可以使用了。 但是由于第一次使用导致了re…

微信支付v2

文档&#xff1a; https://pay.weixin.qq.com/wiki/doc/api/index.html 微信小程序&#xff1a;https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter11_1 需要一个微信认证后的小程序&#xff0c;&#xff0c;还需要一个&#xff0c;在微信商户平台&#xff0c;&…

matlab实现对极地投影数据的投影转换

图片摘要 前段时间&#xff0c;我写了一个专栏《联合matlab和Arcgis进行netcdf格式的雪覆盖数据的重新投影栅格》&#xff0c;介绍了如何利用Arcgis实现极地投影的转换。今天&#xff0c;我提供一个matlab重采样的方法实现投影转换。 我们这次使用的数据是北冰洋逐日的海平面高…