计网ip层重要面经总结

news2024/9/24 15:26:57

文章目录

    • 127.0.0.1, localhost, 0.0.0.0有什么不同?
    • ipv6还需要NAT吗?
    • DNS查询服务器的基本流程
    • 浏览器输入一个URL到显示器显示的过程
    • PING是怎么工作的?
    • ipv4和ipv6究竟有哪些区别?
    • 什么是跨域,什么情况下会发生跨域问题?

127.0.0.1, localhost, 0.0.0.0有什么不同?

127.0.0.1是本地回环地址(loopback), 发送到 loopback的数据会被转发到本地应用。

localhost指代的是本地计算机,用于访问绑定在loopback上的服务。localhost是一个主机名不仅仅可以指向IPv4的本地回环地址,也可以指向IPv6的本地回环地址[:1]。

0.0.0.0是一一个特殊目的IP地址,称作不可路由IP地址,它的用途会被特殊规定。通常情况下,当我们把一个服务绑定到0.0.0.0,相当于把服务绑定到任意的IP地址。比如一台服务器上有多个网卡,不同网卡连接不同的网络,如果服务绑定到0.0.0.0就可以保证服务在多个IP地址上都可以用。

示例:image-20240711202334548

ipv6还需要NAT吗?

理论情况下其实是不需要的,因为ipv6的设计目标之一就是恢复端到端通信模型,这意味着每个设备可以直接与其他设备通信,而无需中间设备进行地址转换。NAT在IPv4中引入了复杂性,破坏了这种端到端的连接性,而IPv6的庞大地址空间可以避免这种情况。这个问题需要分两方面回答;

不需要NAT的原因:

地址足够多:IPv6的地址非常多,几乎给地球上每一粒沙子都能分一个独立IP。所以,不需要像IPv4那样用NAT来节省地址。

直接通信:IPv6的设计让每个设备都有一个全球唯一的地址,设备之间可以直接通信,不需要中间的NAT来转换地址,这样通信更高效。

内置安全:IPv6内置了安全特性(比如IPSec),可以直接用这些功能来保护网络,而不需要通过NAT隐藏内部网络结构。

需要NAT的原因:

目前IPv6网络还没有完全普及。尽管很多公司已经支持自己的互联网产品可以使用IPv6访问,但
是公司内部员工使用的内部网络还是IPv4。 如果要连接IPv6和IPv4网络,仍然需要NAT协议(NAT64) ,这个
协议可以让多个IPv6的设备共享一个IPv4的公网地址。

DNS查询服务器的基本流程

发起查询请求:当用户或应用程序需要解析域名时,会向本地 DNS 解析器(通常是用户设备或本地网络中的 DNS 服务器)发送 DNS 查询请求。

本地解析器查询:本地 DNS 解析器首先检查自己的缓存,看是否已经有该域名的解析结果(即已解析过的域名和对应的 IP 地址)。如果有,则直接返回缓存中的结果,无需继续查询。

递归查询:如果本地解析器的缓存中没有该域名的解析结果,它就会作为客户端向根域名服务器发起递归查询。根域名服务器负责管理顶级域名(如 .com、.net、.org 等)的 DNS 服务器的地址信息。

根域名服务器查询:根域名服务器收到递归查询请求后,会根据请求中的域名后缀(如 .com)返回对应的顶级域名服务器的 IP 地址。

顶级域名服务器查询:本地解析器接收到根域名服务器返回的顶级域名服务器 IP 地址后,向顶级域名服务器发起查询请求,获取该域名下一级 DNS 服务器的 IP 地址。

权威域名服务器查询:本地解析器接收到顶级域名服务器返回的下一级 DNS 服务器 IP 地址后,向该 DNS 服务器发起查询请求。这个 DNS 服务器通常是负责存储目标域名解析记录的权威域名服务器。

获取解析结果:权威域名服务器收到查询请求后,返回该域名对应的 IP 地址或其他记录(如 MX 记录、CNAME 记录等)给本地解析器。

返回解析结果:本地解析器收到权威域名服务器返回的解析结果后,会将结果缓存起来,并将结果返回给发起查询请求的应用程序或用户设备。

具体流程图:

image-20240225194332423

浏览器输入一个URL到显示器显示的过程

当用户在浏览器中输入一个 URL 并按下回车键后,浏览器会经历多个步骤来获取并显示该网页。

输入 URL 并按下回车:

用户在地址栏中输入一个 URL,例如 http://www.example.com,并按下回车键。

具体过程为:输入键盘字符后键盘就会产生扫描数据,并将其缓冲存在寄存器中,然后键盘通过总线给 CPU 发送中断请求。CPU 收到中断请求后,操作系统会保存被中断进程的 CPU 上下文,然后调用键盘的中断处理程序。

键盘中断处理函数从键盘的寄存器的缓冲区读取扫描码,再根据扫描码找到用户在键盘输入的字符的ASCII 码。然后把 ASCII 码放到读缓冲区队列,显示器会定时从读缓冲区队列读取数据放到写缓冲区队列,最后把写缓冲区队列的数据一个一个写入到显示器的寄存器中的数据缓冲区,最后将这些数据显示在屏幕里。

浏览器检查缓存:

浏览器首先检查本地缓存,看看是否已经有这个 URL 对应的页面副本。如果有,浏览器会直接从缓存中加载页面。

如果没有缓存或者缓存已经过期,浏览器会继续进行下一步。

DNS 解析:

浏览器需要将域名(例如 www.example.com)解析为 IP 地址。为此,它会向本地 DNS 解析器发送 DNS 查询请求。

本地 DNS 解析器会按照正常的DNS 查询过程,将域名解析为对应的 IP 地址。

建立 TCP 连接:

获取到 IP 地址后,浏览器会与目标服务器(由 IP 地址标识)建立一个 TCP 连接。[三次握手(SYN, SYN-ACK, ACK)过程]。

发送 HTTP 请求:

TCP 连接建立后,浏览器会向服务器发送一个 HTTP 请求。这包括请求方法(例如 GET)、目标 URL、HTTP 版本、请求头和其他必要信息。

服务器处理请求并返回响应:

服务器接收到请求后,会处理该请求,生成响应内容(例如 HTML 页面),并通过 HTTP 响应报文返回给浏览器。

浏览器接收并处理响应:

浏览器接收到服务器的响应后,会根据响应头的指示处理响应数据。如果响应包含的是 HTML 内容,浏览器会开始解析 HTML,首先解析 HTML文件构建DOM树,然后解析CSS文件构建渲染树,等到渲染树构建完成后,浏览器开始布局渲染树并将其绘制到屏幕上。

断开连接

客户端和服务器通过四次挥手终止TCP连接。

PING是怎么工作的?

PING 是一种网络工具,用于测试两台设备之间的连通性。它通过发送 ICMP(Internet Control Message Protocol)回显请求(Echo Request)消息,并等待接收 ICMP 回显应答(Echo Reply)消息来确定目标设备是否可达。

ICMP主要的功能包括:确认IP包是否成功送达目标地址、报告发送过程中IP包被废弃的原因、改善网络设置等。在IP通信中如果某个IP包因为某种原因未能达到目标地址,具体的原因将由ICMP通知。

PING工作原理如下:

发送 ICMP 回显请求:

  • 用户在终端或命令提示符中输入 ping 命令和目标设备的 IP 地址或域名,例如 ping www.example.com
  • 本地设备生成一个 ICMP 回显请求消息,其中包含一个序列号和时间戳,以便后续计算往返时间(RTT,Round Trip Time)。

IP 数据包封装:

  • ICMP 回显请求消息被封装在一个 IP 数据包中。数据包头部包含源 IP 地址(本地设备的 IP 地址)和目标 IP 地址(被 ping 的设备的 IP 地址)。

发送数据包:

  • 封装后的 IP 数据包通过网络发送到目标设备。数据包可能会经过多个路由器或交换机。

接收 ICMP 回显请求:

  • 目标设备收到 IP 数据包后,解封装出 ICMP 回显请求消息。
  • 目标设备生成一个 ICMP 回显应答消息,包含原始请求中的序列号和时间戳,以确保应答对应于特定的请求。

返回 ICMP 回显应答:

  • 目标设备将 ICMP 回显应答消息封装在一个 IP 数据包中,并发送回源设备。
  • 返回的数据包可能会经过与请求数据包不同的路由路径。

接收 ICMP 回显应答:

  • 源设备接收到 IP 数据包后,解封装出 ICMP 回显应答消息。
  • 源设备检查应答中的序列号和时间戳,以确认这是对特定请求的应答。

计算和显示结果:

  • 源设备计算从发送请求到接收到应答的往返时间(RTT)。
  • ping 命令在终端或命令提示符中显示每个 ICMP 回显请求的结果,包括 RTT 和丢包率等信息。

ipv4和ipv6究竟有哪些区别?

IPv6和IPv4最核心的区别是地址空间大小不同。IPv6 用128位地址,解决了IP地址耗尽问题。因为地目
址空间大小不同,它们对地址的定义,对路由寻址策略都有显著的差异。

在路由寻址策略上,IPv6消除了设备间地址冲突的问题,改变了划分子网的方式。在IPv4网络中,一个局域网往往会共享一个公网IP,因此需要NAT协议和外网连接。

在划分子网的时候,IPv4 地址少,需要子网掩码来处理划分子网。IPv6 有充足的地址,因此不需要局域网共享外网IP。也正因为IPv6地址多,可以直接将IPv6地址划分成站点、子网、设备,每个段都有充足的IP地址。
因为IPv6支持的IP地址数量大大上升,一个子网可以有2的64次方个IP地址,这个子网可能是公司网络、家庭网络等。这样IP地址的分配方式也发生了变化,IPv4 网络中设备分配IP地址的方式是中心化的,由DHCP (动态主机协议)为局域网中的设备分配IP地址。而在IPv6网络中,因为IP地址很少发生冲突,可以由设备自己申请自己的IP地址。
另外因为IPv6中任何一个节点都可以是一个组播节点, 这样就可以构造一个对等的网络, 也就是可以支持在没有中心化的路由器,或者一个网络多个路由器的情况下工作。节点可以通过向周围节点类似打探消息的方式,发现更多的节点。这是一个配套IPv6的能力,叫作邻居发现(ND)。

什么是跨域,什么情况下会发生跨域问题?

跨域(Cross-Origin)指的是在浏览器中运行的脚本试图访问不同源(即不同的域、协议或端口)的资源时所遇到的安全限制问题。具体来说,浏览器出于安全考虑,限制了来自不同源的页面间的互操作性,防止恶意网站利用用户登录状态等进行跨站攻击。

跨域问题通常在以下情况下会出现:

  1. 不同的协议:比如从 http://example.com 发送请求到 https://api.example.com
  2. 不同的域名:比如从 http://example.com 发送请求到 http://api.anotherdomain.com
  3. 不同的端口:比如从 http://example.com:3000 发送请求到 http://example.com:4000

解决方案:

CORS(跨域资源共享)

  • 服务器端设置响应头:在服务端的响应中添加 Access-Control-Allow-Origin 头部,指定允许访问的源。例如:Access-Control-Allow-Origin: * 表示允许所有源访问。

JSONP(JSON with Padding)

  • JSONP 是一种通过动态创建 <script> 标签来加载包含 JSON 数据的响应的方法。由于 <script> 标签不受同源策略限制,可以用来绕过跨域问题。不过使用 JSONP 需要注意安全性问题和仅适用于 GET 请求的限制。

Nginx代理

  • 使用Nginx作为代理服务器和用户交互,用户就只需要在80端口上进行交互就可以了,这样就避免了跨域问题。

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

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

相关文章

前端面试题42(MVVM与MVC区别)

MVVM&#xff08;Model-View-ViewModel&#xff09;和MVC&#xff08;Model-View-Controller&#xff09;都是软件架构模式&#xff0c;主要用于简化应用程序开发中的复杂性&#xff0c;尤其是在用户界面和数据管理方面。尽管它们有一些相似之处&#xff0c;但在设计理念和实施…

GD32MCU最小系统构成条件

大家是否有这个疑惑&#xff1a;大学课程学习51的时候&#xff0c;老师告诉我们51的最小系统构成&#xff1f;那么进入32位单片机时代&#xff0c;gd32最小系统构成又是怎么样的呢&#xff1f; 1.供电电路 需要确保供电的电压电流稳定&#xff0c;以东方红开发版为例&#xff…

基于深度学习的行人重识别

目录 1、基于表征学习的ReID方法 2、基于度量学习的ReID方法 &#xff08;1&#xff09;对比损失(Contrastive loss) &#xff08;2&#xff09;三元组损失(Triplet loss) &#xff08;3&#xff09; 四元组损失(Quadruplet loss) &#xff08;4&#xff09;难样本采样三元…

React+TS前台项目实战(三十)-- 首页构建之基于react-query和性能hook实现全页面数据渲染

文章目录 前言一、首页源码详细注释说明技术分析1. 页面功能分析2. 代码详细注释 二、效果展示总结 前言 前三篇文章详细介绍了首页的响应式布局&#xff0c;采用关注点分离进行模块拆解&#xff0c;现在只需按需引入模块&#xff0c;页面更加简洁&#xff0c;代码的维护性得到…

【鸿蒙学习笔记】关系型数据库概述

目录标题 关系型数据库的运行机制样例代码共通方法 DBUtilsIndex 代码效果 关系型数据库的运行机制 1、 关系型数据库对应用提供通用的操作接口&#xff0c;底层使用SQLite作为持久化存储引擎&#xff0c;支持SQLite具有的数据库特性&#xff0c;包括但不限于事务、索引、视图…

MongoDB教程(一):Linux系统安装mongoDB详细教程

&#x1f49d;&#x1f49d;&#x1f49d;首先&#xff0c;欢迎各位来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里不仅可以有所收获&#xff0c;同时也能感受到一份轻松欢乐的氛围&#xff0c;祝你生活愉快&#xff01; 文章目录 引言一、Ubuntu…

【单片机毕业设计选题24059】-太阳能嵌入式智能充电系统研究

系统功能: 系统由太阳能电池板提供电源&#xff0c; 系统上电后显示“欢迎使用智能充电系统请稍后”&#xff0c; 两秒钟后进入主页面显示。 第一行显示太阳能电池板输入的电压值 第二行显示系统输出的电压值 第三行显示采集到的太阳能电池板温度 第四行显示设置的太阳能…

【Linux杂货铺】1.环境变量

1.环境变量基本概念 环境变量&#xff08; environment variables &#xff09;一般是指在操作系统中用来指定操作系统运行环境的一些参数。如&#xff1a;我们在编写 C / C &#xff0b;代码的时候&#xff0c;在链接的时候&#xff0c;从来不知道我们的所链接的动态静态库在哪…

信创会不会烂尾

最近又有不少人开始忽悠信创概念了&#xff0c;感觉这又是部分人发财的噱头&#xff0c;集体资源浪费的开始! 我们软件业几代人和全世界的差距能短时间内追上?人家会本着友谊第一比赛第二的原则&#xff0c;站在原地等你追&#xff1f;然后和你一起相扶到美好的未来&#xff1…

华为HCIP Datacom H12-821 卷37

1.多选题 下面关于Network- Summary-LSA 描述正确的是 A、Network- Summary-LSA中的Metric被设置成从该ABR到达目的网段的开销值 B、Network- Sumary-LSA中的Net mask 被设置成目的网段的网络掩码 C、Network- Summary-LSA 是由ASBR产生的 D、Network- Summary-LSA 中的Li…

年度必看|2024全球工业网络市场份额预测报告

重点摘要 每年&#xff0c;HMS Networks 都会对工业网络市场进行全面分析&#xff0c;旨在估计工厂自动化中按类型和协议划分的新连接节点的分布情况。最新研究表明&#xff0c;工业网络市场继续扩张&#xff0c;预计 2024 年将增长 7%。值得注意的是&#xff0c;工业以太网仍然…

python 实验八 数据分析与展示

一、实验目的 掌握掌握matplotlib库中pyplot模块的使用。 二、实验环境 Window10&#xff08;x64&#xff09;&#xff0c;Python 3.8&#xff08;x64&#xff09;&#xff0c;PyCharm Community Edition 2020.3.2&#xff08;x64&#xff09; 三、实验内容 现有列表hight…

WAV 和 FLAC 哪个音质好?常见音频格式又如何转换?

音频文件的格式种类繁多&#xff0c;每种格式都有其独特的优势和应用场景。其中&#xff0c;WAV 和 FLAC 作为两种常见的无损音频格式&#xff0c;备受音频发烧友和专业人士的青睐。它们不仅能够保留原始录音的全部细节&#xff0c;还为听众提供了近乎 CD 品质的听觉体验。然而…

文字转语音免费工具有哪些?嘎嘎好使的配音工具推荐

每天刷视频看多了大家随手创作的各种生活小段子&#xff0c;自己不免也心痒痒地想玩上一把&#xff0c;可奈何却搞不懂各种旁白配音怎么弄。 好在经过一番摸索之后&#xff0c;可算是被我整明白免费文字转语音该怎么操作了&#xff01;接下来就把我搜集到的4款宝藏配音神器整理…

Windows 怎么删除D盘?多种方法详解!

有关Windows电脑的文件整理&#xff0c;文章详细介绍了怎么删除D盘的多种方法&#xff0c;释放不必要的空间。 “我最近在整理电脑文件的时候遇到一个问题&#xff0c;我想请教一下大家。我的Windows电脑上有一个D盘&#xff0c;里面存放了一些不需要的文件&#xff0c;我想彻…

PE73_D_E6_BLE

产品参数 产品型号 PE73_D_E6_BLE 尺寸(mm) 176.2*137.15*80mm 显示技术 电子墨水屏双面显示 显示区域(mm) 163.2(H) * 97.92(V) 分辨率(像素) 800*480 外观颜色 银色 显示颜色 黑/白/红/黄/蓝/绿 视觉角度 180 工作温度 15-35℃ 产品重量 268g 电池容…

ABAQUS广东正版代理商:亿达四方——达索官方授权

在粤港澳大湾区建设的浪潮中&#xff0c;广东作为中国改革开放的前沿阵地&#xff0c;始终走在科技创新的最前线。亿达四方&#xff0c;作为国际领先的仿真软件ABAQUS在广东地区的官方授权代理商&#xff0c;正以先进的技术和服务&#xff0c;推动着广东地区制造业向智能化、高…

自然语言处理:第四十二章 RAG与LLM原先知识冲突时,大模型会如何处理?

文章链接:7B&#xff1f;13B&#xff1f;175B&#xff1f;解读大模型的参数 (qq.com) 写在前面: 笔者更新不易&#xff0c;希望走过路过点个关注和赞&#xff0c;笔芯!!! 写在前面: 笔者更新不易&#xff0c;希望走过路过点个关注和赞&#xff0c;笔芯!!! 写在前面: 笔者更新…

vue 使用腾讯地图 标点 自定义瓦片 折线配置

vue 使用腾讯地图 标点 自定义瓦片 折线配置 申请腾讯地图秘钥 key 腾讯地图开发者 https://lbs.qq.com/dev/console/application/mine 腾讯地图开发文档 https://lbs.qq.com/webApi/javascriptGL/glGuide/glOverview 添加 key 代码中引入 // 入口文件 index.html // 填…

Ambari Hive 创建函数无权限

作者&#xff1a;櫰木 1、创建udf函数 参考文档&#xff1a;https://blog.csdn.net/helloxiaozhe/article/details/102498567 如果已经编写好&#xff0c;请使用自己的。如果没有请参考以上链接进行udf函数编写。 2、创建函数遇到的问题 由于集群开启了kerberos&#xff0…