面试题之计网

OSI7层模型

1.物理层:硬件方面,定义物理设备标准,传入比特流
2.数据链路层:进行差错校验,保证安全(ARP)
3.网络层:路由选择(ICMP、IP)
4.传输层:监控数据传输服务质量,保证接受到完整的包(TCP、UDP)
5.会话层:自动寻址,建立和管理应用程序之间的通信(SSL安全套接字、TLS)
6.表示层:数据格式转换
7.应用层,向用户提供服务(http,https、DNS、DHCP等)

TCP/IP4层模型

1.网络接口层(数据链路层):包含了7层模型的物理层和数据链路层的功能
2.网络层:实现IP寻址等功能
3.传输层:TCP/UDP协议
4.应用层:提供服务,有会话层到应用层的功能

输入URL到展示发生了什么

在这里插入图片描述

DNS解析,TCP连接,发送HTTP报文

HTTP和HTTPs的区别(重要)

HTTP明文传输,有风险,HTTPs使用密钥
非对称加密:
加密使用的密钥和解密使用的密钥是不相同的,HTTPS在数字证书验证的时候,采用的RSA密码体制就是一种非对称加密
对称加密:
加密使用的密钥和解密使用的密钥是相同的,也就是说加密和解密都使用同一个密钥,加密算法是公开的,密钥是加密者和解密者绝对保密的

HTTPS的连接过程

  1. Client Hello
    发送自己支持的算法
  2. Server Hello
    选择支持的算法,发送给客户端
  3. 服务器端发送证书
    证书包含了签名算法和签名值
  4. 客户端验证证书
    从证书中获取证书颁发的机构,判断是不是信任机构;
    从信任机构中获取公钥解密证书的签名值,获取一个Hash值Hash1,再对内容解密,得到Hash2,Hash1和Hash2相等则证书合法
  5. 客户端生成随机数,通过证书的公钥进行非对称加密,发送到服务器
    客户生成一个随机数,通过已知的加密算法,使用公钥加密随机数
  6. 服务器使用私钥解密,获取随机数,将随机数设为密钥,使用对称加密发送数据
    使用私钥解密随机数,将随机数设置为密钥,之后使用该随机数进行对称加密

三次握手和四次挥手

三次握手
请添加图片描述
缺一不可,缺了最后一个服务端无法确定客户端是否正常

四次挥手
请添加图片描述
双方都是发送了FIN报文后进入半关闭状态
第二个FIN不能缺,可能ACK和FIN之间还有数据传输
time_wait,客户端接收到FIN后进入time_wait状态,持续时间2MSL(报文最大生存时间)
原因:为保证最后一个ack能到达服务器,如果超时服务器会再发FIN,如果直接关闭则收不到,服务端不能进入close状态,浪费资源
2MSL保证本次连接的报文完全消失,避免本次连接的报文出现在下一次连接中

TCP的传输可靠性

1.建立连接:三次握手
2.序号:保证有序到达
3.合理分片:根据最大传输单元MTU进行分片
4.校验:使用校验和检验
5.超时重传
6.流量控制:滑动窗口
7.拥塞控制:慢启动(指数增长),拥塞避免(线性增长),快速重传和快恢复(发送方收到重复确认,表示有包丢失,立即重传已经丢失的包。发送方将发送窗口减小一般,并慢慢增加发送窗口大小)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值