当前位置:网站首页>网络层传输协议(详解)
网络层传输协议(详解)
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各有各的特点,谁也无法把谁替代
边栏推荐
猜你喜欢
项目性能优化实战:解决首页白屏问题,自定义 loading 动画优化首屏效果
sqlmap的使用
SSTI template injection
树和堆知识点总结
基于蒙特卡洛的强化学习方法【附带代码实现】
JS note 1
ENVI_ IDL: read OMI data (HDF5) and output it as GeoTIFF file + detailed parsing
Envi IDL: lire la teneur en colonne de NO2 de tous les produits OMI et calculer la moyenne mensuelle, la moyenne trimestrielle, la moyenne annuelle + résolution
Unity3D 游戏人物跳跃落地时发生弹跳,偏移情况的解决方法
攻防世界----easytornado笔记
随机推荐
Summary of tree and heap knowledge points
STL -- map container
动态规划 - 01背包问题
ENVI_ Idl: batch process the re projection of MODIS swath data and output it to GeoTIFF format + detailed analysis
[tools] unity2d character controller, which controls 2D players to move and jump in four directions and horizontal directions
BladeX——精心设计的微服务架构
Dueling DQN的理论基础及其代码实现【Pytorch + Pendulum-v0】
Jmeter beanshell实现把请求生成的参数化数据写入文件
Leetcode 198:House Robber
status 500 reading AftersaleService#getAftersaleList(Long)+com.sun.proxy.$Proxy214.getAftersaleList
剑指 Offer 53 - I. 在排序数组中查找数字 I
【Unity编辑器扩展】Unity资产预处理和后处理图片自动转Sprite2D
字符串全排列问题
ENVI:(2022年最详细的教程)自定义坐标系
SSTI模板注入
STL -- deque container
Chengxin University envi_ IDL third week class content 1: reading OMI data (HDF5 file) and output + parsing
【HDRP高清渲染管道】创建HDRP工程,把内置管线工程升级为HDRP工程
【Unity编辑器扩展】Unity内部Asset资源配置ScriptableObject
leetcode力扣经典问题——42.接雨水