IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 计算机网络 -> 正文阅读

[网络协议]计算机网络

一、三次握手和四次挥手

????????TCP处于传输层,作用是提供可靠的字节流服务,为了将数据准确无误的送到目的地,采用三次握手策略。

? ? ? ? 1.三次握手过程:

? ? ? ? ? ? ? ? (1)发送端首先发送一个带有SYN(synchronized)标志的数据包给接收方

? ? ? ? ? ? ? ? (2)接收方接收后 ,回传一个带有SYN/ACK标志的数据包给发送方,表明我收到了

? ? ? ? ? ? ? ? (3)发送方接收后,回传一个带有ACK标志的数据包给接收方,表明我知道了,“握手”结束。

? ? ? ? 2.两次握手不行吗?

? ? ? ? ? ? ? ? 不行,因为客户端和服务端都要确认连接,首先客户端发送请求,然后服务端针对请求作出回应,并同意建立连接,最后针对服务端的请求进行确认,连接完成。少一次都无法完成确认。

? ? ? ? 3.一些三次握手的问题

? ? ? ? ISN代表什么?意义何在?

????????ISN,发送方的字节数据编号的原点,让对方生成一个合法的接收窗口。

????????ISN是固定不变的吗?

????????动态随机。

????????ISN为何要动态随机?

????????增加安全性,为了避免被第三方猜测到,从而被第三方伪造的RST报文Reset。

????????还有吗?

????????ISN动态随机使得每个tcp session的字节序列号没有重叠,如果出现tcp五元组冲突这种极小?概率情况的发生,一个session的数据也不会被误认为是另一个session的。

????????刚才你提到第三方可以伪造RST报文,需要满足什么条件才能得逞?

????????需要sequence number 位于对方的合法接收窗口内。 而由于ISN是动态随机的,猜出对方合法接收窗口难度加大。

????????如果ISN = 0,那么猜出的难度就大大降低。

????????三次握手的第一次可以携带数据吗?为何?

????????不可以,三次握手还没有完成。

????????对方难道不可以将数据缓存下来,等握手成功再提交给应用程序?

????????这样会放大SYN FLOOD攻击。

????????如果攻击者伪造了成千上万的握手报文,携带了1K+ 字节的数据,而接收方会开辟大量的缓存来容纳这些巨大数据,内存会很容易耗尽,从而拒绝服务。

????????第三次可以携带数据吗?为何?

????????可以。

????????能够发出第三次握手报文的主机,肯定接收到第二次(服务器)握手报文,对吗?

????????因为伪造IP的主机是不会接收到第二次报文的。

????????所以,能够发出第三次握手报文的,应该是合法的用户。

????????尽管服务器侧的状态还没有“established”,接收到第三次握手的瞬间,状态就会切换为“established”,里面携带的数据按照正常流程走就好。

????????看到有人说,只看到过TCP状态位为 ’FIN +ACK’,但从来没有看过状态位只有 ‘FIN’,你应该怎样给他解释?

????????RFC793明确规定,除了第一个握手报文SYN除外,其它所有报文必须将ACK = 1。

????????很好,RFC规定的背后肯定有合理性的一面,能否深究一下原因?

????????TCP作为一个可靠传输协议,其可靠性就是依赖于收到对方的数据,ACK对方,这样对方就可以释放缓存的数据,因为对方确信数据已经被接收到了。

????????但TCP报文是在IP网络上传输,丢包是家常便饭,接收方要抓住一切的机会,把消息告诉发送方。最方便的方式就是,任何我方发送的TCP报文,都要捎带着ACK状态位。

????????ACK状态位单独能承担这个消息传递的任务吗?

????????不能!需要有 Acknowledge Number配合才行。

????????如果我方发出的Acknowledge Number == 10001,那意味着序列号10000及之前的字节已经成功接收。

????????如果对方占据字节序列号10000是应用层数据,那么就是确认应用层数据。

????????如果对方占据字节序列号10000是’FIN’状态位,那么就是确认接收到对方的’FIN’。

? ? ? ? 4.四次握手过程

? ? ? ? 1)主动断开方(客户端/服务端)-发送一个 FIN,用来关闭主动断开方(客户端/服务端)到被动断开方(客户端/服务端)的数据传送

? ? ? ? 2)被动断开方(客户端/服务端)-收到这个 FIN,它发回一 个 ACK,确认序号为收到的序号加1 。和 SYN 一样,一个 FIN 将占用一个序号

? ? ? ? 3)被动点开方(客户端/服务端)-关闭与主动断开方(客户端/服务端)的连接,发送一个FIN给主动断开方(客户端/服务端)

? ? ? ? 4)主动断开方(客户端/服务端)-发回 ACK 报文确认,并将确认序号设置为收到序号加1

? ? ? ? 5.一些概念:

? ? ? ? FIN:请求释放连接

? ? ? ? SYN:请求连接标志

? ? ? ? ACK:确认报文

? ? ? ? 6.为什么握手是三次,挥手是四次?

? ? ? ?建立连接时,服务器在Listen状态下,收到建立连接的SYN报文,把ACK和SYN一起发送给客户端;

? ? ? ?释放连接时,被动方服务器,突然收到主动方客户端释放连接的请求时并不能立即释放连接,因为还有必要的数据需要处理,所以服务器先返回ACK确认收到报文,经过CLOSE-WAIT阶段准备好释放连接之后,才能返回FIN释放连接报文。

二、TCP和UDP的区别

? ? ? ? (1)TCP是传输控制协议,UDP是用户数据表协议

? ? ? ? (2)TCP连接,UDP连接

? ? ? ? (3)UDP程序结构较简单,只需发送,无需接收

? ? ? ? (4)TCP安全可靠,保证数据的正确性、顺序性;UDP不安全,可能丢失数据

? ? ? ? (5)TCP适合少量数据,UDP适合大量数据传输

? ? ? ? (6)TCP速度慢,UDP速度快

三、TCP粘包怎么产生的?

? ? ? ? (1)发送方需要等缓冲区满才能发出去,造成粘包

? ? ? ? (2)接收方不能及时接收缓冲区的包,造成粘包

四、什么是XSS攻击?怎么防御?

? ? ? ? XSS攻击,即跨站脚本攻击。指浏览器渲染DOM的时候将文本信息解析成JS脚本从而引发JS脚本注入,引发一系列安全问题。

? ? ? ? 防御措施:只要我们使用HTML编码将浏览器需要渲染的信息编码后,浏览器在渲染DOM元素的时候,会自动解码需要渲染的信息,将上述信息解析成字符串而不是JS脚本,就可以避免这个问题。

? ? ? ? 手段:

????????(1)获取用户的输入,不用innerHtml,用innerText.
????????(2)对用户的输入进行过滤,如对& < > " ' /等进行转义;

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-07-17 12:17:20  更:2021-07-17 12:17:36 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/8 7:56:48-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码