1、OSI七层、TCP/IP四层的关系和区别
1、OSI七层从下往上依次是:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层
2、TCP四次从下往上依次是:网络接口层、网络层、传输层、应用层
特点:应用层协议:HTTP、FTP、SMTP、POP3传输层协议:TCP、UDP网络处协议:IP/IPv6网络接口层协议:ARP地址解析协议层与层之间相互独立又相互依靠上层依赖于下层、下层为上层提供服务
TCP/IP四层模型是 OSI 七层的简化版,成为国际标准
2、TCP 与 UDP 的区别
UDP TCP
是否连接 无连接 面向连接
是否可靠 不可靠传输、不使用流量控制和拥塞控制 可靠传输、使用流量控制和拥塞控制
连接对象个数 支持一对一,一对多,多对一和多对多交互通信 只能是一对一通信
传输方式 面向报文 面向字节流
首部开销 首部开销小,仅 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引入了 慢启动机制,在开始发送数据的时候,先发少量的数据探探路
4、TCP协议如何提高传输效率
1、滑动窗口该机制允许发送在停止并等待确认前连续发送多个分组,而不必每发送一个分组就停下来等待确认,从而增加数据传输的速率,提高应用的吞吐量。已发送并且已经确认的包。已发送但是没有确认的包。未发送但是可以发送的包。不允许被发送的包。滑动窗口协议的基本工作流程就是由接收方通告窗口的大小。
2、快重传(高速重发控制)如果出现了丢包,需要进行重传。一般分为两种情况情况一:数据包已经抵达,ACK被丢了。这种情况下,部分ACK丢了并不影响,因为可以通过后续的ACK进行确认情况二: 数据包直接丢了。发送端会连续收到多个相同的ACK确认,发送端立即将对应丢失的数据重传
3、延迟应答如果接受数据的主机立刻返回ACK应答,这时候返回的窗口大小可能比较小。假设接收端缓冲区为1M,一次收到了512K的数据;如果立刻应答,返回的窗口就是512K;但实际上可能处理端处理速度很快,10ms之内就把512K的数据从缓存区消费掉了;在这种情况下,接收端处理还远没有达到自己的极限,即使窗口再放大一些,也能处理过来;如果接收端稍微等一会在应答,比如等待200ms再应答,那么这个时候返回的窗口大小就是1M;窗口越大,网络吞吐量就越大,传输效率就越高;我们的目标是在保证网络不拥塞的情况下尽量提高传输效率。
4、捎带应答在延迟应答的基础上,很多情况下,客户端服务器在应用层也是一发一收的。这时候常常采用捎带应答的方式来提高效率,而ACK响应常常伴随着数据报文共同传输。如:三次握手。
5、TCP如何处理拥塞
网络拥塞现象是指到达通信网络中某一部分的分组数据量过多,使得该部分网络来不及处理,以致引起这部分乃至整个网络性能下降的现象,验证时甚至会导致网络通信业务陷入停顿,即出现死锁现象。拥塞控制是处理网络拥塞现象的一种机制。1、慢启动2、拥塞避免3、快速重传4、快速恢复
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之间。
7、http1.1和http2有什么区别
1、http1.1持久连接请求管道化增加缓存处理(新的字段如cache-control)增加Host字段、支持断点传输
2、http2.0二进制分帧多路复用(连接共享)头部压缩服务器推送
8、HTTP和HTTPS的区别
1、HTTPS协议需要到 CA 申请证书,需要一定费用
2、HTTP 是超文本传输协议,信息是明文传输
3、HTTPS 则是具有安全性的 SSL 加密传输协议
4、HTTP 和 HTTPS使用的是完全不同的连接方式,用的端口不一样,HTTP:80 HTTPS:443
5、HTTP 的连接很简单,是无状态的,HTTPS 协议是由 SSL + HTTP 协议构建的可进行加密传输、身份认证的网络协议,更安全
9、对称加密和非对称加密的区别和原理
1、对称加密:加密和解密使用用一个密钥的方式,这种方式存在的最大问题就是密钥发送问题,即如何安全地将密钥发给对方
2、非对称加密:即公钥和私钥,公钥可以随意发布,但私钥只有自己知道,发送密文的一方使用对方的公钥进行加密处理,对方接受到加密信息后,使用自己的私钥进行解密。
3、非对称加密可以保证安全性,但是速度比较慢,我们可以通过对称加密传送消息,对称加密的密钥通过非对称加密方式发送出去
10、常见的状态码有哪些
1××:请求处理中,请求已被接受,正在处理
2××:请求成功,请求被成功处理 200 OK
3××:重定向,要完成请求必须进行进一步处理 301:永久性转移 302 :暂时性转移 304:已缓存
4××:客户端错误,请求不合法 400:Bad Request,请求有语法问题 403 :拒绝请求 404 :客户端所访问的页面不存在
5××:服务端错误,服务器不能处理合法请求 500:服务器内部错误 503 服务不可用
11、GET与POST的区别
1、GET 一般用来从服务器上获取资源,POST一般用来创建资源
2、POST 安全性更高,因为GET请求提交的数据将敏文出现在URL上,而POST请求参数则被包装在请求体中,相对更安全
3、GET请求的长度受限于浏览器或服务器对 URL长度的限制,允许发送的数据量比较小,而POST请求则是没有大小限制
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主机
13、在浏览器输入一个 baidu.com 后执行的全过程
1、域名解析 -> 建立TCP连接(三次握手) -> 发起 http 请求 -> 服务器响应 http 请求,浏览器得到html代码 -> 浏览器解析 html代码,并请求html代码中的资源(如js、css、图片等) -> 浏览器对页面进行渲染呈现给用户
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
15、有哪些web性能优化技术
1、DNS查询优化
2、客户端缓存
3、优化TCP连接
4、避免重定向
5、网络边缘的缓存
6、条件缓存
7、压缩和代码极简化
8、图片优化

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

计算机网络 —— 面试八股文相关推荐

  1. 三天吃透计算机网络面试八股文

    本文已经收录到Github仓库,该仓库包含计算机基础.Java基础.多线程.JVM.数据库.Redis.Spring.Mybatis.SpringMVC.SpringBoot.分布式.微服务.设计模式 ...

  2. 2021秋招Java面试八股文让629人成功进入大厂,堪称2021最强

    前言 2021秋招即将来临,很多同学会问Java面试八股文有必要背吗? 我的回答是:很有必要.你可以讨厌这种模式,但你一定要去背,因为不背你就进不了大厂. 国内的互联网面试,恐怕是现存的.最接近科举考 ...

  3. 后端面试八股文骚套路之Java基础

    一年一度的秋招大戏又快拉开序幕了,近年来后端岗位越来越卷,毕业生的压力也越来越大.个人感觉目前各个大中厂校招面试不好的地方是,都在朝着背面试八股文的方向发展(曾经面试某二线厂,对着面试官纯背了 40 ...

  4. 【面试】前端面试八股文

    一.JS 1.使用 (1)标签引用 <script>alert("Hello,World!");</script> (2)文件引用 <script s ...

  5. 现在人手必备Java面试八股文,从起跑线开始冲刺

    前言 2022秋招即将来临,很多同学会问Java面试八股文有必要背吗? 我的回答是:很有必要.你可以讨厌这种模式,但你一定要去背,因为不背你就进不了大厂. 国内的互联网面试,恐怕是现存的.最接近科举考 ...

  6. 这份Java面试八股文让329人成功进入大厂,堪称2022最强

    前言 2022秋招即将来临,很多同学会问Java面试八股文有必要背吗? 我的回答是:很有必要.你可以讨厌这种模式,但你一定要去背,因为不背你就进不了大厂. 国内的互联网面试,恐怕是现存的.最接近科举考 ...

  7. Github获星99k的Java面试八股文,最全秋招面试攻略

    Github获星99k的Java面试八股文,最全秋招面试攻略 2020年我凭借一份<Java面试核心知识点>成功拿下了阿里.字节.小米等大厂的offer,两年的时间,为了完成我给自己立的f ...

  8. 计算机网络的八股文自述(持续更新)

    计算机网络的八股文自述 1.1.三次握手和四次挥手过程,以及为什么需要三次握手,两次不行吗?为什么需要四次挥手呢?为什么需要等待 2MSL ,客户端才会处于关闭状态呢? 三次握手的过程: 首先由客户端 ...

  9. Java~大厂面试八股文~强烈推荐视频

    Java面试~八股文 1. 集合类-设计模式-并发-虚拟机-框架(黑马程序员) 2. 高并发架构(高并发高可用)-消息队列-缓存 3. 图灵学院的<Java 常见面试题详解系列> 4. 享 ...

最新文章

  1. Handler的postDelayed()关闭的方法
  2. linux跟踪线程的方法:LWP和strace命令
  3. 盛大 Everbox同步网盘,可以本地和云服务文件同步,还不错,推荐下面的注册地址...
  4. mysql binlog 二进制_二进制日志-mysqlbinlog工具的使用
  5. python声明_【瞎折腾-03】在Python里面写类型“声明”
  6. mysql差异备份实现_结合Git实现Mysql差异备份,可用于生产环境
  7. cassandra可视化工具_一位数据科学家的私房工具清单
  8. Spring Cloud源码分析(一)Eureka
  9. Mac系统下 安装并使用DOSBox编写汇编语言
  10. Project(9)——收货地址 -查看列表
  11. 现在买基金的人很多,我用Python写了个快速追踪基金的收益情况!所以说没有它做不了的事!
  12. 15微型计算机系统不包括,全国2002年10月自学考试计算机应用基础真题
  13. 常见微商升级、返利制度设计详解
  14. 嵌入式软件算法之卡尔曼滤波基本原理浅析
  15. 3D游戏建模:胜似美杜莎的超细节刻画—《大海的精灵》| 模型欣赏
  16. AMBER:对单个复合物进行分子动力学模拟的python包(resp计算电荷及gpu加速版本)
  17. 移动医疗应用遍地开花,却抓不住用户的核心需求
  18. Android如何播放h.264格式视频
  19. 智慧楼宇篇 3 —— 室内定位技术(三) - UWB室内定位技术
  20. ElasticSearch 是什么?

热门文章

  1. phpstudy系列
  2. Excel数据库中FullJion功能的实现
  3. 神秘魔术动作能量冲击波特效音效Arcane Forces第一套 MAGIC - ARCANE FORCES DESIGNED
  4. TIM_OCMode_PWM2;TIM_OCMode_PWM1
  5. openssl安装方式(Ubuntu下)
  6. 后疫情时代美业系统saas解决线下实体美容院美甲店的困境
  7. 如何实现机房集中监控管理,提高运维效率?
  8. C# Dictionary 获取键值对 KeyValuePair
  9. Nginx 轻松解决跨域问题
  10. 20张图看全BAT的组织架构发展史