| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> HCIA第二次笔记 -> 正文阅读 |
|
[网络协议]HCIA第二次笔记 |
TCP和UDP的区别 1,TCP是面向连接的协议,UDP是无连接的协议; 2,TCP协议传输是可靠的,UDP协议传输“尽力而为”; 3,TCP可以进行流控,UDP不行; 4,TCP可以进行分段,UDP不行; 5,TCP传输速度较慢,占用资源较大;UDP传输速度较快,占用资源小。 什么是面向连接:在正式传输数据之前,先通过预备好的协议,建立点到点的连接,之后再传输数据。 ?TCP报文格式: TCP --- 可变长头部 seq序号,ack确认序号(长度分别为为4个字节)用于确保TCP的三次握手和四次挥手 首部长度:数据偏移,4位,该字段的值是TCP首部(包括选项)长度除以4。 指针标志符意义: URG:紧急标记位,置1激活,将紧急数据提到最前,对应紧急指针,紧急指针表示紧急数据到哪一位,即指针之前的都是需要紧急处理的数据(一般置0,用于紧急优先处理的数据传输) ACK:确认标记位,用于确定回复信息,与确认序号联动,置1时确认序号激活。 PSH:快速通道,置1时不需排队,表示有数据在传输 RST:数据复位信息标识符(用来异常的关闭连接,强制关闭,不需要ack确认) SYN:TCP连接的建立成功 FIN:TCP连接的终结标识符,表示结束连接 伪头部校验 --- 将网络层封装的的12个字节的内容一起进行校验:32位源IP地址,32目标IP地址,8位协议号,8位保留,16位的报文长度,一个TCP数据最小的传输的数据单元为20字节。 TCP和UDP数据传输协议的最大区别在于TCP需要建立可靠的面向连接(三次握手和四次挥手)。 TCP的三次握手(即通过发送三个数据包进行交互): 第一次握手:Client将标志位SYN置为1,随机产生一个值seq=X,并将该数据包发送给Server,Client进入SYN_SENT状态,等待Server确认。第二次握手:Server收到数据包后由标志位SYN=1知道Client请求建立连接,Server将标志位SYN和ACK都置为1,ack=X+1,随机产生一个值seq=Y,并将该数据包发送给Client以确认连接请求。第三次握手:Client收到确认后,检查ack是否为X+1,ACK是否为1,如果正确则将标志位ACK置为1,ack=Y+1,并将该数据包发送给Server,Server检查ack是否为Y+1,ACK是否为1,如果正确则连接建立成功,完成三次握手,随后Client与Server之间可以开始传输数据。 TCP的四次挥手: 第一次挥手:Client发送一个FIN,用来关闭Client到Server的数据传送。第二次挥手:Server收到FIN后,发送一个ACK给Client,确认序号为收到序号+1(与SYN相同,一个FIN占用一个序号)。第三次挥手:Server发送一个FIN,用来关闭Server到Client的数据传送。第四次挥手:Client收到FIN后,Client进入TIME_WAIT状态,接着发送一个ACK给Server,确认序号为收到序号+1,Server进入CLOSED状态,完成四次挥手。 UDP: UDP的报文数据只有源和目标端口号和UDP长度与校验核,所以一个UDP数据的最小单位为8个字节。 网络层-IP地址-IP报文格式: TTL:数据包每经过路由器的一次转发,TTL值将会减一,当一个数据包中的TTL值为0时,路由器将不再转发该数据包,会将其直接丢弃。 TCP--6? UDP--17? ICMP--1 ip分片: MTU --- 最大传输单元 --- 1500字节(一个数据段的最大长度,物理层最大的传输单元) ? |
|
网络协议 最新文章 |
使用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年11日历 | -2024/11/26 10:25:41- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |