计网面试干货---带你梳理常考的面试题

顾得泉:个人主页

个人专栏:《Linux操作系统》 《C++从入门到精通》  《LeedCode刷题》

键盘敲烂,年薪百万!


一、HTTP和HTTPS的区别

       1.安全性:HTTPS通过SSL/TLS协议对数据进行加密处理,有效防止数据在传输过程中被窃听或篡改。而HTTP传输的数据是明文形式,不进行加密处理,因此安全性较低。

       2.端口:HTTP的标准端口是80,而HTTPS的标准端口是443。

       3.加密方式:HTTPS使用SSL/TLS协议对数据进行加密,这增加了额外的计算资源消耗,可能导致带宽和CPU使用率增加。而HTTP不进行加密处理,因此在性能上可能略优于HTTPS。

       总的来说,虽然HTTP在传输速度上可能略优于HTTPS,但考虑到数据安全的重要性,推荐网站使用HTTPS协议来传输数据,以提升网站的安全性和用户体验。随着技术的进步和普及,HTTPS的性能损耗正在逐渐减少,同时越来越多的浏览器和搜索引擎都在鼓励使用HTTPS,以提供一个更加安全的网络环境。


二、HTTPS如何确保安全性

       1.加密通信:HTTPS使用SSL/TLS协议对数据进行加密。这意味着所有通过HTTPS传输的数据都会被加密,即使数据在传输过程中被截获,没有相应的密钥也无法解读数据内容。

       2.身份验证:SSL/TLS协议还包括了身份验证的步骤,确保通信双方是可信的。这通常是通过SSL证书来实现的,证书由权威的证书颁发机构(CA)签发,保证了服务器的真实性。

       3.完整性保护:除了加密和身份验证之外,HTTPS还确保数据的完整性,防止数据在传输过程中被篡改。这是因为SSL/TLS协议会使用消息认证码(MAC)来验证数据是否在传输过程中被更改。

       4.安全连接:HTTPS在客户端(通常是用户的浏览器)和服务器之间建立一个安全的连接,这个连接是通过协商加密算法和交换密钥来建立的。这个过程通常称为“握手”,是确保后续通信安全的关键步骤。


三、TCP和UDP的区别

       1.连接性:TCP是一种面向连接的协议,它在数据传输前需要通过3次握手过程建立连接,而UDP是无连接的,它可以直接发送数据,不需要建立连接过程。

       2.可靠性:TCP提供可靠的数据传输服务,包括数据包的顺序传送、错误检测与重传等,确保数据能够按顺序、完整地到达接收端。相比之下,UDP不保证数据的可靠传输,它不进行错误检测和纠正,也不保证数据包的顺序,因此可能会出现数据丢失或乱序的情况。

      3. 传输方式:TCP面向字节流,意味着数据被看作一连串的字节流进行传输,而不是独立的数据包。UDP则是面向报文的,每个数据报文都是独立传输的,保持了报文的边界。

       4.效率和速度:由于UDP没有复杂的传输控制机制,它的首部开销小(只有8个字节),对系统资源的要求较少,因此在传输速率上通常比TCP更快。而TCP首部有20个字节,且需要进行流量控制和拥塞控制,对系统资源的消耗更多。

       5.应用场景:TCP适用于对数据完整性和可靠性要求较高的应用,如文件传输、电子邮件、网页浏览等。而UDP适用于对实时性要求较高或对可靠性要求不高的应用,如在线视频、音频通信和某些游戏。

       总的来说,TCP和UDP各有优势和适用场景。TCP以其可靠的数据传输机制在许多应用中发挥着重要作用,而UDP则以其高效快速的特点在特定领域得到应用。


四、TCP的链接过程

TCP的连接过程通常被称为三次握手

       第一次握手:客户端向服务器发送一个TCP报文,其中SYN(同步序列编号)标志位设置为1,表明这是一个连接请求,并且包含一个随机的初始序号(seq=x)。此时,客户端进入SYN_SENT状态,等待服务器的响应。

       第二次握手:服务器收到客户端的连接请求后,如果同意建立连接,则会返回一个TCP报文。在报文中,服务器也会将SYN和ACK(确认)标志位都设置为1,确认号(ack)设置为客户端初始序号加1(ack=x+1),并且包含服务器自己的初始序号(seq=y)。这表示服务器已经准备好接受数据,此时服务器进入SYN_RCVD状态。

       第三次握手:客户端再次向服务器发送报文,报文中ACK标志位设置为1,确认号设置为服务器初始序号加1(ack=y+1)。这个报文是对服务器SYN报文的确认。完成这一步之后,双方确认了彼此的初始序号,并准备好开始数据传输。此时,TCP连接正式建立,并且是全双工模式,也就是说数据可以在两个方向上同时传输。

       总的来说,这个过程确保了通信双方能够确知对方的存在,并且可以协商一些传输参数,如最大报文段长度、最大窗口大小等,同时也对传输实体资源进行分配,如缓存大小等。


五、TCP如何实现数据的可靠性

       1.序列号/确认应答:每个数据包都被赋予一个唯一的序列号,接收方使用确认号来告知发送方已成功接收的数据。如果发送方在一定时间内未收到某个数据包的确认,它会重传这个数据包。

       2.超时重传:当发送方发送数据后会启动一个定时器,如果在定时器超时前没有收到相应的确认应答,发送方会重新发送该数据。这种机制确保了即使确认应答丢失或延迟,数据也不会丢失。

       3.检验和:TCP首部包含了检验和字段,用于检查数据在传输过程中是否出现错误。接收端在接收到数据后会计算检验和并与首部的检验和比对,不匹配则说明数据出错并丢弃相应的TCP段,随后发送方会重新发送。

       4.滑动窗口控制:通过滑动窗口机制,发送方可以连续发送多个数据报文段而不必等待每个报文段的确认应答,从而提高传输效率。窗口的大小可以根据接收方的处理能力和网络状况进行调整。


六、TCP为什么要三次握手

       TCP协议使用三次握手来建立连接主要是为了确保数据传输的可靠性和正确性。具体分析如下:

       1.防止历史连接:三次握手可以防止已经失效的连接请求突然被服务器接收到,从而错误地建立连接。如果是两次握手,服务器在收到第一个握手(SYN)后直接进入连接状态,如果这个报文是之前某个连接的延迟报文,那么会导致错误建立连接。

       2.同步初始序列号:通过三次握手,客户端和服务器可以相互通知对方自己的初始序列号,这个序列号用于后续数据传输中的序号和确认号的同步,确保数据包的正确排序和检测丢失的数据包。

       3.避免资源浪费:三次握手可以确保双方都具备接收和发送数据的能力。在第三次握手时,客户端再次确认服务器的SYN,这样服务器就知道客户端已经准备好接收数据了。如果此时客户端没有发送确认,服务器会知道连接没有建立成功,从而释放相关资源,避免资源的浪费。


七、TCP为什么不能两次握手

       TCP协议使用三次握手来建立连接,而不能使用两次握手的原因是为了确保数据传输的可靠性和安全性。

       在两次握手的情况下,客户端发送连接请求到服务器,服务器收到请求后返回确认信息,此时客户端会认为连接已经建立,可以发送数据了。但是,如果这个确认信息在网络中被延迟,那么服务器并没有收到客户端的请求,但是客户端已经开始发送数据了。这种情况下,服务器会以为是一个新的连接请求,从而向客户端发送确认信息。此时,客户端会认为这个确认信息是对之前请求的回应,从而建立了一个错误的连接。这种错误的连接可能会导致数据包的丢失、重复、乱序等问题,从而导致数据传输的不可靠性和安全性。

       因此,TCP协议使用三次握手来建立连接,通过第三次握手的确认信息来确保双方都已经收到并确认了对方的请求和响应,从而保证数据传输的可靠性和安全性。


八、TCP为什么要四次挥手

       第一次挥手:客户端向服务器发送FIN报文,表明自己已经没有数据要发送了。但此时客户端仍然能够接收数据。

       第二次挥手:服务器收到客户端的FIN报文后,会发送ACK报文作为响应,确认序号为收到序号加1。此时,客户端进入FIN_WAIT_2状态。

       第三次挥手:服务器向客户端发送FIN报文,表明服务器也没有数据要发送了。然后客户端回应ACK,确认序号为收到序号加1。

       第四次挥手:客户端等待一段时间后,确定服务器端没有更多数据发送,就关闭连接。


九、TCP/IP五层模型是什么

       1.物理层: 负责光 / 电信号的传递方式 . 比如现在以太网通用的网线 ( 双绞 线 ) 、早期以太网采用的的同轴电缆(现在主要用于有线电视 ) 、光纤 , 现在的 wifi 无线网使用电磁波等都属于物理层的概念。物理层的能力决定了最大传输速率、传输距离、抗干扰性等. 集线器 (Hub) 工作在物理层 .
       2.数据链路层: 负责设备之间的数据帧的传送和识别 . 例如网卡设备的驱动、帧同步 ( 就是说从网线上检测到什么信号算作新帧的开始) 、冲突检测 ( 如果检测到冲突就自动重发 ) 、数据差错校验等工作 . 有以太网、令牌环网, 无线 LAN 等标准 . 交换机 (Switch) 工作在数据链路层 .
       3.网络层: 负责地址管理和路由选择 . 例如在 IP 协议中 , 通过 IP 地址来标识一台主机 , 并通过路由表的方式规划出两台主机之间的数据传输的线路( 路由 ). 路由器 (Router) 工作在网路层 .
       4.传输层: 负责两台主机之间的数据传输 . 如传输控制协议 (TCP), 能够确保数据可靠的从源主机发送到目标主机.
       5.应用层: 负责应用程序间沟通,如简单电子邮件传输( SMTP )、文件传输协议( FTP )、网络远程访问协议(Telnet )等 . 我们的网络编程主要就是针对应用层

十、HTTP1.0/1.1/2.0的区别

       HTTP1.0:是第一个广泛使用的HTTP版本,它使用短连接,每个请求都需要建立一个新的TCP连接。因此,每次请求都需要经历三次握手和慢启动过程,这会导致连接建立的延迟和网络拥塞。此外,HTTP1.0不支持长连接,每个请求完成后都会关闭TCP连接,导致请求响应速度较慢。

       HTTP1.1:通过引入持久连接来解决HTTP1.0的问题,即同一个TCP连接可以发送多个请求和响应。此外,HTTP1.1还引入了管道化技术,使得客户端可以同时发送多个请求而无需等待响应,从而提高了网络性能。此外,HTTP1.1还支持分块传输编码和压缩传输等技术来提高传输效率。

       HTTP2.0:相对于HTTP1.x,HTTP2.0的最大变化是采用了二进制协议而非文本协议,提高了传输效率。此外,HTTP2.0还支持多路复用技术,即在一个TCP连接上可以同时处理多个请求和响应,从而避免了HTTP1.x中建立多个TCP连接的问题。同时,HTTP2.0还支持服务器推送技术和头部压缩等功能。


结语:关于本次常见面试题的梳理到这里就结束了,希望本篇文章的分享会对大家的面试带来些许帮助,如果大家有什么问题,欢迎大家在评论区留言,最后祝愿每位伙伴都能找到心意的工作。 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

人工智能项目,如何解决大模型的数据私有化

这个问题是最近走访百家企业,客户问的最多的问题。人工智能是对数据集中后,再利用的智能化手段,ChatGPT还在持续的投入,汇集数据、训练模型,微软也不过是做了一个办公客户端的智能工具,那么行业应运之时&am…

写后端项目时上传文件接口使用阿里云oss-规范写法

文章目录 开通对象存储服务密钥管理点击头像点击密钥管理创建新密钥AccessKey 写在yml配置文件中相关配置1.pom依赖2.全局配置类3.AliOssUtil 工具类3.AliOssProperties类,用于读取yml文件中写入的密钥4.controller层,用于写传输文件的接口 开通对象存储…

《Python编程从入门到实践》day29

# 昨日知识点回顾 修改折线图文字和线条粗细 矫正图形 使用内置格式 # 今日知识点学习 15.2.4 使用scatter()绘制散点图并设置样式 import matplotlib.pyplot as plt import matplotlib matplotlib.use(TkAgg)plt.style.use(seaborn-v0_8) # 使用内置格式 fig, ax plt.subpl…

荣耀MagicBook X 14 Pro锐龙版 2023 集显(FRI-H76)笔记本电脑原装出厂Windows11系统工厂模式安装包下载,带F10智能还原

恢复开箱状态预装OEM系统,适用型号:HONOR荣耀FRI-H76、FRI-H56 链接:https://pan.baidu.com/s/1Lcg45byotu5kDDSBs3FStA?pwdl30r 提取码:l30r 华为荣耀原装WIN11系统工厂安装包,含F10一键恢复功能、系统自带所有驱…

蓝桥杯-外卖店优先级(简单写法)

“饱了么”外卖系统中维护着 N 家外卖店,编号 1∼N。 每家外卖店都有一个优先级,初始时 (0 时刻) 优先级都为 0。 每经过 1 个时间单位,如果外卖店没有订单,则优先级会减少 1,最低减到 0;而如果外卖店有订…

四、基于Stage模型的应用架构设计

前面我们了解了如何构建鸿蒙应用以及开发了第一个页面,这只是简单的demo;那么如何去设计,从0到1搭建一个真正的应用呢 一、基本概念 1、Stage模型基本概念 Stage模型概念图 AbilityStage:是一个Module级别的组件容器&#xff0…

「AIGC」Python实现tokens算法

本文主要介绍通过python实现tokens统计,避免重复调用openai等官方api,开源节流。 一、设计思路 初始化tokenizer使用tokenizer将文本转换为tokens计算token的数量二、业务场景 2.1 首次加载依赖 2.2 执行业务逻辑 三、核心代码 from transformers import AutoTokenizer imp…

基于网络爬虫技术的网络新闻分析(二)

目录 2 系统需求分析 2.1 系统需求概述 2.2 系统需求分析 2.2.1 系统功能要求 2.2.2 系统IPO图 2.2 系统非功能性需求分析 3 系统概要设计 3.1 设计约束 3.1.1 需求约束 3.1.2 设计策略 3.1.3 技术实现 3.3 模块结构 3.3.1 模块结构图 3.3.2 系统层次图 3.3.3…

与禹老师学前端vue3学习汇总

24.5.15: 创建Vue3工程 1.确定自己电脑有没有nodejs环境,在cmd中输入node,如果出现Node.js的版本号说明已经有这个环境了,否则搜索Node.js安装 2.先在D盘创建一个文件夹Vue3_Study,然后在这个空文件夹中右键选择终端…

汇聚荣:拼多多长期没有流量如何提高?

在电商的海洋中,拼多多以其独特的团购模式吸引了众多消费者的目光。然而,随着市场竞争的加剧和消费者需求的多样化,一些商家发现自家店铺的流量持续低迷,销售业绩难以突破。面对这样的挑战,如何有效提升拼多多店铺的客…

Linux进程控制——Linux进程程序替换

前言:Linux进程控制包含了进程终止,进程等待,进程程序替换。走到现在我们也只剩下进程程序替换没介绍了,那么让我们来看看进程程序替换到底是什么! 本篇主要内容: 替换原理 替换函数 实现简易shell 我们所创…

不用投稿邮箱,怎样向各大新闻媒体投稿?

身为单位的信息宣传员,我深知肩上责任重大。每个月,完成单位在媒体上投稿发表文章的考核任务,就如同一场无声的赛跑,既要保证速度,更要注重质量。起初,我遵循“前辈们”的老路,一头扎进了邮箱投稿的海洋。但很快,现实给了我一记重拳——邮箱投稿的竞争犹如千军万马过独木桥,稿件…

C++ 中的 lambda 表达式

1.概念 lambda表达式实际上是一个匿名类的成员函数,该类由编译器为lambda创建,该函数被隐式地定义为内联。因此,调用lambda表达式相当于直接调用匿名类的operator()函数,这个函数可以被编译器内联优化(建议&#xff0…

20240511每日运维----聊聊nignx改配置所有的nginx改完unknow

1、改配置所有的nginx改完unknow src/core/nginx.h src/http/ngx_http_header_filter_module.c src/http/ngx_http_special_response.c src/http/v2/ngx_http_v2_filter_module.c 2、make 3、去objs里面把nginx文件替换过去sbin/nginx

Android系统不同版本存储权限

一、Android存储简介 Android系统分为内部存储和外部存储 从Android6.0开始不断在更新存储(读写)权限,除了在AndroidManifest.xml文件里声明,app运行时也要动态申请使用对应的权限 提醒:应用私有存储不需要动态申请权…

在linux里登录远程服务器

在linux里登录远程服务器。在虚拟终端里输入命令: ssh 远程服务器ip -l username 然后输入登录密码,就可以登录到远程服务器的命令行界面。登录方便,字体也可以在本地机的虚拟终端里设置得大一点。 下面是一张截屏图片。

Linux|基础环境开发工具使用(1)

目录 Linux 软件包管理器 yum 什么是软件包 关于 rzsz 注意事项 查看软件包 如何安装软件 如何卸载软件 Linux编辑器-vim介绍 vi与vim的相同点 vi与vim区别 Linux 软件包管理器 yum 什么是软件包 在Linux下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译…

每日5题Day3 - LeetCode 11 - 15

每一步向前都是向自己的梦想更近一步,坚持不懈,勇往直前! 第一题:11. 盛最多水的容器 - 力扣(LeetCode) class Solution {public int maxArea(int[] height) {//这道题比较特殊,因为两边是任意…

ADS使用记录之使用RFPro进行版图联合仿真-加入集总元器件

ADS使用记录之使用RFPro进行版图联合仿真-加入集总元器件 ADS使用记录之使用RFPro进行版图联合仿真中已经简单介绍了使用RFPro对版图就行仿真的方法。但是,如果版图中含有一些非微带的结构,比如说电感、电容、晶体管呢,在此举例解释一下。 …

五丰黎红销量增长的秘诀:一物一码数字化营销开创调味品行业新格局!

根据当今经济环境和未来的发展趋势,传统经济向数字化经济转型的发展方向可以说是大势所趋,如何把握先机,率先迈出数字化转型第一步,可以说是无数传统企业都需要思考的问题。 作为中国调味品行业的佼佼者,五丰黎红踩着时…