TCP、UDP、HTTP、HTTPS、Socket协议之间的联系

本文深入探讨了TCP与UDP两种传输层协议的特点与区别,详细解释了TCP的三次握手建立连接和四次挥手断开连接的过程,以及UDP的无连接特性。同时,对比了TCP与UDP在可靠性、速度、数据包大小等方面的差异。

简单说说TCP的三次握手

**传输控制协议TCP简介

++面向连接的、可靠的、基于字节流的传输层通信协议
++将应用的数据流分割成报文段并发送给目标结点的TCP层## 标题
++数据包都有序号,对方收到则发送ACK确认,未收到则重传
++使用校验和来检验数据传输过程中是否有误
**
在这里插入图片描述

TCP Flags

++URG:紧急指针标志
++ACK:确认序号标志
++PSH:push标志
++PST:重置连接标志
++SYN:同步序号,用于建立连接过程
++FIN:finish标志,用于释放连接

在这里插入图片描述
在这里插入图片描述

为什么需要三次握手才能建立起连接

为了初始化Sequence Number 的初始化值

首次握手的隐患----------SYN超时

++Server收到Client的SYN,回复SYN-ACK的时候未收到ACK确认
++Server不断重试直至超时,Linux默认等待63秒才断开连接

针对SYN Flood的防护措施

++SYN队列满后,通过tcp_syncookies参数回发SYN Cookie
++若为正常连接则Client会回发SYN Cookie,直接建立连接

建立连接后,Client出现故障怎么版办

保活机制

++向对方发送保活探测报文,如果未收到响应则继续发送
++尝试次数达到保活探测数仍未收到响应则中断连接

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

原因

++确保有足够的时间让对方收到ACK包
++避免新旧连接混淆

为什么需要四次握手才能断开连接

因为全双工,发送方和接受方都需要FIN报文和ACK报文

服务器出现大量CLOSE_WAIT状态的原因

对方关闭socket连接,我方忙于读或写,没有及时关闭连接
++检查代码,特别是释放资源的代码
++检查配置,特别是处理请求的线程配置

UDP简介

UDP报文结构

在这里插入图片描述
在这里插入图片描述

TCP和UDP的区别

结论

1.TCP面向连接有三次握手而UDP无连接是多播发布重单个点向多个点发布
2.TCP比较可靠UDP可能会丢失
3.TCP有序UDP无序
4.TCP速度比较满 UDP快比如在线广播和视频 多人在线游戏
5.量级TCP20个字节UDP8个字节

TCP的滑动窗口

RTT和RTO
++RTT:发送一个数据包到收到对应的ACK,所花费的时间
++RTO:重传时间间隔

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

HTTP简介

超文本传输协议HTTP的主要特点

++支持客户/服务器模式
++简单快速
++灵活
++无连接
++无状态

在这里插入图片描述

请求/响应的步骤

++客户端连接到Web服务器
++发送HTTP请求
++服务器接受请求并返回HTTP响应
++释放连接TCP连接
++客户端浏览器解析HTML内容

在浏览器地址栏键入URL,按下回车之后经历的流程

答案
DNS解析=》TCP连接=》发送HTTP请求=》服务器处理请求返回HTTP报文=》浏览器解析渲染页面=》连接结束

HTTP状态码

五种可能取值
++1xx:指示信息–表示请求已接受,继续处理
++2xx:成功–表示请求已被成功接受、理解、接受
++3xx:重定向–要完成请求必须进行更进一步的操作
++4xx:客户端错误–请求有语法错误或请求无法实现
++5xx:服务器端错误–服务器未能实现和法的请求

在这里插入图片描述

GET请求和POST请求的区别

在这里插入图片描述

Cookie和Session的区别

Cookie简介
++是由服务器发给客户端的特殊信息,以文本的形式存放在客户端
++客户端再次请求的时候,会把Cookie回发
++服务器接受到后,会解析Cookie生成与客户端相对应的内容

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

HTTP和HTTPS的区别

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值