99%网工都会遇到的经典面试问题
①问题:介绍TCP连接的三次握手?追问:为什么TCP需要握手三次?
三次握手:
第一步:A向B发送一个SYN报文表示希望建立连接
第二步:B收到A发过来的数据包后,通过SYN得知这是一个建立连接的请求,于是发送ACK确认,由于TCP的全双工模式,故B向A还应该发送一个SYN报文,表示希望和A建立连接第三步:A收到B发送来的SYN报文后,A向B发送ACK表示A收到了B的SYN。
追问:
1、保证双方都具有接受和发送报文的能力
2、防止请求超时导致脏连接
因为报文生存时间可能会超过TCP请求超时时间,假如两次握手就可以建立连接,A的报文由于一些问题滞留在网络中,当报文超时但被释放连接后,此超时连接传输到B,B以为是A创建连接的新请求,然后确认连接。但是A知道这是超时连接的,所以直接丢弃了B的确认数据,导致只是B单方面建立了连接。并一直等待A发送数据,B的资源也就浪费了。
②问题:介绍TCP断开的四次挥手?追问:为什么TCP的挥手需要四次?
四次挥手:
第一步:A向B发送FIN和ACK报文表示希望断开连接
第二步:B收到A发送的请求后会发送ACK表示确认断开。
第三步:此时B处于半连接状态,B会发送FIN和ACK请求断开与A之间的连接
第四步:A收到B发送的断开请求会发送ACK表示确认断开
追问:
确保数据能够全部传输完成
四次才能保证所有的连接全部断
③问题:TCP的syn攻击的过程?追问:怎么防御?
攻击原理:
B收到SYN报文后,会将相应的半连接记录添加到队列中,之后等待接收握手包,如果握手成功就会将此半连接记录从队列中删除;或者当B未收到A的确认包,会重新发送请求包,直到超时才会将此条记录从半连接队列删除。
服务器的TCP协议栈中存储的半连接记录是有限的,当服务器接收到S YN型的DOS攻击后,队列会很快充满,客户端在短时间内伪造大量的不存在的IP地址,向服务器不断发送SYN报文,服务器回复确认包,并等待客户的确认,由于源地址是不存在的,服务器需要不断的重发直至超时,这些伪造的SYN包将长时间占用未连接队列,正常的SYN请求被丢弃,目标系统运行缓慢严重者引起网络堵塞甚至系统瘫痪,服务器随后就不再接受新的网络连接,从而造成正常的客户端无法访问服务器的情况发生。
防御:
1、增大队列SYN最大半连接数,linux中最大连接数为256
2、减少半连接时的超时时间
3、过滤可疑地址
4、利用SYN cookie防御DOS攻击
④问题:什么是滑动窗口? 追问:为什么会出现滑动窗口?
滑动窗口:
用来告诉发送端可以发送数据的大小或者说是窗口标记了接收端缓冲区的大小。窗口指一次批量发送多少数据。
为何会出现滑动窗口:
在确认应答的策略中,每发送一次数据段都需要一个ACK确认应答,收到ACK后再发送下一个数据段,这样每次都需要确认,性能较差。采用滑动窗口的机制就会一次发送多条数据,提高传输性能
⑤问题:TCP是如何通过滑动窗口协议实现流量控制和拥塞控制的?
通过设置滑动窗口的大小,用ACK告知发送端自己缓存区的大小,从而使发送端以合适的速度发送,实现流量控制;
发送端根据网络拥塞情况确定的窗口值。发送端在真正确定发送窗口时,应该取“通知窗口”和“拥塞窗口”的最小值。
⑥问题:什么是CDN,CDN是如何工作的?
一问:
CDN是内容分发网络
CDN是在用户和服务器之间增加高速缓存层,通过接管DNS实现,将用户的请求引导到高速缓存服务器上获取源服务器的数据
⑦问题:什么是DNS ? 说说DNS解析过程?
一问:
DNS为域名系统,是因特网上作为域名和IP地址相互映射的分布式数据库
二问:
1.浏览器检查缓存中有没有这个域名对应的解析过的ip地址,如果有该解析过程将会结束。
2.检查本地的hosts文件是否有这个网址映射关系
3.如果hosts种没有这个域名映射,查找本地DNS解析器缓存,如果有直接返回
4.通过首选DNS服务器(本地域名服务器),以递归或循环的方式查询域名对应的IP地址并返回。(顶级域,二级域,三级域)
⑧问题:为什么连接的时候是三次,挥手的时候是四次?
一问:
1、假设连接的时候是两次,那么A滞留在网络中的报文经过一段时间传输到B,B会确认此连接。B单方面建立了连接,A会丢弃B的确认数据报文。B会一直等待A发送数据,造成B资源的浪费。
二问:
1、确保数据能够全部传输完成
A发送FIN后,B有可能正在向A传输数据,所以不会马上关闭,当数据全部传输完成后再发送ACK表示确认断开。
⑨问题:描述TCP和UDP的区别?
UDP:
无连接的,即发送数据之前不需要建立连接不保证可靠的交付,同时不使用拥塞控制
U支持一对一、一对多、多对一、多对多的交互通信首部只有8字节
TCP:
面向连接的传输层协议提供可靠的交付能力仅支持一对一通信
支持全双工通信(允许数据在两个方向上同时传输)首部最低有20字节
问题:如何用UDP实现可好传输?
引入序列号保证数据的顺序、确认机制保证数据能到达对端、重传机制保证超时引起的数据丢弃。
关注公众号↑↑↑:IT运维大本营,获取《网工大礼包》
相关文章:
99%网工都会遇到的经典面试问题
①问题:介绍TCP连接的三次握手?追问:为什么TCP需要握手三次? 三次握手: 第一步:A向B发送一个SYN报文表示希望建立连接 第二步:B收到A发过来的数据包后,通过SYN得知这是一个建立连接的请求,于是发送ACK确认,由于TCP的全双工模式ÿ…...
html和css中图片加载与渲染的规则是什么?
浏览器渲染web页面的过程 解析html,构成dom树 2.加载css,构成样式规则树 3.加载js,解析js代码 4.dom树和样式树进行匹配,构成渲染树 5.计算元素位置进行页面布局 5.绘制页面,呈现到浏览器中 图片加载和渲染的过程 1.解…...
YOLO轻量化改进 , 边缘GPU友好的YOLO改进算法!
在本文中,作者根据现有先进方法中各种特征尺度之间缺少的组合连接的问题,提出了一种新的边缘GPU友好模块,用于多尺度特征交互。此外,作者提出了一种新的迁移学习backbone采用的灵感是来自不同任务的转换信息流的变化,旨…...
第15届蓝桥杯Scratch选拔赛中级(STEMA)真题2023年8月
第15届蓝桥杯Scratch选拔赛中级(STEMA)真题2023年8月 一、单选题 第 1 题 单选题 点击以下积木块,生成的随机数是一个( )。 A.整数 B.小数 C.整数或小数 D.以上都不对 第 2 题 单选题 运行以下程序࿰…...
c++二叉树遍历
参考文献 数据结构c语言版,严蔚敏_吴伟民著。 二叉树 中序遍历代码实现 #include<vector> #include<iostream> using namespace std;//Definition for a binary tree node. struct TreeNode {int val;TreeNode *left;TreeNode *right;TreeNode() : v…...
day14_集合
今日内容 零、 复习昨日 一、集合框架体系 二、Collection 三、泛型 四、迭代 五、List(ArrayList、LinkedList) 零、 复习 throw和throws什么区别 throwthrows位置方法里面方法签名上怎么写throw 异常对象throws异常类名(多个)作用真正抛出异常对象声明抛出的异常类型 运行时…...
私有云:架构图
私有云:架构图 1、架构图2、服务器分配及配置3、本地物理机hosts文件配置4、相关软件包5、本地物理机电脑配置参考【内存最好20G往上】 机缘巧合之下突然想玩玩虚拟化,然后就查资料本地自己搭建一套私有云 使用【VMware Workstation】这个虚拟化软件来进…...
在安装和配置DVWA渗透测试环境遇到的报错问题
安装环境 前面的安装我参考的这个博主:渗透测试漏洞平台DVWA环境安装搭建及初级SQL注入-CSDN博客 修改bug 1.首先十分感谢提供帮助的博主,搭建DVWA Web渗透测试靶场_dvwa 白屏-CSDN博客,解决了我大多数问题,报错如下࿱…...
深度学习_2 数据操作
数据操作 机器学习包括的核心组件有: 可以用来学习的数据(data);如何转换数据的模型(model);一个目标函数(objective function),用来量化模型的有效性&…...
win 下安装 nvm 的使用与配置
nvm 全名 node.js version management,是一个 nodejs 的版本管理工具。通过它可以安装和切换不同版本的 nodejs。 注:如果已经安装了 nodejs 需先卸载后再安装 nvm 为了确保 nodejs 已彻底删除,可以看看安装目录中是否有 node 文件夹&#x…...
Git笔记
删除最后一次提交 git reset --hard HEAD~1...
省钱兄共享茶室共享娱乐室小程序都有哪些功能
随着共享经济的兴起,共享茶室和共享娱乐室作为一种新型的共享空间,逐渐受到了年轻人的青睐。省钱兄共享茶室共享娱乐室小程序作为该领域的优秀代表,集多种功能于一身,为用户提供了一个便捷、舒适、高效的社交娱乐平台。本文将详细…...
vue-cli方式创建vue3工程
创建工程前,可先用命令行查看是否安装vue-cli。 通过命令行查看vue-cli版本 vue --version 如果已安装vue-cli,则会显示当前安装版本 vue/cli 4.5.13 如果没有安装vue-cli,会提示安装 vue : 无法识别“vue”命令 需要通过npm全局安装v…...
四、W5100S/W5500+RP2040树莓派Pico<TCP Server数据回环测试>
文章目录 1. 前言2. 协议简介2.1 简述2.2 优点2.3 应用 3. WIZnet以太网芯片4. TCP Server数据回环测试4.1 程序流程图4.2 测试准备4.3 连接方式4.4 相关代码4.5 测试现象 5. 注意事项6. 相关链接 1. 前言 在计算机网络中,TCP Server是不可或缺的角色,它…...
技术视角下的跑腿小程序开发:关键挑战和解决方案
跑腿小程序作为连接服务提供者和用户的桥梁,面临着诸多技术挑战。本文将聚焦于技术层面的关键挑战,并提供解决方案,以帮助开发者应对技术上的复杂问题。 1. 实时性与性能挑战 挑战: 跑腿小程序需要实时地匹配订单、更新状态和提…...
Mysql进阶-索引篇(下)
SQL性能分析 SQL执行频率 MySQL 客户端连接成功后,通过 show [session|global] status 命令可以提供服务器状态信息。通过如下指令,可以查看当前数据库的INSERT、UPDATE、DELETE、SELECT的访问频次,通过sql语句的访问频次,我们可…...
从龙湖智创生活入选金钥匙联盟,透视物业服务力竞争风向
假设你是业主,物业“服务”和“管理”,哪个名词看起来更加亲切、讨喜? 站在个人角度,“服务”更让人感受到温度。但对于一个要长期运营下去的住宅或者商企项目来说,整体的管理又必不可少。前者面向人,后者…...
什么是 CNN? 卷积神经网络? 怎么用 CNN 进行分类?(2)
参考视频:https://www.youtube.com/watch?vE5Z7FQp7AQQ&listPLuhqtP7jdD8CD6rOWy20INGM44kULvrHu 视频4:CNN 中 stride 的概念 如上图,stride 其实就是 ”步伐“ 的概念。 默认情况下,滑动窗口一次移动一步。而当 stride …...
样式迁移 - Style Transfer
所谓风格迁移,其实就是提供一幅画(Reference style image),将任意一张照片转化成这个风格,并尽量保留原照的内容(Content)。 将样式图片中的样式迁移到内容图片上,得到合成图片。 基于CNN的样式迁移 奠基性工作: 首先…...
UE5.3启动C++项目报错崩溃
最近尝试用C来练习,碰到一个启动崩溃的事情 按照官方给的步骤做的:官方链接 结果是自定义的Character的问题,在自定义Character的构造函数里调用了: check(GEngine ! nullptr); GEngine->AddOnScreenDebugMessage(-1, 5, FCol…...
Python爬虫实战:研究feedparser库相关技术
1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的信息资源。RSS(Really Simple Syndication)作为一种标准化的信息聚合技术,被广泛用于网站内容的发布和订阅。通过 RSS,用户可以方便地获取网站更新的内容,而无需频繁访问各个网站。 然而,互联网…...
1688商品列表API与其他数据源的对接思路
将1688商品列表API与其他数据源对接时,需结合业务场景设计数据流转链路,重点关注数据格式兼容性、接口调用频率控制及数据一致性维护。以下是具体对接思路及关键技术点: 一、核心对接场景与目标 商品数据同步 场景:将1688商品信息…...
汽车生产虚拟实训中的技能提升与生产优化
在制造业蓬勃发展的大背景下,虚拟教学实训宛如一颗璀璨的新星,正发挥着不可或缺且日益凸显的关键作用,源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例,汽车生产线上各类…...
(转)什么是DockerCompose?它有什么作用?
一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用,而无需手动一个个创建和运行容器。 Compose文件是一个文本文件,通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...
管理学院权限管理系统开发总结
文章目录 🎓 管理学院权限管理系统开发总结 - 现代化Web应用实践之路📝 项目概述🏗️ 技术架构设计后端技术栈前端技术栈 💡 核心功能特性1. 用户管理模块2. 权限管理系统3. 统计报表功能4. 用户体验优化 🗄️ 数据库设…...
让回归模型不再被异常值“带跑偏“,MSE和Cauchy损失函数在噪声数据环境下的实战对比
在机器学习的回归分析中,损失函数的选择对模型性能具有决定性影响。均方误差(MSE)作为经典的损失函数,在处理干净数据时表现优异,但在面对包含异常值的噪声数据时,其对大误差的二次惩罚机制往往导致模型参数…...
免费数学几何作图web平台
光锐软件免费数学工具,maths,数学制图,数学作图,几何作图,几何,AR开发,AR教育,增强现实,软件公司,XR,MR,VR,虚拟仿真,虚拟现实,混合现实,教育科技产品,职业模拟培训,高保真VR场景,结构互动课件,元宇宙http://xaglare.c…...
4. TypeScript 类型推断与类型组合
一、类型推断 (一) 什么是类型推断 TypeScript 的类型推断会根据变量、函数返回值、对象和数组的赋值和使用方式,自动确定它们的类型。 这一特性减少了显式类型注解的需要,在保持类型安全的同时简化了代码。通过分析上下文和初始值,TypeSc…...
DeepSeek源码深度解析 × 华为仓颉语言编程精粹——从MoE架构到全场景开发生态
前言 在人工智能技术飞速发展的今天,深度学习与大模型技术已成为推动行业变革的核心驱动力,而高效、灵活的开发工具与编程语言则为技术创新提供了重要支撑。本书以两大前沿技术领域为核心,系统性地呈现了两部深度技术著作的精华:…...
Ubuntu系统多网卡多相机IP设置方法
目录 1、硬件情况 2、如何设置网卡和相机IP 2.1 万兆网卡连接交换机,交换机再连相机 2.1.1 网卡设置 2.1.2 相机设置 2.3 万兆网卡直连相机 1、硬件情况 2个网卡n个相机 电脑系统信息,系统版本:Ubuntu22.04.5 LTS;内核版本…...
