网络安全常见基本概念

目录

会话(session)和流的区分

TCP连接

Telnet

TIME_WAIT状态

socket连接

参考文献


会话(session)和流的区分

流:指具有相同五元组(源IP,源端口,目的IP,目的端口,协议)的所有包

他是单向的

会话:信息交互的过程,如客户端与服务器建立链接后数据传输的过程。指由双向流组成的所有包(源和目的互换)

他是双向的

TCP连接

Telnet

Telnet协议是TCP/IP协议家族中的一员,位于OSI模型的第七层-应用层,是远程登录服务的标准协议和主要方式。

TIME_WAIT状态

主动关闭方在收到被动关闭方的FIN包后并返回ACK后,会进入TIME_WAIT状态,也叫做2MSL状态

ack:用于确认收到请求的字段

TCB

socket包含两个成分,一个是IP地址,一个是端口号。同一个设备可以对应一个IP端口,但不同的“水管”用不同的端口号区分开来,于是同一个设备发送给其他不同设备的信息就不会产生混乱。在同一时刻,设备可能会产生多种数据需要分发给不同的设备,为了确保数据能够正确分发,TCP用一种叫做TCB,也叫传输控制块的数据结构把发给不同设备的数据封装起来,我们可以把该结构看做是信封。

一个TCB数据块包含了数据发送双方对应的socket信息以及拥有装载数据的缓冲区。在两个设备要建立连接发送数据之前,双方都必须要做一些准备工作,分配内存建立起TCB数据块就是连接建立前必须要做的准备工作。

客户端发起连接的方式叫Active Open。也就是客户端需要主动向服务器发送消息,表达自己想建立数据连接的请求,通常而言客户端会向服务器发送一个SYNC数据包。服务器发起连接的方式叫Passive Open,通来说服务器不可能知道当前时刻有哪个设备想向它发起连接,因此它只能构建一个端口,然后监听该端口,等待客户端从该端口向它发起连接请求。在OPEN阶段无论是客户端还是服务器都需要准备好TCB数据结构,但由于服务器不知道要连接它的客户端信息,因此在构建TCB模块时会默认将客户端对应的socket数据初始化为0.

三次握手

四次挥手

为什么客户端要等待2MSL

主要原因是为了保证客户端发送那个的第一个ACK报文能到到服务器,因为这个ACK报文可能丢失,并且2MSL是任何报文在网络上存在的最长时间,超过这个时间报文将被丢弃,这样新的连接中不会出现旧连接的请求报文。

如果没有这一设置,当这两端重新建立连接的时候,这一信号可能被新连接识别。

socket连接

参考文献

TCP连接中的TCB指的是什么?_什么是链接的tcb-CSDN博客

简单理解TCP三次握手四次挥手(看一遍你就懂)-CSDN博客

Socket过程详细解释(包括三次握手建立连接,四次握手断开连接)_socket 连接过程-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值