IP地址:网络层的介绍

news2024/10/5 16:22:33

我们花费很大的篇幅讲解了应用层的TCP和UDP协议。现在我们进入到网络层的学习,重点要学习的就是IP协议。

对于IP协议来说,重要的有IPv4和IPv6协议,我们重点介绍IPv4协议。

IP报头

4位版本:

此处的取值只有4和6,代表着是IPv4还是IPv6协议。具体的关于IP版本的知识可以看: 【电子监听、全国断网,棱镜门背后,中国如何从末路狂奔到世界之巅】icon-default.png?t=N7T8https://www.bilibili.com/video/BV1i14y157YV/?share_source=copy_web&vd_source=f44a1aec9bd3f4b80728fab35b04d675

4位首部长度:

描述了IP报头多长。同时在选项部分,也会有相关的参数,可以使其变长。此处的长度是4字节。

8位服务类型(TOS)

虽然说是8位,但是其实只有4位有效。这4位中只有1位可以是1,其他的都是0.4位就表示IP协议的四种工作形态/模式,分别为:

最小延时、最大吞吐量、最高可靠性、最小成本。

16位总长度(字节数)

描述了一个IP数据报的长度(IP报头+载荷)。同时16位总长度意味着一个IP数据报最大就只能支持64KB,但是一个IP数据报携带的数据载荷太长了,超过了64KB,就会在网络层针对数据进行拆分,把一个数据拆分成多个IP数据报,再分别发送,接收方再重新拼装。

虽然说是64KB,但是IP协议不一定就按照64KB为单位进行拆分,实际的单位往往更小。

16位标识

和上一条有关,同一个数据拆分成的多个包标识是一样的。

3位标志

这是结束标志。

13位位偏移

表示了多个包的先后顺序。这几个字段都是辅助拆包、组包提供的。

8位生存时间(TTL)

一个数据报在网络上能够传输的最大时间。这个时间的单位不是秒而是次数。一个数据报构造出来,会有一个初始的TTL数值,比如32或者64,这个数据报每次经过一个路由器转发后TTL-1,如果一只减到了0还没到达目标就会认为这个包此时永远也到不了,就可以丢弃了。

8位协议:

描述了当前的载荷部分是属于TCP还是UDP协议。

16位首部校验和:

此处只需要对首部进行校验,载荷部分自身已经校验过了。

32位源IP地址、32位目的IP地址:

这是IP协议最重要的部分。此处看到的IP地址是32位的整数,但是我们日常生活中看到的IP地址是一串数字,比如192.168.1.1。这是通过点分十进制把32位的整数转换成4个部分,每个部分分别使用0-255十进制整数表示。这就引出接下来的地址管理。

地址管理

诞生之初IP协议想要的是全球每个上网设备都能够有一个IP地址,但是32位数字只能表示42亿9000万个数字,为了解决IP地址不够用的问题,想了很多办法:

1.动态分配IP地址

2.NAT网络地址转化:本质是用一个IP代替一批设备。

在NAT背景下,把IP地址分成了两个类,内网(私有IP)(10.* ; 172.16.*-172.31.* ; 192.168.*)和公网(公网IP)

NAT要求,公网IP是唯一的,私网IP可以在不同的局域网中重复出现的,如果某个私网里的设备想访问公网的设备,就需要对应的NAT设备(路由器),把IP地址进行映射,从而完成网络访问。

这些接入运营商路由器的电脑,去访问外部服务器都会被路由器替换成路由器自己的外网IP。我的IP经过运营商路由器之后,会把我的源IP改了。

NAT能够有效的解决IP不够用的问题,但是副作用就是网络环境更加复杂了。

WAN,指的是广域网。LAN,指的是局域网。

网络号:标识网段,保证相互连接的两个网段具有不同的标识。

主机号:标识主机,同一网段内,主机之间具有相同的网络号。

192.168.0.10  这是一个常见的设定,网络号是192.168.0,主机号就是10

并且当前局域网下的设备,网络号都是192.168.0

一个典型的局域网环境:

每个路由器都有两个IP分别属于不同的网段,分为WAN(广域网)和LAN(局域网)。相邻的局域网,网络号是不能相同的。

但是一个IP地址,前面从哪里到哪里是网络号?后面从哪里到哪里是主机号?

子网掩码

子网掩码表明一台主机所在的子网与其他子网的关系。

网络号不一定就是前三个字节,简单的说就是子网掩码255的部分就是网络号。

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

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

相关文章

Redis安全之从入门到花式利用

0x00 安全研究思路 正常安全研究思路大致可以是这样: 正常功能,为什么这个功能会导致漏洞,怎么使用不会有漏洞,开发为什么会这么写如何攻击,攻击会遇到什么情况什么限制如何解决如何武器化如何防御,在什么…

uniapp开发小程序—picker结合后台数据实现二级联动的选择

一、效果图 二、完整代码 <template><view><picker mode"multiSelector" change"bindMultiPickerChange" columnchange"bindMultiPickerColumnChange":value"multiIndex" :range"multiArray"><view c…

做外贸为何离不开WhatsApp?一文解封、养号、引流、促单全攻略!

WhatsApp在国际贸易中的地位无法忽视。它是一种即时通讯工具&#xff0c;也是外贸从业者的得力助手。但同时&#xff0c;使用WhatsApp也伴随着一些问题&#xff0c;如账号被封、如何养号、引流和促单。这篇文章将为你详细解答这些问题&#xff0c;让你更好地利用WhatsApp&#…

个人企业项目招投标小程序开发

项目招投标小程序开发 针对个人企业招投标开发的小程序。 程序基本能力&#xff1a;用户缴纳保证发布招标信息&#xff0c;然后商家进行认证成功后可以对招标发起投标&#xff0c;投标过程也需要缴纳保证金&#xff0c;招标结束或者下架保证金将全部退回到用户账号里面。 招…

生物芯片技术-原理、应用与未来发展

生物芯片技术-原理、应用与未来发展 一、引言 随着科技的不断发展&#xff0c;生物芯片技术已成为生物医药领域的重要支柱。这种技术运用微电子和微机械工艺&#xff0c;将生物分子、细胞、组织等生命活性物质固定在硅片、玻璃片、塑料片等固相基质上&#xff0c;实现生物信息…

filebeat7.10上传日志到ES7.14

filebeat版本&#xff1a;filebeat-7.10.0 版本&#xff1a;filebeat-7.10.0-linux-x86_64.tar.gz filebeat7.10上传日志到ES7.14 1、下载filebeat wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.10.0-linux-x86_64.tar.gz 2、安装filebeat ta…

从果蔬到乳制品,探索食品微生物对肠道健康的影响

谷禾健康 俗话说病从口入&#xff0c;饮食对人体具有重要的影响&#xff0c;蔬菜和水果作为每日饮食中必不可少的成分&#xff0c;为人类提供了重要的营养物质&#xff0c;包括各种必需的维生素和矿物质。 此外&#xff0c;蔬菜和水果上栖息着数量惊人的微生物&#xff0c;高度…

ASO优化之通过页面的优化来提升排名

应用商店优化是一个持续优化应用列表的过程&#xff0c;从而让我们的应用更容易被目标受众发现。通过实施ASO&#xff0c;我们可以在竞争激烈的应用市场中有效竞争&#xff0c;并为我们的应用带来自然流量。 1、添加关键词。 进行关键词研究&#xff0c;从而确定与应用程序功能…

【JavaSE语法】数据类型与变量

一、字面常量 常量即程序运行期间&#xff0c;固定不变,不可修改的量称为常量 public class Demo {public static void main(String[] args) {System.out.println("hello World!");System.out.println(100);System.out.println(3.14);System.out.println(A);System…

【欧拉函数】CF1731E

Problem - E - Codeforces 题意 思路 对于 k 次操作&#xff0c;gcd(u, v) k 1&#xff0c;代价的贡献就是二元组 (u, v)的个数 * (k 1) 那么就要我们求二元组个数 这个是个很经典的欧拉函数的套路&#xff0c;可以用线性筛把欧拉函数求出来&#xff0c;然后求个前缀和 …

动手学深度学习——第四次

梯度下降是在机器学习中用于寻找最佳结果&#xff08;即曲线最小值&#xff09;的一种迭代优化算法。 最小化loss&#xff0c;只需要将参数沿着梯度相反的方向前进一个步长&#xff0c;就可以实现目标函数&#xff08;loss function&#xff09;的下降。这个步长 η \etaη 又称…

在antd里面渲染MarkDown并且自定义一个锚点目录TOC(重点解决导航目录不跟随文档滚动的问题)

一、整体思路 由于有很多很长的文档需要渲染&#xff0c;我觉得用MarkDown的方式会比较适合管理&#xff0c;所以这两天测试了一下在antd里面集成MarkDown的渲染模块。 总体思路参考&#xff1a; https://blog.csdn.net/Sakuraaaa_/article/details/128400497 感恩大佬的倾情付…

技术分享 | 某下一代防火墙远程命令执行漏洞分析及防护绕过

0x01 概述 最近&#xff0c;某下一代防火墙曝光了远程代码执行漏洞。此漏洞通过绕过身份认证和注入 cookie 的方式来执行系统命令&#xff0c;公开的利用方式受到诸多限制且命令执行无回显&#xff0c;并且当目标机器不出网时&#xff0c;该漏洞利用方式便无法发挥作用&#x…

C语言——有 15 个数按由大到小顺序存放在一个数组中,输入一个数,要求用折半查找法找出该数是数组中第几个元素的值。如果该数不在数组中,则输出“无此数”

完整代码&#xff1a; /* 有 15 个数按由大到小顺序存放在一个数组中&#xff0c;输入一个数&#xff0c;要求用折半查找法找出 该数是数组中第几个元素的值。如果该数不在数组中&#xff0c;则输出“无此数”。*/ #include<stdio.h>//折半查找法&#xff0c;n是查找的那…

超宽带技术在汽车领域的应用

随着科技的不断发展&#xff0c;超宽带&#xff08;Ultra-Wideband, UWB&#xff09;技术在各个领域展现出了强大的潜力&#xff0c;其中汽车领域更是受益匪浅。UWB技术以其高精度的定位能力、高速的数据传输和低功耗的特点&#xff0c;为汽车行业带来了许多创新。本文将探讨UW…

在Python的虚拟环境中卸载eric6的方法

问题描述 之前在电脑的Python虚拟环境中安装了PyQt5及相应的界面设计器eric6。当时安装eric6后&#xff0c;没成功运行&#xff0c;提示少一个什么系统文件。我已在旁边的台式机上安装了较新版的PyQt6&#xff0c;决定不再用老版本的eric6&#xff0c;于是我需在笔记本电脑上卸…

C#WPF嵌入字体实例

本文介绍C#WPF嵌入字体实例。 首先创建项目 添加Resources文件夹,添加字体文件,字体文件属性:生成操作为Resources,复制到输出目录:不复制 字体的使用可以采用以下两种方法: 方式一 直接引用 FontFamily="./Resources/#幼圆" 方式二 定义资源 <Applica…

微信小程序:js处理一段文字,根据句号或者分号进行换行

一、根据句号和分号进行换行 效果 代码 wxml <view><text>{{remark}}</text> </view> js 核心代码 var repalce_remark remark.replace(/[&#xff1b;。]/g, "$&\n"); // 使用正则表达式进行替换 remark 是待替换的字符串。/[&am…

APP移动出海必备神器,MobPush提供海外消息智能推送一站式解决方案

随着国内移动应用市场的趋于饱和&#xff0c;海外新兴市场成为越来越多移动应用开发者的进一步提升APP市场占有率的不二之选。据统计&#xff0c;中国应用开发者中有79.1%计划出海。但如何利用消息推送实现与用户的深度绑定仍然存在较为一定问题。在国外&#xff0c;应用开发者…

深度学习:激活函数曲线总结

深度学习&#xff1a;激活函数曲线总结 在深度学习中有很多时候需要利用激活函数进行非线性处理&#xff0c;在搭建网路的时候也是非常重要的&#xff0c;为了更好的理解不同的激活函数的区别和差异&#xff0c;在这里做一个简单的总结&#xff0c;在pytorch中常用的激活函数的…