IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: 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状态,完成四次挥手。

为什么握手要三次而挥手要四次:客户端在发送挥手请求时,数据已经发送完毕,而服务器端仍然有数据要发送,直到服务端数据发送完毕时,服务端发送最后一个数据包FIN,此时客户端发送ACK信息,服务端才会关闭。而建立连接不需要进行数据传输。

UDP:

UDP的报文数据只有源和目标端口号和UDP长度与校验核,所以一个UDP数据的最小单位为8个字节。

网络层-IP地址-IP报文格式:

TTL:数据包每经过路由器的一次转发,TTL值将会减一,当一个数据包中的TTL值为0时,路由器将不再转发该数据包,会将其直接丢弃。

TCP--6? UDP--17? ICMP--1

ip分片:

MTU --- 最大传输单元 --- 1500字节(一个数据段的最大长度,物理层最大的传输单元)
MSS --- 最大段长度 --- 1460(MSS不包含TCP及IP的协议头长度)?

?

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-12-11 16:04:59  更:2021-12-11 16:05:25 
 
开发: 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-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码