![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
TCP/IP网络
文章平均质量分 86
TCP/IP网络
kksilu
爱技术 爱生活
展开
-
网络调试协议指令ping、telnet、curl、traceroute、Netstat
本文是对常用的网络调试协议和指令的总结。原创 2022-07-28 20:19:57 · 1195 阅读 · 0 评论 -
TCP-粘包和拆包
TCP粘包和拆包客户端分别发送了两个数据包D1和D2给服务端,由于服务端一次读取到字节数是不确定的,故可能存在以下四种情况:服务端分两次读取到了两个独立的数据包,分别是D1和D2,没有粘包和拆包服务端一次接受到了两个数据包,D1和D2粘合在一起,称之为TCP粘包服务端分两次读取到了数据包,第一次读取到了完整的D1包和D2包的部分内容,第二次读取到了D2包的剩余内容,这称之为TCP拆包服务端分两次读取到了数据包,第一次读取到了D1包的部分内容D1_1,第二次读取到了D1包的剩余部分内容D1_2和原创 2022-01-10 16:04:46 · 776 阅读 · 0 评论 -
对IP网络层的一些理解
文章目录什么是网络层?IP协议路由选择协议控制报文协议(ICMP)什么是网络层?网络层三个组件IP协议路由选择协议控制报文协议(ICMP):报告数据报中的差错、对某些网络层信息请求进行响应的设施IP协议路由选择协议控制报文协议(ICMP).........原创 2021-10-08 21:05:33 · 176 阅读 · 0 评论 -
传输层的一些重要概念
文章目录重要概念多路复用与多路分解重要概念1、运输层协议和服务运输层协议是在端系统中而不是在路由器中实现的。在发送端,运输层将从发送应用程序进程接收到的报文转换成运输层分组,该分组称为 运输层报文段(segment) 。实现的方法是将应用报文划分为较小的块,并为每块加上一个运输层首部以生成运输层报文段。然后,在发送端系统中,运输层将这些报文段 传递给网络层,网路层将其封装成网络层分组(即数据报)并向目的地发送。注意到下列 事实是重要的:网络路由器仅作用于该数据报的网络层字段;即它们不检查封装在该原创 2021-06-23 13:47:42 · 938 阅读 · 0 评论 -
TCP报文段
文章目录1、源端口号、目标端口号2、序列号(Sequence number)2.1 初始序列号(Initial Sequence Number, ISN)确认号ack数据偏移=首部长度保留TCP FlagsTCP报文段=首部+数据部分1、源端口号、目标端口号TCP 报文头部里没有源 ip 和目标 ip 地址,因为那是 IP 层协议的事情,只有源端口号和目标端口号。源 IP、源端口、目标 IP、目标端口构成了 TCP 连接的「四元组」。一个四元组可以唯一标识一个连接。目标 IP和源IP在IP报文中原创 2021-06-23 13:47:28 · 1258 阅读 · 0 评论 -
TCP-三次握手
文章目录三次握手三次握手过程详解三次握手的状态变化面试题:四次挥手三次握手简单示意图:客户端–发送带有 SYN 标志的数据包–一次握手–服务端服务端–发送带有 SYN/ACK 标志的数据包–二次握手–客户端客户端–发送带有带有 ACK 标志的数据包–三次握手–服务端SYN 同步序列编号(Synchronize Sequence Numbers) :是 TCP/IP 建立连接时使用的握手信号。在客户机和服务器之间建立正常的 TCP 网络连接时,客户机首先发出一个 SYN 消息,服务器使用 SYN原创 2021-06-23 13:47:16 · 53136 阅读 · 9 评论 -
tcp四次挥手
文章目录四次挥手面试题为什么 FIN 报文要消耗一个序列号?为什么挥手需要四次?为什么 TIME_WAIT 等待的时间是 2MSL?TIME_WAIT 过多有什么危害?如何优化 TIME_WAIT?客户端发生故障怎么办?四次挥手1、主动关闭方发送TCP连接释放报文段客户端调用 close 方法,告诉服务器自己要主动关闭连接,会发送一个 FIN 报文给服务端,从这以后客户端不能再发送数据给服务端了,客户端进入FIN-WAIT-1状态。FIN 报文其实就是将 FIN 标志位设置为 1。FIN 段是可原创 2021-06-23 13:47:06 · 2680 阅读 · 0 评论 -
TCP-超时重传和快速重传
文章目录重传机制为什么需要重传机制?常见的重传机制有哪些?什么是超时重传?RTO 应该设置为多少呢?如果多次超时呢?快速重传SACK 方法Duplicate SACK滑动窗口窗口大小由哪一方决定?谈谈发送方的滑动窗口谈谈接收方的滑动窗口接收窗口和发送窗口的大小是相等的吗?重传机制为什么需要重传机制?TCP 实现可靠传输的方式之一,是通过序列号与确认应答。在 TCP 中,当发送端的数据到达接收主机时,接收端主机会返回一个确认应答消息,表示已收到消息。但在错综复杂的网络,并不一定能如上图那么顺利能正常原创 2021-06-23 13:46:55 · 7048 阅读 · 1 评论 -
TCP-滑动窗口-流量控制-拥塞控制
文章目录流量控制操作系统的缓冲区是如何影响发送窗口和接收窗口的呢?窗口关闭窗口关闭的危险-死锁怎么解决死锁糊涂窗口综合症拥塞控制(Congestion control)有流量控制,为什么还要拥塞控制?什么是拥塞窗口?和发送窗口有什么关系呢?那么怎么知道当前网络是否出现了拥塞呢?拥塞控制主要的四个控制算法慢启动拥塞避免算法拥塞发生流量控制为什么需要流量控制?发送方不能无脑的发数据给接收方,要考虑接收方处理能力。如果一直无脑的发数据给对方,但对方处理不过来,那么就会导致触发重发机制,从而导致网络流量的原创 2021-06-23 13:46:46 · 1136 阅读 · 0 评论 -
HTTP-URI&URL
文章目录URLURL的一般格式为:protocol :// hostname[:port] / path / [;parameters][?query]#fragmentURL必备三部分:①协议②主机(有时也包括端口号)。③带层次的文件路径第一部分和第二部分用://符号隔开,第二部分和第三部分用/符号隔开。第一部分和第二部分是不可缺少的,第三部分有时可以省略。URI 不仅包括 URL,还包括 URN(统一资源名称),它们之间的关系如下:用下面这个完整的域名分析 URLhttp原创 2021-06-16 17:32:57 · 283 阅读 · 0 评论 -
HTTP响应码
文章目录完整版1xx1xx 类状态码属于提示信息,是协议处理中的一种中间状态,实际用到的比较少。2xx2xx 类状态码表示服务器成功处理了客户端的请求,也是我们最愿意看到的状态。「200 OK」是最常见的成功状态码,表示一切正常。如果是非 HEAD 请求,服务器返回的响应头都会有 body 数据。「204 No Content」与 200 OK 基本相同,但响应头没有 body 数据,浏览器显示的页面不发生更新。「206 Partial Content」是应用于 HTTP 分块下载原创 2021-02-25 20:47:13 · 296 阅读 · 0 评论 -
HTTPS
文章目录为什么需HTTPS?HTTP 与 HTTPS 对比HTTP+ 加密 + 认证 + 完整性保护=HTTPSSSL/TLS协议HTTPS加密方式对称加密:HTTPS 的最终加密形式非对称加密数字证书问题一、 如何验证证书的真实性,如何防止证书被篡改?——数字签名问题二、 如何防止证书被调包?——验证域名为什么HTTPS采用混合加密呢?CA 机构HTTPS 是如何建立连接的?(重点)其他补充为什么需HTTPS?因为HTTP 是明文传输,所以HTTP 不安全,主要存在三大风险1、 窃听风险中间人可原创 2021-02-25 20:46:47 · 3211 阅读 · 2 评论 -
计网-HTTP
文章目录什么是HTTP?URI / URLHTTP 报文详解请求报文请求行HTTP 请求方法GET和POST的区别URL响应报文首部字段什么是HTTP?HTTP 是一个在计算机世界里专门在「两点」之间「传输」文字、图片、音频、视频等「超文本」数据的「协议」URI / URLURI全称是(Uniform Resource Identifier统一资源标识符),URI只是一种概念,使用它在某一规则下就能够唯一地标记互联网上的资源。规则有很多种比如:用 身份证号、姓名等等,只要能唯一的标识即可。UR原创 2021-02-25 20:46:27 · 290 阅读 · 0 评论 -
应用层-DNS(Domain Name System)
文章目录DNS概述域名结构DNS工作原理分层域名服务器DNS缓存DNS记录和报文DNS攻击域名劫持缓存投毒DDoSDNS概述识别主机有两种方式:主机名或者IP地址。IP地址是面向主机的,而域名则是面向用户的.hosts文件:域名和IP的对应关系保存在一个叫hosts文件中。最初,通过互联网信息中心来管理这个文件,如果有一个新的计算机想接入网络,或者某个计算IP变更都需要到信息中心申请变更hosts文件。其他计算机也需要定期更新,才能上网。但是这样太麻烦了,就出现了DNS系统。DNS(Domain原创 2021-02-25 20:45:49 · 652 阅读 · 0 评论 -
Cookie vs Session
文章目录CookieSessionCookie 和 Session 的区别TokenRefresh TokenToken 和 Session 的区别JWTJWT 的数据结构JWT 的使用方式JWT 的几个特点使用建议Token 和 JWT 的区别单点登录SSO实现单点登录的常用方法未完待续Cookie为什么需要Cookie?HTTP 是无状态的协议:每个请求都是完全独立的,服务端无法确认当前访问者的身份信息,所以服务器与浏览器为了进行会话跟踪,就必须主动的去维护一个状态,这个状态用于告知服务端前后两原创 2021-02-24 11:23:37 · 530 阅读 · 0 评论 -
WebSocket
文章目录为什么需要WebSocket?Socket和WebSocket的对比WebSocket原理握手客户端握手信息的要求:客户端接收到Response握手消息之后要做的一些事情服务端要做的事情传输数据:帧帧的格式WebSocket和HTTP的对比其他的Web端实现即时通讯的方法有哪些?为什么需要WebSocket?HTTP 协议的缺陷:1、通信只能由客户端发起,做不到服务器主动向客户端推送信息。2、HTTP协议是非持久化的,即使1.1可以长连接也只能维持相对较短的时间。而且是浏览器决定的,浏览器页原创 2021-02-24 11:23:12 · 3012 阅读 · 0 评论 -
QUIC
文章目录缘从何起?什么是QUIC?核心特征连接建立延时低改进的拥塞控制改进方面可插拔【单调递增的 Packet Number】:Stream Offset不允许 Reneging更多的 Ack 块Ack Delay 时间基于 stream 和 connecton 级别的流量控制没有队头阻塞的多路复用那 QUIC 多路复用为什么能避免上述问题呢?加密认证的报文连接迁移其他亮点缘从何起?协议历史悠久导致中间设备僵化;依赖于操作系统的实现导致协议本身僵化;TCP建立连接的握手延迟大;TCP队头阻塞。创原创 2021-02-24 11:23:00 · 560 阅读 · 0 评论 -
长连接短连接&队头阻塞
文章目录长连接短连接队头阻塞TCP队头阻塞HTTP队头阻塞长连接短连接什么是长连接短连接?短连接短连接的操作步骤是:建立连接——数据传输——关闭连接...建立连接——数据传输——关闭连接原因:HTTP协议是无状态的。http协议的1.0版本长连接长连接的操作步骤是:建立连接——数据传输…(保持连接)…数据传输——关闭连接原理: TCP保活功能主要为服务器应用提供。如果客户端已经消失而连接未断开,则会使得服务器上保留一个半开放的连接,而服务器又在等待来自客户端的数据,此时服务器将永原创 2021-02-24 11:22:37 · 256 阅读 · 0 评论 -
HTTP-版本
文章目录HTTP 1.0HTTP 1.1持久连接管道机制Content-Length 字段分块传输编码其他功能缺点HTTP/2二进制协议多工数据流头信息压缩服务器推送HTTP 1.01996年5月,HTTP/1.0 版本发布,内容大大增加。首先,任何格式的内容都可以发送。这使得互联网不仅可以传输文字,还能传输图像、视频、二进制文件。这为互联网的大发展奠定了基础。其次,除了GET命令(0.9只有GET命令),还引入了POST命令和HEAD命令,丰富了浏览器与服务器的互动手段。再次,HTTP请求和回应原创 2021-01-13 10:44:47 · 155 阅读 · 0 评论