TCP,HTTP,WEBSOCKET随记

TCP ,HTTP,WEBSOCKET随记

TCP

tcp:Transmission Control Protocol ,传输控制协议,属于(OSI:open system interconnection)七层结构中的输出层。

tcp三次握手:用C表示客户端机器 S表示服务端机器。
第一次握手:C向S发送一次数据包请求,第一次数据包包含了,源端口地址,目标地址,syn等,syn: syncronizhed sequence number.此时C的请求处于 syn_send.
第二次握手: S接受到了C的请求包之后,会向C发送syn+1,以及一个确认码(ack),此时S机器请求就处于syn_recv的状态(容易受到洪水攻击)
第三次握手:C受到了S返回的syn+1,以及ack后,就会再回复S一个ack+1,当S服务器收到了ack+1.到此为止,三次握手完成,已经建立了TCP连接。
tcp的四次挥手:用C表示客户端机器 S表示服务端机器。
第一次挥手:当C客户端接受到S的数据之后,或者说应用程序处理完数据之后,应用程序通知TCP,C机器的TCP协议向S服务发送fin(finish)。
第二次握手:服务S接受到了C的fin标志之后,不会立即关闭连接,TCP会先返回一个ack给C服务器,表明我已经接受到你要关闭连接的命令,就不要再此发送fin命令,返回ack后,TCP会向S服务的应用程序通知,C服务器需要关闭连接,S应用程序答复,我这边已经处理好了,可以关闭了。
第三次握手:服务S开始向C服务发送fin标志。
第四次握手:C服务在接受到S发送的fin标志,就发送给S服务器ack+1.S服务器接受到了ack+1.服务器层就断开了连接。
基于TCP三次握手的洪水攻击
洪水攻击是利用TCP三次握手中第二次握手的时间漏洞,在第二次握手成功之后,S服务器就会处于syn_recv的状态,如果有一台伪装机,进行恶意攻击,利用伪ip地址发送请求之后,等到S服务发送了syn+1,以及ack之后一直不给以答复,这样就导致S服务器一直处于半连接的状态。如果伪装机不断发送请求,将导致S服务器的半连接数量越来越多,最后导致存储半连接的队列堆满,从而导致正常的连接连不上S服务器,类以S服务器处于宕机的状态。
怎样预防TCP的洪水攻击了
目前针对洪水攻击的方法有两个,第一,就是缩短半连接的等待时间,第二,就是在linun系统下运用syn cookie firewall.

HTTP

http: Hyper Text Transfer Protocol(超文本传输协议) HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等). 其次HTTP还有一个特点,就是其属于半双工协议。具体http协议包含了什么内容,我这就不多作介绍,连接http协议的内容

单工,半双工,全双工: 单工,数据单向传输,这条马路永远是单行道, 半双工,数据传输是双向的,例如,一座桥,某一刻只能A—B,另一刻下午B—>A。全双工,就是数据可以双向传输,在同一时刻,数据是可以双向输出的。也就在同一条马路是双向的。可以同一个时刻过车。
http应用程序之间的通信:一般A服务器上的浏览器(也是一个应用程序)向B服务端(应用程序)发送了http请求会经过那些处理到达了B服务端了。
第一步:A服务器发送了请求,首先A服务器上的http协议对浏览器中页面信息进行打包成数据报文。并把保文传输到了TCP(传输协议层)
第二步:TCP层协议,将HTTP协议层传输过来的数据报文进行切割处理,然后进行编码,加密处理。
第三步:IP协议层(网络层),就是寻址,这一层主要有一些路由器组成。
第四步:再经过链路层和物理层将数据传输到B服务器。然后B服务其TCP/IP层协议进行DNS的解析以及数据包的拼接,解码,解密等一序列的操作。
第五步:B服务端的http协议,拿到数据报文,进行相应的处理。最后将处理结果按照之前的协议流程发送到A服务器。

websocket协议

websocket: WebSocket协议是双向通信协议,在建立连接之后,客户端和服务器都可以主动向对方发送或接受数据。WebSocket协议建立的前提需要借助HTTP协议,建立连接之后,持久连接的双向通信就与HTTP协议无关了。

websocket的运用,例如,当你在新增一条代办记录,你可以在前端页面的右上角有个小图标进行提示。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值