系列文章总结
【计算机网络基础——系列1】-matlab与python使用socket udp进行进程间通信
【计算机网络基础——系列2】-matlab与python使用socket tcp进行进程间通信
【计算机网络基础——系列3】输入url后页面会遇到的问题
【计算机网络基础——系列4】关于HTTP请求的相关内容
【计算机网络基础——系列5】前端遇到的三种网络攻击
【计算机网络基础——系列6】浏览器缓存之cookie、session、localstorage
【计算机网络基础——系列7】浏览器缓存之—http缓存
【计算机网络基础——系列8】前端优化总结
【计算机网络基础——系列9】restful规范;dns劫持
【计算机网络基础——系列10】osi网络结构;tcp协议保持传输的可靠性;SSL
【计算机网络基础——系列11】实现python作为服务端与qt进行udp通信
一、osi网络分层
互联网的本质就是一系列的网络协议,这个协议就叫做osi协议(一系列协议),安照功能不同,分工不同,可以有集中分法:
- 第一种:七层
应用层、表示层、会话层、传输层、网络层、数据链路层、物理层
- 第二种:五层
应用层、传输层、网络层、数据链路层、物理层
- 第三种:四层
应用层、传输层、网络层、网络接口层
二、tcp保证传输的可靠性
主要是通过四种机制保证的:
- 确认应答机制
- 超时重连机制
- 流量控制机制
- 拥塞窗口机制
而tcp保证有序的方法:
- 他必须受到上一个数据帧的ACK后才发下一个数据(确认应答)
- 主机每次发送数据时,TCP就给每一个数据包分配一个序列号并且再特定的时间内等待接收主机对分配的这个序列号进行确认,接收主机利用序列号对接收的数据进行确认,以便检测对方发送的数据是否有丢失或者乱序(确认应答)
- 如果发送主机在一个特时间内没有收到接收主机的确认,则发送主机会重传此数据包(超时重传)
- 接收方再收到数据包后先进行CRC校验,如果正确则把数据交给上层协议,然后给发送方发送一个累计应答包,表明数据已经收到,如果接收方也有数据放送给对方,数据包也可和应答包一块发送过去。(确认应答)
三、SSL
SSL是安全套接层,SSL就是指再明文的上层和TCP之间加上一层加密,这样就保证上层信息传输的安全。如HTTP协议是明文传输,那么加上SSL层之后,就有了HTTPS。
而SSL认证又分为单向认证、双向认证
3.1 单向认证
单向认证指的是只有一个对象校验端的整数合法性,通常是客户端来校验服务器的合法性,那么客户端需要一个ca.crt;服务器需要一个sever.crt,sever.key。
例如:浏览器校验各个 HTTPS 网站的合法性。如果导航栏有绿色的小锁,说明网站合法;如果是红色小锁,说明该网站证书校验不过。
3.1 双向认证
指的是相互校验,服务器需要校验每个客户证书,客户也需要校验服务器证书。sever需要sever.key、sever.crt、ca.crt;client需要client.key、client.crt、client.crt。(不认证指的是不进行相互校验证书,直接使用TLS连接)
码字不易~, 各位看官要是看爽了,可不可以三连走一波,点赞皆有好运!,不点赞也有哈哈哈~~~