网络
文章平均质量分 79
is_qinxu@163.com
电话:18013032683
微信:xq-wise_loving
邮箱:is_qinxu@163.com
展开
-
IP协议分片&&重组问题
IP数据报分片的主要目的是为了防止IP数据报文长度超过下一跳链路(最大传输单元)。原创 2023-08-28 22:35:40 · 3435 阅读 · 0 评论 -
IP协议报文结构
所以,尽管最小长度固定是20字节,IP头部中还是有必要包含一个 LENGTH 字段,来动态指示当前报头的长度,这对解析报文和扩展协议都非常重要。虽然最小长度是20字节,但IP头部中的可选字段使得其长度可以变化,最大可达60字节。IP报头有固定的格式,共包含了10个标准字段,加上可选字段,最大长度为60字节。IP头部有一个4位的"报头长度"字段,单位为4字节,它指明了当前报头包含的4字节段数量。IP报头的最小长度确实是20字节。例如,如果报头长度值为5,则报头的大小是 5 * 4 = 20字节。原创 2023-08-24 21:38:06 · 565 阅读 · 0 评论 -
三次握手四次挥手之全连接&&半连接队列
不管是半连接队列还是全连接队列,都有最大长度限制,超过限制时,内核会直接丢弃,或返回 RST 包(在TCP通信中,RST包用于终止连接或者中断双方之间的通信。服务器listen socket收到客户端SYN请求后,放入这个队列等待连接建立。,并向客户端响应 SYN+ACK,此时服务端处于SYN_RCYD状态。方法只是为了从全连接队列中拿出一条连接,本身跟三次握手几乎毫无关系。接着客户端会返回 ACK,服务端收到第三次握手的 ACK 后,时,内核会自动创建一个半连接队列和全连接队列。每一个socket执行。原创 2023-08-24 20:33:21 · 282 阅读 · 0 评论 -
三次握手&&四次挥手
首先我们要清楚,建立连接意味着OS需要把这些已经建立好的连接管理起来。要管理!就要先描述,在组织!OS内为了管理连接就要创建数据结构所以说,创建维护连接是有成本的!!!即 内存+CPU2次为什么不可以2次握手—SYN洪水,非常容易收到攻击,大量的SYN请求,导致服务器OS只要收到SYN就开始维护链接,导致内存和CPU的高负荷。- 如果仅 SYN - SYN/ACK,那就不能判断服务器到客户端的SYN/ACK是否丢失,从而导致服务器处于一直处于ESTABLISHED状态,但客户端没有成功建立连接。原创 2023-08-23 22:19:30 · 258 阅读 · 0 评论 -
TCP可靠性机制
TCP帮助确保数据的准确传递。为了做到这一点,其使用了一些特殊的标记和信息,其中包括序号、确认号和ACK字段。其中,它将每个字节的数据都进行了编号. 即为序列号.:就像给书中的每一页都编了号码一样,TCP也给要发送的数据包编上号码,这个号码叫做序号。这个序号表示该数据包在整个数据包的位置(tcp是面向字节流的,当数据包过大时会被拆分成多个数据包进行发送)。这样,接收方就知道哪些数据包已经接收,哪些还没有。:当接收方收到一个数据包后,它会回应一个特殊的包,其中包含一个确认号。原创 2023-08-22 22:12:43 · 702 阅读 · 0 评论 -
TCP性能机制
发送方如果长时间没有收到ACK应答,则会触发超时重传机制,重新发送数据包。但如果接收数据的主机立刻返回ACK应答, 这时候返回的窗口可能比较小,发送方一次只能发少量数据,效率较低。原创 2023-08-22 22:09:13 · 515 阅读 · 0 评论 -
TCP滑动窗口
在计算机网络中,数据通常被分成小块(也叫数据段)在网络中传输(为什么会被分成小块,请了解拥塞窗口和流量控制)。这些小块可能会在传输的过程中遇到延迟、丢失或乱序等问题。为了保证数据的正确传输,我们需要一种方法来管理数据的发送和接收。而滑动窗口就像是一个虚拟的窗口,用来控制发送方和接收方之间的数据交换。当发送方把数据段发送给接收方时,发送窗口会向前滑动,表示发送方可以继续发送更多的数据。接收方会根据自己的接收窗口的大小,告诉发送方它可以接收多少数据。原创 2023-08-22 22:07:06 · 334 阅读 · 0 评论 -
TCP协议报文结构
TCP(传输控制协议)是一种面向连接的、可靠的、全双工的传输协议。它使用头部(Header)和数据(Data)来组织数据包,确保数据的可靠传输和按序传递。原创 2023-08-20 21:06:57 · 936 阅读 · 0 评论 -
get&post请求方法区别
POST请求相对较安全,因为请求参数不会被暴露在URL中,比较私密,但仍可以被捕捉。POST请求将请求参数放在请求的消息体中进行传输,请求消息体通常是一个表单,其中包含了多个键值对,例如表单提交、文件上传等。GET请求的请求参数长度受限于URL的长度限制,在不同的浏览器和服务器上有不同的限制,一般在2KB~8KB之间。POST请求的请求参数长度没有明确的限制,但是受服务器和客户端的限制,一般在2MB左右,可以传输更大量的数据。GET请求将请求参数附加在URL后面,以问号(?原创 2023-08-20 20:14:47 · 100 阅读 · 0 评论 -
HTTPS
HTTPS 属于应用层协议,在 TCP 和 HTTP 网络层之间加入了 SSL/TLS 安全协议,使得报文能够加密传输。原创 2023-08-19 20:50:59 · 378 阅读 · 0 评论 -
会话保持之Cookie&&Session
当你在浏览网页、登录社交媒体、购物网站,甚至使用各种在线服务时,你可能会遇到一个名为 “cookie” 的东西。那么,为什么需要这个 “cookie” ,什么是"cookie"?用简单的话来解释,“cookie” 就像是网站和你之间的一张小便条,它记录了一些信息,以便在你后续的访问中提供更好的体验。想象一下你在购物网站上购物的情景。当你把商品添加到购物车时,网站需要知道哪些商品是属于你的,以及你的购物车里有什么。这就是 “cookie” 的用处之一。原创 2023-08-18 21:16:06 · 517 阅读 · 1 评论 -
HTTP的并发连接限制和连接线程池
大量的客户端连接到服务器,会导致服务器端需要大量的维护连接资源,同时需要处理客户端的请求,这是如何高效的执行任务成了一个关键的问题,所以,的出现就是为了解决。原创 2023-08-18 20:48:46 · 1183 阅读 · 0 评论 -
HTTP连接管理
HTTP初始时1.0版本在浏览器每一次向服务器请求完资源都会立即断开TCP连接,如果想要请求多个资源,就必须建立多个连接,这就导致了服务端和客户端维护连接的开销。例如:一个网页中包含文字资源也包括视频资源也包括音频资源,曾经的http必须为每一个资源都建立一个连接来获取资源,这种连接方式叫做非持久连接。原创 2023-08-18 20:35:17 · 801 阅读 · 0 评论 -
URL的结构与作用
URL就像是互联网上资源的地址,就像你家的地址告诉别人你住在哪里一样。通过URL,我们能够找到并访问网络上的网页、图片、视频等各种东西。当我们在浏览器中输入一个网址,其实就是在告诉浏览器去哪里找需要的东西。URL还能让我们在网页上点击链接,跳转到其他页面或资源,就像点击地图上的标记去不同的地方一样。另外,开发者也可以用URL来让程序之间交换信息,比如通过URL来获取数据。所以,URL就是告诉电脑在哪里找到需要的东西的一种方法。等这样的字符, 已经被url当做特殊意义理解了. 因此这些字符不能随意出现.原创 2023-08-17 08:09:03 · 143 阅读 · 0 评论 -
TCP粘包问题
TCP是面向字节流的协议,不像UDP是面向数据报的,一个数据报就代表一份数据,不会被分割,TCP在受到对端TCP接收缓冲区大小的约束和MTU的影响,需要分割报文。所以,当用户消息通过 TCP 协议传输时,消息可能会被操作系统分组成多个的 TCP 报文进行传输。这时,接收方的程序如果不知道发送方发送的消息的长度,也就是不知道消息的边界时,是无法读出一个有效的用户消息的,因为用户消息被拆分成多个 TCP 报文后,并不能像 UDP 那样,一个 UDP 报文就能代表一个完整的用户消息。原创 2023-08-16 21:16:59 · 108 阅读 · 0 评论 -
HTTP协议请求响应模型
HTTP 是一个应用层协议,专门用来在两台主机之间传输文字、图片、音频、视频等的约定和规范。原创 2023-08-16 20:36:51 · 314 阅读 · 0 评论 -
UDP协议
UDP是一种传输层协议,用于在计算机网络中通过网络传输数据。与TCP不同,UDP是面向数据报的协议,是一种无连接的协议,即不需要在数据传输之前建立连接。原创 2023-08-15 20:18:00 · 260 阅读 · 0 评论