单次缩写

RDB(文件快照)

redis

AOF(日志)

每执行一条指令就会记录

AOP面向切面编程

典型的代理模式的体现

IOP控制反转

典型的工厂模式,通过sessionfactory去注入实例。

ocp开闭原则

OSI模型

开放式系统互联通信参考模型(英语:Open System Interconnection Reference Model,缩写为 OSI),简称为OSI模型(OSI model),一种概念模型,由国际标准化组织提出,一个试图使各种计算机在世界范围内互连为网络的标准框架。定义于ISO/IEC 7498-1。

OSI/RM协议是由ISO(国际标准化组织)制定的,它有三个基本的功能:提供给开发者一个必须的、通用的概念以便开发完善、可以用来解释连接不同系统的框架。 [1]

OSI将计算机网络体系结构(architecture)划分为以下七层:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hHTvvXtx-1660568357741)(https://bkimg.cdn.bcebos.com/pic/77c6a7efce1b9d16a9ef96c9f2deb48f8c546469?x-bce-process=image/resize,m_lfit,w_220,h_220,limit_1)] 图1.OSI模型

物理层 : 将数据转换为可通过物理介质传送的电子信号 相当于邮局中的搬运工人。

数据链路层 : 决定访问网络介质的方式。

在此层将数据分帧,并处理流控制。本层指定拓扑结构并提供硬件寻址,相当于邮局中的装拆箱工人。

网络层 : 使用权数据路由经过大型网络 相当于邮局中的排序工人。

传输层 : 提供终端到终端的可靠连接 相当于公司中跑邮局的送信职员。

会话层 : 允许用户使用简单易记的名称建立连接 相当于公司中收寄信、写信封与拆信封的秘书。

表示层 : 协商数据交换格式 相当公司中简报老板、替老板写信的助理。

应用层 : 用户的应用程序和网络之间的接口。

根据建议X.200,OSI将计算机网络体系结构划分为以下七层,标有1~7,第1层在底部。 现“OSI/RM”是英文 “Open Systems Interconnection Reference Model”的缩写。

第7层 应用层

主条目:应用层

应用层(Application Layer)提供为应用软件而设的接口,以设置与另一应用软件之间的通信。例如: HTTP,HTTPS,FTP,TELNET,SSH,SMTP,POP3等。

第6层 表达层

主条目:表达层

表达层(Presentation Layer)把数据转换为能与接收者的系统格式兼容并适合传输的格式。

第5层 会话层

主条目:会话层

会话层(Session Layer)负责在数据传输中设置和维护计算机网络中两台计算机之间的通信连接。

第4层 传输层

主条目:传输层

传输层(Transport Layer)把传输表头(TH)加至数据以形成数据包。传输表头包含了所使用的协议等发送信息。例如:传输控制协议(TCP)等。

第3层 网络层

主条目:网络层

网络层(Network Layer)决定数据的路径选择和转寄,将网络表头(NH)加至数据包,以形成分组。网络表头包含了网络数据。例如:互联网协议(IP)等。

第2层 数据链路层

主条目:数据链路层

数据链路层(Data Link Layer)负责网络寻址、错误侦测和改错。当表头和表尾被加至数据包时,会形成帧。数据链表头(DLH)是包含了物理地址和错误侦测及改错的方法。数据链表尾(DLT)是一串指示数据包末端的字符串。例如以太网、无线局域网(Wi-Fi)和通用分组无线服务(GPRS)等。

分为两个子层:逻辑链路控制(logic link control,LLC)子层和介质访问控制(media access control,MAC)子层。

第1层 物理层

主条目:物理层

物理层(Physical Layer)在局部局域网上传送数据帧 (data frame),它负责管理计算机通信设备和网络媒体之间的互通。包括了针脚、电压、线缆规范、集线器、中继器、网卡、主机适配器等。

TCP/IP协议(面向连接的可靠的传输协议)

SYN:代表请求创建连接,所以在三次握手中前两次要SYN=1,表示这两次用于建立连接,至于第三次什么用,在疑问三里解答。

FIN:表示请求关闭连接,在四次分手时,我们发现FIN发了两遍。这是因为TCP的连接是双向的,所以一次FIN只能关闭一个方向。

ACK:代表确认接受,从上面可以发现,不管是三次握手还是四次分手,在回应的时候都会加上ACK=1,表示消息接收到了,并且在建立连接以后的发送数据时,都需加上ACK=1,来表示数据接收成功。

seq:序列号,什么意思呢?当发送一个数据时,数据是被拆成多个数据包来发送,序列号就是对每个数据包进行编号,这样接受方才能对数据包进行再次拼接。

初始序列号是随机生成的,这样不一样的数据拆包解包就不会连接错了。(例如:两个数据都被拆成1,2,3和一个数据是1,2,3一个是101,102,103,很明显后者不会连接错误)

**ack:**这个代表下一个数据包的编号,这也就是为什么第二请求时,ack是seq+1

三次握手

SYN SYN+ACK ACK

在创建连接时,

1.客户端首先要SYN=1,表示要创建连接,

2.服务端接收到后,要告诉客户端:我接受到了!所以加个ACK=1,就变成了ACK=1,SYN=1

3.理论上这时就创建连接成功了,但是要防止一个意外(见疑问三),所以客户端要再发一个消息给服务端确认一下,这时只需要ACK=1就行了。

三次握手完成!

四次分手

FIN ACK FIN+ACK ACK

在四次分手时,

1.首先客户端请求关闭客户端到服务端方向的连接,这时客户端就要发送一个FIN=1,表示要关闭一个方向的连接(见上面四次分手的图)

2.服务端接收到后是需要确认一下的,所以返回了一个ACK=1

3.这时只关闭了一个方向,另一个方向也需要关闭,所以服务端也向客户端发了一个FIN=1 ACK=1

4.客户端接收到后发送ACK=1,表示接受成功

四次分手完成!

Socket

套接字

插座

四元组

ip:port + ip:port

端口默认有:65535