Linux Network IO

为什么要有 DMA? 传统的方式,要发送一个数据包,实现方式如下: 用户调用 read,读取待发送的数据 用户调用 write,写入待发送的数据 图片来自
7 minutes to read

IP 协议基础

IP 分类的优缺点 优点:简单、选路方便 缺点: 同一网络下,没有层次 不能很好与现实匹配(对于 B 类地址,主机号太多,一个企业难以用完,造成浪费;对于 C
5 minutes to read

TCP 杂项知识点

如何理解 TCP 面向字节流? 由于 TCP 的滑动窗口机制(发送窗口会动态变化),在发送数据时,原数据可能发生分片 举个例子:原数据为一个字符串 “114514” 经过分片后,
16 minutes to read

TCP 的优化

TCP 三次握手优化 客户端 客户端优化的手段主要是控制 SYN 报文的重传次数 比如,在公司内网,或者服务之间相互调用,不需要多次重传(网络环境比较好),就可
4 minutes to read

TCP 的半连接队列和全连接队列

什么是半连接队列?什么是全连接队列? 半连接队列是指:用于存储处于 SYN_RECV 状态的连接的队列 当内核收到一个 SYN 报文,就将该连接放到半连接队列,并发送 ACK 给
5 minutes to read

TCP 三次握手/四次挥手

TCP 基本认识 什么是 TCP ? TCP 是一种 面向连接、可靠、基于字节流的协议 什么是 TCP 连接? Socket + Seq + WindowSize Socket:IP + Port Seq:序列号 WindowSize
8 minutes to read

HTTP 协议基础

HTTP 是啥 HTTP 是一种在 两个设备 间,用于传输文字、图片、音频等 超文本内容 的协议 常见状态码 200 304 403 404 500 502 常见字段 Host Content-Length Content-Type Content-Encoding GET 与 POST 都是安全和幂等的吗? 一般来
7 minutes to read

网络基础

以 “键入 URL 到网页显示,发生了什么?” 来跑一遍整个 TCP/IP 体系 Linux 接收数据的过程 发送数据的过程类似,但是要注意发送数据的拷贝次数 发送网络数据的时候,涉
One minute to read