专业技能篇---计算机网络

文章目录

  • 前言
  • 计算机网络基础
    • 一、网络分层模型
  • HTTP
    • 一、从输入URL到页面显示发生了什么?
    • 二、Http的状态码有哪些?
    • 三、 HTTP与HTTPS有什么区别?
    • 四、URI 和 URL 的区别是什么?
    • 五、Cookie和Session有什么区别?
    • 六、GET与POST
  • WebSocket
    • 一、什么是 WebSocket?
  • Ping
    • 一、PING命令的作用是什么?
  • DNS
    • 一、DNS的作用是?
  • TCP与UDP
    • 一、TCP与UDP的区别?
    • 二、什么时候选择 TCP,什么时候选 UDP?
    • 三、TCP 三次握手和四次挥手(非常重要)
    • 四、全连接和半连接
    • 五、为什么要三次握手?
    • 六、TCP四次挥手?
    • 七、TCP如何保证传输的可靠性?
  • IP
    • 一、IP 协议的作用是什么?
    • 二、什么是 IP 地址?IP 寻址如何工作?
  • ARP(地址解析协议)
    • 一、什么是 Mac 地址?
    • 二、ARP 协议解决了什么问题?


前言

主要强化计算机基础中的计算机网络,本篇主要深入理解计算机网络的重点面试题


计算机网络基础

一、网络分层模型

首先是osi七层模型,分别是物数网传会表应。OSI七层模型是一种理想模型,把网络通信过程分为七层。

  • 物理层主要负责物理介质上的传输。
  • 数据链路层负责同一网络之间的可靠数据传输,包括帧的封装、传输、确认和错误检测与纠正。
  • 网络层负责数据包的路由与转发。
  • 传输层负责提供端到端的传输服务,确保数据的完整性和可靠传输。
  • 会话层负责管理控制应用程序之间的会话。
  • 表示层负责数据格式化和转换,确保不同系统之间的数据能够被正确理解。
  • 应用层负责提供直接面向用户的网络服务和应用程序的接口。

在这里插入图片描述

现在基本都用的是TCP/IP四层模型,该模型简化了OSI七层模型。由应用层、传输层、网络层、网络接口层组成。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

HTTP

一、从输入URL到页面显示发生了什么?

在这里插入图片描述

  1. 在浏览器中输入指定网页的 URL。
  2. 浏览器通过 DNS 协议,获取域名对应的 IP 地址。
  3. 浏览器根据 IP 地址和端口号,向目标服务器发起一个 TCP 连接请求。
  4. 浏览器在 TCP 连接上,向服务器发送一个 HTTP 请求报文,请求获取网页的内容。
  5. 服务器收到 HTTP 请求报文后,处理请求,并返回 HTTP 响应报文给浏览器。
  6. 浏览器收到 HTTP 响应报文后,解析响应体中的 HTML 代码,渲染网页的结构和样式,同时根据 HTML 中的其他资源的 URL(如图片、CSS、JS 等),再次发起 HTTP 请求,获取这些资源的内容,直到网页完全加载显示。
  7. 浏览器在不需要和服务器通信时,可以主动关闭 TCP 连接,或者等待服务器的关闭请求。

二、Http的状态码有哪些?

在这里插入图片描述
200 成功
400 参数不合法
401 需要认证
403 请求不合法
404 资源未找到

三、 HTTP与HTTPS有什么区别?

端口号不同、前缀不同、安全性和资源消耗不同、SEO(搜索引擎优化)。

四、URI 和 URL 的区别是什么?

URI是统一资源标志符,可以唯一标识一个资源。
URL是统一资源定位符,可以提供该资源的路径。

URI 的作用像身份证号一样,URL 的作用更像家庭住址一样。URL 是一种具体的 URI,它不仅唯一标识资源,而且还提供了定位该资源的信息。

五、Cookie和Session有什么区别?

Session的主要作用就是通过服务端记录用户的状态。因为 HTTP 协议是无状态的。服务端给特定的用户创建特定的 Session 之后就可以标识这个用户并且跟踪这个用户了。

Cookie的主要作用在客户端记录用户状态。Cookie 数据保存在客户端(浏览器端),Session 数据保存在服务器端。相对来说 Session 安全性更高。如果使用 Cookie 的一些敏感信息不要写入 Cookie 中,最好能将 Cookie 信息加密然后使用到的时候再去服务器端解密。

六、GET与POST

GET 和 POST 是 HTTP 协议中两种常用的请求方法。

语义(主要区别):GET 通常用于获取或查询资源,而 POST 通常用于创建或修改资源。

格式:GET 请求的参数通常放在 URL 中,形成查询字符串(querystring),而 POST 请求的参数通常放在请求体(body)中。

安全性:GET 请求和 POST 请求如果使用 HTTP 协议的话,那都不安全,因为 HTTP 协议本身是明文传输的,必须使用 HTTPS 协议来加密传输数据。另外,GET 请求相比 POST 请求更容易泄露敏感数据,因为 GET 请求的参数通常放在 URL 中。

WebSocket

一、什么是 WebSocket?

WebSocket是一种网络通讯协议,它允许在单个TCP连接上进行全双工通讯。这意味着客户端和服务器可以同时发送和接收数据,而不需要等待对方的响应。WebSocket 常用于需要实时通信的应用场景,比如在线游戏、股票交易、聊天应用等。

Ping

一、PING命令的作用是什么?

PING 命令是一种常用的网络诊断工具,经常用来测试网络中主机之间的连通性和网络延迟。

DNS

一、DNS的作用是?

DNS(Domain Name System)域名管理系统,是当用户使用浏览器访问网址之后,使用的第一个重要协议。DNS 要解决的是域名和 IP 地址的映射问题。

TCP与UDP

一、TCP与UDP的区别?

在这里插入图片描述

  • 是否面向连接:UDP 在传送数据之前不需要先建立连接。而 TCP 提供面向连接的服务,在传送数据之前必须先建立连接,数据传送结束后要释放连接。
  • 是否是可靠传输:远地主机在收到 UDP 报文后,不需要给出任何确认,并且不保证数据不丢失,不保证是否顺序到达。TCP 提供可靠的传输服务,TCP 在传递数据之前,会有三次握手来建立连接,而且在数据传递时,有确认、窗口、重传、拥塞控制机制。通过 TCP 连接传输的数据,无差错、不丢失、不重复、并且按序到达。
  • 是否有状态:这个和上面的“是否可靠传输”相对应。TCP 传输是有状态的,这个有状态说的是 TCP 会去记录自己发送消息的状态比如消息是否发送了、是否被接收了等等。为此 ,TCP 需要维持复杂的连接状态表。而 UDP 是无状态服务,简单来说就是不管发出去之后的事情了(这很渣男!)。
  • 传输效率:由于使用 TCP 进行传输的时候多了连接、确认、重传等机制,所以 TCP 的传输效率要比 UDP 低很多。
  • 传输形式:TCP 是面向字节流的,UDP 是面向报文的。

二、什么时候选择 TCP,什么时候选 UDP?

  • UDP一般用于即时通讯,比如:语音、 视频、直播等等。这些场景对传输数据的准确性要求不是特别高,比如你看视频即使少个一两帧,实际给人的感觉区别也不大。
  • TCP 用于对传输准确性要求特别高的场景,比如文件传输、发送和接收邮件、远程登录等等。

三、TCP 三次握手和四次挥手(非常重要)

建立一个 TCP 连接需要“三次握手”,缺一不可:

  • 一次握手:客户端发送带有 SYN(SEQ=x) 标志的数据包 -> 服务端,然后客户端进入 SYN_SEND 状态,等待服务端的确认;
  • 二次握手:服务端发送带有 SYN+ACK(SEQ=y,ACK=x+1) 标志的数据包 –> 客户端,然后服务端进入 SYN_RECV 状态;
  • 三次握手:客户端发送带有 ACK(ACK=y+1) 标志的数据包 –> 服务端,然后客户端和服务端都进入ESTABLISHED 状态,完成 TCP 三次握手。

四、全连接和半连接

  • 半连接队列(也称 SYN Queue):当服务端收到客户端的 SYN 请求时,此时双方还没有完全建立连接,它会把半连接状态的连接放在半连接队列。
  • 全连接队列(也称 Accept Queue):当服务端收到客户端对 ACK 响应时,意味着三次握手成功完成,服务端会将该连接从半连接队列移动到全连接队列。如果未收到客户端的 ACK 响应,会进行重传,重传的等待时间通常是指数增长的。如果重传次数超过系统规定的最大重传次数,系统将从半连接队列中删除该连接信息。

五、为什么要三次握手?

三次握手的目的是建立可靠的通信信道,说到通讯,简单来说就是数据的发送与接收,而三次握手最主要的目的就是双方确认自己与对方的发送与接收是正常的。

  • 第一次握手:Client 什么都不能确认;Server 确认了对方发送正常,自己接收正常
  • 第二次握手:Client 确认了:自己发送、接收正常,对方发送、接收正常;Server 确认了:对方发送正常,自己接收正常
  • 第三次握手:Client 确认了:自己发送、接收正常,对方发送、接收正常;Server 确认了:自己发送、接收正常,对方发送、接收正常

六、TCP四次挥手?

TCP 是全双工通信,可以双向传输数据。任何一方都可以在数据传送结束后发出连接释放的通知,待对方确认后进入半关闭状态。当另一方也没有数据再发送的时候,则发出连接释放通知,对方确认后就完全关闭了 TCP 连接。

举个例子:A 和 B 打电话,通话即将结束后。

  • 第一次挥手:A 说“我没啥要说的了”
  • 第二次挥手:B 回答“我知道了”,但是 B 可能还会有要说的话,A 不能要求 B 跟着自己的节奏结束通话
  • 第三次挥手:于是 B 可能又巴拉巴拉说了一通,最后 B 说“我说完了”
  • 第四次挥手:A 回答“知道了”,这样通话才算结束。

七、TCP如何保证传输的可靠性?

  • 数据包编号:TCP给每个数据包分配一个序列号,这样接收方就可以按正确的顺序重新组装数据。
  • 确认应答(ACK):接收方收到数据包后会发送一个确认应答给发送方,表明数据包已成功接收。
  • 超时重传:如果发送方在一定时间内没有收到确认应答,它会重新发送数据包。
  • 流量控制:TCP使用滑动窗口机制来控制发送速率,防止接收方被大量数据淹没。
  • 拥塞控制:TCP通过检测网络拥塞并相应地调整数据传输速率来减少丢包。
  • 数据校验:TCP使用校验和来检测数据在传输过程中是否出现错误。

IP

一、IP 协议的作用是什么?

IP(Internet Protocol,网际协议) 是 TCP/IP 协议中最重要的协议之一,属于网络层的协议,主要作用是定义数据包的格式、对数据包进行路由和寻址,以便它们可以跨网络传播并到达正确的目的地。目前 IP 协议主要分为两种,一种是过去的 IPv4,另一种是较新的 IPv6,目前这两种协议都在使用,但后者已经被提议来取代前者。

二、什么是 IP 地址?IP 寻址如何工作?

每个连入互联网的设备或域(如计算机、服务器、路由器等)都被分配一个 IP 地址(Internet Protocol address),作为唯一标识符。

当网络设备发送 IP 数据包时,数据包中包含了 源 IP 地址 和 目的 IP 地址 。源 IP 地址用于标识数据包的发送方设备或域,而目的 IP 地址则用于标识数据包的接收方设备或域。这类似于一封邮件中同时包含了目的地地址和回邮地址。

网络设备根据目的 IP 地址来判断数据包的目的地,并将数据包转发到正确的目的地网络或子网络,从而实现了设备间的通信。

这种基于 IP 地址的寻址方式是互联网通信的基础,它允许数据包在不同的网络之间传递,从而实现了全球范围内的网络互联互通。IP 地址的唯一性和全局性保证了网络中的每个设备都可以通过其独特的 IP 地址进行标识和寻址。
在这里插入图片描述

ARP(地址解析协议)

一、什么是 Mac 地址?

MAC 地址的全称是 媒体访问控制地址(Media Access Control Address)。如果说,互联网中每一个资源都由 IP 地址唯一标识(IP 协议内容),那么一切网络设备都由 MAC 地址唯一标识。

可以理解为,MAC 地址是一个网络设备真正的身份证号,IP 地址只是一种不重复的定位方式(比如说住在某省某市某街道的张三,这种逻辑定位是 IP 地址,他的身份证号才是他的 MAC 地址),也可以理解为 MAC 地址是身份证号,IP 地址是邮政地址。MAC 地址也有一些别称,如 LAN 地址、物理地址、以太网地址等。

二、ARP 协议解决了什么问题?

ARP 协议,全称 地址解析协议(Address Resolution Protocol),它解决的是网络层地址和链路层地址之间的转换问题。因为一个 IP 数据报在物理上传输的过程中,总是需要知道下一跳(物理上的下一个目的地)该去往何处,但 IP 地址属于逻辑地址,而 MAC 地址才是物理地址,ARP 协议解决了 IP 地址转 MAC 地址的一些问题。

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

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

相关文章

Android自定义View之不得不知道的文件attrs

其中demo_style如下:一般都是放的.9图片,为了方便就放个颜色了 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190820183209784.png?x-oss-processimage/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLm NzZG4ubmV0L3FxXzQyNzYxMz…

面向服务的架构(Service-Oriented Architecture, SOA)

目录 前言1. SOA的基本概念1.1 定义和特点1.2 核心原则 2. SOA的优势与挑战2.1 优势2.2 挑战 3. SOA的实现技术3.1 Web服务3.2 微服务架构3.3 企业服务总线(ESB) 4. SOA在现代企业中的应用4.1 金融行业4.2 电子商务4.3 政府和公共服务4.4 医疗健康 结语 …

EE trade:炒伦敦金的注意事项及交易指南

在贵金属市场中,伦敦金因其高流动性和全球认可度,成为广大投资者的首选。然而,在炒伦敦金的过程中,投资者需要注意一些关键点。南华金业小编带您一起来看看。 国际黄金报价 一般国际黄金报价会提供三个价格: 买价(B…

LeetCode 1-两数之和

LeetCode第1题 两数之和 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现…

力扣SQL50 各赛事的用户注册率 分组计数 双排序字段

Problem: 1633. 各赛事的用户注册率 👨‍🏫 参考题解 Code select contest_id, ROUND(COUNT(user_id) * 100 / (select count(*) from users),2) as percentage from register group by contest_id order by percentage desc, contest_id asc

vue3自动导入---组件库elements-ui,vuetify以及scss样式的自动导入

自动导入 我们在使用第三方组件库和css样式文件时,都需要进行引入,可以在单个组件内单独引用,也可以在全局引入或一次引入所有组件;但是,一般情况下我们都不会全部引入,这会是打包的结果变大,而…

linux挂载硬盘(解决linux不显示硬盘问题)

目录 1.查看系统有几块硬盘2.查看挂载情况3.格式化硬盘4.创建挂载目录用于挂载硬盘5.将硬盘挂载到指定的挂载目录6.随系统自启动挂载查看配置文件,看是否已经把这条命令加入配置 帮同门解决挂载失败问题记录 参考视频:只要6步!Linux系统下挂载…

人工智能在影像组学与放射组学中的最新进展|顶刊速递·24-06-22

小罗碎碎念 本期文献速递的主题——人工智能在影像组学中的最新进展。 小罗一直以来的观点,是把大问题分模块拆解——既然我们想做多模态,那么就先了解单模态的研究套路,再去研究不同模态提取的特征如何融合,搞科研的过程也是管理…

获取泛型,泛型擦除,TypeReference 原理分析

说明 author blog.jellyfishmix.com / JellyfishMIX - githubLICENSE GPL-2.0 获取泛型,泛型擦除 下图中示例代码是一个工具类用于生成 csv 文件,需要拿到数据的类型,使用反射感知数据类型的字段,来填充表字段名。可以看到泛型…

miniconda安装教程以及pip换源【Windows版本】

Anaconda包含内容较多,这边采用miniconda进行安装演示。 下载安装包 官网链接:https://docs.anaconda.com/miniconda/ 蓝奏云加速链接:https://wwt.lanzoue.com/i6ts3225vuef 开始安装 配置conda 在Windows开始菜单中,找到刚安…

graalvm jdk和openjdk

下载地址:https://github.com/graalvm/graalvm-ce-builds/releases 官网: https://www.graalvm.org

VBA学习(18):VBA制作任意工作表均可使用的聚光灯

在需要制作聚光的工作簿&#xff0c;按<ALTF11>组合键&#xff0c;打开VBE编辑器。在右侧[工程资源管理器窗格]选中ThisWorkbook模块&#xff0c;将以下代码复制粘贴到该模块的代码窗口。 Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target …

MLP多层感知器:AI人工智能神经网络的基石

MLP 是指多层感知器&#xff08;Multilayer Perceptron&#xff09;&#xff0c;是一种基础人工神经网络模型&#xff08;ANN&#xff0c;Artificial Neural Network&#xff09;。MLP 的核心是通过深度学习从大量数据中学习特征和模式&#xff0c;并训练参数。通过参数与激活函…

3.XSS-DOM型(基础和进阶)

DOM XSS&#xff08;基础&#xff09; 不与后台服务器产生数据交互,通过前端的dom节点形成的XSS漏洞。 进行测试一下&#xff0c;输入111&#xff0c;会显示what do you see 查看元素代码&#xff0c;看到What do you see 根据前端页面语句进行编写弹窗攻击代码 <a hr…

智慧公厕系统厂家的核心技术与光明源应用案例

随着城市化进程的加快和智慧城市建设的推进&#xff0c;智慧公厕系统在提升公共服务质量和用户体验方面发挥了重要作用。智慧公厕系统厂家的核心技术是确保这一系统高效运转和用户满意度的关键。以下将介绍智慧公厕系统厂家的核心技术&#xff0c;并通过光明源的应用案例展示其…

VB验证密码

在文本框中输入密码&#xff0c;“验证密码”按钮检验输入的是否为“123456”。“清空”按钮清空文本框。“结束”按钮关闭窗体。 Public Class Form1Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.ClickDim P$P Trim(TextBox1.Text)If P &…

【滚动哈希 二分查找】1044. 最长重复子串

本文涉及知识点 滚动哈希 二分查找算法合集 LeetCode 1044. 最长重复子串 给你一个字符串 s &#xff0c;考虑其所有 重复子串 &#xff1a;即 s 的&#xff08;连续&#xff09;子串&#xff0c;在 s 中出现 2 次或更多次。这些出现之间可能存在重叠。 返回 任意一个 可能具…

基于SSM+Jsp的体育竞赛成绩管理系统

开发语言&#xff1a;Java框架&#xff1a;ssm技术&#xff1a;JSPJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包…

NetSuite Non-Inventory Item 公司内外采购总账影响

上篇文章提到&#xff0c;Non-Inventory Item的科目维护会根据各个企业的实际情况而有所不同&#xff0c;通常情况下都涉及外部交易&#xff0c;即对外采购与销售&#xff1b;另外也涉及到公司内部的相关交易&#xff0c;本篇以采购为例&#xff0c;来看看公司内外采购交易所对…

百度地图3d区域掩膜,最常见通用的大屏地图展现形式

需求及效果 原本项目使用的是百度地图3.0,也就是2d版本的那个地图,客户不满意觉得不够好看,让把地图改成3d的,但是我们因为另外的系统用的都是百度地图,为了保持统一只能用百度地图做 经过3天的努力,最后我终于把这个效果实现了,效果如下: 如何引用GL版本 为了实现…