![](https://img-blog.csdnimg.cn/20190903192035321.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
网络协议
这部分内容将会从HTTP开始进入,预计后期将会学习写一些比较基础的通信原理的内容
周仕林
这个作者很懒,什么都没留下…
展开
-
TCP(七) -- 四次挥手
一:摘要概述相见时难别亦难,东风无力百花残。经历三次握手顺利会师,MTU与MSS对数据包大小限制,滑动窗口对于发送端流量控制,拥塞控制对网络状态的控制,以及三次握手过程中的连接队列详解。最后就是尘归尘土归土,来到了释放连接说再见的时刻。本文将详细阐述四次挥手的过程、状态变化以及是否可以不需要四次挥手的一些验证!本文中很多图是来源于张师傅的掘金小册,已经和作者联系同意,大家有兴趣可以购买改小册仔细...原创 2019-12-31 14:31:08 · 370 阅读 · 0 评论 -
TCP(六) -- 重传与确认
一:摘要概述TCP是可靠的传输层协议,网络层采用不靠谱的IP协议导致其自身必须保证数据传输的可靠。其中最终要的就是将丢失的数据包进行重传,当数据包发送后TCP就会开启计时器,当计时器达到阈值且发送的数据包未被数据接收方确认就会重新传递丢失的数据包。当然,重传的前提就是需要确认机制。本文将详细介绍重传与确认,也会涉及到快速重传与延迟确认的概念二:超时重传模拟如下编辑一段packetdrill脚...原创 2019-12-26 08:52:10 · 1532 阅读 · 0 评论 -
TCP(五) -- 连接队列
一:摘要概述客户端与服务端经过三次握手环节创建连接,详细过程已经在文章TCP(二) – 三次握手中阐述。但是文中还存在关键性疑问:服务端如何保存创建的连接当连接数量超过限制时服务端如何处理二:...原创 2019-12-23 11:43:10 · 647 阅读 · 0 评论 -
TCP(四) -- 流量控制
一:摘要概述TCP作为一个可靠的传输层协议,其精髓就是一系列如滑动窗口、拥塞避免等手段控制流量。可以根据服务器处理速度以及网络情况调整数据传输速率,当然整个过程对于开发人员来讲是透明的。本文将从滑动窗口、拥塞控制两个方面详解TCP对流量控制做的操作二:接收窗口服务器处理数据的能力有限,不可能无限制的接收数据。在三次握手的过程中有一个字属性专门用于标记接收窗口大小,三次握手过程告诉对方接收窗口...原创 2019-12-17 17:21:17 · 736 阅读 · 0 评论 -
TCP(三) -- MTU/MSS
一:摘要概述经过系列文章第二篇TCP(二) – 三次握手之后,已经清晰TCP建立连接过程。但是最终的的操作还是要落地到数据传输,不管怎么设计每一步都是为数据传输做铺垫与保障。当客户端亦或是服务端需要向对方发送100M数据,会直接一次性发送?如果不是一次性发送那么会对该数据包做什么操作?这些操作的根据又是什么?接下来就需要带着问题一一解答二:以太网限制网络传输中数据经由应用层 – 传输层 –...原创 2019-12-17 11:33:54 · 734 阅读 · 0 评论 -
TCP(二) -- 三次握手
一:摘要概述系列第一文TCP(一) – 初识TCP中描述了TCP是一个面向连接的传输层协议,这也是TCP协议保证可靠性的重要一环。客户端与服务端建立连接的方式就是通过三次握手,三次握手的过程中将会交换大量数据信息。本文的目的就是详细解释TCP三次握手的过程、状态变更以及交换的初始数据信息二:协议标志第一篇文章中提到TCP协议头有一个Flags标志,标志中的信息代表了数据包的类型。三次握手的...原创 2019-12-16 16:26:05 · 341 阅读 · 0 评论 -
网络协议(三) -- 三次握手与四次挥手
一:前情概述TCP是可靠的面向连接的双全工协议,面向连接的特性一定程度上保证了TCP协议的可靠性,横向对比同是传输层的无连接UDP协议原创 2019-11-13 11:07:54 · 364 阅读 · 0 评论 -
TCP(一) -- 初识TCP
一:前情概述互联网将世界角落的计算机连接成一体的网络,沟通就需要定制通用协议标准进行规范。如HTTP、SMTP、NFS、SNMP、IP、TCP、UDP等等耳熟能详的协议,单一职责是优秀的设计理念,TCP/IP协议模型可以理解为不同职责协议的组合,从而形成完整的国际协议标准模型二:网络分层优秀的架构理所当然需要保持模块独立,各司所职,TCP/IP协议模型将不同职责的协议划分为四个分层即:应用层...原创 2019-10-24 15:54:43 · 202 阅读 · 0 评论 -
OkHTTP
一:概述本章内容着重点在于简单封装GET与POST请求的工具类,并介绍OkHttpClient框架相关重要组件源码。二:常用工具类简单封装2.1 GET请求 public static String getTest() throws IOException { // 创建客户端 OkHttpClient client = new OkHttpClie...原创 2020-05-20 10:59:14 · 394 阅读 · 6 评论