嵌入式学习

笔记

基于UDP的TFTP文件传输

面试题

1. 项目中如何实现TCP的并发?
    多进程实现TCP并发、多线程实现TCP并发。

2. TCP通信过程中的三次握手?
    三次握手是TCP客户进程与TCP服务器进程建立连接时的过程。首先由TCP客户进程向TCP服务器进程发送TCP连接请求报文段,并进入同步已发送状态,TCP服务器进程收到TCP连接请求报文段后,如果同意建立连接,则向TCP客户进程发送TCP连接请求确认报文段,并进入同步已接收状态,TCP客户进程收到TCP连接请求确认报文段后,向TCP服务器进程发送一个普通的TCP确认报文段,并进入已建立连接状态,TCP服务器进程收到针对TCP连接请求确认报文段的普通确认报文段后,也进入已建立连接状态。此时,TCP双方都进入了连接已建立状态。

3. 四次挥手的过程?
    四次挥手是释放TCP连接的过程。TCP客户进程向TCP服务器进程发送TCP连接释放报文段,并进入终止等待1状态,TCP服务器收到TCP连接释放报文段后,会发送一个普通的TCP确认报文段,并进入关闭等待状态,TCP客户进程收到该普通的TCP确认报文段后,进入终止等待2状态,等待TCP服务器进程发出的TCP连接释放报文段,TCP服务器进程发送TCP连接释放报文段,并进入最后确认状态,TCP客户进程收到TCP服务器进程发出的TCP连接释放报文段后,向TCP服务器进程发送TCP普通确认报文段,并进入时间等待状态,TCP服务器进程收到该普通的TCP确认报文段后,进入关闭状态,而TCP客户进程还要经过两倍的最长报文段寿命的时长后,才进入关闭状态。

4. TCP/IP协议分几层?TCP/IP分别是哪一层?
    四层,分别是应用层、传输层、网络层、数据链路层。
    TCP协议在传输层,IP协议在网络层。

5. UDP为什么丢包?
    UDP是面向无连接的,在数据传输到网络层后,可能会出现数据丢失。

6. TCP是同步还是异步?谈谈对同步异步的理解?
    TCP协议实现客户端服务器是同步。同步是对于进程之间的执行顺序是可以预测的,能够按照我们想要的次序执行。异步是随机的,无法预测。

7. 什么是TCP沾包现象,如何解决?
    由于发送的数据过小或者是两次数据发送的时间间隔太小,会导致两个数据包作为一个数据包发送过去,这种现象叫做沾包。

8. 组播和广播的区别?
    组播是只有加入到多播组中的主机才能接收到消息,组播是D类网络。广播是所有主机都会收到消息,广播地址是 网络号+255。

9. 阻塞IO和非阻塞IO的区别?
    阻塞IO,指的是需要内核IO操作彻底完成后,才能返回到用户空间执行用户的操作。非阻塞IO,指的是用户空间的程序不需要等待内核IO操作彻底完成,可以立即返回用户空间执行用户操作。

10. 并发和并行的区别?
      并发是在单核CPU运行多个程序时,宏观是在一个时间段内存在多个进程,微观上是单个时间片只有一个进程。

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值