惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

P
Proofpoint News Feed
V
V2EX
WordPress大学
WordPress大学
Google DeepMind News
Google DeepMind News
Martin Fowler
Martin Fowler
小众软件
小众软件
Blog — PlanetScale
Blog — PlanetScale
月光博客
月光博客
The Cloudflare Blog
T
Tailwind CSS Blog
H
Help Net Security
腾讯CDC
爱范儿
爱范儿
人人都是产品经理
人人都是产品经理
H
Hackread – Cybersecurity News, Data Breaches, AI and More
The GitHub Blog
The GitHub Blog
Microsoft Security Blog
Microsoft Security Blog
Stack Overflow Blog
Stack Overflow Blog
D
DataBreaches.Net
C
Check Point Blog
量子位
酷 壳 – CoolShell
酷 壳 – CoolShell
美团技术团队
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com

时间的朋友

Windows 命令行密码重置 Anaconda安装 typescript 注解解读1 Konvajs Shape加载自定义图片 sshpass 使用 why-is-node-running webgl笔记 SharedArrayBuffer is not defined blender 常用快捷键 | 时间的朋友 vue -- v3.4commit提交记录2 vue2 升级vue3报错问题整理 着色器 expressjs 源码 hyper-V arch linux 网络配置 element input数字格式化 three 拼接货架 WebAudio笔记 Windows nginx重启bat脚本 vue -- v3.4commit提交记录 URI malformed vue3 -- Class 对象在组件中使用范例 | 时间的朋友 ruby 安装和升级 element-plus 老版本cascader使用卡死问题 vue3 内置Transition组件 | 时间的朋友 前端memo的实现 | 时间的朋友 Vue -- vue-class-component源码 | 时间的朋友 linux 优化脚本 typescript 装饰器 | 时间的朋友 microbundle 源码 | 时间的朋友 WSL2问题解决WslRegisterDistribution failed with error: 0x800701bc
TCP/IP学习笔记 | 时间的朋友
2022-07-01 · via 时间的朋友

Published: · LastMod: July 01, 2022 · 743 words

TCP/IP 🔗

TCP(传输控制协议)IP(网际协议 是最先定义的两个核心协议,所以才统称为TCP/IP协议族

应用层 🔗

  • HTTP 万维网
  • FTP 文件传输服务
  • SMTP 电子邮件服务
  • SSH 远程登陆服务
  • DNS 名称<-> IP地址寻找,域名系统

传输层 🔗

  • TCP:面向连接的Transmisson Control Protocol传输控制协议
  • UDP : 无连接的包传输User DataProtocol用户数据报协议

网络层 🔗

  • IP: 地址和路由

链路层 🔗

  • 操作系统
  • 硬件设备驱动
  • NIC(Network interface Card 网络适配器:网卡 )
  • 光纤等物理可见部分

三次握手和四次挥手 🔗

三次握手 🔗

TCP三次握手-9428b9683b45a763ce9f1a7407c7f779.png

  • 客户端A发送报文SYN=1 seq=x,请求与服务端B连接
  • 服务端B收到后确认,发送报文SYN=1 ACK=1 seq=y ack=x+1
  • 客户端A收到服务端B的确认后,给B发送确认报文ACK=1 seq=x+1 ack=y+1

四次挥手 🔗

TCP四次挥手-22dedd749195620d1c6e87a2f47c80f1.png

  • A向B发送主动关闭的报文FIN=1 seq=u
  • B收到后向A发送确认报文 ACK=1 seq=v ack=u+1
  • B已经确认没有数据要向A发送了,通知A即将关闭的报文FIN=1 ACK=1 seq=w ack=u+1
  • A在收到B的连接释放报文段后,最后确认ACK=1 seq=u+1 ack=w+1

名词解释

ACK :是TCP报头的控制位之一,对数据进行确认。确认由目的端发出, 用它来告诉发送端这个序列号之前的数据段都收到了。 比如确认号为X,则表示前X-1个数据段都收到了,只有当ACK=1时,确认号才有效,当ACK=0时,确认号无效,这时会要求重传数据,保证数据的完整性。

SYN: 同步序列号,TCP建立连接时将这个位置1。

FIN: 发送端完成发送任务位,当TCP完成数据传输需要断开时,,提出断开连接的一方将这位置1。

SEQ:初始序列号

保活计时器 keepalive timer 🔗

服务器向客户端发送,服务器每收到一次客户端数据就重置保活计时器。若两小时没有收到客户数据,服务器就发送一个探测报文,每隔75s发送一次,连续10个仍无响应就认为客户端出现故障,关闭这个TCP连接。