网络原理IP协议

news2024/12/24 11:28:54

hi,大家好,小魏又来了,我们已经认识了UDP,TCP,现在来认识一下位于网络层的协议,IP
在这里插入图片描述

认识IP地址

1.地址管理

2.路由选择

在之前的讲解中我们已经认识到了网络层的IP协议,负责寻路操作
IP地址(Internet Protocol Address)是指互联网协议地址,又译为网际协议地址。
作用:
IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异,通俗的来讲就是区分一下每台主机
之前只是给大家粗略的介绍了一下IP,今天来深入讨论一下
IP协议功能具体划分为地址管理和路由选择

1.地址管理
每个网络上的设备都要分配一个地址(这个地址是唯一的)
我们来了解一下IP数据报的格式
在这里插入图片描述
IP地址本质上是一个32位的整数,我们一般把它写成点分十进制,有三个点,每个点的取值范围都是0-255;
32位的整数可以表示42亿九千万个地址,那么够不够用呢?
答案是不够的,那么我们要怎样解决这样的问题呢?
1采用动态分配IP地址的方式
具体是咋样实现的呢?
当设备上网的时候才分配IP,不上网就不分配IP,那么在地球上每个地方的作息都不一样,那么就可以剩出一大批的IP地址,就可以缓解IP不够的问题!!!注意是缓解,没有增加IP数量,不能从根本上解决问题
2.路由器的NAT机制
把所有的IP分为两类,内网和外网
内网IP:
10.*
172.16.-172.31.
192.168.*
外网IP:剩下的IP
外网IP必须是唯一的
内网IP可以重复出现(在不同的局域网中)
内网设备如果要访问外网.会给内网分配一个外网IP,不过这个外网IP不是这个内网一人的,而是这个内网中所有的设备都共用这一个外网IP.
举个例子
内网设备比喻为皇宫里的某位妃子,外网就是皇上,妃子要去看皇上,要经过皇上的贴身太监的传召,那么这个太监就可以是外网IP,不是只有这个妃子可以联系这个太监,是皇宫的所有妃子都可以联系这个太监!
这样说是不是很好理解

那么此时一个外网IP代表一系列的内网设备
什么是内网?
可以理解为局域网,局域网就是内网,通过ipconfig在cmd窗口得到的网址就是内网
在这里插入图片描述
这个就是我设备的内网IP,是在学校这个局域网得到的IP,注意,所在的局域网不同,设备的内网IP就不同
什么是外网?
就是通过百度搜索出来的网址,给大家看一下
在这里插入图片描述
这个地址不是只有我的电脑是这个,是这一片区域的外网地址都一样!
当我和另一个人同时访问百度,我们在同一个区域,同一个局域网下,如何访问呢?
在这里插入图片描述
我和小魏的源IP不同,目的IP相同,到达路由器以后,路由器会针对源IP替换成路由器自己的IP后继续转发给百度服务器,百度服务器收到的数据报就认为都来自4.3.2.1这个IP,不是192.168.10.1也不是192.168.10.90,外网设备无法直接访问内网设备
然后把响应返回给路由器,路由器咋知道哪个响应是哪个设备发出的呢?
通过不同的端口号区分不同的主机!

NAT机制针对的是内网访问外网,内网访问外网时,路由器的NAT机制被启动
如果是内网访问内网,外网访问外网,外网访问内网,都没有这样的机制,就是通过单纯地路由器转发
3.采用ipv6协议
这个方式从根本上解决了IP不够的问题
IPv4是传统的IP协议,4个字节,32位来表示IP地址
IPv6是更加新的IP协议,使用16个字节,也就是128位来表示IP地址
就是有2^128这么多IP地址,这是一个非常巨大的数字,多到可以给每个沙子都分配一个I IP地址
🐷🐷🐷IP地址的组成
IP地址分为两个部分
1.网络号:标识网段:保证相互连接的两个网段具有不同的标识,也就是标识一个局域网
2.主机号标识主机,同一网段内,主机之间具有相同的网络号,但是必须有不同的主机号;
*通过合理设置网络号和主机号,就可以保证在相互连接的网络中,每台主机的IP地址都是唯一的。*也就是标识一个局域网内部的设备

这段话比较抽象,我们来画个图!!!
在这里插入图片描述

一个路由器有两个IP地址,分别在不同的局域网中,一个WAN口IP,一个LAN口IP
路由器的作用就是把连个局域网连起来
位于紫色框里面的是以192.168.0这个就是网络号
.1
.111
.231都是主机号
位于绿色框里的是以光猫的的WAN口连接的网络IP为网络号
网络号是192.168.1
主机号是.123
.24
此时对于路由器来说,这个路由器就是把这两个局域网给连到一起了,这俩局域网叫做"相邻"的局域网,这两个局域网的网络号不能一样!!!
一个IP地址,对于网络号和主机号是咋区分的?
一定是前三个是网络号吗,不一定!!!😎
对于网络号主机号的分类有两种
1.IP地址分类(太老了,已经不用了,不讲)
2.子网掩码(这个是现实的网络主机号划分方式)
在这里插入图片描述
这个子网掩码是255.255.0.0

255换做十六进制是0xff,255.255.0.0换成二进制是24个1,八个0,前二十四位是网络号,剩下八位是主机号

子网掩码在二进制的角度看也是一个32位的整数,左侧都是1,右侧都是0,左侧有几个1,代表IP地址的哪些位就是网络号
一般的家用网络子网掩码就是255.255.255.0
大型网络就不一定了

特殊的IP地址:假设子网掩码是255.255.0 主机号为0的IP:192.168.0.0
这个可以看做网络号.局域网里不存在主机号为0的主机 主机号全为1
:192.168.0.255,是广播地址,往这个地址发送UDP数据报,这个数据报会被转发给整个局域网的所有主机 TCP不支持广播也不支持群聊
环回IP:127.* 我们最常用的就是127.0.0.1

环回IP对应的有环回网卡,也就是虚拟网卡io,通过环回网卡传输的数据,走环回网卡(因为是虚拟的,纯内存操作,不涉及硬件),速度就会很快
主机号为1 192.168.0.1这个叫做网关IP,网关是局域网的出口

2.路由选择
网络环境错综复杂,比如从主机A到主机B可能有很多条路径,存在大量冗余,那么IP协议就需要进行路由选择

数据传输会经过多个路由器的转发,某一个路由器无法把整个网络环境都记录下来,路由器只能记录周围的情况数据,就知道下一个它的上一个,路由器采用路由表这样的结构记录邻居的信息

👀转发过程是递进式的
可以把路由选择当成问路过程,IP数据报在转发的过程中就是一个问路过程,是一步步接近目的地的
每个路由器只认识周围情况,不知道目的地在哪,因为目的IP在路由表找不到匹配结果,那么此时路由器会给出指示,也就是路由表的"下一跳表项",把IP数据宝走向更上层的路由器,功能也就越强大~
今天的讲解就到这里了,我们下期再见~~~
在这里插入图片描述
完结撒花🌸🌸🌸🌸🌸🌸🌸🌸🌸🌸,下期见啦!!!

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

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

相关文章

【Java版oj】day35年会抽奖、抄送列表

目录 一、年会抽奖 (1)原题再现 (2)问题分析 (3)完整代码 二、抄送列表 (1)原题再现 (2)问题分析 (3)完整代码 一、年会抽奖 …

C++ 命名空间 输入输出 缺省参数 引用 函数重载

在学习C之前,我们要先知道C和C是向上兼容的,也就是说,在cpp文件中既可以写入C的代码,也可以写C的代码,在日常编写代码中,经常会出现C和C混编的情况。 此博客都是在 C 的缺陷的基础之上 整理 C 中对其的优化…

PyTorch 之 强大的 hub 模块和搭建神经网络进行气温预测

文章目录一、强大的 hub 模块1. hub 模块的使用2. hub 模块的代码演示二、搭建神经网络进行气温预测1. 数据信息处理2. 数据图画绘制3. 构建网络模型4. 更简单的构建网络模型本文参加新星计划人工智能(Pytorch)赛道:https://bbs.csdn.net/topics/613989052 一、强…

机器学习——回归与聚类算法

线性回归 广义的线性模型 不仅是自变量是一次方的是线性模型,参数是一次方的也是线性模型,比如: 总结:线性关系的一定是线性模型,线性模型的不一定是线性关系。 损失函数 优化损失 求解模型中的w,使得…

SeNet论文解读/总结

此文章为深度学习在计算机视觉领域的图片分类经典论文SeNet(Squeeze-and-Excitation Networks)论文总结。 此系列文章是非常适合深度学习领域的小白观看的图像分类经典论文。系列文章如下: AlexNet:AlexNet论文解读/总结_alexnet…

uniapp-搜索配置

自定义搜索组件 1.定义组件的 UI 结构: <template><!-- 通过属性绑定的形式&#xff0c;为 .my-search-container 盒子和 .my-search-box 盒子动态绑定 style 属性 --><view class"my-search-container" :style"{background-color: bgcolor}&q…

《花雕学AI》23:中文调教ChatGPT的秘诀:体验测试与通用案例,解锁无限有趣玩法!

引言&#xff1a; 你有没有想过和一台智能机器人聊天&#xff1f;你有没有想过让一台智能机器人为你创作诗歌、故事或歌曲&#xff1f;你有没有想过让一台智能机器人陪你玩游戏、学习或社交&#xff1f;如果你的答案是肯定的&#xff0c;那么你一定会对ChatGPT感兴趣。 ChatG…

Hystrix详解

前言 Hystrix基于Feign&#xff0c;想熟悉Hystrix&#xff0c;必须先熟悉Feign。 Feign&#xff08;简介和使用&#xff09;&#xff1a; Feign&#xff08;简介和使用&#xff09;_长头发的程序猿的博客-CSDN博客 Hystrix简介 hystrix对应的中文名字是“豪猪”&#xff0c…

Android开发 Camera2获取输出SurfaceTexture

目录 一、Camera2概述 1 Pipeline 2 CameraManager 3 CameraDevice 4 CameraCharacteristics 5 CameraCaptureSession 6 CaptureRequest 7 Surface 8 CaptureResult 三、Camera2的特性 1 Camera2 才支持的高级特性 2 Camera1 迁移到 Camera2 二、示例源码 一、Came…

Honggfuzz Linux arch_clone 源码阅读 (setjmp, clone)

Honggfuzz Linux arch_clone 源码阅读 &#xff08;setjmp, clone&#xff09; 阅读 Honggfuzz 系统架构相关源码&#xff0c;在创建子进程部分遇到了几个问题&#xff0c;经过研究得以解决&#xff0c;在此记录。 Source Code 代码节选自linux/arch.c&#xff0c;已添加注释&…

RabbitMq 消息可靠性问题(一) --- publisher发送时丢失

前言 消息从生产者发送到exchange, 再到 queue, 再到消费者。这个过程中有哪些有消息丢失的可能性呢&#xff1f; 发送时丢失&#xff1a; 生产者发送的消息未送达 exchange消息到达 exchange 后未到达 queue MQ 宕机&#xff0c;queue将消息丢失consumer 接收到消息后未消费…

聊聊如何运用JAVA注解处理器(APT)

什么是APT APT&#xff08;Annotation Processing Tool&#xff09;它是Java编译期注解处理器&#xff0c;它可以让开发人员在编译期对注解进行处理&#xff0c;通过APT可以获取到注解和被注解对象的相关信息&#xff0c;并根据这些信息在编译期按我们的需求生成java代码模板或…

基于DistFlow的含分布式电源配电网优化模型【IEEE39节点】(Python代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

SpringBoot【基础篇】---- SSMP整合综合案例

SpringBoot【基础篇】---- SSMP整合综合案例1. 模块创建2. 实体类开发3. 数据层开发----基于CRUD查看MP运行日志查看 MP 的运行日志4. 数据层开发----分页功能制作5. 数据层开发----条件查询功能制作6. 业务层开发业务层快速开发7. 表现层开发8. 表现层消息一致性处理9. 前后端…

STC32G单片机内置ADC及应用编程

一 STC32G单片机内置ADC模块简介 STC32G单片机内部集成了一个12位高速ADC转换器&#xff0c;ADC的最高时钟频率为系统频率的1/2。其输入通道多达15个&#xff08;第15通道为专门测量内部1.19V参考信号源的通道&#xff09;&#xff0c;可分时切换使用。 STC15系列单片机内置AD…

AES加密

来源&#xff1a;链接: b站up主可厉害的土豆 &#xff08;据评论区说图片中有计算错误&#xff0c;但是过程是对的。只是了解过程问题不大&#xff0c;专门研究这一块的话自己可以看视频算一下&#xff09; 准备 首先&#xff0c;明文是固定长度 16字节 128位。 密钥长度可以…

C++语法(18)---- set和map

C语法&#xff08;17&#xff09;---- 二叉搜索树_哈里沃克的博客-CSDN博客https://blog.csdn.net/m0_63488627/article/details/130174864 目录 1.set的介绍 1.set使用 1.基本结构 2.insert 3.erase 4.find 5.count 2.multiset 1.count 2.find 2.map的介绍 1.map …

zookeeper + kafka集群搭建详解

目录 1.消息队列介绍 1.为什么需要消息队列 &#xff08;MO&#xff09; 2.使用消息队列的好处 3.消息队列的两种模式 2.Kafka相关介绍 1.Kafka定义 2.Kafka简介 3. Kafka的特性 3.Kafka系统架构 1. Broker&#xff08;服务器&#xff09; 2. Topic&#xff08;一个队…

GaussDB数据库存储过程介绍

文章目录一、前言二、GaussDB中的定义三、存储过程的使用场景四、存储过程的使用优缺点五、存储过程的示例及示例解析1、GaussDB存储过程语法格式2、GaussDB存储过程语法示例3、存储过程的调用方法七、总结一、前言 华为云数据库GaussDB是一款高性能、高安全性的云原生数据库&…

链表基础知识

1.链表必知必会 什么是链表? 链表是一种通过指针串联在一起的线性结构&#xff0c;每一个节点由两部分组成&#xff0c;一个是数据域一个是指针域&#xff08;存放指向下一个节点的指针&#xff09;&#xff0c;最后一个节点的指针域指向null&#xff08;空指针的意思&#…