计算机网络常见面试题及答案2022年5月

冬枭 冬枭     2023-02-02     408

关键词:

------------恢复内容开始------------

1.OSI、TCP/IP、五层协议的体系结构、以及各层协议作用

OSI分层 (7层):物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。
TCP/IP分层(4层):网络接口层、 网际层、运输层、 应用层。
五层协议 (5层):物理层、数据链路层、网络层、运输层、 应用层。
每一层的协议如下:
物理层:RJ45、CLOCK、IEEE802.3(中继器、集线器)
数据链路:PPP、FR、HDLC、VLAN、MAC (网桥,交换机)
网络层:IP、ICMP、ARP、RARP、OSPF、IPX、RIP、IGRP、 (路由器)
传输层:TCP、UDP、SPX
会话层:NFS、SQL、NETBIOS、RPC
表示层:JPEG、MPEG、ASII
应用层:FTP、DNS、HTTP、SMTP、WWW、NFS、Telent
每一层的作用如下:
物理层:通过媒介传输比特,确定机械及电气规范(比特Bit)
数据链路层:将比特组装成帧和点到点的传递(帧Frame)
网络层:负责数据包从源到宿的传递和网际互连(包PackeT)
传输层:提供端到端的可靠报文传递和错误恢复(段Segment)
会话层:建立、管理和终止会话(会话协议数据单元SPDU)
表示层:对数据进行翻译、加密和压缩(表示协议数据单元PPDU)
应用层:允许访问OSI环境的手段(应用协议数据单元APDU)

2.为什么不是二次握手,而是三次?

因为网络可能存在延时,当客户端发送的报文因为延迟而到某个时间段才接收到,此时服务器会误认为客户端发送的是一个新的请求报文

,于是会向客户端发送确认报文,此时就会建立连接,而客户端不会理睬服务器的请求,这样服务器就会白白的

一直在等待,浪费资源。

 

 

3.滑动窗口,流量控制,拥塞机制

1.滑动窗口协议:1. “窗口”对应的是一段可以被发送者发送的字节序列,其连续的范围称之为“窗口”;2. “滑动”则是指这段“允许发送的范围”是可以随着发送的过程而变化的,方式就是按顺序“滑动”。

2.流量控制,主要是接收方传递信息给发送方,使其不要发送数据太快,是一种端到端的控制。主要的方式就是返回的ACK中会包含自己的接收窗口的大小,并且利用大小来控制发送方的数据发送。

拥塞避免算法:

拥塞控制:就是防止过多的数据注入到网络中,这样可以使网络中的路由器或链路不致过载。常用的方法就是:(1)慢开始、拥塞控制(2)快重传、快恢复。

拥塞避免算法就是:每经过一个往返时间RTT就把发送方的拥塞窗口+1,即让拥塞窗口缓慢地增大,按照线性规律增长;当出现网络拥塞,比如丢包时,将慢开始门限设为原先的一半,然后将cwnd设为1,执行慢启动算法(较低的起点,指数级增长);
  慢启动门限就是说,当拥塞窗口超过门限时,就使用拥塞避免算法,而在门限以内就采用慢启动算法。通常拥塞窗口记做cwnd,慢启动门限记做ssthresh。
  慢开始和拥塞控制算法常常作为一个整体使用,而快重传和快恢复则是为了减少因为拥塞导致的数据包丢失带来的重传时间,从而避免传递无用的数据到网络。
  快重传的机制是:
  1.接收方如果发现一个包丢失,则对后续的包继续发送针对该包的重传请求;
  2. 一旦发送方接收到三个一样的确认,就知道该包之后出现了错误,立刻重传该包;
  3. 此时发送方开始执行“快恢复”算法:
      *1. 慢开始门限减半;
      *2. cwnd设为慢开始门限减半后的数值;
      *3. 执行拥塞避免算法(高起点,线性增长);
  超时重传是TCP协议保证数据可靠性的另一个重要机制,其原理是在发送某一个数据以后就开启一个计时器,在一定时间内如果没有得到发送的数据报的ACK报文,那么就重新发送数据,直到发送成功为止。

 

 4.TCP和UDP的区别

1. TCP提供面向连接的、可靠的数据流传输,而UDP提供的是非面向连接的、不可靠的数据流传输。
2. TCP传输单位称为TCP报文段,UDP传输单位称为用户数据报。
3. TCP注重数据安全性,UDP数据传输快,因为不需要连接等待,少了许多操作,但是其安全性却一般

 

5.IP地址的分类和规划

A类:1字节的网络地址和3字节的主机地址组成。以0开头。范围:1.0.0.1~126.255.255.254
B类:2字节的网络地址和2字节的主机地址。以10开头。范围:128.0.0.1~191.255.255.254
C类:3字节的网络地址和1字节的主机地址。以110开头。范围:192.0.0.1~223.255.255.254
D类:是专门的保留地址,用于多播,以1110开头。范围:224.0.0.1~239.255.255.254
E类:是以“11110”开始,为将来使用保留

 

 

6.在浏览器中输入www.baidu.com 后执行的全部过程

浏览器获取域名之后向DNS请求解析该域名的IP地址。DNS解析出地址之后,浏览器会与服务器进行TCP连接。浏览器发起HTTP请求,服务器处理请求。HTTP响应报文,把首页文件发送给浏览器。关闭连接,TCP四次挥手释放。浏览器将首页文件进行解析,并将Web页显示给用户

 

7.各种协议

ICMP协议:因特网控制报文协议。它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。
TFTP协议:是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。
HTTP协议:超文本传输协议,是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。
DHCP协议:动态主机配置协议,是一种让系统得以连接到网络上,并获取所需要的配置参数手段,使用UDP协议工作。具体用途:给内部网络或网络服务供应商自动分配IP地址,给用户或者内部网络管理员作为对所有计算机作中央管理的手段。
NAT协议:网络地址转换属接入广域网(WAN)技术,是一种将私有(保留)地址转化为合法IP地址的转换技术

 

8.ARP地址解析协议

1:首先,每个主机都会在自己的ARP缓冲区中建立一个ARP列表,以表示IP地址和MAC地址之间的对应关系。
2:当源主机要发送数据时,首先检查ARP列表中是否有对应IP地址的目的主机的MAC地址,如果有,则直接发送数据,如果没有,就向本网段的所有主机发送ARP数据包,该数据包包括的内容有:源主机IP地址,源主机MAC地址,目的主机的IP地址。
3:当本网络的所有主机收到该ARP数据包时,首先检查数据包中的IP地址是否是自己的IP地址,如果不是,则忽略该数据包,如果是,则首先从数据包中取出源主机的IP和MAC地址写入到ARP列表中,如果已经存在,则覆盖,然后将自己的MAC地址写入ARP响应包中,告诉源主机自己是它想要找的MAC地址。

4:源主机收到ARP响应包后。将目的主机的IP和MAC地址写入ARP列表,并利用此信息发送数据。如果源主机一直没有收到ARP响应数据包,表示ARP查询失败。

广播发送ARP请求,单播发送ARP响应。

 

------------恢复内容结束------------

数据库常见面试题总结

参考如下:数据库常见面试题(开发者篇)数据库优化SQL数据库面试题及答案常见面试题整理--数据库篇 查看详情

2022最新整理软件测试常见面试题附答案(代码片段)

...APP测试、管理工具、Python、性能测试、selenium、lordrunner、计算机网络、组成原理、数据结构与算法、逻辑题、人力资源需要的可以【点击这里领取完整版的面试题~暗号CSDN】如下图所示:共包含400道面试题,本文的宗旨是... 查看详情

2020最新java常见面试题及答案

Java最新常见面试题+答案汇总1、面试题模块汇总面试题包括以下十九个模块:Java基础、容器、多线程、反射、对象拷贝、JavaWeb模块、异常、网络、设计模式、Spring/SpringMVC、SpringBoot/SpringCloud、Hibernate、Mybatis、RabbitMQ、Kafka... 查看详情

2022年上半年信息系统项目管理师真题及参考答案

2022年上半年信息系统项目管理师真题及参考答案样题2022年上半年信息系统项目管理师考试在()举行A.5月26日B.5月27日C.5月28日D.5月29日更多软考资讯,请关注公众号:清哥好课堂信息系统项目管理师,属于计算机技术与软件(高级... 查看详情

java常见面试题及答案(代码片段)

java常见面试题及答案来源 https://blog.csdn.net/hsk256/article/details/49052293来源https://blog.csdn.net/hsk256/article/details/49104955来源https://blog.csdn.net/hsk256/article/details/49363271 java常见面试题及答案1.什么是Java虚拟机?为什么Java被称作是“... 查看详情

50个kafka常见面试题及答案,撸完阿里p7见

1.Kafka的用途有哪些?使用场景如何?总结下来就几个字:异步处理、日常系统解耦、削峰、提速、广播如果再说具体一点例如:消息,网站活动追踪,监测指标,日志聚合,流处理,事件采集,提交日志等2.Kafka中的ISR、AR又代表什... 查看详情

java常见面试题及答案(基础题122道,代码题19道)

JAVA相关基础知识1、面向对象的特征有哪些方面 1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部... 查看详情

计算机网络常见面试题汇总(建议收藏!!!)(代码片段)

...一下你了解的端口及对应的服务?(4)说下计算机网络体系结构?(5)如何理解HTTP协议是无 查看详情

计算机网络常见面试题汇总(建议收藏!!!)(代码片段)

...一下你了解的端口及对应的服务?(4)说下计算机网络体系结构?(5)如何理解HTTP协议是无 查看详情

计算机网络常见面试题总结

计算机网络常见面试题总结1.      OSI,TCP/IP,五层协议的体系结构OSI分层(7层):物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。TCP/IP分层(4层):网络接口层、网际层、... 查看详情

redis常见面试题总结

Redis面试题总结(1)2018年02月28日17:42:21LSX丨笔头先生阅读数:3568更多个人分类:面试题总结 (1)什么是redis? Redis 是一个基于内存的高性能key-value数据库。(有空再补充,有理解错误或不足欢迎指正) (2)Reids的... 查看详情

35道最新软件测试面试题,常见面试题及答案汇总

前言除了掌握扎实的专业技能之外,你还需要一份《软件测试面试宝典2022版》才能在万千面试者中杀出重围,成功拿下offer。小编特意整理了35道测试必问必过面试题,送给大家,希望大家都能顺利通过面试,... 查看详情

java常见面试题及部分答案

1.Redis常见的存储数据类型list(列表类型)set(集合类型)zset(有序集合类型)string(字符串类型)hash(散装类型)2.log4j的级别debug:日志的最低级别,一般一些操作,代码,异常,错误等都会输出,info:info输出的日志是可以最终给用户看... 查看详情

spring常见面试题(代码片段)

本文是通过收集网上各种面试指南题目及答案然后经过整理归纳而来,仅仅是为了方便以后回顾,无意冒犯各位原创作者。1.什么是Spring?Spring是个java企业级应用的开源开发框架。Spring主要用来开发Java应用,但是有些扩展是针... 查看详情

java算法常见面试题及答案(代码片段)

...试题并比附上了答案,一起来看看吧!Java算法常见面试题及答案1、算法的时间复杂度时候是什么?答案:算法的时间复杂度表示程序运行完成所需的总时间,它通常用大O表示法来表示。2、合并k个有序(... 查看详情

redis知识点及常见面试题

redis知识点及常见面试题 参考: https://zm8.sm-tc.cn/?src=l4uLj4zF0NCIiIjRnJGdk5CYjNGckJLQrIqNiZaJnpOWjIvQno2LlpyTmo zQx87OxsfGztGXi5KT&uid=c9712557c9cde8bef666f89d1d708c67&hid=40c90f91312807e0fc0320b8ae f 查看详情

面试题redis篇-常见面试题p1(代码片段)

...油!🎯🎯🎯往期文章:【面试题】计算机网络篇-10道常见面试题p1【面试题】JVM篇-10道常见面试题p1【面试题】Java并发篇-10道常见面试题p1【面试题】Java基础篇-常见面试题总结p1【面试题】Java 查看详情

面试题redis篇-常见面试题p1(代码片段)

...油!🎯🎯🎯往期文章:【面试题】计算机网络篇-10道常见面试题p1【面试题】JVM篇-10道常见面试题p1【面试题】Java并发篇-10道常见面试题p1【面试题】Java基础篇-常见面试题总结p1【面试题】Java 查看详情