C/C++开发工程师面试题整理(三)——计算机网络、网络层协议等

1.TCP的三次握手(2020.华为面试)

C/C++开发工程师面试题整理(三)——计算机网络、网络层协议等_第1张图片

答:客户端与服务器端采用TCP协议进行传输数据时,有三次数据传输过程

1.客户端发送请求同步报文SYN=1给服务器端,要求建立通信

2.服务器端收到后,给客户端发送同步报文SYN=1和确认信息ACK=1,表示已收到

3.客户端收到后,给服务器端发送ACK=1确认,连接建立完成。

TCP的三次握手在客户端的一次询问,服务器的一次回答,客户端的一次肯定中建立。

2.TCP的四次挥手

答:客户端与服务器端采用TCP协议进行终止数据传输时,有四次挥手过程。

1.客户端发送请求关闭报文FIN=1给服务器

2.服务器收到,发送确认报文ACK=1给客户端

3.服务器发送请求关闭报文FIN=1给客户端

4.客户端收到后,发出确认报文ACK=1,但这时TCP连接还没有释放掉,必须经过时间等待计时器设置的时间2MSL后才进入到连接关闭的状态

四次挥手在客户端的一次请求,服务器端一次确认、一次关闭请求、客户端的一次确认中并经过2MSL中结束。

3.TCP释放连接时为什么要等待2MSL(两个最大报文生存周期)的时间后才能回到CLOSED状态

答:1.为了确保客户端发送的最后一个ACK报文能够到达服务器端

2.防止已失效的连接请求报文段出现在本连接中。(具体说,客户端发送最后一个ACK报文段后,经过2MLS后,本次连接中产生的所有报文段的存活时间均用完,就能保证在两个传输方向上的尚未被接收或迟到的报文段都已经消失(否则服务器立刻重启, 可能会收到来自上一个进程的迟到的数据, 但是这种数据很可能是错误的))

4.TCP和UDP的区别(2020泰隆银行)

C/C++开发工程师面试题整理(三)——计算机网络、网络层协议等_第2张图片

答:1.TCP是可靠的面向连接的传输层协议,UDP是不可靠的无连接的传输层协议;

2.TCP传输速度慢,UDP传输速度快。

3.TCP面向字节流,UDP面向报文

4.TCP支持全双工通信,UDP支持一对一、一对多、多对一、多对多

5.TCP使用三次握手和四次挥手,流量控制和拥塞控制提供可靠的传输服务,保证数据正确性和顺序。UDP使用尽最大努力交付,即不保证可靠交付,UDP可能丢包。

6.UDP信息包的标题很短,只有8个字节,相对于TCP的20个字节信息包的额外开销很小。

7.TCP对系统资源的要求,UDP少。

8.TCP适用于对效率要求低,对准确性要求高或者要求有连接的场景;UDP适用于对效率要求高,准确性要求低的场景。

5.TCP协议和UDP协议的应用场景及意义(2020招商银行网络科技测开)

C/C++开发工程师面试题整理(三)——计算机网络、网络层协议等_第3张图片

答:1.TCP协议属于面向连接的可靠传输协议,即当应用场景需要可靠传输时使用。如文件传输协议,FTP和HTTP协议;邮件协议:POP,IMAP协议等;远程终端登录TELNET协议等,需要高准确性,但速度相对较慢的场景。

意义是通过流量控制和差错控制,保证了数据可靠传输。

2.UDP协议应用于对可靠性要求低但是传输速度要求快的场景。如视频传输、实时通信等。QQ用的就是UDP协议。

域名转换DNS协议。

6.在浏览器输入url,描述一下会发生什么(高频)

答:

1.DNS解析。根据DNS域名解析协议,浏览器查找域名url的IP地址。

2.TCP连接。浏览器与服务器通过TCP三次握手建立可靠连接。

3.发送HTTP请求。浏览器向web服务器发送一个HTTP请求。

4.服务器处理请求并返回HTTP报文。

5.浏览器解析渲染页面。浏览器加载图片、音视频等。

6.连接结束。TCP的四次挥手。

6.ping命令原理,用到了哪些协议

答:ping命令是用来探测主机到主机之间是否可通信,如果不能ping到某台主机,表明不能和这台主机建立连接。ping命令是使用 IP 和网络控制信息协议 (ICMP),因而没有涉及到任何传输协议(UDP/TCP) 和应用程序。它发送icmp回送请求消息给目的主机。

ICMP协议规定:目的主机必须返回ICMP回送应答消息给源主机。如果源主机在一定时间内收到应答,则认为主机可达。

7.各种协议与HTTP协议之间的关系

C/C++开发工程师面试题整理(三)——计算机网络、网络层协议等_第4张图片

8.Cookie和Session的区别(2020年中信面试题

答:

1.存放位置区别:Cookie存放在客户的浏览器端,session存放在服务器端。

2.安全性区别:Cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗;考虑安全性应当使用session.

3.性能使用区别:session会在一定时间内保存在服务器上,当访问增多,会比较占用服务器的性能;考虑减轻服务器性能方面,应当使用Cookie。

4.存储区别:单个cookie保存的数据不能超过4k,很多浏览器限制一个站点最多保存20个cookie,而session则存储服务器端,浏览器对其没有限制。

9.ARP协议和ARP攻击

答:ARP协议是地址解析协议,指的是将IP地址转换为相应的MAC物理地址。

ARP攻击是控制子网中的一台机器在主机发送ARP请求时,向网关发送虚假的ARP应答消息,从而填充ARP缓存表,使其无法到达预期的主机。

 10.OSI七层协议将安全体系划分为哪四个级别(2020年中信银行笔试题

答:网络级安全、系统级安全、应用级安全、企业级的安全

OSI七层协议

C/C++开发工程师面试题整理(三)——计算机网络、网络层协议等_第5张图片

你可能感兴趣的:(计算机网络,测评,笔试,面试题,计算机网络面试题,C语言面试题)