前端——网络方向面经题目总结

本文汇总了前端面试中常见的网络方向面经题目,涵盖TCP/IP的基础知识,包括TCP的3次握手与4次断开、TCP与UDP的区别、交换机与路由器的工作原理、流量控制与拥塞控制等。此外,还涉及ARP、ICMP、DHCP等协议的理解以及网络接口卡的功能。理解这些知识点对于面试和技术工作非常重要。
摘要由CSDN通过智能技术生成

面试中网络方面的知识被问到的概率很大,尤其是互联网公司,要熟悉osi七层模型,其中TCP/IP方面的知识尤其重要。(如果自己平时有Socket编程的经验对面试也是很有帮助的。网络方面有空可以看看TCP/IP详解卷一和UNIX网络编程。)几乎技术岗的面试可能或多或少的都会问到网络相关的概念,毕竟也是计算机专业的基础知识,这里我总结了一些网上的面经以及自己看到的一些问题:

0、TCP/IP 基础

层次图:
这里写图片描述
ARP和RARP属于网络层协议。但是工作内容属于数据链路层。
数据封装:
这里写图片描述

1、TCP为什么需要3次握手,4次断开?

**“三次握手”**的目的是“为了防止已失效的连接请求报文段突然又传送到了服务端,因而产生错误”。 client发出的第一个连接请求报文段并没有丢失,而是在某个网络结点长时间的滞留了,以致延误到连接释放以后的某个时间才到达server。本来这是一个早已失效的报文段。但server收到此失效的连接请求报文段后,就误认为是client再次发出的一个新的连接请求。于是就向client发出确认报文段,同意建立连接。假设不采用“三次握手”,那么只要server发出确认,新的连接就建立了。由于现在client并没有发出建立连接的请求,因此不会理睬server的确认,也不会向server发送数据。但server却以为新的运输连接已经建立,并一直等待client发来数据。这样,server的很多资源就白白浪费掉了。采用“三次握手”的办法可以防止上述现象发生。例如刚才那种情况,client不会向server的确认发出确认。server由于收不到确认,就知道client并没有要求建立连接。”。主要目的防止server端一直等待,浪费资源。
对于TCP传输协议,客户端在于服务器建立连接前需要经过TCP三层握手,过程如下:
这里写图片描述
首先客户端向服务器发SYN(同步请求),然后服务器回复SYN+ACK(同步请求应答),最后客户端回复ACK确认,这样TCP的一次连接(三次握手)的过程就建立了!

为什么4次断开

因为TCP有个半关闭状态,假设A.B要释放连接,那么A发送一个释放连接报文给B,B收到后发送确认,这个时候A不发数据,但是B如果发数据A还是要接受,这叫半关闭。然后B还要发给A连接释放报文,然后A发确认,所以是4次。

在tcp连接握手时为何ACK是和SYN一起发送,这里ACK却没有和FIN一起发送呢。原因是因为tcp是全双工模式,接收到FIN时意味将没有数据再发来,但是还是可以继续发送数据。

2、TCP和UDP有什么区别?

TCP是传输控制协议,提供的是面向连接、可靠的字节流服务。通信双方彼此交换数据前,必须先通过三次握手协议建立连接,之后才能传输数据。TCP提供超时重传,丢弃重复数据,检验数据,流量控制等功能,保证数据能从一端传到另一端。UDP是用户数据报协议,是一个简单的面向无连接的协议。UDP不提供可靠的服务。在数据数据前不用建立连接故而传输速度很快。UDP主要用户流媒体传输,IP电话等对数据可靠性要求不是很高的场合。
T

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值