IP基础知识总结

news2024/11/28 6:45:47

IP他负责的是把IP数据包在不同网络间传送,这是网络设计相关的,与操作系统没有关系。所以这部分知识,不是网络的重点。IP和路由交换技术联系紧密。但是要作为基本知识点记住。

一、基本概念

        网络层作用:实现主机与主机之间通信。

        IP作用:在复杂网络环境中将数据包 发送给目的主机。

IP与MAC都是针对俩个主机之间通信,有啥区别?

答:MAC负责直连的俩设备之间的通信传输;IP负责非直连的俩网络之间的通信传输。

网络中数据包传输中也是如此,源IP地址和目标IP地址在传输过程中是不会变化的(前提:没有使用 NAT 网络),只有源 MAC 地址和目标 MAC 一直在变化。

IP分类

        优点:路由器主机解析IP地址时通过首四位0、10、110、1110、1111,即可判断出属于哪一类IP,进而快速得知网络号和主机号。咱们人也可以根据IP范围快速得到IP地址属于哪一类。

         缺点:同一网络下无地址层次,缺少地址灵活性;无法与现实世界匹配。

公有&私有IP地址

公有 IP 地址是由 ICANN 组织管理,公有 IP 地址在整个互联网范围内保持唯一。(万维网使用)

私有IP地址是由内部的 IT 人员管理。(局域网使用)

因此公有IP不可能相同,不同公有IP网段中可能存在相同的私有IP!

192.168开头就是私有地址,范围:192.168.0.0 ~ 192.168.255.255

本地回环地址:127.0.0.1 永远只会寻找当前本机

无分类地址CIDR

        形式 a.b.c.d/x,其中 /x 表示前 x 位属于网络号,后32-x为主机号。

        x即为子网掩码位数

子网划分

        作用:对网络地址合理利用,避免浪费IP地址。

        子网划分是将主机地址分为两个部分:子网网络地址和子网主机地址

 IP分片与重组

每种数据链路的最大传输单元 MTU 都是不相同的,以太网的 MTU 是 1500 字节。

当 IP 数据包大小大于 MTU 时, IP 数据包就会被分片。

分片与重组,均由主机完成。

在分片传输中,一旦某个分片丢失,则会造成整个 IP 数据报作废,所以 TCP 引入了 MSS 也就是在 TCP 层进行分片不由 IP 层分片。UDP尽量不要传超过MTU的数据包。

MSS=MTU-20字节TCP报头-20字节IP报头

二、IP协议相关技术(六)

  • DNS 域名解析
  • ARP 与 RARP 协议
  • DHCP 动态获取 IP 地址
  • NAT 网络地址转换
  • ICMP 互联网控制报文协议
  • IGMP 因特网组管理协议

DNS域名解析

        IP与域名相互映射,因此可以相互推导。

        在实际中,客户机向本地域名服务器查询是递归查询,本地域名服务器向其他域名服务器是迭代查询。主机请求信息一次,本地域名服务器请求信息多次。

递归查询是:客户机发送一条查询请求到本地域名服务器,发现缓存中没有主机名和IP地址对的信息,那么本地域名服务器就往上继续查询,发送一个查询报文,如果在某一级域名服务器找到了主机名和IP地址对信息,就直接返回。如果找不到,那么这个域名服务器又会作为客户机去请求上一级域名服务器,直至根域名服务器,根名称服务器收到DNS请求后,把所查询得到的所请求的DNS域名中发送给顶级域名服务器,让顶级域名服务器去往下级域名服务器请求查找,如果找到了就原路返回。某域名服务器-->...->顶级域名服务器-->根域名服务器-->下一级域名服务器-->...-->本地域名服务器-->客户机。

递归查询是A访问B,B再访问C,C访问D,直到查询到,然后依次返回,D返回给C,C再返回给B,B再返回A。

迭代查询是A访问B,B把C的地址返回给A,A再去请求查询C,C再把D的地址返回给A,A再去访问D。

ARP(地址解析协议)

        由IP地址广播得到MAC地址。

RARP(地址逆解析协议)由MAC地址得到IP地址。需要假设RARP服务器。

DHCP(动态获取IP)

        通常都是通过 DHCP 动态获取 IP 地址,大大省去了配 IP 信息繁琐的过程。

        DHCP 客户端进程监听的是 68 端口号,DHCP 服务端进程监听的是 67 端口号

4步获取IP: DHCP 交互中,全程都是使用 UDP 广播通信

  • 客户端首先发起 DHCP 发现报文(DHCP DISCOVER) 的 IP 数据报,由于客户端没有 IP 地址,也不知道 DHCP 服务器的地址,所以使用的是 UDP 广播通信,其使用的广播目的地址是 255.255.255.255(端口 67) 并且使用 0.0.0.0(端口 68) 作为源 IP 地址。DHCP 客户端将该 IP 数据报传递给链路层,链路层然后将帧广播到所有的网络中设备。
  • DHCP 服务器收到 DHCP 发现报文时,用 DHCP 提供报文(DHCP OFFER) 向客户端做出响应。该报文仍然使用 IP 广播地址 255.255.255.255,该报文信息携带服务器提供可租约的 IP 地址、子网掩码、默认网关、DNS 服务器以及 IP 地址租用期
  • 客户端收到一个或多个服务器的 DHCP 提供报文后,从中选择一个服务器,并向选中的服务器发送 DHCP 请求报文(DHCP REQUEST进行响应,回显配置的参数。
  • 最后,服务端用 DHCP ACK 报文对 DHCP 请求报文进行响应,应答所要求的参数

路由器不会转发广播包,一般主机与DHCP服务器不会在一个局域网,因此使用DHCP中继代理

DHCP中继代理作用:对不同网段的 IP 地址分配也可以由一个 DHCP 服务器统一进行管理。

  • DHCP 客户端会向 DHCP 中继代理发送 DHCP 请求包,而 DHCP 中继代理在收到这个广播包以后,再以单播的形式发给 DHCP 服务器。

  • 服务器端收到该包以后再向 DHCP 中继代理返回应答,并由 DHCP 中继代理将此包广播给 DHCP 客户端 。

NAT(网络地址转换)

之前讲了私有IP与公有IP,内网的的私有IP想要与外网的设备通信就需要转换为公有IP,NAT就是进行私有IP与公有IP相互转换。

为了实现私有IP与公有IP 1:N的映射关系,每个私有IP与公有IP映射中在私有IP加入端口号,则可以保证每个私有IP与一个公有IP存在着唯一的映射关系。

 NAT缺点:

  • 外部无法主动与 NAT 内部服务器建立连接,因为 NAPT 转换表没有转换记录。
  • 转换表的生成与转换操作都会产生性能开销。
  • 通信过程中,如果 NAT 路由器重启了,所有的 TCP 连接都将被重置。

解决方法:

1、使用IPv6

2、使用NAT穿透技术

        就是客户端主动从 NAT 设备获取公有 IP 地址,然后自己建立端口映射条目,然后用这个条目对外通信,就不需要 NAT 设备来进行转换了。

ICMP(互联网控制报文协议)

ICMP 主要的功能包括:确认 IP 包是否成功送达目标地址、报告发送过程中 IP 包被废弃的原因和改善网络设置等

ICMP 大致可以分为两大类:

  • 一类是用于诊断的查询消息,也就是「查询报文类型
  • 另一类是通知出错原因的错误消息,也就是「差错报文类型

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

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

相关文章

MySQL数据库操作篇4(内置函数连接查询子查询)

MySQL除了提供一些聚合函数供我们使用,同时还提供了很多的内置扩展函数,这些函数有的是进行日期处理的,有的是进行字符串处理的,有的则是进行数值处理,以及其它的种种函数,这些函数可以帮助我们对数据进行加…

创建/查看/编辑文本文件

创建/查看/编辑文本文件 将输出重定向到文件和程序 标准 输入/输出/错误 运行的程序需要从某个位置读取输入并将输出写入某位置。从shell提示符运行的命令通常会从键盘读取输入,并将输出发送到其终端窗口。 进程通过使用文件描述符的通道编号获取输出并发送输出。…

红队打靶:billu_b0x打靶思路详解(vulnhub)

目录 写在开头 第一步:主机发现和端口扫描 第二步:Web渗透 第三步:利用文件包含进行代码审计 第四步:图片马上传与反弹shell 第五步:敏感文件提权 总结与思考 写在开头 我的博客等级终于到三级了,…

Python接口自动化搭建过程,含request请求封装

开篇碎碎念 接口测试自动化好处 显而易见的好处就是解放双手😀。 可以在短时间内自动执行大量的测试用例通过参数化和数据驱动的方式进行测试数据的变化,提高测试覆盖范围快速反馈测试执行结果和报告支持持续集成和持续交付的流程 使用Requestspytes…

Attention Is All Your Need

q,k,v是一个东西(自注意力) 由于位置编码通过sin和cos得到,在+-1之间抖动,因此为了与embedding相加scale匹配,所以embedding除以根号dk 注意力机制:注意力函数 quary(不同的q) 和 k 的相似度决定了value对应的权重(不同的权重)相加得到 (不同的)输出 英文积累…

宠物赛道又出爆品!TikTok播放破千万!

在欧美国家,养宠的风潮已经持续百年。美国作为全国第一大的宠物市场,其家庭的养宠率高达70%。有关数据显示,美国目前26-41岁人群比例占比最大,已达到32%,42-57岁人群比例下降到24%。 养宠人群逐渐呈现年轻化&#xff0…

参数名的映射,小心使用strict=False

从vgg16-397923af.pth里读取的数值应该和加载预训练模型后model.load_state_dict参数一致。 而我的不一致! 原因:在载入参数到模型键值的不匹配,所以使用了strictFalse。 解决办法: 进行参数名的映射,将不匹配的参数名…

不看不知,道,一键ai绘画软件也能生成这么好看的图片

结构: 前阵子,我朋友发了几张男生的照片在朋友圈,我还以为是她脱单了,赶紧给她送上了祝福。 她收到我的祝福后,笑嘻嘻地跟我解释说:“那几张图是我用AI绘画软件生成的,是不是很看起来很真呀&a…

一款剧情特别优秀的ARPG 游戏《FC魔神英雄传》

文章目录 介绍游戏发行游戏玩法 游戏剧情详细介绍游戏开始阶段剧情任务汇总:草原阶段冰川阶段海边阶段丛林阶段沙漠阶段湖泊阶段草原2阶段海边2阶段冰川2阶段山脉阶段 世界地图汇总 道具系统装备系统战斗系统战斗规则魔法技能魔法学习方式 游戏优点游戏缺点该游戏值…

接口测试 使用 rest-assured 进行接口测试

目录 前言 正文 1.HTTP 状态码 2.节点值验证 3.格式化打印 json 4.参数化 5.响应时间 6.JSON Schema Validation 前言 使用Rest-Assured进行接口测试是一个很好的选择。Rest-Assured是一个基于Java的开源库,专门用于简化和增强RESTful接口的测试。它提供了…

我在VScode学Java类与对象(Java的类与对象、this关键字)第一辑

我的个人博客主页:如果’真能转义1️⃣说1️⃣的博客主页 关于Java基本语法学习---->可以参考我的这篇博客:《我在VScode学Java》 关于我在VScode学Java(Java方法method) 类是描述了一组有相同特性(属性&#xff09…

python_selenuim获取csdn新星赛道选手所在城市用echarts地图显示

文章目录 ⭐前言⭐selenuim获取新星赛道选手主页💖 获取参赛选手主页思路分析💖 获取参赛选手ip属地思路分析💖 echarts可视化展示 ⭐结束 ⭐前言 大家好,我是yma16,本文分享python_selenuim获取csdn新星赛道选手所在…

Requests —— Requests模块获取响应内容

Requests模块获取响应内容 响应包括响应行、响应头、响应正文内容,这些返回的响应信息都可以通过Requests模块获取。这些 获取到的响应内容也是接口测试执行得到的实际结果。 获取响应行 获取响应头 获取其它响应信息 代码示例: # 导入requests模块…

特征工程和多项式回归

特征工程的定义 特征工程(Feature Engineering)特征工程是将原始数据转化成更好的表达问题本质的特征的过程,使得将这些特征运用到预测模型中能提高对不可见数据的模型预测精度。 特征工程简单讲就是发现对因变量y有明显影响作用的特征&#…

【kubernetes系列】Kubernetes之配置dashboard安装使用

Kubernetes之配置dashboard 概述 Dashboard 是基于网页的 Kubernetes 用户界面。 你可以使用 Dashboard 将容器应用部署到 Kubernetes 集群中,也可以对容器应用排错,还能管理集群资源。 你可以使用 Dashboard 获取运行在集群中的应用的概览信息&#x…

MybatisPlus-2

springmybatismybatisplus 创建mapper接口&#xff0c;继承BaseMapper<obj>&#xff0c;obj为你需要操作的数据表创建对应的实体类配置数据源 4.设置配置文件 <?xml version"1.0" encoding"UTF-8"?> <beans xmlns"http://www.spri…

华为OD机试真题 Java 实现【拔河比赛】【2023 B卷 100分】,附详细解题思路

目录 专栏导读一、题目描述二、输入描述三、输出描述四、解题思路五、Java算法源码六、效果展示1、输入2、输出3、说明 华为OD机试 2023B卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试&#xff08;JAVA&#xff09;真题&#xff08;A卷B卷&#…

JavaWeb 速通Servlet(上)

目录 一、Servlet快速入门 1.为什么需要Servlet&#xff1f; 2.什么是Servlet? 3.Servlet开发说明 : 4.入门案例 : 二、 Servlet生命周期 1.浏览器请求Servlet的流程分析&#xff08;重要&#xff09; : 2.生命周期 : 1 初始化阶段 2 处理请求阶段 3 终止阶段 三、Serv…

归并排序C语言

基本思想 归并排序&#xff08;MERGE-SORT&#xff09;是建立在归并操作上的一种有效的排序算法,该算法是采用分治法&#xff08;Divide andConquer&#xff09;的一个非常典型的应用。将已有序的子序列合并&#xff0c;得到完全有序的序列&#xff1b;即先使每个子序列有序&a…

火焰图性能监测

准备工作——安装perf 我是在github的codespace上搞的&#xff0c;可以按下面的方式安装perf&#xff1a; sudo apt install linux-tools-generic sudo apt install linux-cloud-tools-azure参考在WSL2中使用perf性能剖析工具 测试程序——简单的C程序 弄一个无限循环的C程…