面试-计算机网络1

网络分层模型
OSI:Open System Interconnection,开放式系统互联。国际标准化组织(ISO)指定的理论模型。
TCP/IP四层模型:基于OSI建立的实际实现的模型。
在这里插入图片描述应用层协议:http
网络互联层:ip,寻址,跟服务器建立连接(了解服务器的地址),每个电脑都有一个ip(标记主机地址)
TCP三次握手与四次挥手
在这里插入图片描述C -> B
S:客户端的发送能力没问题
C:服务端的接收能力没问题,以及发送能力没问题
S:客户端的接收能力没问题
在这里插入图片描述在这里插入图片描述第一行:客户端向服务端发送:SYN同步||Seq=0序列号=0
第二行:将ACK置为1–就是将接收到的序列号+1–同时发一个自己的序列号Seq=0
第三行:第三次握手,客户端向服务端发送,之前的序列号Seq=0已经用了,此时,Seq=1,Ack=1
.
建立连接需要三次握手,断开连接需要四次挥手
.
Q:为什么握手三次,挥手要四次???
A:客户端—>服务端 发送finish信号
…服务端—>客户端 把没有发完的数据发完
…服务端—>客户端 发送finish信号
…客户端—>服务端 返回ACK
#################################################
http:超文本传输协议
HTTP在传输数据时,所有传输的内容都是明文,无法保证数据的安全性(账号,密码,个人信息等隐私)
HTTPS即:HTTP Over TLS,运行在TLS协议上的安全的HTTP协议
在这里插入图片描述保证信息安全的唯一途径:数据信息加密!!!
1994年,NetScape->SSL1.0
1995年,SSL2.0
1996年,SSL3.0
1999年,互联网标准化组织ISOC接替NetScape,–>TSL1.0
2006年,TLS1.1
2008年,TLS1.2
2018年,TLS1.3
百度:TLS1.2
SSL握手:
SSL握手的过程都是明文,因此SSL握手的重点就在于怎么在不安全的网络中安全的进行密钥交换!
RSA算法交换密钥步骤:
1、客户端给出协议版本号、一个随机数(Random1),以及客户端支持的加密方法
2、服务端确认使用的加密方法,并给出数字证书、以及随机数(Random2)
3、客户端确认数字证书有效,生成一个新的随机数(premaster secret),并使用数字证书中的公钥,利用RSA算法加密这个随机数,发给服务端
4、服务端使用自己的私钥,获取客户端发来的随机数(premaster secret)
5、客户端和服务端根据约定的加密方法,使用前面三个随机数,生成对话密钥(master secret),用来加密接下来的整个对话过程
整个通话的安全,只取决于第三个随机数(premaster secret)能不能被破解????????
更安全的方法:
DH算法:premaster secret不需要传递,双方只要交换各自的参数,就可以计算出这个随机数
百度ECDHE_RSA
在这里插入图片描述数字证书:
证书就是身份证,由权威CA机构(‘国家’)颁发
·电脑系统信任证书
·Android系统信任证书
在这里插入图片描述用代码信任服务端的证书
5使用自签署证书完成HTTPS交互
如何做到既信任自己的证书又信任权威机构的证书----将自己的证书和官方证书整合起来(自己写一个类)
在这里插入图片描述在这里插入图片描述传一个null进去,就会自动把所有的系统证书加载进来了
在这里插入图片描述多线性!
非常耗时的异步任务,使用asynctask不合适
在这里插入图片描述这是一个串行任务
######################
核心线程
最大线程
限制时间
等待队列
okhttp是如何实现高并发请求的?
每一个http请求都会交给一个Dispatcher分发器,由分发器再交给线程池去执行
SynchronousQueue:不保存数据
最大并发量!!!不需要等待
LinkedBlockingQueue要等待
##################################################################################################################################################################################################################################################################################################################################
###################################################################################################################################################
################################################
10道大厂面试必考计算机网络问题
1、请详细介绍一下TCP的三次握手机制,为什么要三次握手?
(1)为什么需要握手?
(2)为什么是3次?
在这里插入图片描述TCP可靠性:发一个消息,对方回一个收到了,才叫发成功
对每一个消息进行编号,序列号
客服端-服务器 同时发消息(双工)
正常四次握手
2、能否简单介绍一下HTTP协议中缓存的处理流程?
缓存的应用流程是什么?
与缓存相关的HTTP头部是什么?
在这里插入图片描述缓存:cache($)
User Agent:浏览器
Proxy:正向代理服务器
Gateway:反向代理服务器(负载均衡)
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述3、在地址栏键入URL后,网络世界发生了什么?
在这里插入图片描述在这里插入图片描述在这里插入图片描述TCP层进程到进程
IP层主机到主机----路由
数据链路层:局域网内的通信和网络之间的通信
在这里插入图片描述长连接和短连接的区别:
UDP协议只支持小数据
缺点:
TCP协议-字符流协议,从文件头传到文件尾
串行–有一个报文丢包,对方应用层也不能接收
5、介绍下CLOSE_WAIT状态产生的原因
在这里插入图片描述谁先主动关?主动关和被动关
6、能介绍一下多播是怎样实现的么?
在这里插入图片描述在这里插入图片描述7、服务器的最大并发连接数是多少?
在这里插入图片描述高并发
并发连接是由TCP四元组决定的
在这里插入图片描述端口和进程关联
怎样实现高并发?
事件驱动,无阻赛
Linux下的高并发优化?
8、TCP和UDP协议该如何选择?
在这里插入图片描述TCP handle长于UDP handle
UDP容忍丢包(车联网+视频直播)
9、TLS/SSL协议是怎样保障信息安全的?
PKI证书体系
秘钥交换协议
对称加密算法
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值