持续更新版本 嵌入式工程师常见面试题( 八 )


UDP的优点:
快速:UDP的传输速度相对较快,尤其适用于实时性要求高的场景,如在线游戏、视频流等 。灵活性:UDP的数据包大小灵活,可以根据应用需要调整,同时不需要维护数据顺序 。简单:UDP的协议相对简单,易于实现和维护,适用于一些轻量级的应用场景 。多路复用:UDP的多路复用机制可以提高传输效率,同时处理多个数据流 。
UDP的缺点:
不可靠:UDP不提供可靠性保障,数据可能丢失、损坏或重复,适用于一些对数据准确性要求不高的场景 。数据顺序:UDP的数据包顺序需要应用程序自行处理,适用于一些简单的应用场景 。数据量限制:UDP的数据包大小通常受限于底层网络协议(如以太网),一般不超过1472字节 。4. 流控制:UDP的发送速率受限于底层网络协议的带宽和接收方的能力,可能导致数据包丢失或传输受阻 。数据错误处理:UDP的数据包在传输过程中可能发生错误,如损坏或重复,应用程序需要自行处理这些问题 。连接管理:UDP没有建立连接和断开连接的过程,因此不需要维护连接状态,这使得它更加轻量级,适用于一些简单的应用场景 。
3、TCP UDP适用场景
TCP和UDP都有各自的适用场景 。
TCP(传输控制协议)通常用于对准确性要求相对高的场景,比如文件传输、接受邮件和远程登录 。TCP在传输数据时需要进行数据的确认、重发、排序等操作,因此相对来说效率没有UDP(用户数据报协议)高 。
UDP常用于对实时性要求高的场景,例如在线游戏、流媒体传输 。UDP不可靠,因此它不适用于需要保证数据完整性和可靠性的应用场景 。但因为UDP不需要进行连接管理、确认和重传等操作,所以它的数据传输速度比TCP快 。同时,UDP还支持多播技术,可以将数据包发送到多个目的地 。
总的来说,TCP和UDP都有各自的优点和适用场景,选择使用哪一种协议,需要根据具体的需求来决定 。
4、TCP为什么是可靠连接
TCP之所以被认为是可靠连接,是因为它采用了以下几种机制来确保数据的可靠传输:
确认和应答机制:TCP通过发送数据后等待接收方的确认,以及在数据传输过程中采用应答机制,确保每个数据包都被正确接收 。如果接收方没有确认收到某个数据包,发送方将重新发送该数据包,直到接收方确认收到为止 。
序列号:TCP给每个数据包分配一个独特的序列号,接收方可以根据序列号对数据包进行排序,确保数据包的顺序正确 。
超时重传:如果发送方在一定时间内没有收到接收方的确认,将重新发送数据包,以确保数据包能够被正确传输 。
流量控制:TCP通过流量控制机制,确保发送速度不会超过接收方处理速度,避免数据包丢失或传输错误 。
拥塞控制:当网络拥塞时,TCP会减缓发送速度,以避免过度拥塞网络,导致数据包丢失 。
这些机制的结合,使得TCP能够在网络环境下实现可靠的连接 。
5、OSI典型网络模型,简单说说有哪些
OSI(开放式系统互联)典型网络模型是由七个层次组成的模型,每个层次都有其特定的功能和服务 。以下是这七个层次及其简要功能:
物理层:这一层的主要功能是建立物理连接,将比特流从一个地方传输到另一个地方,并进行数模转换和模数转换 。
数据链路层:这一层的主要功能是为网络层提供服务,确保数据在物理层上的传输可靠 。数据链路层还提供了一些错误检测和校正功能 。
网络层:这一层的主要功能是进行逻辑地址寻址,实现不同网络之间的路径选择 。
传输层:这一层的主要功能是定义传输数据的协议端口号,并进行流控和差错校验 。其中最常用的协议是TCP(传输控制协议)和UDP(用户数据报协议) 。