【Android面试】计算机网络面试题整理(一)

1、HTTP、HTTPS、TCP/IP、Socket通信、三次握手四次挥手过程

1)ARP协议:在IP以太网中,当一个上层协议要发包时,有了该节点的IP地址,ARP就能提供该节点的MAC地址

二、HTTP HTTPS的区别:

1、HTTPS使用TLS(SSL)进行加密

2、 HTTPS缺省工作在TCP协议443端口

3 、它的工作流程一般如以下方式:

  • 完成TCP三次同步握手
  • 客户端验证服务器数字证书,通过,进入步骤3
  • DH算法协商对称加密算法的密钥、hash算法的密钥
  • SSL安全加密隧道协商完成
  • 网页以加密的方式传输,用协商的对称加密算法和密钥加密,保证数据机密性;用协商的hash算法进行数据完整性保护,保证数据不被篡改

三、http请求包结构,http返回码的分类,400和500的区别

包结构:

1.请求:请求行、头部、数据。 2.返回:状态行、头部、数据

http返回码分类:1到5分别是,消息、成功、重定向、客户端错误、服务端错误

四、Tcp:可靠连接,三次握手,四次挥手

三次握手:防止了服务器端的一直等待而浪费资源,例如只是两次握手,如果s确认之后c就掉线了,那么s就会浪费资源。

  • syn-c = x,表示这消息是x序号
  • ack-s = x + 1,表示syn-c这个消息接收成功。syn-s = y,表示这消息是y序号。
  • ack-c = y + 1,表示syn-s这条消息接收成功

四次挥手:TCP是全双工模式

  • fin-c = x , 表示现在需要关闭c到s了。ack-c = y,表示上一条s的消息已经接收完毕
  • ack-s = x + 1,表示需要关闭的fin-c消息已经接收到了,同意关闭
  • fin-s = y + 1,表示s已经准备好关闭了,就等c的最后一条命令
  • ack-c = y + 1,表示c已经关闭,让s也关闭
  • 滑动窗口,停止等待、后退N、选择重传
  • 拥塞控制,慢启动、拥塞避免、加速递减、快重传快恢复

五、TCP协议与UDP协议的区别

TCP(Transmission Control Protocol,传输控制协议)是面向连接的协议,也就是说,在收发数据前,必须和对方 建立可靠的连接。一个TCP连接必须要经过三次“对话”才能建立起来,其中的过程非常复杂,只简单的描述下这三次对 话的简单过程:主机A向主机B发出连接请求数据包:“我想给你发数据,可以吗?”,这是第一次对话;主机B向主机A 发送同意连接和要求同步(同步就是两台主机一个在发送,一个在接收,协调工作)的数据包:“可以,你什么时候 发?”,这是第二次对话;主机A再发出一个数据包确认主机B的要求同步:“我现在就发,你接着吧!”,这是第三次对 话。三次“对话”的目的是使数据包的发送和接收同步,经过三次“对话”之后,主机A才向主机B正式发送数据。

UDP(User Data Protocol,用户数据报协议):

  • UDP是一个非连接的协议,传输数据之前源端和终端不建立连接,当它想传送时就简单地去抓取来自应用程序 的数据,并尽可能快地把它扔到网络上。在发送端,UDP传送数据的速度仅仅是受应用程序生成数据的速度、计算机 的能力和传输带宽的限制;在接收端,UDP把每个消息段放在队列中,应用程序每次从队列中读一个消息段。
  • 由于传输数据不建立连接,因此也就不需要维护连接状态,包括收发状态等,因此一台服务机可同时向多个客户 机传输相同的消息。
  • UDP信息包的标题很短,只有8个字节,相对于TCP的20个字节信息包的额外开销很小。
  • 吞吐量不受拥挤控制算法的调节,只受应用软件生成数据的速率、传输带宽、源端和终端主机性能的限制。
  • UDP使用尽最大努力交付,即不保证可靠交付,因此主机不需要维持复杂的链接状态表(这里面有许多参数)。
  • UDP是面向报文的。发送方的UDP对应用程序交下来的报文,在添加首部后就向下交付给IP层。既不拆分,也不 合并,而是保留这些报文的边界,因此,应用程序需要选择合适的报文大小。
#android面试#
全部评论
感谢大佬的分享
点赞 回复 分享
发布于 2023-02-13 10:48 广东
还有回单,爱了爱了
点赞 回复 分享
发布于 2023-02-13 11:15 湖南

相关推荐

微风不断:兄弟,你把四旋翼都做出来了那个挺难的吧
点赞 评论 收藏
分享
11-11 14:21
西京学院 C++
Java抽象练习生:教育背景放最前面,不要耍小聪明
点赞 评论 收藏
分享
4 34 评论
分享
牛客网
牛客企业服务