中国大数据教育领跑者

IT培训上市机构

您现在的位置:首页 > Java培训 > java求职技巧>Java开发面试知识点总结之网络协议

Java开发面试知识点总结之网络协议

2018-01-12 18:24:54 作者:魔据大数据学院

Java开发者在面试的时候都可能遇到哪些知识点呢?相信这是很多参加Java技术培训的Java初学者都想要知道的问题,今天魔据教育的Java技术培训班就为大家分享一篇Java开发面试知识点总结。今天先给大家分享一下基础知识面试中的网络协议。

网络协议方面,考察最多的包括服务器和客户端在三次握手、四次挥手过程中的状态变化;还有网络拥塞控制及其解决办法等。

1)三次握手、四次挥手示意图:

Java开发面试知识点总结之网络协议 

Java开发面试知识点总结之网络协议

总共有四种状态:主动建立连接、主动断开连接、被动建立连和被动断开连接

两两组合还是 4 种组合:

主动建立连接、主动断开连接会经历的状态:SYNC_SENT——ESTABLISHED—-FIN_WAIT_1—-FIN_WAIT_2—-TIME_WAIT

主动建立连接、被动断开连接会经历的状态:SYNC_SENT——ESTABLISHED—-CLOSE_WAIT—-LAST_ACK

被动建立连接、主动断开连接会经历的状态:LISTEN—-SYN_RCVD—-ESTABLISHED—-FIN_WAIT_1—-FIN_WAIT_2—-TIME_WAIT

被动建立连接、被动断开连接会经历的状态:LISTEN—-SYN_RCVD—-ESTABLISHED—-CLOSE_WAIT—-LAST_ACK

2)滑动窗口机制

由发送方和接收方在三次握手阶段互相将自己的最大可接收的数据量告诉对方。也就是自己的数据接收缓冲池的大小。这样对方可以根据已发送的数据量来计算是否可以接着发送。

在处理过程中,当接收缓冲池的大小发生变化时,要给对方发送更新窗口大小的通知。

3)拥塞避免机制

拥塞:对资源的需求超过了可用的资源。若网络中许多资源同时供应不足网络的性能就要明显变坏,整个网络的吞吐量随之负荷的增大而下降。

拥塞控制:防止过多的数据注入到网络中,使得网络中的路由器或链路不致过载。

拥塞控制方法:

慢开始 + 拥塞避免;

快重传 + 快恢复。

Java开发面试知识点总结之网络协议Java开发面试知识点总结之网络协议 

Java开发面试知识点总结之网络协议

 

4)请详细阐述浏览器中输入:“www.xxx.com” 之后都发生了什么?。

解析:经典的网络协议问题。

答:

由域名→IP 地址
寻找 IP 地址的过程依次经过了浏览器缓存、系统缓存、hosts 文件、路由器缓存、 递归搜索根域名服务器。

建立 TCP/IP 连接(三次握手具体过程)

由浏览器发送一个 HTTP 请求

经过路由器的转发,通过服务器的防火墙,该 HTTP 请求到达了服务器

服务器处理该 HTTP 请求,返回一个 HTML 文件

浏览器解析该 HTML 文件,并且显示在浏览器端

这里需要注意:

HTTP 协议是一种基于 TCP/IP 的应用层协议,进行 HTTP 数据请求必须先建立 TCP/IP 连接

可以这样理解:HTTP 是轿车提供了封装或者显示数据的具体形式;Socket 是发动机提供了网络通信的能力。

两个计算机之间的交流无非是两个端口之间的数据通信 , 具体的数据会以什么形式展现是以不同的应用层协议来定义的。

5)常见 HTTP 状态码

1xx(临时响应)

2xx(成功)

3xx(重定向):表示要完成请求需要进一步操作

4xx(错误):表示请求可能出错,妨碍了服务器的处理

5xx(服务器错误):表示服务器在尝试处理请求时发生内部错误

常见状态码:

200(成功)

304(未修改):自从上次请求后,请求的网页未修改过。服务器返回此响应时,不会返回网页内容

401(未授权):请求要求身份验证

403(禁止):服务器拒绝请求

404(未找到):服务器找不到请求的网页

6TCP UDP 的区别:

答:

回答发送数据前是否存在建立连接的过程;TCP过确认机制丢包可以重发保证数据的正确性;UDP不保证正确性只是单纯的负责发送数据包;

UDP 是面向报文的发送方的 UDP 对应用程序交下来的报文在添加首部后就向下交付给IP 层。既不拆分也不合并而是保留这些报文的边界,因此应用程序需要选择合适的报文大小;

UDP 的头部只有 8 个字节,相对于 TCP 头部的 20 个字节信息包的额外开销很小。

小结:必须熟练掌握 TCP UDP 的区别、三次握手和四次挥手的状态切换必考。

相关推荐
[免责声明]本文来源于网络转载,仅供学习交流使用,不构成商业目的。版权归原作者所有,如涉及作品内容、版权和其它问题请在30日内与本网联系,我们将在第一时进行处理

值班手机:18501996998

咨询QQ: 226594285 / 428683440

校区地址:北京市海淀区中关村科技园首农蓝海中心C座-7层

全国咨询热线:400-690-5006

点击关注:

魔据教育官方微博

魔据官方微信