计算机网络 基础面试第一弹

这篇具有很好参考价值的文章主要介绍了计算机网络 基础面试第一弹。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. DNS解析过程

DNS解析(Domain Name System Resolution)是将域名转换为IP地址的过程。

以下是DNS解析的详细过程:

  1. 发起解析请求:当您在浏览器中输入一个域名时,您的操作系统会发起一个DNS解析请求。该请求被发送到您计算机上配置的本地DNS服务器,通常由您的互联网服务提供商(ISP)提供。

  2. 本地DNS缓存查找:本地DNS服务器首先会在自己的缓存中查找是否已经解析过该域名。如果找到了对应的记录并且记录没有过期,本地DNS服务器将直接返回结果,解析过程结束。

  3. 递归查询:如果在本地DNS缓存中找不到对应的记录,本地DNS服务器将发起一个递归查询。它会向根域名服务器发送请求,询问该域名的顶级域(例如.com、.net)的DNS服务器的地址。

  4. 根域名服务器响应:根域名服务器收到请求后,会返回顶级域的DNS服务器的地址给本地DNS服务器。

  5. 顶级域DNS服务器响应:本地DNS服务器接收到顶级域DNS服务器的地址后,会向顶级域DNS服务器发送请求,询问该域名的权威域名服务器的地址。

  6. 权威域名服务器响应:本地DNS服务器继续向权威域名服务器发送请求,询问域名的IP地址。

  7. 返回解析结果:权威域名服务器收到请求后,会返回域名对应的IP地址给本地DNS服务器。

  8. 本地DNS服务器缓存结果:本地DNS服务器在返回IP地址给操作系统之前,会将解析结果保存在缓存中,以便下次查询时能够快速响应。

   9. 返回IP地址:最后,本地DNS服务器将解析得到的IP地址返回给操作系统,操作系统再将其提供给浏览器或应用程序,以建立与目标服务器的连接。

2. 常用的网络协议

常用的网络协议主要包括以下几种:

  1. 应用层协议:

    • HTTP(HyperText Transfer Protocol):用于在客户端和服务器之间传输超文本的协议,常用于网页浏览、数据传输等。
    • FTP(File Transfer Protocol):用于在客户端和服务器之间进行文件传输的协议。
    • SMTP(Simple Mail Transfer Protocol):用于发送电子邮件的协议。
    • DNS(Domain Name System):用于将域名解析为对应的IP地址的协议。
    • DHCP(Dynamic Host Configuration Protocol):用于自动分配IP地址和其他网络配置信息给客户端设备的协议。
  2. 传输层协议:

    • TCP(Transmission Control Protocol):提供面向连接的可靠数据传输服务,确保数据的可靠性、完整性和顺序性。
    • UDP(User Datagram Protocol):提供无连接的不可靠数据传输服务,适用于对实时性要求较高的应用,如音频、视频等。
  3. 网络层协议:

    • IP(Internet Protocol):负责定义在网络中传输数据的格式和规则,实现数据包的路由和寻址。
    • ICMP(Internet Control Message Protocol):用于在IP网络中进行错误报告和网络状况探测的协议。
    • ARP(Address Resolution Protocol):用于将IP地址解析为对应的物理MAC地址的协议。
  4. 数据链路层协议:

    • Ethernet:一种常用的有线局域网(LAN)协议,用于在局域网上进行数据传输。
    • Wi-Fi(Wireless Fidelity):用于在无线局域网(WLAN)上进行数据传输的协议。

      PPP(Point-to-Point Protocol):用于在点对点连接中进行数据传输的协议,如拨号上网。

3. cookie ,session,token 区别

Cookie:

  • Cookie是在客户端(浏览器)存储少量数据的一种机制。
  • 由服务器发送给浏览器,并存储在浏览器的本地文件中。
  • 每次浏览器向服务器发送请求时,会自动携带相应的Cookie。
  • 主要用于跟踪用户会话、存储用户偏好设置等。
  • Cookie可以设置过期时间,可以是会话级别的(浏览器关闭即失效)或具有持久性(在一段时间内有效)。

Session:

  • Session是在服务器端存储用户状态的一种机制。
  • 服务器为每个会话(用户访问)创建一个唯一的Session ID。
  • Session ID 通常以Cookie的形式发送给浏览器。
  • 浏览器每次请求时,会携带Session ID,服务器通过Session ID 来识别用户。
  • 服务器上的Session数据可以存储在内存中,数据库中或其他持久化的存储介质中。
  • 通常用于存储用户的登录状态、购物车信息等敏感数据。
  • Session会在一段时间内保持活动状态,超过一定时间的不活动会话会被服务器终止。

Token:

  • Token是一种代表用户身份认证信息的令牌。
  • 通常是一个长字符串,由服务器生成并发送给客户端。
  • 客户端在每次请求时将Token放在请求头或请求参数中发送给服务器。
  • 服务器通过验证Token的有效性来确定用户的身份和权限。
  • Token可以存储在客户端的本地存储(如LocalStorage、SessionStorage)中,也可以存储在Cookie中。
  • 由于Token自包含了用户信息和认证状态,服务器不需要维护会话状态,使得系统更容易扩展和分布。

4. TCP 保证可靠传输的手段有哪些

    1. 序列号和确认机制:
      TCP将数据分割成多个小的数据段,并为每个数据段分配一个序列号。接收方通过发送确认(ACK)消息来告知发送方已经成功接收到数据段,并确认下一个期望接收的数据段序列号。如果发送方在一段时间内未收到确认消息,会重新发送相应的数据段,以确保数据的可靠传输。

    2. 数据段的超时重传:
      当发送方发送数据段后,会启动一个定时器。如果在一定时间内未收到接收方的确认消息,发送方会重新发送该数据段。这种超时重传机制确保了即使数据段在传输过程中丢失或损坏,发送方仍会持续尝试发送,直到接收到确认消息。

    3. 流量控制:
      TCP使用滑动窗口机制来进行流量控制。每个数据段都有一个与之关联的接收窗口大小,在发送数据时,发送方会根据接收方的接收窗口大小来控制发送速率,避免发送过多的数据导致接收方无法处理。接收方可以通过调整接收窗口大小来控制发送方的发送速率,以适应自己的处理能力。

    4. 拥塞控制:
      TCP使用拥塞控制算法来避免网络拥塞。通过监控网络的拥塞情况,TCP会动态调整发送方的发送速率,以避免过多的数据拥塞网络,导致丢包和延迟。拥塞控制算法包括慢启动、拥塞避免和快速重传等,通过这些算法,TCP可以在网络拥塞时降低发送速率,并在网络状况好转时逐渐增加发送速率。

      5. 数据校验和错误检测:
        TCP在每个数据段中使用校验和字段,接收方在接收到数据段后会计算校验和,如果校验和与发送方发送的值不一致,说明数据段在传输过程中发生了错误,接收方会丢弃该                                     数据段并要求发送方进行重传。

5. TCP 拥塞控制有那4种方法

    1. 慢启动(Slow Start):
      慢启动是TCP连接刚开始发送数据时的一种机制。发送方在开始时将拥塞窗口(Congestion Window)设置为一个较小的值,然后随着时间的推移逐渐增加拥塞窗口的大小。具体来说,每当发送方成功收到一个确认消息(ACK),拥塞窗口大小就会加倍,这样发送方的发送速率就会逐渐增加。慢启动能够在连接刚开始时逐渐探测网络的容量,并且在网络拥塞之前适当地增加发送速率。

    2. 拥塞避免(Congestion Avoidance):
      拥塞避免是TCP在慢启动阶段之后采取的一种拥塞控制方法。一旦拥塞窗口达到一个阈值(通常是慢启动阶段的一半),发送方就会以线性方式增加拥塞窗口的大小,而不是指数增加。这样做是为了避免突然发送大量数据导致网络拥塞。拥塞避免通过逐渐增加发送速率来维持网络的稳定性。

    3. 快速重传(Fast Retransmit):
      快速重传是一种TCP拥塞控制的机制,用于快速重新发送丢失的数据段。当发送方连续接收到三个相同的确认消息(ACK),即收到了重复的ACK,就会认为某个数据段丢失并立即进行重传,而无需等待超时计时器的触发。这样可以更快地恢复丢失的数据段,提高传输的效率。

      4. 快速恢复(Fast Recovery):
       快速恢复是与快速重传相关的一种机制。当发送方进行快速重传时,它将把拥塞窗口减半,然后继续进行拥塞避免。但是,与完全进入慢启动阶段不同,快速恢复允许发送方继                       续以线性方式增加拥塞窗口的大小,而不是重新开始慢启动。这样可以更快地恢复发送速率,以避免网络拥塞。

6. TCP/UDP 协议的区别

  1. 连接导向 vs 无连接:
    TCP是一种面向连接的协议,它在通信之前需要先建立连接,然后进行可靠的数据传输,最后再释放连接。UDP是一种无连接的协议,通信双方之间不需要建立连接,可以直接发送数据包。TCP提供了可靠的数据传输,确保数据的完整性和顺序性,而UDP则更加轻量级,没有连接的建立和断开过程,适用于实时性要求较高的应用场景。

  2. 可靠性 vs 实时性:
    TCP通过序列号、确认机制、重传机制等手段实现可靠传输,确保数据的完整性和可靠性。它会自动处理丢失的数据包、重复的数据包和乱序的数据包,确保数据按正确的顺序到达。UDP不提供可靠传输机制,传输的数据包可能会丢失、重复或者乱序,不保证数据的可靠性。但正因为如此,UDP具有更低的延迟和更高的实时性,适用于对实时性要求较高、对数据完整性要求较低的应用,如实时音视频流传输、在线游戏等。

  3. 流式传输 vs 面向数据报:
    TCP提供的是面向流的传输,应用程序向TCP发送连续的数据流,TCP将其分割成合适的数据块进行传输。TCP保证数据的顺序和完整性,但是无法保证数据包的边界,因此接收方收到的数据是按照顺序组装后的连续数据流。UDP则是面向数据报的传输,应用程序将数据划分为数据报(Datagram)并发送,每个数据报是独立的实体,具有自己的边界。接收方收到的数据报与发送方发送的数据报一一对应,不会发生数据包的合并或拆分。

  4. 拥塞控制:
    TCP具有拥塞控制机制,通过慢启动、拥塞避免、快速重传和快速恢复等算法来避免网络拥塞和保持网络的稳定性。它会根据网络的拥塞状况动态调整发送速率。UDP没有内置的拥塞控制机制,它将所有数据包都发送出去,无论网络状况如何。这意味着在网络拥塞时,UDP可能会导致丢包和延迟增加。

综上所述,TCP提供可靠的、有序的、面向连接的数据传输,适用于对数据完整性要求较高的应用,如文件传输、网页浏览等。UDP提供无连接的、不可靠的、实时性较高的数据传输,适用于对实时性要求较高、对数据完整性要求较低的应用,如音视频传输、实时游戏等

 文章来源地址https://www.toymoban.com/news/detail-709847.html

到了这里,关于计算机网络 基础面试第一弹的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【计算机网络原理】第一章:计算机网络概述

    1、计算机网络的诞生 从技术范畴来看,计算机网络是计算机技术与通信技术相互融合的产物。 2、计算机网络的定义 计算机网络是互连的、自治的计算机的集合 1)自治: 互连的计算机系统彼此独立,不存在主从或者控制与被控制的关系。 2)互连: 利用通信链路连接相互独立

    2024年04月08日
    浏览(48)
  • 计算机网络-笔记-第一章-计算机网络概述

    一、第一章——计算机网络概述 二、第二章——物理层 三、第三章——数据链路层 四、第四章——网络层 五、第五章——运输层 六、第六章——应用层 目录 一、第一章——计算机网络概述 1、因特网概述 (1)网络、互联网、因特网 (2)因特网发展的三个阶段 (3)因特

    2024年02月11日
    浏览(49)
  • 【计算机网络】第一章、计算机网络体系结构

    1.计算机网络的组成 从不同的角度来看 内容 从组成上看 硬件、软件、协议 从工作方式上岸 边缘部分、核心部分 从功能上看 通信子网、资源子网 2.计算机网络的分类 角度 内容 分布范围 广域网、城域网、局域网、个域网 传输技术 广播式网络、点对点网络 拓扑结构 总线型

    2024年02月07日
    浏览(51)
  • 2023届计算机保研面试基础专业问题(数据结构、算法、计算机语言、计算机网络、数据库、操作系统、数学)

    以下的专业相关基础问题,是在2022年暑期准备面试过程中,断断续续准备的,最终上岸厦大啦,也希望这些内容对后面准备保研的学弟学妹们有帮助。少即是多、快即是慢,希望大家也不必太焦虑,慢慢来比较快! 堆、栈、队列、链表等数据结构 树:红黑树、二叉树的各类

    2024年02月15日
    浏览(56)
  • 计算机网络重点概念整理-第一章 计算机网络概述【期末复习|考研复习】

    计算机网络复习系列文章传送门: 第一章 计算机网络概述 第二章 物理层 第三章 数据链路层 第四章 网络层 第五章 传输层 第六章 应用层 第七章 网络安全 计算机网络整理-简称缩写 给大家整理了一下计算机网络中的重点概念,以供大家期末复习和考研复习的时候使用。 参

    2024年02月07日
    浏览(57)
  • 计算机网络 - 第一章(上)

    1.1.1概念与功能 网络的概念 网络:网样的东西或者网状系统 计算机网络:将分散的具有独立功能的 计算机系统 ,通过 通信设备 与 线路 连接起来,由功能完善的 软件 实现 资源共享 和 信息传递 的系统 功能: 数据通信 资源共享 :同一个计算机网络上的其他计算机可使用

    2024年02月11日
    浏览(49)
  • 【计算机网络】第一章 概述

    目录 1.1 计算机网络在信息时代中的作用 1.2 互联网概述 1.2.1  网络的网络 1.2.2  互联网基础结构发展的三个阶段 1.2.3  互联网的标准化工作 1.3 互联网的组成 1.3.1  互联网的边缘部分 a. 客户-服务器方式(C/S 方式) b. 对等连接方式(P2P 方式) 1.3.2  互联网的核心部分 a. 电路

    2024年03月22日
    浏览(54)
  • 【计算机网络】第一章——概述

    ========================================================================= 个人主页直达: 小白不是程序媛 系列专栏: 计算机网络基础 ========================================================================= 目录 前言 计算机网络概述 概念 功能 组成 分类 标准化工作 性能指标 速率 带宽 吞吐量 时延 时延带

    2024年02月07日
    浏览(52)
  • 计算机网络(第一章)——概述

    1 网络、互连网(互联网)和因特网 网络(Network)由若干 结点(Node) 和连接这些结点的 链路(Link) 组成。 多个网络还可以通过路由器互连起来,这样就构成了一个覆盖范围更大的网络,即互联网(或互连网因此,互联网是“ 网络的网络(Netwrok of Networks) \\\"。 因特网(Internet)是世界上最

    2024年02月04日
    浏览(40)
  • 【计算机网络笔记】第一章

    计算机网络主要是由一些通用的、 可编程的硬件 (包含CPU、计算机、手机、智能电器…)互连而成的,而这些硬件并非专门用来实现某一特定目的(例如,传送数据或视频信号)。这些可编程的硬件能够用来传送多种不同类型的数据,并能支持广泛的和日益增长的应用。(

    2024年02月14日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包