当前位置: 首页 > news >正文

计算机网络高频面试题

  1. 从输入URL到展现页面的全过程

    • 用户在浏览器中输入URL。
    • 浏览器解析URL,确定协议、主机名和路径。
    • 浏览器查找本地DNS缓存,如果没有找到,向DNS服务器发起查询请求。
    • DNS服务器解析主机名,返回IP地址。
    • 浏览器使用IP地址建立TCP连接(经过三次握手)。
    • 浏览器发送HTTP请求到服务器。
    • 服务器处理请求,并返回HTTP响应。
    • 浏览器接收响应内容,可能是HTML、CSS、JavaScript等。
    • 浏览器解析HTML,构建DOM树,执行JavaScript,渲染页面。
    • 页面加载完成,显示给用户。
  2. TCP三次握手以及四次挥手的流程

    • 三次握手
      1. 客户端发送SYN包(请求建立连接)到服务器。
      2. 服务器收到SYN包后,发送SYN-ACK包(确认连接请求)。
      3. 客户端收到SYN-ACK包后,发送ACK包(确认连接建立)。
    • 四次挥手
      1. 客户端发送FIN包(请求关闭连接)。
      2. 服务器收到FIN包后,发送ACK包,并准备关闭。
      3. 服务器发送FIN包(请求关闭另一端连接)。
      4. 客户端收到FIN包后,发送ACK包(确认关闭)。

    为什么需要三次握手以及四次挥手

    • 三次握手确保双方都能发送和接收数据,建立可靠的连接。
    • 四次挥手允许双方独立关闭连接,确保所有数据都被接收。
  3. TCP与UDP在网络协议中的哪一层,他们之间有什么区别?

    • TCP和UDP都是传输层协议。
    • TCP是面向连接的、可靠的协议,提供数据传输的确认和重传机制。
    • UDP是无连接的、不可靠的协议,没有确认或重传机制,但传输速度快。
  4. HTTP与HTTPS有哪些区别?

    • HTTPS在HTTP的基础上增加了SSL/TLS协议,提供了数据加密、完整性校验和身份验证。
    • HTTPS比HTTP更安全,可以防止数据在传输过程中被窃听或篡改。
  5. 简述DDOS攻击原理,如何防范它?

    • DDOS(分布式拒绝服务)攻击原理是通过大量请求占用目标服务器的资源,使其无法响应正常用户的请求。
    • 防范方法包括使用防火墙过滤恶意流量、使用CDN分散流量、限制单个IP的请求频率等。
  6. 简述HTTP1.0,1.1,2.0的主要区别

    • HTTP/1.0不支持持久连接,每个请求/响应都需要建立和关闭一个TCP连接。
    • HTTP/1.1支持持久连接,可以复用TCP连接,减少了连接建立和关闭的开销。
    • HTTP/2.0进一步优化了性能,支持头部压缩、多路复用等技术,减少了延迟。
  7. 简述TCP的TIME_WAIT和CLOSE_WAIT

    • TIME_WAIT:主动关闭连接的一方在发送完最后一个ACK包后,进入TIME_WAIT状态,等待足够的时间确保被动关闭方接收到最终的确认,防止旧的连接请求干扰新的连接。
    • CLOSE_WAIT:当一方接收到对方的FIN包并发送ACK包后,进入CLOSE_WAIT状态,等待本地应用程序关闭连接。如果应用程序不及时关闭,会导致资源占用。
  8. TCP的TIME_WAIT和CLOSE_WAIT

    • TIME_WAIT:TCP连接的主动关闭端在发送完最后一个确认(ACK)包后,会进入TIME_WAIT状态,保持该状态一定时间,以确保被动关闭端能够收到连接关闭的确认。这可以防止旧的连接请求干扰新的连接。
    • CLOSE_WAIT:当TCP连接的接收端收到关闭连接的请求(FIN包),它会发送一个确认(ACK),然后进入CLOSE_WAIT状态,等待本地应用层关闭连接。如果应用层没有及时关闭连接,CLOSE_WAIT状态会持续存在,可能导致资源占用。
  9. TCP中常见的拥塞控制算法

    • 慢启动(Slow Start):开始时以较低的速率发送数据,逐渐增加发送窗口大小,直到达到拥塞发生。
    • 拥塞避免(Congestion Avoidance):在检测到拥塞迹象后,缓慢增加窗口大小,避免拥塞。
    • 快重传(Fast Retransmit):当连续收到三个相同的ACK时,立即重传丢失的数据包,而不是等待超时。
    • 快恢复(Fast Recovery):在重传丢失的数据包后,适当调整拥塞窗口,避免发送速率急剧下降。
  10. BGP协议和OSPF协议的区别

    • BGP (边界网关协议):是一种用于互联网上进行网络之间的路由和可达性信息传递的协议,主要用于互联网的自治系统(AS)之间的路由。
    • OSPF (开放最短路径优先):是一种内部网关协议,用于在单一自治系统内部进行路由信息的传递和计算最短路径。
  11. TCP的keepalive了解吗?以及它和HTTP的keepalive的区别

    • TCP keepalive:是一种心跳机制,用于检测死连接。在一定时间内没有数据传输时,TCP会发送探测包以检查连接是否仍然有效。
    • HTTP keepalive:也称为持久连接,允许多个HTTP请求和响应复用同一个TCP连接,减少了连接建立和关闭的开销。
  12. OSI七层模型,TCP,IP属于哪一层

    • OSI七层模型包括:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。
    • TCP (传输控制协议):属于传输层,负责在网络中提供可靠的数据传输服务。
    • IP (网际协议):属于网络层,负责在网络中路由数据包。
  13. traceroute有什么作用?

    • traceroute是一个网络诊断工具,用于显示数据包从源到目的地的路径,以及每个跳点的延迟时间。它帮助网络管理员诊断网络问题和了解数据包的路由情况。
  14. DNS查询服务器的基本流程是什么?DNS劫持是什么?

    • DNS查询流程
      1. 客户端向本地DNS服务器发起查询请求。
      2. 本地DNS服务器查询其缓存,如果未找到,则向根DNS服务器查询。
      3. 根DNS服务器响应并指引到顶级域DNS服务器。
      4. 顶级域DNS服务器提供负责特定域的权威DNS服务器地址。
      5. 本地DNS服务器从权威DNS服务器获取最终的IP地址并返回给客户端。
    • DNS劫持:是一种网络攻击手段,攻击者通过篡改DNS服务器的记录,将域名解析到错误的IP地址,导致用户访问错误的网站。

相关文章:

计算机网络高频面试题

从输入URL到展现页面的全过程: 用户在浏览器中输入URL。浏览器解析URL,确定协议、主机名和路径。浏览器查找本地DNS缓存,如果没有找到,向DNS服务器发起查询请求。DNS服务器解析主机名,返回IP地址。浏览器使用IP地址建立…...

进程通信(1):无名管道(pipe)

无名管道(pipe)用来具有亲缘关系的进程之间进行单向通信。半双工的通信方式,数据只能单向流动。 管道以字节流的方式通信,数据格式由用户自行定义。 无名管道多用于父子进程间通信,也可用于其他亲缘关系进程间通信。 因为父进程调用fork函…...

YOLOv10改进 | 损失函数篇 | SlideLoss、FocalLoss、VFLoss分类损失函数助力细节涨点(全网最全)

一、本文介绍 本文给大家带来的是分类损失 SlideLoss、VFLoss、FocalLoss损失函数,我们之前看那的那些IoU都是边界框回归损失,和本文的修改内容并不冲突,所以大家可以知道损失函数分为两种一种是分类损失另一种是边界框回归损失,…...

【数组、特殊矩阵的压缩存储】

目录 一、数组1.1、一维数组1.1.1 、一维数组的定义方式1.1.2、一维数组的数组名 1.2、二维数组1.2.1、二维数组的定义方式1.2.2、二维数组的数组名 二、对称矩阵的压缩存储三、三角矩阵的压缩存储四、三对角矩阵的压缩存储五、稀疏矩阵的压缩存储 一、数组 概述:数…...

Flat Ads:金融APP海外广告投放素材的优化指南

在当今全球化的数字营销环境中,金融APP的海外营销推广已成为众多金融机构与开发者最为关注的环节之一。面对不同地域、文化及用户习惯的挑战,如何优化广告素材,以吸引目标受众的注意并促成有效转化,成为了广告主们亟待解决的问题。 作为领先的全球化营销推广平台,Flat Ads凭借…...

DBA 数据库管理 表管理 数据批量处理。表头约束

表管理 建库 库名命名规则:仅可以使用数字、字母、下划线、不能纯数字 不可使用MySQL命令或特殊字符 库名区分字母大小写 加if not exists 命令避免重名报错 create database if not exists gamedb; 建表 drop database if exists gamedb ; 删表…...

C# 上位机开发之旅-委托事件的那些事[2]

上位机项目开发过程,应该不少遇见界面同步实时刷新的情况,设备的运行情况以及设备数据的实时更新,应用场景非常之多。 那么这个时候,我们就可以用到C#语言中的一些关键功能来实现,比如事件,委托&#xff0c…...

浏览器出现 502 Bad Gateway的原理分析以及解决方法

目录 前言1. 问题所示2. 原理分析3. 解决方法 前言 此类问题主要作为疑难杂症 1. 问题所示 2. 原理分析 502 Bad Gateway 错误表示服务器作为网关或代理时,从上游服务器收到了无效的响应 通常出现在充当代理或网关的网络服务器上,例如 Nginx、Apache…...

Java的高级特性

类的继承 继承是从已有的类中派生出新的类,新的类能拥有已有类的属性和行为,并且可以拓展新的属性和行为 public class 子类 extends 父类{子类类体 } 优点 代码的复用 提高编码效率 易于维护 使类与类产生关联,是多态的前提 缺点 类缺乏独…...

pip install selenium异常

error: externally-managed-environment This environment is externally managed ╰─> To install Python packages system-wide, try brew install xyz, where xyz is the package you are trying to install. If you wish to install a Python library that isnt in Ho…...

应急响应总结

应急响应 日志 windows IIS 6.0 及更早版本: C:\WINDOWS\system32\LogFiles\W3SVC[SiteID]\ IIS 7.0 及更高版本: C:\inetpub\logs\LogFiles\W3SVC[SiteID]\ Apache HTTP Server C:\Program Files (x86)\Apache Group\Apache2\logs\ 或者 C:\Prog…...

一些资源(●ˇ∀ˇ●)

GPT Kimi.ai - 帮你看更大的世界 (moonshot.cn) 文心一言 (baidu.com) 搜索AI伙伴 (baidu.com) 讯飞星火大模型-AI大语言模型-星火大模型-科大讯飞 (xfyun.cn) 秘塔AI搜索 (metaso.cn) GitHub打不开 下载Watt Toolkit...

WGCLOUD的ping设备监测可以导入excel数据吗

可以的 WGCLOUD的v3.5.3版本,已经支持导入excel数据,如下说明 数通设备PING监测使用说明 - WGCLOUD...

vue 画二维码及长按保存

需求 想要做如下图的二维码带文字&#xff0c;且能够长按保存 前期准备 一个canvas安装qrcode&#xff08;命令&#xff1a;npm i qrcode&#xff09; 画二维码及文字 初始化画布 <template><div><canvas ref"canvas" width"300" he…...

IDEA中Git常用操作及Git存储原理

Git简介与使用 Intro Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency. Git是一款分布式版本控制系统&#xff08;VSC&#xff09;&#xff0c;是团队合作开发…...

人工智能算法工程师(中级)课程4-sklearn机器学习之回归问题与代码详解

大家好&#xff0c;我是微学AI&#xff0c;今天给大家介绍一下人工智能算法工程师(中级)课程4-sklearn机器学习之回归问题与代码详解。回归分析是统计学和机器学习中的一种重要方法&#xff0c;用于研究因变量和自变量之间的关系。在机器学习中&#xff0c;回归算法被广泛应用于…...

智能制造热点词汇科普篇——工业微服务

随着互联网技术的不断发展&#xff0c;近十年来&#xff0c;微服务也逐渐走进人们的视线中来。何为微服务&#xff1f;让我们先来看看百度百科上的定义&#xff1a;微服务&#xff08;或称微服务架构&#xff09;是一种云原生架构方法&#xff0c;在单个应用中包含众多松散耦合…...

FastGPT+OneAI接入网络模型

文章目录 FastGPT连接OneAI接入网络模型1.准备工作2.开始部署2.1下载 docker-compose.yml2.2修改docker-compose.yml里的参数 3.打开FastGPT添加模型3.1打开OneAPI3.2接入网络模型3.3重启服务 FastGPT连接OneAI接入网络模型 1.准备工作 本文档参考FastGPT的官方文档 主机ip接…...

Java核心篇之JVM探秘:内存模型与管理初探

系列文章目录 第一章 Java核心篇之JVM探秘&#xff1a;内存模型与管理初探 第二章 Java核心篇之JVM探秘&#xff1a;对象创建与内存分配机制 第三章 Java核心篇之JVM探秘&#xff1a;垃圾回收算法与垃圾收集器 第四章 Java核心篇之JVM调优实战&#xff1a;Arthas工具使用及…...

未来互联网的新篇章:深度解析Facebook的技术与战略

随着科技的飞速发展和社会的不断变迁&#xff0c;互联网作为全球信息交流的重要平台&#xff0c;正经历着前所未有的变革和演进。作为全球最大的社交媒体平台之一&#xff0c;Facebook不仅是人们沟通、分享和互动的重要场所&#xff0c;更是科技创新和数字化进程的推动者。本文…...

关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案

问题描述&#xff1a;iview使用table 中type: "index",分页之后 &#xff0c;索引还是从1开始&#xff0c;试过绑定后台返回数据的id, 这种方法可行&#xff0c;就是后台返回数据的每个页面id都不完全是按照从1开始的升序&#xff0c;因此百度了下&#xff0c;找到了…...

鱼香ros docker配置镜像报错:https://registry-1.docker.io/v2/

使用鱼香ros一件安装docker时的https://registry-1.docker.io/v2/问题 一键安装指令 wget http://fishros.com/install -O fishros && . fishros出现问题&#xff1a;docker pull 失败 网络不同&#xff0c;需要使用镜像源 按照如下步骤操作 sudo vi /etc/docker/dae…...

【C++从零实现Json-Rpc框架】第六弹 —— 服务端模块划分

一、项目背景回顾 前五弹完成了Json-Rpc协议解析、请求处理、客户端调用等基础模块搭建。 本弹重点聚焦于服务端的模块划分与架构设计&#xff0c;提升代码结构的可维护性与扩展性。 二、服务端模块设计目标 高内聚低耦合&#xff1a;各模块职责清晰&#xff0c;便于独立开发…...

OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 在 GPU 上对图像执行 均值漂移滤波&#xff08;Mean Shift Filtering&#xff09;&#xff0c;用于图像分割或平滑处理。 该函数将输入图像中的…...

使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台

🎯 使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台 📌 项目背景 随着大语言模型(LLM)的广泛应用,开发者常面临多个挑战: 各大模型(OpenAI、Claude、Gemini、Ollama)接口风格不统一;缺乏一个统一平台进行模型调用与测试;本地模型 Ollama 的集成与前…...

以光量子为例,详解量子获取方式

光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学&#xff08;silicon photonics&#xff09;的光波导&#xff08;optical waveguide&#xff09;芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中&#xff0c;光既是波又是粒子。光子本…...

React---day11

14.4 react-redux第三方库 提供connect、thunk之类的函数 以获取一个banner数据为例子 store&#xff1a; 我们在使用异步的时候理应是要使用中间件的&#xff0c;但是configureStore 已经自动集成了 redux-thunk&#xff0c;注意action里面要返回函数 import { configureS…...

NXP S32K146 T-Box 携手 SD NAND(贴片式TF卡):驱动汽车智能革新的黄金组合

在汽车智能化的汹涌浪潮中&#xff0c;车辆不再仅仅是传统的交通工具&#xff0c;而是逐步演变为高度智能的移动终端。这一转变的核心支撑&#xff0c;来自于车内关键技术的深度融合与协同创新。车载远程信息处理盒&#xff08;T-Box&#xff09;方案&#xff1a;NXP S32K146 与…...

Selenium常用函数介绍

目录 一&#xff0c;元素定位 1.1 cssSeector 1.2 xpath 二&#xff0c;操作测试对象 三&#xff0c;窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四&#xff0c;弹窗 五&#xff0c;等待 六&#xff0c;导航 七&#xff0c;文件上传 …...

Android写一个捕获全局异常的工具类

项目开发和实际运行过程中难免会遇到异常发生&#xff0c;系统提供了一个可以捕获全局异常的工具Uncaughtexceptionhandler&#xff0c;它是Thread的子类&#xff08;就是package java.lang;里线程的Thread&#xff09;。本文将利用它将设备信息、报错信息以及错误的发生时间都…...