网络通讯
2021-07-03 18:27:39 28 举报
AI智能生成
计算机网络基础知识,关注即可获取更多 IT 知识。。。
作者其他创作
大纲/内容
RSocket
双向通讯
内部实现
架构
用途
基于RSocket架构的 Broker
扩展
rsocket 官网
rsocket-go
云提供商网络搭建
网络隔离:办公、测试、生产、公有云
目的:提高安全性
公有云网络
售卖区:通过 VPC 技术把网络隔离成多个子网。
OXS
专有网络:VPC(Virtual Private Cloud)
好处
组成:每个VPC都由一个私网网段、一个路由器和至少一个交换机组成
简化版
4种通讯模式
即发即忘 FireAndForget - 日志上报
请求响应 RequestResponse - HTTP
流 RequestStream - MQ
通道 RequestChannel - IM
HTTP VS RPC
HTTP
状态码
HTTPS
对称加密
加密和解密用同一个密钥;
通过网络传输密钥不安全
密钥交互双方必须都要知道
非对称加密RSA
用私钥加密数据,只能用公钥解;用公钥加密数据,只能用私钥解;
公私钥交互双方没必须都要知道
如何保证公钥的安全传输?防止被别人截取?
CA 证书传输?
1. 生成信息摘要:将证书中的个人信息 + 服务器公钥,用hash算法生成一个信息摘要,防止被人修改(一旦修改,摘要就会不同),但没有解决被替换的问题?
2. 生成数字签名: 用CA的私钥将信息摘要加密
3. 生成数字证书:个人信息+ 服务器公钥 + 数字签名
4. 将CA的公钥传递给客户端,由于解析CA 数字证书
如何保证CA的公钥安全的传输呢?无解,只能无条件相信CA了
CA证书分级认证,根部是操作系统/浏览器的顶层CA证书(默认自动信任了他们)
HTTPS 工作原理?【RSA + 对称加密】
1. 客户端(浏览器)向服务器请求https连接。
服务器返回证书到客户端,从证书中获取服务器公钥。
2. 客户端随机生成秘钥A,然后用公钥对A进行加密并发送给服务器。
3. 服务器通过私钥解密得到客户端秘钥A,然后客户端与服务器通过对称秘钥A加密的密文通信。
组成
Get - 从指定的资源请求数据
Post - 向指定的资源提交要被处理的数据
对比
TCP VS UDP
拥塞控制机制
滑动窗口相关,慢启动,拥塞避免,快重传,快恢复。。。。
TCP与UDP区别?
TCP协议是一种面向连接的、可靠的、基于字节流的传输层通信协议,TCP是全双工模式。
三次握手四次挥手?
常见问题
详述整个过程与状态,挥手时TIME_WAIT状态,原因,长度,大量TIME_WAIT有什么危害。
为什么客户端最后还要等待2MSL(两个最大段生命周期)?
保证链接可以可靠关闭
保证这次连接的重复数据段从网络中消失
如果已经建立了连接,但是客户端突然出现故障(宕机、被拔网线)了怎么办?原本的TCP 连接还存在吗?双方做了哪些动作?
服务端有数据传输:服务端触发“超时重传”机制
服务端没有数据传输,要判断是否开启了 keepalive 机制
TCP keepalive 机制
TCP keepalive 机制探测2h的时间也太长了吧?
为什么连接的时候是三次握手,关闭的时候却是四次握手?
建立和关闭链接过程
SYN 攻击
什么是 SYN 攻击?
如何检测 SYN 攻击?- 使用系统自带的 netstats 命令
如何防御 SYN 攻击?
缩短超时时间
增加最大半链接数
过滤网关防护
SYN cookies 技术
TCP KeepAlive - 传输层心跳检测
原理
局限
发送一个 probe 包,会给网络带来额外的流量
只能在内核层级监测连接的存活与否,而连接的存活不一定代表服务的可用。
对比
tcp的keepalive主要是一种保活机制,检测对端是否依然存活。
http的keep-alive 主要是为了复用tcp连接,避免每次连接都建立tcp
TCP 使用校验和,确认和重传机制来保证可靠传输
TCP 给数据分节进行排序,并使用累积确认保证数据的顺序不变和非重复
TCP 使用滑动窗口机制来实现流量控制,通过动态改变窗口的大小进行拥塞控制
TCP 不是 100% 可靠的协议? 它所能提供的是数据的可靠递送或故障的可靠通知
IO 多路复用你怎么理解的? select/poll/epoll的区别
0 条评论
下一页