当前位置:   article > 正文

计算机网络 —— 面试八股文_计算机八股文面试题

计算机八股文面试题
1、OSI七层、TCP/IP四层的关系和区别
1、OSI七层从下往上依次是:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层
2、TCP四次从下往上依次是:网络接口层、网络层、传输层、应用层
特点:
    应用层协议:HTTP、FTP、SMTP、POP3
    传输层协议:TCP、UDP
    网络处协议:IP/IPv6
    网络接口层协议:ARP地址解析协议
    层与层之间相互独立又相互依靠
    上层依赖于下层、下层为上层提供服务
TCP/IP四层模型是 OSI 七层的简化版,成为国际标准
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
2、TCP 与 UDP 的区别

UDPTCP
是否连接无连接面向连接
是否可靠不可靠传输、不使用流量控制和拥塞控制可靠传输、使用流量控制和拥塞控制
连接对象个数支持一对一,一对多,多对一和多对多交互通信只能是一对一通信
传输方式面向报文面向字节流
首部开销首部开销小,仅 8 字节首部最小 20 字节,最大 60 字节
使用场景适用于实时应用(IP电话、视频会议、直播)适用于要求可靠传输的应用,例如文件传输
3、TCP 是如何实现数据的可靠性
1、校验和
    数据传输时,将数据段都当做一个 16 位的整数,将这些整数加起来,并且前面的进位不能丢弃,补在后面,然后取反,得到校验和
2、序列号
    TCP传输时,将每个字节的数据都进行了编号,这就是序列号。序列号的作用不仅仅是应答作用,有了序列号能够将接收到的数据根据序列号进行排序,并且去掉重复的数据
3、确认应答
    TCP传输过程中,每次接收方接收到数据后,都会对传输方进行确认应答,也就是发送ACK报文,这个ACK报文中带有对应的确认序列号,告诉发送方,接受了哪些数据,下一次数据从哪里传
4、超时重传
    在进行TCP传输时,由于存在确认应答与序列号机制,也就是说发送方发送一部分数据后,都会等待接收方发送的ACK报文,并解析ACK报文,判断数据是否传输成功。如果发送方发送完数据后,迟迟都没有节后到接收方传来的ACK报文,那么就对刚刚发送的数据进行重发。
5、连接管理
    就是指 三次握手、四次挥手的过程
6、流量控制
    如果发送方的发送数据太快,会导致接收方的接收缓冲区填满了,这时候继续传输数据,就会造成大量的丢包,进而引起丢包重传等等一系列问题,TCP支持根据接收端的处理能留来决定发送端的发送速度,这就是流量控制机制
7、拥塞控制
    TCP传输过程中一开始就发送大量数据,如果当时网络非常拥堵,可能会造成拥堵加剧。所以TCP引入了 慢启动机制,在开始发送数据的时候,先发少量的数据探探路
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
4、TCP协议如何提高传输效率
1、滑动窗口
    该机制允许发送在停止并等待确认前连续发送多个分组,而不必每发送一个分组就停下来等待确认,从而增加数据传输的速率,提高应用的吞吐量。已发送并且已经确认的包。已发送但是没有确认的包。未发送但是可以发送的包。不允许被发送的包。滑动窗口协议的基本工作流程就是由接收方通告窗口的大小。
2、快重传(高速重发控制)
    如果出现了丢包,需要进行重传。一般分为两种情况
    情况一:数据包已经抵达,ACK被丢了。这种情况下,部分ACK丢了并不影响,因为可以通过后续的ACK进行确认
    情况二: 数据包直接丢了。发送端会连续收到多个相同的ACK确认,发送端立即将对应丢失的数据重传
3、延迟应答
    如果接受数据的主机立刻返回ACK应答,这时候返回的窗口大小可能比较小。
    假设接收端缓冲区为1M,一次收到了512K的数据;如果立刻应答,返回的窗口就是512K;
    但实际上可能处理端处理速度很快,10ms之内就把512K的数据从缓存区消费掉了;
    在这种情况下,接收端处理还远没有达到自己的极限,即使窗口再放大一些,也能处理过来;
    如果接收端稍微等一会在应答,比如等待200ms再应答,那么这个时候返回的窗口大小就是1M;
    窗口越大,网络吞吐量就越大,传输效率就越高;我们的目标是在保证网络不拥塞的情况下尽量提高传输效率。
4、捎带应答
    在延迟应答的基础上,很多情况下,客户端服务器在应用层也是一发一收的。这时候常常采用捎带应答的方式来提高效率,而ACK响应常常伴随着数据报文共同传输。如:三次握手。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
5、TCP如何处理拥塞
网络拥塞现象是指到达通信网络中某一部分的分组数据量过多,使得该部分网络来不及处理,以致引起这部分乃至整个网络性能下降的现象,验证时甚至会导致网络通信业务陷入停顿,即出现死锁现象。
    拥塞控制是处理网络拥塞现象的一种机制。
    1、慢启动
    2、拥塞避免
    3、快速重传
    4、快速恢复
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
6、IP地址是怎样分类的
1、IP的基本特点
    · ip地址由四段组成,每个字段是一个字节,8位,最大值是 255
 	· ip地址由两部分组成,即网络地址和主机地址。网络地址表示其属于互联网的哪一个网络,主机地址表示其属于该网络中的哪一台主机。
2、A、B、C 三类 和 D、E这五类
    A类:(1.0.0.0-126.0.0.0)一般用于大型网络。   主机号 占 24位
    B类:(128.0.0.0-191.255.0.0)一般用于中等规模网络。 主机号 占 16位
    C类:(192.0.0.0-223.255.255.0)一般用于小型网络。	主机号 占 8位
    D类:是多播地址,地址的网络号取值于224~239之间,一般用于多路广播用户。
    E类:是保留地址。地址的网络号取值于240~255之间。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
7、http1.1和http2有什么区别
1、http1.1
    持久连接
    请求管道化
    增加缓存处理(新的字段如cache-control)
    增加Host字段、支持断点传输
2、http2.0
    二进制分帧
    多路复用(连接共享)
    头部压缩
    服务器推送
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
8、HTTP和HTTPS的区别
1、HTTPS协议需要到 CA 申请证书,需要一定费用
2、HTTP 是超文本传输协议,信息是明文传输
3、HTTPS 则是具有安全性的 SSL 加密传输协议
4、HTTP 和 HTTPS使用的是完全不同的连接方式,用的端口不一样,HTTP:80 HTTPS:443
5、HTTP 的连接很简单,是无状态的,HTTPS 协议是由 SSL + HTTP 协议构建的可进行加密传输、身份认证的网络协议,更安全
  • 1
  • 2
  • 3
  • 4
  • 5
9、对称加密和非对称加密的区别和原理
1、对称加密:
	加密和解密使用用一个密钥的方式,这种方式存在的最大问题就是密钥发送问题,即如何安全地将密钥发给对方
2、非对称加密:
    即公钥和私钥,公钥可以随意发布,但私钥只有自己知道,发送密文的一方使用对方的公钥进行加密处理,对方接受到加密信息后,使用自己的私钥进行解密。
3、非对称加密可以保证安全性,但是速度比较慢,我们可以通过对称加密传送消息,对称加密的密钥通过非对称加密方式发送出去
  • 1
  • 2
  • 3
  • 4
  • 5
10、常见的状态码有哪些
1××:请求处理中,请求已被接受,正在处理
2××:请求成功,请求被成功处理 200 OK
3××:重定向,要完成请求必须进行进一步处理 301:永久性转移 302 :暂时性转移 304:已缓存
4××:客户端错误,请求不合法 400:Bad Request,请求有语法问题 403 :拒绝请求 404 :客户端所访问的页面不存在
5××:服务端错误,服务器不能处理合法请求 500:服务器内部错误 503 服务不可用
  • 1
  • 2
  • 3
  • 4
  • 5
11、GET与POST的区别
1、GET 一般用来从服务器上获取资源,POST一般用来创建资源
2、POST 安全性更高,因为GET请求提交的数据将敏文出现在URL上,而POST请求参数则被包装在请求体中,相对更安全
3、GET请求的长度受限于浏览器或服务器对 URL长度的限制,允许发送的数据量比较小,而POST请求则是没有大小限制
  • 1
  • 2
  • 3
12、DNS的寻址过程
1、在浏览器中输入 www.baidu.com 域名,操作系统会先检查自己本地的hosts文件是否有这个网址映射关系,如果有就先调用这个 IP 地址映射,完成域名解析
2、如果hosts里没有这个域名的映射,则查找本地 DNS 解析器缓存,是否有这个网址映射关系,如果有直接返回,完成域名解析
3、如果hosts与本地 DNS 解析器缓存都没有相应的网址映射关系,首先会找 TCP/IP 参数中设置的 首选 DNS 服务器,在此我们叫它本地DNS服务器,此服务器收到查询时,如果要查询的域名包含在本地配置区域资源中,则返回解析结果给客户机,完成域名解析,此解析具有权威性。
4、如果要查询的域名,不由本地 DNS 服务器区域解析,但该服务器已缓存了此网站映射关系,则调用这个IP地址映射,完成域名解析,次解析不具有权威性。
5、如果本地DNS服务器本地区域文件与缓存解析都失效,则根据本地DNS服务器的设置(是否设置转发器)进行查询,如果未用转发模式,本地DNS就把请求发送至 13 台根DNS,根DNS服务器收到请求后会判断这个域名(.com)是谁来授权管理,并返回一个负责该顶级域名服务器的一个ip,本地DNS服务器收到IP信息后,将会联系负责.com域的这台服务器。这台服务器收到请求后,如果自己无法解析,他就会找一个管理.com域的下一级DNS服务器地址(baidu.com)给本地DNS服务器,当本地DNS服务器收到这个地址后,就会找baidu.com域服务器,重复上面的动作,进行查询,直至找到baidu.com主机
  • 1
  • 2
  • 3
  • 4
  • 5
13、在浏览器输入一个 baidu.com 后执行的全过程
1、域名解析 -> 建立TCP连接(三次握手) -> 发起 http 请求 -> 服务器响应 http 请求,浏览器得到html代码 -> 浏览器解析 html代码,并请求html代码中的资源(如js、css、图片等) -> 浏览器对页面进行渲染呈现给用户
  • 1
14、Session、Cookie是什么、区别
由于HTTP协议是无状态的协议,所以服务端需要记录用户的状态时,就需要用某种机制来识具体的用户,这个机制就是Session.
思考一下服务端如何识别特定的客户?这个时候Cookie就登场了。每次HTTP请求的时候,客户端都会发送相应的Cookie信息到服务端。
1、session 在服务器端,cookie在客户端(浏览器)
2、session 默认被存储在服务器的一个文件里(不是内容)
3、session 的运行依赖 session id,而 session id 是存在cookie 中的,也就是说,如果浏览器禁用了 cookie ,同时 session 也会失效(但是可以通过其他方式实现,比如在url中传递session id)
4、session 可以放在文件、数据库、或内存中都可以
5、用于验证这种场合一般会用 session
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
15、有哪些web性能优化技术
1、DNS查询优化
2、客户端缓存
3、优化TCP连接
4、避免重定向
5、网络边缘的缓存
6、条件缓存
7、压缩和代码极简化
8、图片优化
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

整理不易 你的点赞、关注是对我莫大的鼓励

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/461851
推荐阅读
相关标签
  

闽ICP备14008679号