网站大量收购独家精品文档,联系QQ:2885784924

41道计算机网络高频面试题(附带答案).pdfVIP

41道计算机网络高频面试题(附带答案).pdf

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

41道道计计算算机机⽹⽹络络⾼⾼频频⾯⾯试试题题((附附带带答答案案))

史上最全,不接受反驳!!!!!!!⽂末也出了PDF版本哦

当⾯试官问你为什么需要有三次握⼿、三次握⼿的作⽤、讲讲三次三次握⼿的时候,我想很多⼈会这样回答:

⾸先很多⼈会先讲下握⼿的过程:

1、第⼀次握⼿:客户端服务器发送⼀个SYN报⽂。

2、第⼆次握⼿:服务器收到SYN报⽂之后,会应答⼀个SYN+ACK报⽂。

3、第三次握⼿:客户端收到SYN+ACK报⽂之后,会回应⼀个ACK报⽂。

4、服务器收到ACK报⽂之后,三次握⼿建⽴完成。

作⽤是为了确认双⽅的接收与发送能⼒是否正常。

这⾥我顺便解释⼀下为啥只有三次握⼿才能确认双⽅的接受与发送能⼒是否正常,⽽两次却不可以:

第⼀次握⼿:客户端发送⽹络包,服务端收到了。这样服务端就能得出结论:客户端的发送能⼒、服务端的接收能⼒是正常的。

第⼆次握⼿:服务端发包,客户端收到了。这样客户端就能得出结论:服务端的接收、发送能⼒,客户端的接收、发送能⼒是正常

的。不过此时服务器并不能确认客户端的接收能⼒是否正常。

第三次握⼿:客户端发包,服务端收到了。这样服务端就能得出结论:客户端的接收、发送能⼒正常,服务器⾃⼰的发送、接收能

⼒也正常。

因此,需要三次握⼿才能确认双⽅的接收与发送能⼒是否正常。

这样回答其实也是可以的,但我觉得,这个过程的我们应该要描述的更详细⼀点,因为三次握⼿的过程中,双⽅是由很多状态的改变的,⽽这些状态,也是⾯试官可能会问

的点。所以我觉得在回答三次握⼿的时候,我们应该要描述的详细⼀点,⽽且描述的详细⼀点意味着可以扯久⼀点。加分的描述我觉得应该是这样:

刚开始客户端处于closed的状态,服务端处于listen状态。然后

1、第⼀次握⼿:客户端服务端发⼀个SYN报⽂,并指明客户端的初始化序列号ISN(c)。此时客户端处于SYN_Send状态。

2、第⼆次握⼿:服务器收到客户端的SYN报⽂之后,会以⾃⼰的SYN报⽂作为应答,并且也是指定了⾃⼰的初始化序列号ISN(s),同时会把客户端的ISN+1作为

ACK的值,表⽰⾃⼰已经收到了客户端的SYN,此时服务器处于SYN_REVD的状态。

3、第三次握⼿:客户端收到SYN报⽂之后,会发送⼀个ACK报⽂,当然,也是⼀样把服务器的ISN+1作为ACK的值,表⽰已经收到了服务端的SYN报⽂,此时客户

端处于estblised状态。

4、服务器收到ACK报⽂之后,也处于estblised状态,此时,双⽅以建⽴起了链接

三次握⼿的作⽤

三次握⼿的作⽤也是有好多的,多记住⼏个,保证不亏。例如:

1、确认双⽅的接受能⼒、发送能⼒是否正常。

2、指定⾃⼰的初始化序列号,为后⾯的可靠传送做准备。

1、(ISN)是固定的吗

三次握⼿的⼀个重要功能是客户端和服务端交换ISN(InitilSequenceNumber),以便让对⽅知道接下来接收数据的时候如何按序列号组装数据。

如果ISN是固定的,攻击者很容易猜出后续的确认号,因此ISN是动态⽣成的。

2、什么是半连接队列

服务器第⼀次收到客户端的SYN之后,就会处于SYN_RCVD状态,此时双⽅还没有完全建⽴其连接,服务器会把此种状态下请求连接放在⼀个队列⾥,我们把这种队列

称之为半连接队列。当然还有⼀个全连接队列,就是已经完成三次握⼿,建⽴起连接的就会放在全连接队列中。如果队列满了就有可能会出现丢包现象。

这⾥在补充⼀点关于SYN-ACK重传次数的问题:服务器发送完SYN-ACK包,如果未收到客户确认包,服务器进⾏⾸次重传,

等待⼀段时间仍未收到客户确认包,进⾏第⼆次重传,如果重传次数超过系统规定的最⼤重传次数,系统将该连接信息从半连接队

列中删除。注意,每次重传等待的时间不⼀定相同,⼀般会是指数增长,例如间隔时间为1s,2s,4s,8s,

3、三次握⼿过程中可以携带数据吗

很多⼈可能会认为三次握⼿都不能携带数据,其实第三次握⼿的时候,是可以携带数据的。也就是说,第⼀次、第⼆次握⼿不可以携带数据,⽽第三次握⼿是可以携带数据

的。

为什么这样呢?⼤家可以想⼀个问题,假如第⼀次握⼿可以携带数据的话,如果有⼈要恶意攻击服务器,那他每次都在第⼀次握⼿中的SYN报⽂中放⼊⼤量的数据,因为

文档评论(0)

idowen + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档