网络原理(6)——IP协议

news/2024/4/28 0:35:47/文章来源:https://blog.csdn.net/cool_tao6/article/details/136975902

目录

一、网段划分

现在的网络划分:

1、一般情况下的家庭网络环境

2、IP地址

3、子网掩码

4、网关

以前的网络划分:

二、特殊IP

1、环回 IP

2、主机号为全 0 的IP

3、广播地址IP

三、路由选择(路线规划)


一、网段划分

现在的网络划分:

——通过子网掩码区分网络号和主机号

如图是Windows系统控制平台下网络IP的设置界面,下面也会介绍这些内容

a6a349e328c044f487605f1c61518422.png

1、一般情况下的家庭网络环境

下面介绍一下家庭网络的一般的部署情况:

        1、如果在一个局域网中,网络号和主机号都相同,就不能上网因为每个主机都是单独的个体,如果两个主机的主机号都一样,则不能辨别这两个主机谁是谁,网络数据也自然不知道传给谁

        2、如果是相邻的局域网,则他们的网络号不能相同,否则上不了网这里的相邻是指上下相邻,如运营商的光猫下接我们的路由器,路由器下接我们的电脑设备,这里的路由器和电脑设备就是相邻的。如图:

c9231d064e664cf4b386f85bc6f03d44.png

        如图:在一个局域网内,网络号要一样,但主机号不能一样;而且相邻的局域网的网络号不能一样,如上图,你买的路由器的LAN口IP不能和光猫上的LAN口IP一样,也就是说,你的电脑上的IP不能和光猫上的LAN口IP一样,这就是相邻的意思。

        还有,在同一个局域网中,我们可以通过这局域网内的一个设备访问另一个设备,比如上图的设备A就能访问设备C。

        如果想要我们家电脑设备断网,防止熊孩子沉迷游戏,就可以把路由器上的LAN口IP和WAN口IP设置成一样,这样相邻的局域网的IP网络号一样,就不能上网了。

2、IP地址

        在局域网中,我们的设备的IP地址(IPv4)分成两部分:网络号 + 主机号,如图:

dbb8998a929649298b301b08aeae8a0d.png

        网络号(同一个局域网内前半部分都是相同的):192.168.83        主机号(同一个局域网内后半部分都是不同的):63

        这里的网络号是路由器LAN口的IP同一个局域网上的设备,网络号都是一样的主机号就是区分同一局域网的不同设备所有主机号要不一样

        网络号要和路由器的LAN口IP一样,才能上网

3、子网掩码

        我们怎么知道哪几位是网络号呢?就是看子网掩码,如图是子网掩码:

d0d712a45a85402fbd5b0c73f050dd2a.png

        前三部分都是255,二进制表示是8个1,如果写出二进制的话前24位都是1后8位都是0,这就说明:前三部分是网络号最后一部分是主机号

4、网关

        可以把网关理解成上网的关卡,这个关卡就是路由器是局域网网络数据的进出口。所以网关写的就是路由器的LAN口IP

        但是要设置这么多东西,我们连网就能上网,也没有配置这些东西啊,原因就是路由器帮我们自动配置了,如图:

a6a349e328c044f487605f1c61518422.png

        只要你一连上路由器,路由器的DHCP功能,就可以自动的帮你分配一个IP,这也意味着,每次重启路由器,可能会有不同的IP地址。

        如果要手动配置的话,要对网络环境很清楚,不然容易出问题,上不了网。

以前的网络划分:

        把时间往前推移个20~30年,当时的网络划分不是像现在这种,不过也是按网络号和主机号进行划分,如下图这种:

ead8f8521b9440b1b2fb3577f31cb3fa.png

93fab5c503ce4853985b0a6a652ac8f1.png

        这时上古时期的网段划分了,并没有子网掩码区分网络号和主机号;上面的这种网段划分也是因为浪费了太多IP地址给放弃使用了,如A类,有24位的主机号,要知道,24是一个很大的数字:2^16 * 2^8 = 65535 * 2^8 = 65535 * 255 大于120万,而一个局域网内真的可能会有120万个设备吗,答案肯定是NO!这就导致,浪费了很多IP地址,而且在这个网络划分出来后,网络迅速发展,就连B类也很快就满了,后来就想出来现如今的网络划分,使用子网掩码的方式辨别网络号

        其中我们如今的IP:192.168.0.1不是上面的C类我们是用子网掩码可以设置网络号和主机号,完全可以把前两段设为网络号,后两位设为主机号,所以,上面这种IP不是以前的C类。


二、特殊IP

——这里使用的是现如今子网掩码的网络划分

1、环回 IP

        环回IP(loopback)是127.0.0.1,表示自己本机

        我们程序员写完代码,肯定是要对代码进行测试的,而测试就是要在本机上测试,所以就设置一个这样的IP供我们程序员使用。

        其实,换回IP不是就仅仅只有一个(127.0.0.1)。127.* ,以127开头的IP地址,都是环回IP

2、主机号为全 0 的IP

        IP地址的主机号为全0,例如:192.168.1.0,最后一部分是主机号,主机号为全0表示 “这个网段”,这个IP比较特殊,不能分配给某个主机

3、广播地址IP

        广播地址IP是主机号为全 1 的的IP,注意,这里不是10进制的全1,而是二进制的全1,例如:192.168.1.255,前三部分是网络号,后一部分是主机号,主机号的二进制是全1,8个1,也就是255。其中有以下几种情况:

单播:一对一

组播:一对多(多是有限制的,是整体的一部分)

广播:一对多(这里的多是整体全部,比组播的多还大)

        上面的广播:往广播的IP地址发送消息,局域网内的所有设备都能收到。(广播只能发UDP协议的消息,TCP的则不行)

广播的经典应用场景:手机投屏 / 电脑投屏,以下简单介绍投屏的流程:

        在家里的场景,家里的通信设备 / 电视.....都会连接你家的网,多个设备连同一个网,这也就是你家的局域网了;这时,我们想把手机的视频投屏到家里的电视中,就要点击手机的投屏功能。

        手机上点击完投屏后,你手机就会广播一个查询数据包查询有多少个设备是连接了你家网的这时候你家连网的设备就会给你返回响应返回响应到你手机后你手机就要判断哪些设备是支持投屏的,这时候选择可以投屏功能的设备(电视),就可以在电视上看你手机上的视频了。

        这个投屏播放视频,传输数据的过程是直接传输的,因为在同一个局域网中,里面的设备都是可以互相访问、通信的。

        学校中的机房,学生机和讲台上的机器,这种一般不是广播,而是:学生机是客户端,讲台上的机器是服务器,客户端从服务器中拉去画面(这里如果有办法关闭学生机中的客户端进程,你就可以自由控制电脑了)。


三、路由选择(路线规划)

        因为网络结构太复杂,每个路由都无法掌握全局的信息,只能掌握一部分局部的信息(周围的),所以数据进行网络传输的路线不能一开始就规划好全局路线

        当一个数据刚进行网络传输时,从此时的起始IP到目的IP,这个数据走的路线,并不能从全局的角度就给它规划好路线(像如今的地图功能),因为网络结构复杂,且网络环境难以预料,是一直在变化的,所以进行网络传输网络数据时,它只能走一步看一步,走到当前节点(路由),就看看周围的节点哪些适合这个数据传输,是从局部的角度,看离自己近的节点,选择下个合适的节点,传输给它。

        这里是探索式 / 启发式 / 渐进式的路线规划,类似以前没有手机地图的时候,去别的陌生地方要不停的向路人问路,因为这个路人如果是住在附近的人,就对这里不会陌生,附近的地方也大概率会知道;而路由就类似路人,它虽然不能知道网络全局的信息,但能知道相邻的路由(“附近的网络环境”)有一定了解,网络数据就可以根据这个路由来确认下一个的节点,应该是哪个。

        路由能够知道附近的路由设备的网络环境,是因为路由器内部有一个数据结构:路由表,大概结构如图:

4bab7fd116c14b43b44828e82946a8fa.png

       这里的数据拿着目的 IP,路由表这里就会告诉你,应该往哪走(对应的网络接口,这里的接口和物理上的接口不同)但是这了数据有时候目的IP去找出口,可能查询不到结果(应该往哪走),这里就要靠这里特殊的表项,里面有default,表示默认的,虽然此时数据不知道怎么走,但是可以往一个大概方向走,特殊表项就是这种原理(像我从北京去广东,虽然不知道咋走吗,但主体方向是往南走,肯定不会错)


都看到这了,点个赞再走吧,谢谢谢谢谢

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

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue3+ts+element home页面侧边栏+头部组件+路由组件组合页面教程

文章目录 效果展示template代码script代码样式代码 效果展示 template代码 <template><el-container class"home"><el-aside class"flex" :style"{ width: asideDisplay ? 70px : 290px }"><div class"aside-left&q…

KubeSphere简单介绍及安装使用

KubeSphere 概述 官网地址&#xff1a;https://kubesphere.io/zh/ 什么是 kubesphere KubeSphere 是一个开源的多云容器管理平台&#xff0c;旨在简化企业级 k8s 集群的部署、管理和运维。它提供了一个可视化的管理界面&#xff0c;帮助用户更轻松地管理和监控 k8s 集群&…

vscode使用Runner插件将.exe文件统一放到一个目录下

找到右下角管理&#xff0c;点击扩展。 找到Code Runner插件&#xff0c;打开扩展设置。 向下翻&#xff0c;找到Executor Map&#xff0c;点击在settings.json中编辑。 在c和c的配置命令栏中增加\\\output\\即可。&#xff08;增加的目录不能自动创建&#xff0c;需要手动创建…

基于大语言模型的云故障根因分析|顶会EuroSys24论文

*马明华 微软主管研究员 2021年CCF国际AIOps挑战赛程序委员会主席&#xff08;第四届&#xff09; 2021年博士毕业于清华大学&#xff0c;2020年在佐治亚理工学院做访问学者。主要研究方向是智能运维&#xff08;AIOps&#xff09;、软件可靠性。近年来在ICSE、FSE、ATC、EuroS…

t-rex2开放集目标检测

论文链接&#xff1a;http://arxiv.org/abs/2403.14610v1 项目链接&#xff1a;https://github.com/IDEA-Research/T-Rex 这篇文章的工作是基于t-rex1的工作继续做的&#xff0c;核心亮点&#xff1a; 是支持图片/文本两种模态的prompt进行输入&#xff0c;甚至进一步利用两…

简单的SpringMVC项目创建流程(基于XML文件(了解))

1&#xff1a;首先创建一个maven项目&#xff0c;并在pom.xml文件中导入依赖 <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM/4.0.0 …

浅模仿小米商城布局(有微调)

CSS文件 *{margin: 0;padding: 0;box-sizing: border-box; }div[class^"h"]{height: 40px; } div[class^"s"]{height: 100px; } .h1{width: 1528px;background-color: green; } .h11{background-color:rgb(8, 220, 8); } .h111{width: 683px;background-c…

Linux 基础命令1

目录 一.Linux优点&#xff08;优势&#xff09; 二.Shell 三.Linux命令 四.help命令 五.Linux目录结构 六.目录操作 七.路径 一.Linux优点&#xff08;优势&#xff09; 1.一切都是一个文件 2.系统中拥有小型 &#xff0c;轻量级&#xff0c;单一用途的程序 3.避免令…

【循环神经网络rnn】一篇文章讲透

目录 引言 二、RNN的基本原理 代码事例 三、RNN的优化方法 1 长短期记忆网络&#xff08;LSTM&#xff09; 2 门控循环单元&#xff08;GRU&#xff09; 四、更多优化方法 1 选择合适的RNN结构 2 使用并行化技术 3 优化超参数 4 使用梯度裁剪 5 使用混合精度训练 …

MySQL高阶SQL语句

文章目录 MySQL高阶SQL语句MySQL常用查询1、按关键字排序1.1 语法1.2 ASC和DESC1.3 对数据表中信息进行排序1.3.1 普通排序1.3.2 结合where进行条件过滤1.3.3 对多个字段进行排序 2、区间判断及查询不重复记录2.1 and/or —— 且/或2.1.1 普通查询2.1.2 嵌套/多条件查询 2.2 di…

验证码demo(简单实现)

前言 我们注意到我们登录网站的时候经常会用到网络验证码,今天我们就简单实现一个验证码的前后端交互问题,做一个小demo 准备 我们这里并不需要依靠原生的java来实现,而是只需要引入一个maven依赖,使用现成的封装好的即可,这是我使用的是hutool工具包 网址:Hutool&#x1f36c;…

Linux 收发网络包的流程

应用层&#xff1a; 功能&#xff1a;提供应用程序间通信。例子&#xff1a;电子邮件客户端如Outlook或Thunderbird&#xff0c;它们提供用户界面来发送和接收电子邮件。这些客户端使用SMTP&#xff08;用于发送邮件&#xff09;和IMAP或POP3&#xff08;用于接收邮件&#xff…

计算机软件安全

一、软件安全涉及的范围 1.1软件本身的安全保密 软件的本质与特征&#xff1a; 可移植性 寄生性 再生性 可激发性 攻击性 破坏性 …… 知识产权与软件盗版 软件商品交易形式不透明&#xff0c;方式多样&#xff0c;传统商标标识方法不适用&#xff1b; 盗版方法简捷…

蓝桥杯刷题之路径之谜

题目来源 路径之谜 不愧是国赛的题目 题意 题目中会给你两个数组&#xff0c;我这里是分别用row和col来表示 每走一步&#xff0c;往左边和上边射一箭&#xff0c;走到终点的时候row数组和col数组中的值必须全部等于0这个注意哈&#xff0c;看题目看了半天&#xff0c;因为…

ASP.Net添加Swagger注释

文章目录 Swagger添加Swagger注释 Swagger 添加Swagger注释 1、右击项目->选择属性->点击生成->输出&#xff0c;选中文档文件 2、配置服务 在program.cs 文件里配置SwaggerUI //增加项一 builder.Services.AddSwaggerGen(c> {c.SwaggerDoc("v1", ne…

策略路由-IP-Link-路由协议简介

策略路由 策略路由和路由策略的不同 1.策略路由的操作对象是数据包&#xff0c;在路由表已经产生的情况下&#xff0c;不按照路由表进行转发&#xff0c;而是根据需要&#xff0c;依照某种策略改变数据包的转发路径 2.路由策略的操作对象是路由信息。路由策略的主要实现了路…

基于Java中的SSM框架实现考研指导平台系统项目【项目源码+论文说明】

基于Java中的SSM框架实现考研指导平台系统演示 摘要 应对考研的学生&#xff0c;为了更好的使校园考研有一个更好的环境好好的学习&#xff0c;建议一个好的校园网站&#xff0c;是非常有必要的。提供学生的学习提供一个交流的空间。帮助同学们在学习高数、学习设计、学习统计…

web前端面试题----->VUE

Vue的数据双向绑定是通过Vue的响应式系统实现的。具体原理&#xff1a; 1. Vue会在初始化时对数据对象进行遍历&#xff0c;使用Object.defineProperty方法将每个属性转化为getter、setter。这样在访问或修改数据时&#xff0c;Vue能够监听到数据的变化。 2. 当数据发生变化时…

C语言-Win11安装古老的VC6.0

win11安装VC6 有些学校一直还在使用VC6.0&#xff0c;我们尝试在Win1 下安装这个老古董&#xff0c;以下是在win11下安装VC6.0的方法。 点击安装文件 输入产品序列号 修改公共安装文件夹 如果C盘空间足够可以不用修改。 此处会发现鼠标一直在转圈不能完成更新系统&#xff0c;可…

ChatGPT、千问、讯飞星火等在工作中提高效率

提升代码效率 通义灵码 适配性 100多种主流语言&#xff08;C/C、Java、Python、Go、JavaScript、TypeScript等语言表现更为出色&#xff09;支持常用 IDE&#xff08;VS Code、IntelliJ IDEA、GoLand、PyCharm、WebStorm、CLion、PhpStorm、Android Studio、Xcode、iCoding…