必背八股文-计算机网络篇

本篇有关于计算机网络相关内容,主要是涉及嵌入式软件开发最经常的提问,可以结合该专栏【2-4小时突击计算机网络篇】的内容学习。

TCP/UDP通信

TCP(传输控制协议)和UDP(用户数据报协议)是互联网上常用的两种传输协议。它们都属于传输层协议,用于在计算机之间进行数据传输。

TCP是一种可靠的连接导向型协议。它提供了一种面向连接的通信方式,通过在发送和接收端之间建立一个持久的连接来传输数据。TCP保证数据的可靠性,通过使用确认机制、数据重传、拥塞控制等技术来确保数据能够按顺序、完整地到达目的地。TCP适用于对数据传输可靠性要求较高的应用,如文件传输、电子邮件、网页浏览等。

UDP是一种无连接的不可靠协议。它提供了一种无需建立连接就可以直接发送数据的通信方式。UDP不保证数据的可靠性,它只是简单地将数据从一个端口发送到另一个端口,没有确认机制和重传机制。UDP的优势在于速度和效率,适用于对实时性要求较高、对数据可靠性要求相对较低的应用,如视频流、音频通信、在线游戏等。

在使用TCP和UDP时,可以根据具体的应用需求来选择合适的协议。如果需要可靠性和数据完整性,应选择TCP。如果对实时性和效率要求较高,并且可以容忍一定的数据丢失,可以选择UDP。

TCP的三次握手

TCP使用三次握手(three-way handshake)来建立一个可靠的连接。下面是TCP三次握手的步骤:

  1. 第一次握手(SYN):客户端发送一个带有SYN(同步)标志的TCP报文段给服务器,表示客户端请求建立连接。这个报文段包含客户端选择的初始序列号(ISN)。
  2. 第二次握手(SYN+ACK):服务器收到客户端的请求后,如果同意建立连接,会发送一个带有SYN和ACK(确认)标志的TCP报文段作为响应。该报文段中,SYN用于同步序列号,ACK用于确认客户端的请求,同时服务器也选择了自己的初始序列号。
  3. 第三次握手(ACK):客户端收到服务器的响应后,会发送一个带有ACK标志的TCP报文段给服务器,用于确认服务器的同步序列号。这个报文段发送完毕后,连接建立成功,客户端和服务器可以开始进行数据传输。

三次握手的目的是确保客户端和服务器都能正确地收发数据,同时同步双方的初始序列号,以保证后续的数据传输能够按序进行。握手过程中的每一步都需要收到对方的确认才能进行下一步,这样可以避免连接的不稳定性和错误。

TCP的四次挥手

下面是TCP四次挥手的步骤:

  1. 第一次挥手(FIN):当一方(通常是客户端)决定关闭连接时,它会发送一个带有FIN(结束)标志的TCP报文段给另一方(通常是服务器),表示它不再发送数据。
  2. 第二次挥手(ACK):接收到关闭请求的一方(通常是服务器)收到FIN后,会发送一个带有ACK(确认)标志的TCP报文段作为回应,表示它已经收到关闭请求。
  3. 第三次挥手(FIN):当另一方(通常是服务器)也决定关闭连接时,它会发送一个带有FIN标志的TCP报文段给发起关闭的一方,表示它也不再发送数据。
  4. 第四次挥手(ACK):发起关闭的一方(通常是客户端)接收到关闭请求后,会发送一个带有ACK标志的TCP报文段作为回应,表示它已经收到关闭请求。

四次挥手的目的是确保双方都能安全地关闭连接,并确认彼此收到关闭请求。每一步都需要对方的确认才能进行下一步,以保证连接关闭的可靠性和正确性。

为什么建立连接是三次,而关闭则是四次?

建立连接时,收到建立请求的SYN报文后,把ACK和同步序列标志位SYN放在一个报文发送给客户端。

关闭连接时,服务器的ACK和FIN一般都会分开发送,从而导致多了一次。服务器收到对方的FIN报文时,仅仅代表对方不再发送数据了但是还能接受数据,而自己也未必全部数据都发送给对方了,所有客户端可以立即关闭,也可以发送一些数据给对方后,再发送FIN报文给对方来表示统一现在关闭连接。

网络模型

最常用的网络模型是OSI参考模型和TCP/IP模型。

  • OSI参考模型(OSI Reference Model):开放系统互联(Open Systems Interconnection)参考模型是由国际标准化组织(ISO)提出的网络模型。它将计算机网络通信过程划分为七个不同的层次,每个层次负责特定的功能。从下至上,这些层次分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。每个层次都定义了特定的协议和功能,实现了分层的网络通信架构。

  • TCP/IP模型:TCP/IP是一种常用的网络协议

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

本专栏主要是介绍嵌入式软件开发岗位的相关知识和学习攻略,为大家提供一份笔试与面试手册。包括有嵌入式软件开发岗位介绍与学习攻略;校园招聘和offer疑惑问题的介绍;在笔试方面,如何刷题为笔试作准备,提供往年笔试真题;在面试方面,提供相关知识的复习重点,提供面试真题。包括有:华为、蔚来、文远、大疆、三一、深信服、亚马逊、Intel、百度、科大讯飞、OPPO、京东、中兴、比特大陆|算能、美团等等

全部评论

相关推荐

点赞 评论 收藏
分享
评论
4
80
分享

创作者周榜

更多
牛客网
牛客企业服务