计算机网络面试常见题

      最后更新:2022-07-04 11:30:09 手机定位技术交流文章

      文章目录

      • 浏览器输入URL后发生什么事?
      • 网络体系结构?
      • HTTP和HTTPPS之间的区别是什么?
      • Session和Cookie有什么区别?
      • HTTP和WebSocket连接和差异,WebSocket的情况如何?
      • 插座编程的主要步骤?
      • DHCP原则是什么?
      • DNS域名系统?
      • 传输层中的TCP和UDP两个协议之间的区别?
      • 什么是三振和四波?
      • 三个手能携带数据吗?
      • TCP如何确保可靠性?
      • TCP的流量控制机制?
      • TCP拥塞控制?
      • 开关和路由器有什么区别?
      • ARP协议的作用和工作原则?

      浏览器输入URL后发生什么事?

      1. DNS域分析:浏览器首先确认域的相应的服务器IP地址;
      2. 建立TCP连接:三手握请求连接;
      3. 发送HTTP请求:发送请求消息;
      4. 服务器处理请求;
      5. 返回响应结果;
      6. 浏览器分析HTML并渲染布局以显示页面给用户;
      7. 关闭TCP连接: 当任何一方没有请求或没有发送响应时,任何一方都可以启动关闭请求。

      网络体系结构?

      网络体系结构
      OSI系统结构的每个层的作用:

      (1)应用层(数据):应用层是系统结构的最高层次,其任务是通过应用过程之间的相互作用完成特定网络应用。
      对于不同的网络应用,需要不同的层协议,例如域名系统DNS、通用网络应用HTTP协议和电子邮件应用SMTP协议。
      (2)数据表示:主要解决用户信息的语法表示问题,如加密、解密等。
      (3)对话层(数据):提供建立和维持应用程序之间的通信机制,包括访问验证和对话管理,例如服务器验证用户登录在对话层中完成。
      (四)传输层(分段):实现网络不同主机的用户过程之间的数据通信,可靠可靠的传输、误差检测、流量控制等。
      (五)网络层(包):负责向网络的不同主机提供通信服务,为网络群交换提供IP、路由、数据传输从源到目的地,网络层主要使用IP协议。
      (6)数据链层(框架):将顶层数据封入框架中,使用物理地址访问媒体,检测错误并纠正它们。
      (7)物理层(bitstream):设备间的bitstream传输、物理接口、电特性等。
      OSI架构是一个理想化的七层协议,它更复杂,效率更低。

      TCP/IP使用四层协议来简化数据链层、物理层和网络接口层;语音层、表示层和应用程序层将被简化成应用程序层。

      五层架构结合OSI和TCP/IP结构的优点,用于计算机网络学习。

      HTTP和HTTPPS之间的区别是什么?

      1. 端口:HTTP的URL starts with "http://" and defaults to use port number 80, whileHTTP的URL starts with "https://" and defaults to use port 443。
      2. 安全和资源消耗:HTTP协议在TCP上运行,所有传送内容都明确说明,客户端和服务器都无法验证彼此的身份.HTTPS是一个在SSL/TLS(Security Socket Layer/Transmission Layer Security)上运行的HTTP协议。SSL/TLS在TCP上运行,所有传输都是加密的,加密采用对称加密,但对称加密密钥是不对称加密的,由服务器的证书加密,所以HTTP安全性不是HTTPPS高,但是HTTPPS比HTTP更昂贵的服务器资源。
      3. HTTP页面响应速度比HTTPPS更快,主要是因为HTTPPS使用TCP为三个握手建立连接,客户和服务器需要交换三个包,而HTTPPS则增加了9个包到TCP的3个包,总共12个包。

      Session和Cookie有什么区别?

      1. 存储位置:Cookie是客户端会议技术,数据存储在客户端上, Session是服务器端会议技术,数据存储在服务器端。
      2. 存储容量:Cookie一般<=4KB,Session无限制。
      3. 安全级别:Cookie不是安全的,所以其他人可以分析和欺骗本地存储的Cookie,并使用 Session来确保安全性。
      4. Cookie 支持跨域访问, Session 不支持跨域访问。

      HTTP和WebSocket连接和差异,WebSocket的情况如何?

      HTTP是一个无状态协议,每当一个对话完成时,服务器都不知道下一个客户端是谁,因此需要长时间的查询或长时间的连接才能实现实时通信,两者都会导致资源浪费。
      WebSocket是基于HTML5之后的TCP协议应用程序层的完全双重实时通信协议。客户和服务端可以互相传递信息,首先启动HTTP请求,手动建立TCP连接,HTTP请求头条存储WebSocket支持的版本编号信息等,所以握手之后,协议进行一个升级,转换为TCP协议进行通信.
      WebSocket可以用于聊天和即时消息。

      插座编程的主要步骤?

      1. 创建套接字;
      2. 客户端建立连接, 服务器绑定端口, 建立监视;
      3. 客户端写数据, 发送数据, 服务器接收数据, 读数据;
      4. 关闭连接。

      DHCP原则是什么?

      动态主机配置协议(英语:Dynamic Host Configuration Protocol,DHCP)是基于TCP/IP协议主机的动态配置和集中管理网络参数的协议。
      向网络主机分配IP地址;向网络主机提供与IP地址以外的网络参数。

      原则:当主机启动时,DHCP客户端向DHCP服务器发起请求,该请求根据预配置策略返回相应的IP配置信息,而DHCP客户端则通过获得的IP配置信息与其他设备进行通信。

      DNS域名系统?

      DNS域名系统用于实现将域名映射到IP地址的过程,称为域名分析。
      域名服务器分为四个类别:根域名服务器、顶级域名服务器(com、org、cn等),特权域名服务器(负责域名区域的域名服务器)和中间域名服务器。
      域名分析分为递归分析和迭代分析。
      DNS

      传输层中的TCP和UDP两个协议之间的区别?

      1. 连接:UDP不连接,不需要在发送数据之前创建连接,并且在发送数据后释放连接。 TCP面向连接,需要在发送数据之前三次握手,在发送数据后四个握手来释放连接。
      2. 传输:UDP竭尽全力提供,即不保证可靠的传输,并且主机不需要维护复杂的连接状态表。 TCP提供可靠的传输,即数据通过TCP连接传输,没有错误、丢失和重复,并按顺序到达。
      3. 数据:UDP是面向报告的,UDP向应用程序层报告,在添加第一个部分后,它被传递到IP层上,既不合并,也不拆分,一份完整的报告一次交付.TCP只读,虽然应用程序和TCP交互是一次数据块,但TCP将应用程序发送的数据视为一个不结构的字节流的字符串。TCP不保证接收应用程序接收的数据块和发送应用程序发送的数据块具有相应的大小关系,但接收器接收的是发送者应用程序发送的相同的字节流。
      4. 通信:UDP支持一对一、一对多人、多对一、多对多交互通信。 TCP连接是点对点,每个TCP连接只有两个端点。
      5. 拥塞:UDP没有拥塞控制,网络拥塞不会降低源主机的传输速度。 TCP由慢启动、避免拥塞、快速重传输、快速恢复等算法控制。
      6. 头条:UDP头条小,只有8个字符,第一个TCP长20个字符。

      什么是三振和四波?

      第一次握手:客户端向服务端口发送SYN消息,表明连接已启动到服务器,此消息不包含应用程序层数据(第一次握手确认客户端的发送能力和服务器的接收能力是正常)
      第二次握手:从服务器接收客户端SYN消息后,以SYN和ACK符号作为响应发送消息,指示它已收到客户的SYN。(第二个握手允许客户端确认服务器的接收和发送能力,客户端的接收和发送功能是正常)
      第三次握手:当客户端收到服务器侧消息后,并向服务器发送ACK来响应消息,收到服务器的ACK消息后,双方建立了联系。(第三个握手服务器可以确认客户端的接收和发送功能正常,服务器端的发送和接收功能也是正常,因此需要三次握手)
      三次握手
      要切断TCP连接,您需要振动四次:

      第一个波:客户端发送 FIN消息并停止再次发送数据,此时客户端进入终止等待1状态(只表示客户端不再发送数据,但仍能接收数据)
      第二波:服务器接收到这个Fin,会发送ACK报文,指示客户已收到消息,此时,服务器端进入关闭等待状态;客户端从服务器端收到确认,进入终止等待2状态,等待服务器释放连接。(回ACK以回应消息,(因为服务器可能也需要处理和发送数据)
      第三波:服务器关闭客户端的连接,向客户端发送FIN消息,此时服务器处于最后确认状态,等待客户端确认。 (服务器不再发送数据,向客户端发送FIN消息,表示同意关闭连接)
      第四波:客户端接收 FIN消息,发送ACK消息,服务器端接收消息,关闭连接,处于关闭状态,客户端通过2MSL(MSL,消息最大寿命)并自动进入关闭状态。
      四次挥手

      三个手能携带数据吗?

      第一手和第二手不能携带数据,第三手可以携带数据。
      原因在于如果你第一次握手可以携带数据,如果有人恶意攻击服务器,每次大量数据被直接插入SYN报告时,忽略服务器接收和发送功能是否正常,然后发送疯狂的SYN消息,所以服务器需要很长时间和大量的内存来接收这些信息,因此,第一手携带数据将使更容易攻击服务器。而第三次握手,客户端已经处于构建状态,所以可以携带数据。

      TCP如何确保可靠性?

      1. Sliding Window:应用程序数据被分成数据块 TCP认为适合发送;
      2.选择确认:在发送消息后等待确认;
      3. 加班 重新 传输 : 数据 将 未经 确认 重新 传输 。

      TCP的流量控制机制?

      流量控制是发送器发送数据的慢点,接收器接收数据。
      TCP使用一个可变大小滑动窗口机制来控制交通,而窗口大小是单位的字节。
      在通信过程中,接收机根据接收到的缓存大小动态调整发送者发送窗口大小(接收机在确认消息中设置发送者窗口字段通知),发送者发送窗口取出接收窗口和拥挤窗口的最小值。

      TCP拥塞控制?

      拥塞控制是指防止太多的数据被注入到网络,以防止网络中的路由器或链路过载。

      1. 慢启动:在开始时不要大量发送数据,但首先看看网络拥堵的程度,并逐渐增加拥堵窗口的大小,从小到大。
      2. 避免拥挤: 让拥挤窗口按照线性规则慢慢生长,而不是像在全面启动阶段那样倍增.
      3. 快速重发:发送者应立即重发未收到的邮件的一部分,在收到三次重发确认后,不要继续等待设置的重发时间表到期。
      4. 快速恢复:当发送者收到同一消息的三次重复确认(发送者认为网络可能不会拥挤 )时,它将实现乘数减少算法以减少慢启动阈值,但不会执行慢启动算法以避免拥挤。
        TCP拥塞窗口在拥塞控制时的变化情况

      开关和路由器有什么区别?

      1.工作层:开关主要工作于数据链层,路由器主要工作于网络层。
      2.传输基础:交换机的传输基础是MAC地址,路由器的传输基础是IP地址。
      3.功能:开关功能较简单,仅由主机连接到本地网络,路由器可以连接到本地网络,中国可以分割广播区域,并提供防火墙。

      ARP协议的作用和工作原则?

      ARP协议将IP地址转换为物理地址。
      工作原理:

      1. 每个主机将在自己的ARP缓冲器中创建一个ARP列表,以显示IP地址与MAC地址之间的相关关系。
      2. 当源主机发送数据时,首先检查 Host 的 MAC 地址是否与 ARP 列表中的 IP 地址匹配,如果有,则直接发送数据,如果没有,就像这节的所有数据一样,发送ARP数据包,该包的内容包括:源主机的IP地址,源主机的MAC地址,主机的客观IP地址。
      3. 当所有在这个网络上的主机接收ARP包时,首先检查包中的IP地址是否是你自己的IP地址,如果不是,则忽略该数据包,如果是,首先,从包中提取源主机的IP和MAC地址,并将其写入ARP列表。如果以及存在,则覆盖,然后将MAC地址写入ARP响应包中,告诉源主机自己想要找到的MAC地址。
      4. 在源主机收到ARP响应包后,将目标主机的IP和MAC地址写入ARP列表,并使用此信息发送数据。如果源主机没有收到ARP响应包,ARP查询失败。
        广播发送ARP请求,广播发送ARP响应。
        ARP表

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/29186.html

          热门文章

          文章分类