| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> 一文详解 -----TCP/IP协议栈 -> 正文阅读 |
|
[网络协议]一文详解 -----TCP/IP协议栈 |
目录 模型图物理层
????????屏蔽双绞线(STP),非屏蔽双绞线(UTP) ????????类型:1, 2, 3, 4, 5,超5, 6,超6, 7
????????? ? ? ? ? ? ? ? 通过光信号进行传输??
数据链路层
???????? ? ? ? ? ? ? ? ?FCS帧校验序列----CSC算法(校验盒)?
网络层
? ? ?-----IP报文头部?版本:一般为4或6,在这仅指的是IPV4,4bit长度 头部长度:最小为20字节,最大为60字节 服务类型:占8字节(TOS) 16位总长度:包括IP头部和数据段的长度 8位生存时间:单位为路由器的个数,减为0时,数据就回被丢弃;常见的TTL值:255,128,64 8位协议:协议号,标记上层(传输层和应用层)使用的是什么协议,6:TCP;17:UDP;89:OSPF 16位首部校验和:只对IP头部进行校验 32位源IP 32位目标IP
?
传输层
? ?-----TCP报头(1)16位端口号:告诉主机该报文是来自哪里,以及传给哪个上层协议或者应用程序(目标端口)的。 (2)32位序列号:给发送的数据编号。(随机值+偏移量:偏移量决定序号的大小);32位序列号能够指定数据传过去的序号。 作用:A:保证发送的数据有序;B:保证重复的数据被丢弃。 (3)32位确认号:对A端发送的数据进行确认并回馈的序号。(在32位序中的序号值+1返回回去)。 作用:保证数据能够有效地到达对端。 (4)4位头部长度:因为4位最大能表示15,所以最大为60字节。 (5)6位标志位: PSH: 类似于紧急指针,通知尽快读取数据; RST: 请求重新建立连接; SYN:请求建立连接(三次握手时); FIN:请求断开连接(四次挥手时); ACK:表示确认号是否有效; URG:表示禁忌之阵是否有效 (6)16位窗口大小:控制发送数据的速度或流量。 (7)16位校验和:由发送端填充,接收端对TCP报文在传输过程中是否损坏。校验不仅包括头部部分,还包括数据部分。 (8)16位紧急指针:一个正的偏移量(相当于当前序号的偏移)。紧急指针是发送端向接受端发送紧急数据的方法。 TCP的特点的可靠性就体现在:32位序号,32位确认号,16位校验和。面向连接体现在:URG,RST,SYN,FIN,ACK,PSH等六位标志。 TCP分段:
可靠性
应用层
? |
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 | -2024/12/28 7:00:05- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |
数据统计 |