面试程序员需要认真度的文章

持续输出面试题之计算机网络篇

2020-08-24  本文已影响0人  我可能是个假开发

开篇介绍

大家好,我是Java最全面试题库的提裤姐,今天这篇是计算机网络,主要总结了计算机网络相关的面试题;在后续,会沿着第一篇开篇的知识线路一直总结下去,做到日更!如果我能做到百日百更,希望你也可以跟着百日百刷,一百天养成一个好习惯。

说一下TCP/IP四层模型

TCP/IP协议是美国国防部高级计划研究局为实现ARPANET互联网而开发的。


image.png

说一下OSI七层模型

image.png

OSI参考模型与TCP/IP参考模型对应关系及区别?

image.png

共同点:

不同点:

介绍一下TCP 三次握手和四次挥手

三次握手

三次握手

为了准确无误地把数据送达目标处,TCP协议采用了三次握手策略。
用TCP协议把数据包送出去后,TCP不会对传送后的情况置之不理,它一定会向对方确认是否成功送达。握手过程中使用了TCP的标志:SYN和ACK

注意:若在握手过程中某个阶段莫名中断,TCP协议会再次以相同的顺序发送相同的数据包

四次挥手

四次挥手

断开一个TCP连接则需要四次挥手

TCP和UDP的区别?

TCP如何进行流量控制?

TCP协议利用窗口机制实现流量控制;
TCP连接建立时,双方都为之分配了固定大小的缓冲空间;TCP的接收端只允许另一端发送其缓冲区所能接纳的数据:

什么是拥塞控制?TCP是如何进行拥塞控制的?

拥塞
拥塞是指太多主机以太快的速度向网络中发送太多的数据,超过了网络处理能力,导致大量数据分组“拥挤”在网络中间设备(如路由器)队列中等待转发,网络性能显著下降的现象。
拥塞的后果:
①数据分组通过网络的时延显著增加。
②由于队列满导致大量分组被丢弃。

拥塞控制
拥塞控制就是通过合理调度、规范、调整向网络中发送数据的主机数量、发送速率或数据量,以避免拥塞或尽快消除已发生的拥塞。

TCP拥塞控制:
从端到端的角度,推测网络是否发生拥塞,如果推断网络发生拥塞,则立即将数据发送速率降下来,以便缓解网络拥塞。
①窗口机制:
通过调节窗口的大小实现对发送数据速率的调整。
②窗口调整的基本策略:
AIMD(Additive Increase,Multiplicative Decrease)加性增加,乘性减少;
网络未发生拥塞时,逐渐“加性”增加窗口大小,当网络拥塞时“乘性”快速减小窗口大小。
③TCP的拥塞控制算法:
包括了慢启动拥塞避免快速重传快速恢复4部分。

UDP如何实现可靠性传输?

传输层无法保证数据的可靠传输,只能通过应用层来实现。
实现的方式可以参照tcp可靠性传输的方式,只是实现不在传输层,实现转移到了应用层。
实现确认机制、重传机制、窗口确认机制。

如果不利用linux协议栈以及上层socket机制,自己通过抓包和发包的方式去实现可靠性传输,那么必须实现如下功能:

注:
①给数据包编号,按照包的顺序接收并存储;
②接收端接收到数据包后发送确认信息给发送端,发送端接收确认数据以后再继续发送下一个包,如果接收端收到的数据包的编号不是期望的编号,则要求发送端重新发送。

目前利用udp实现了可靠的数据传输分别为RUDP、RTP、UDT。

面向连接和非面向连接的服务的特点是什么?

面向连接的服务,通信双方在进行通信之前,要先在双方建立起一个完整的可以彼此沟通的通道,在通信过程中,整个连接的情况一直可以被实时地监控和管理。          
非面向连接的服务,不需要预先建立一个联络两个通信节点的连接,需要通信的时候,发送节点就可以往网络上发送信息,让信息自主地在网络上去传,一般在传输的过程中不再加以监控。

Http和Https的区别

Http协议运行在TCP之上,明文传输,客户端与服务器端都无法验证对方的身份;
Https是身披SSL(Secure Socket Layer)外壳的Http,运行于SSL上,SSL运行于TCP之上,是添加了加密和认证机制的HTTP。

二者之间存在如下不同:

Https的加密机制是一种共享密钥加密和公开密钥加密并用的混合加密机制。

HTTP请求报文和响应报文的结构是怎样的?

请求报文:从客户向服务器发送请求报文

image.png

HTTP典型的请求方法有:

响应报文:从服务器到客户的回答

image.png
HTTP状态码:

IP地址有哪些分类?

image.png

A类地址(1~126):网络号占前8位,以0开头,主机号占后24位。
B类地址(128~191):网络号占前16位,以10开头,主机号占后16位。
C类地址(192~223):网络号占前24位,以110开头,主机号占后8位。
D类地址(224~239):以1110开头,保留位多播地址。
E类地址(240~255):以1111开头,保留位今后使用。

ARP地址解析协议的工作过程?

通过IP地址获得物理地址,是设备通过自己知道的IP地址来获得自己不知道的物理地址的协议。

工作过程:

DNS(Domain Name System)域名系统的工作原理?

当 DNS 客户机需要在程序中使用名称时,它会查询 DNS 服务器来解析该名称。客户机发送的每条查询信息包括三条信息:

基于 UDP 服务,端口 53,该应用一般不直接为用户使用,而是为其他应用服务,如 HTTPSMTP 等在其中需要完成主机名到 IP 地址的转换。

说说静态路由和动态路由有什么区别?

静态路由是由管理员手工配置的,适合比较简单的网络或需要做路由特殊控制。
动态路由则是由动态路由协议自动维护的,不需人工干预,适合比较复杂大型的网络。

路由器能够自动地建立自己的路由表,并且能够根据实际实际情况的变化适时地进行调整。动态路由机制的运作依赖路由器的两个基本功能:对路由表的维护;路由器之间实时的路由信息交换。

上一篇下一篇

猜你喜欢

热点阅读