当前位置:网站首页>网络层传输协议(详解)
网络层传输协议(详解)
2022-07-17 00:15:00 【宋回嘉乐吗】
一、TCP和UDP的各个特性和区别
- TCP :传输控制协议
- UDP:用户数据报协议
TCP和UDP都是网络层的传输协议,TCP协议相对于UPD协议比较可靠,TCP是向上层面向连接的协议,TCP协议还是双向工,可以同时双向传输数据。UDP相对于TCP,速度更快但是不是很可靠。
二、TCP的报文首部格式

源端口号(16): 发送方进程的端口号。
目标端口号(16): 接收端进程的端口号。接收端收到数据段后,根据这个端口号来确定把数据送给哪个应用程序的进程。
序号(32): 发送端为每个字节进行编号,便于接收端正确重组。
确认号(Tac)(32): 对发送端的确认信息的号码。
数据偏移/shoubuch :TCP报文的长度
控制位:这六位很重要,判定数据目前处于的状态
URG:紧急位 :(紧急指针有效位)
ACK:确认位 :(只有当ACK=1时,确认序列号字段才有效:当ACK=0时,确认号字段无效)
PSH:急迫位 :(标志位为1时,要求接收方尽快将数据段送达应用层)
RST:重置位: (当RST值为1时,通知重新建立TCP连接)
SYN:同步:(连接)(同步序号位,TCP需要建立连接时将这个值设为1)
FIN:(断开)(当TCP完成数据传输需要断开连接时,提出断开连接的一方将这个值设为1)
窗口大小: 说明本地可接收数据段的数目。这个值的大小是可变的,当网络通畅时接收端响应消息会将这个窗口值变大以加快传输速度,当网络不稳定时减小这个值可保证网络数据的可靠传输,TcP中的流量控制机制就是依靠变化窗口的大小实现的。
校验和: 用来做差错控制。字段检验的范围包括首部和数据这两部分。数据段在发送时和到达目的地时会进行校验和计算,若这两次的校验和一致,则说明数据基本是正确的,否则将认为该数据已被破坏,接收端将丢弃该数据。
选项: 在URG首部可以有多达40字节的可选信息。例如,最大报文段长度MSS (Maximum Segment Size)。MSS告诉对方TCP: “我的缓存所能接收的报文段的数据字段的最大长度是Mss个字节。”
三、TCP的三次握手

三次握手解析:
第一步:PC1发送连接请求 Seq=x(报文序号初始为随机数)SYN(同步连接请求)
第二步:PC2收到PC1的连接请求后回复一个报文 Ack(希望你下一次回复的报文序号)
ACK(只有当ACK=1时,前面的确认号字段才有效)
第三步:收到PC2的同意连接的报文后会在发送一个报文,会将最后的ACK封装进去
四、四次挥手


五:UDP协议
1.特点
- 工作在传输层
- 提供不可靠的网络访问
- 非面向连接协议
- 有限的错误检查
- 传输性能高
- 无数据恢复特性
六:总结
UOP和TCP各有各的特点,谁也无法把谁替代
边栏推荐
猜你喜欢

Gdb+vscode for debugging 3 - vscode and GDB remote debugging

Bugku---- regular matching, cookies

【Unity编辑器扩展】查找场景和资源内挂载某脚本的所有对象

STL -- List container (linked list)

SSTI模板注入

BladeX——精心设计的微服务架构

Line process of pool components

ENVI_ Idl: read the NO2 column content of all OMI products and calculate the monthly average, quarterly average, annual average + analysis

【HDRP高清渲染管道】创建HDRP工程,把内置管线工程升级为HDRP工程

ENVI_ Idl: batch splice the daily data of MODIS swath and output it in GeoTIFF format
随机推荐
Line process of pool components
Logical vulnerability - authentication vulnerability
理解 继承、多态、抽象以及它们的概念
图像质量评估指标:SNR、PSNR、MSE和SSIM
STL--map容器
Cookie和Session的区别
【工具篇】Unity2D人物控制器,控制2D玩家移动跳跃,四方向和水平方向
剑指 Offer 48. 最长不含重复字符的子字符串
保留两位小数,并向上取值
Gdb+vscode for debugging 2 - GDB breakpoint related
Software testing technology interim testing summary | software testing foundation & Executive testing & test design and development
LeetCode:动态规划中的多重背包问题【一个模板解决所有~】
[tools] unity screen drawing line, unity screen drawing Hsj drawing tool
基于蒙特卡洛的强化学习方法【附带代码实现】
BUAAOS-Lab0实验报告
leetcode力扣经典题目——82.柱形图中的最大矩形
【工具篇】SQLite本地数据库在Unity3D的应用
JS note 1
JS笔记1
攻防世界----easytornado笔记
