网站手机app开发,深圳宝安沙井网站建设,学校官网主页网页设计,网站开发教学文章简介HTTP协议(超文本传输协议)和 UDP(用户数据包协议)#xff0c;TCP 协议(传输控制协议)TCP/IP是个协议组#xff0c;可分为四个层次#xff1a;网络接口层、网络层、传输层和应用层。在网络层有IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议。在传输层中有TCP协议与UDP…简介HTTP协议(超文本传输协议)和 UDP(用户数据包协议)TCP 协议(传输控制协议)TCP/IP是个协议组可分为四个层次网络接口层、网络层、传输层和应用层。在网络层有IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议。在传输层中有TCP协议与UDP协议arq协议。在应用层有FTP、HTTP、TELNET、SMTP、DNS等协议。TCP 与 UDPTCP与UDP基本区别UDP与TCP的区别与联系一UDP是面向无连接的协议TCP 是面向连接的协议UDP发出请求后即发送数据之前不需要先连接TCP 发送数据之前需要先连接二UDP 相对TCP来说是不可靠的因为 UDP 在发送数据以后没有采用超时重发停止等待机制拥塞控制三TCP 面向流UDP 面向报文TCP优缺点优点可靠稳定TCP的可靠体现在TCP在传递数据之前会有三次握手来建立连接而且在数据传递时有确认、窗口、重传、拥塞控制机制在数据传完后还会断开连接用来节约系统资源。缺点慢效率低占用系统资源高易被攻击TCP在传递数据之前要先建连接这会消耗时间而且在数据传递时确认机制、重传机制、拥塞控制机制等都会消耗大量的时间而且要在每台设备上维护所有的传输连接事实上每个连接都会占用系统的CPU、内存等硬件资源。而且因为TCP有确认机制、三次握手机制这些也导致TCP容易被人利用实现DOS、DDOS、CC等攻击。UDP优缺点优点快比TCP稍安全UDP没有TCP的握手、确认、窗口、重传、拥塞控制等机制UDP是一个无状态的传输协议所以它在传递数据时非常快。没有TCP的这些机制UDP较TCP被攻击者利用的漏洞就要少一些。但UDP也是无法避免攻击的比如UDP Flood攻击……缺点不可靠不稳定 。因为UDP没有TCP那些可靠的机制在数据传递时如果网络质量不好就会很容易丢包。### 三次握手与四次挥手三次握手第一次握手:第一次连接时客户端向服务器端发送SYN(synj)等待服务器端的确认此时客户端进入SYN_SEND状态SYN同步序列号第二次握手服务器端收到客户端发来的SYN必须向客户端发送ACK包(ackj1k)同时自己必须发送一个SYN包即synack此时进入SYN_REC状态第三次握手客户端收到服务器端发来的synack包向服务器发送ack包(ackk1),发送完毕此时进入ESTABLISH状态连接成功完成第三次连接。发送 确认第一次SYN1 SEQX ACK0(客)第二次SYN1 SEQY ACKX1(服)第三次 SEQX1 ACKY1(客)4次挥手当主机A完成数据传输后,将控制位FIN置1,提出停止TCP连接的请求A进入终止等待1(FIN-WAIT-1)状态主机B收到FIN后对其作出响应,确认这一方向上的TCP连接将关闭,将ACK置1tcp处于半关闭状态(half-close)a收到b端的确认后就进入终止等待2状态由B 端再提出反方向的关闭请求,将FIN置1进入last-wait状态主机A对主机B的请求进行确认,将ACK置1,双方向的关闭结束.进入时间等待状态(time-wait)时间等待计数器设置的时间过了2msl以后进入closed状态三次握手的原因如果只有两次握手的话比如说失效的报文段突然发送到服务端服务端收到失效报文段的请求后会发送确认报文新的连接就建立起来了。但现在由于客户端并没有发出请求所以并不会理睬服务端的确认也不会像服务端发送数据。而服务端以为已经连接起来了一直在等待浪费资源。四次挥手的原因TCP建立连接要进行3次握手,而断开连接要进行4次,这是由于TCP的半关闭造成的,因为TCP连接是全双工的(即数据可在两个方向上同时传递)所以进行关闭时每个方向上都要单独进行关闭,这个单方向的关闭就叫半关闭.关闭的方法是一方完成它的数据传输后,就发送一个FIN来向另一方通告将要终止这个方向的连接.当一端收到一个FIN,它必须通知应用层TCP连接已终止了这个方向的数据传送,发送FIN通常是应用层进行关闭的结果.名词解释ACK TCP报头的控制位之一,对数据进行确认.确认由目的端发出,用它来告诉发送端这个序列号之前的数据段都收到了.比如,确认号为X,则表示前X-1个数据段都收到了,只有当ACK1时,确认号才有效,当ACK0时,确认号无效,这时会要求重传数据,保证数据的完整性.SYN 同步序列号,TCP建立连接时将这个位置1FIN 发送端完成发送任务位,当TCP完成数据传输需要断开时,提出断开连接的一方将这位置1Http 与 httpsHttp 是在应用层上的传输协议底层是 TCP 协议实现的它一种面向无状态的连接短连接之所以说他无状态是因为在每一次请求完成之后都会把连接关了不会记住是哪一个客户端连接。四种请求方式getpostpulldelete请求信息有请求行请求头请求正文请求行请求方式请求地址请求协议请求头头名称头值请求正文(只有post请求才会有)响应信息有相应行响应头响应正文响应行响应协议状态码状态信息响应 头头名称和头值响应正文Http1.0与Http1.1Http2.0的区别http 2.0采用二进制的格式传送数据不再使用文本格式传送数据http2.0对消息头采用hpack压缩算法http1.x的版本消息头带有大量的冗余消息http2.0 采用多路复用即用一个tcp连接处理所有的请求真正意义上做到了并发请求流还支持优先级和流量控制http2.0支持server push服务端可以主动把cssjsp文件主动推送到客户端不需要客户端解析HTML再发送请求当客户端需要的时候它已经在客户端了。Http1.0一次只能处理一个请求和响应Http1.1一次能处理多个请求和响应多个请求和响应过程可以重叠增加了更多的请求头和响应头比如Host、If-Unmodified-Since请求头等http和https的区别https相当于http加上安全套接字采用ssl加密技术主要的区别在osi模型中http工作于应用层https工作与传输层http传输的时候采用明文传输https采用加密传输http不需要证书https需要响应额证书http以http开头默认端口是80https 以https开头默认的端口是243上传视频的时候为什么不用 Http 协议因为上传视频的时候文件一般比较长如果我们采用 post 请求的话写到输出流中它并不会直接写到服务器中而是会缓存在内存中会影响我们的执行效率扩展补充停止等待机制是指每发送完一个分组就会停止发送必须受到对这个分组的确认才会继续发送下一个分组超时重传是指每发送一个分组就会为这个分组启动一个超时计数器在规定的时间内没有受到确认就会再次发送这个分组。在连续ARQ协议中为提高信道利用率通常采取的做法是发送方维持一个发送窗口凡是位于该窗口内的分组都可以发送出去无需等待确认在接收方是采用累积确认即对按需到达的分组后一个分组发送确认表明在这个分组以前的所有分组都已正确接收到拥塞控制与流量控制流量控制是一个端到端的过程是值接收方限制发送方的速率不要太快使接收方来得及接收拥塞控制是一个全局的过程是只不要向网络注入太多的数据导致链路或者路由器损坏拥塞控制采用四种算法慢开始和拥塞控制快重传和快恢复慢开始是cwnd(拥塞窗口)每次回从1开始每经过一个往返时间cwnd的值就会加倍拥塞避免是指每经过一个往返时间cwnd的值会加一是一个线性的过程。慢开始和拥塞避免:会设置一个慢开始门限当cwnd《sshreh的时候会采用满开始算法当超过这个值的时候会采用拥塞避免的算法当出现拥塞的时候会把sshreh的值取为发送方窗口值当前的一半再把cwnd取为1从1开始使用满开始算法。快重传和快恢复收到三个重复确认的时候会把sshreh的值置为当前值的一半与慢开始不同的是它会把拥塞窗口的值取为当前慢开始门限的一半执行拥塞避免算法快重传要求接收方没收到一段失序的报文段就要向发送方发送一个确认洪水攻击向服务器端发送大量的伪TCP连接请求这时候服务器端会进入syn_receive半连接状态服务器端会尝试发送多次包来确认因为这些连接时假冒的所以并不会完成第三次握手导致服务器端保持大量的半连接状态耗费资源是TCP连接队列被塞满。解决方法做一些应急处理对这些IP地址的特征来禁止响应的IP地址字段的访问。应急处理毕竟太被动因为本机房的F5比较空闲运维利用F5来挡攻击采用方式让客户端先和F5三次握手连接建立之后F5才转发到后端业务服务器。扫一扫欢迎关注我的公众号 stormjun94。如果你有好的文章也欢迎你的投稿。