计算机网络常见面试题

avatar
作者
猴君
阅读量:0

前言

作者:小蜗牛向前冲

名言:我可以接受失败,但我不能接受放弃

  如果觉的博主的文章还不错的话,还请点赞,收藏,关注👀支持博主。如果发现有问题的地方欢迎❀大家在评论区指正

这里主要总结的是一些计算机网络常见的面试题: 

1、同学你能讲讲TCP是怎么建立连接的吗? 

答:

TCP建立连接的过程需要经历三次握手: 

第一次握手:当客户端向服务器发起连接请求,会将TCP报文中的SYN标志(Synchronization)设置为1并且填充好报文中的随机序号seq=x,此时客户端进入SYN_SEND状态

第二次握手:当服务器收到客户端发送的建立连接请求(SYN报文),服务器会对客户端进行应答,发送一个SYN-ACK报文。此报文中,SYN和ACK标志位均设置为1,填充好随机序号seq=y,并将确认序号ack=x+1。此时服务器进入SYN_RCVD状态

第三次握手:当客户端收到服务器发送的SYN-ACK报文后,会发送一个ACK报文以确认连接建立。此报文中ACK标志位设置为1,填充好序号seq=x+1(或保持原序号),并将确认序号ack=y+1客户端进入ESTABLISHED状态,当服务器收到应答报文后,此时服务器进入ESTABLISHED状态

 2、你可以讲一讲TCP和UPD协议有什么区别吗?

答:

TCP和UPD都是传输层的控制协议,都负责在网络中传输数据,我将从以下方面叙述

连接上:TCP是需要三次握手建立连接,才可以进行数据的传输的,而UDP是不需要建立连接的,适合及时发送数据。

服务对象上:TCP是一对一的,而UDP可以一对一,一对多,多对多。

可靠性上:TCP提供可靠性的传输,数据不丢失、不重复和按序到达。UDP是尽力交付数据,并不保证数据的可靠性。

首部开销:TCP首部开销较长,基本为20个字节,如果包含选项字段会更大。UPD首部开销固定为8个字节,开销较小。

拥塞控制和流量控制:TCP有拥塞控制和流量控制,以保证数据的安全传输和网络不会过载。UDP没有这些机制,即使是网络已经非常拥塞了,也会保持原来的发送速率,导致出现丢包。

3、I/O的五种模型知道吗?I/O多路复用讲讲你的理解

答:

阻塞式I/O :操作系统会阻塞式等待,该I/O事件的完成才会去执行其他事情。效率低下,阻塞期间浪费了CPU时间

非阻塞式I/O:如果I/O事件没有完成,操作系统也不会等,而是不断轮询的方式询问事件是否完成。轮询会占用大量CPU时间,效率不高

I/O复用:使用select,poll和epoll系统调用来监控多个文件描述符,只有一个或者多个文件描述符就绪后,通知进程或者线程处理I/O事件

信号驱动I/O:进程或者线程可以为某个文件描述符设置信息号驱动,当该文件描述符可以进行I/O事件的时候操作系统就会发送一个信号这个进程或者线程,当进程或者线程捕抓到这个信号讲会进行相应的处理。不阻塞也不沦询,但是信号处理起来比较复杂。

异步I/O:进程或者线程发起I/O请求后立刻返回,操作系统这后台完成I/O,当操作系统完成时,才通知进程或者线程进行处理。效率非常高,但是实现复杂。

答:

对于I/O都路复用技术是同时处理多个文件描述的技术,通过系统调用函数(select,poll,epoll)监控文件描符事件就绪了,就通知进程或者线程去处理,这样极大的提高的系统的并发性和资源利用的能力。

select函数:将要监控的事件加入到文件描述符集合中,从用户态将文件描述符集合拷贝到内核态,内核去监控文件描述符是否就绪,监控的方式是遍历这个文件描述集合,如果有就绪事件就进行标记,在把这个文件描述符集合从内核态拷贝到用户态,在去遍历文件描述符集合,找到就绪的事件,通知操作系统去执行。这要注意因为文件描述符是线性的可以理解为一个线性数组,默认最能监控1024个文件描述符集合。

poll函数:poll的机制和select非常类似都是二次拷贝,二次扫描,但poll采用了动态数组的结构,类似于链表的结构来管理文件描述符,所以文件描述符的数量上是没有限制。

epoll函数:引入了红黑数来关注待检测的socket对象,减少了数据的拷贝和内存分配。采用了事件驱动机制,内核维护了一个链表记录就绪事件,只把就绪的socket发生给应用程序进行处理。

4、DNS工作流程是怎么样的 

 

答:

 DNS的工作流程主要是域名解析和查询过程

当用户在浏览器输入域名时,首先会查询本地的DNS缓存,如果没有命中则向本地DNS服务器发送请求;本地DNS服务器则逐渐向根域名服务器查询,直到找到对应的IP地址返回给用户。

5、http协议https协议区别

 答:

HTTP协议是超文本传输协议,是用于传输文件、图片、视频等数据的协议,是以明文的形式传输协议。

HTTPS协议是这HTTP的基础上加入了SSL/TLS加密机制,通过在传输层对数据进行加密,以保证数据的安全性。

 

 

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!