首页 > 其他分享 >简析传输层协议——TCP、UDP协议

简析传输层协议——TCP、UDP协议

时间:2024-08-04 17:28:21浏览次数:9  
标签:协议 UDP 报文 TCP 发送 简析 传输层 连接

TCP/IP协议族的传输层协议

TCP (Transmission Control Protocol )传输控制协议
UDP(User Datagram Protocol )用户数据报协议

TCP协议介绍:
TCP是面向连接的、可靠的进程到进程通信的协议
TCP提供全双工服务,即数据可在同一时间双向传输
TCP报文段:
TCP将若干个字节构成一个分组,叫报文段(Segment)
TCP报文段封装在IP数据报中

TCP报文格式

在这里插入图片描述

部分作用
SYN-Synchronize同步序号位,TCP需要建立连接时将该值设为1
ACK确认序号位,当该位为1时,用于确认发送方的数据
FIN-Finish/Final当TCP断开连接时将该位置为1
序列号-Sequence Number,Seq发送端为每个字节进行编号,便于接收端正确重组
确认号-Acknowledgment Number,ack(实际数值)用于确认发送端的信息
窗口大小用于说明本地可接收数据段的数目,窗口大小是可变的
补充版TCP标志位-
FIN结束标志,表示发送端已经达到数据末尾,也就是说双方的数据传送完成。
SYN用于建立连接。
ACK用于确认序号,确认接收方已成功接收到发送方的数据。
PSH表示Push操作,即数据包到达接收端后,立即传送给应用程序。
RST表示连接复位请求,用于重置错误的连接。
URG表示紧急指针域有效,用于保证TCP连接不被中断。

另外,"ACK"可能指的是TCP报文段首部中的确认标志位,而"ack"则指的是确认号字段的实际数值

TCP三次握手

在这里插入图片描述

TCP四次挥手

在这里插入图片描述

UDP协议介绍
无连接、不可靠的传输协议
花费的开销小
UDP报文的首部格式
源端口号(16)|UDP长度(16)
目标端口号(16)|UDP校验和(16)

常见协议及其端口

在这里插入图片描述

补充概念

半关闭:
当TCP链接中A向B发送 FIN 请求关闭,另一端B回应ACK之后,并没有立即发送 FIN 给A,A方处于半连接状态(半开关),此时A可以接收B发送的数据,但是A已经不能再向B发送数据。
半连接:
发生在TCP三次握手中
如果A向B发起链接,B也按照正常情况响应了,但是A不进行三次握手,这就是半连接。半连接攻击:半连接,会造成B分配的内存资源就一直这么耗着,直到资源耗尽。(SYN攻击)
半打开:
如果一方关闭或者异常关闭(断电,断网),而另一方并不知情,这样的链接称之为半打开。处干半打开的连接,如果双方不进行数据通信,是发现不了问题的,只有在通信是才真正的察觉到这个连接已经处于半打开状态,如果双方不传输数据的话,仍处于连接状态的一方就不会检测另外一方已经出现异常
解决方法:
如何解决半打开问题,引入心跳机制就可以察觉半打开。
如果需要发数据的话,这边收到之后 其实发现这个连接并不存在了,就会回复RST包告知,这个时候就需要重新建立连接了

小结:

在这里插入图片描述

标签:协议,UDP,报文,TCP,发送,简析,传输层,连接
From: https://blog.csdn.net/Karoku/article/details/140833232

相关文章

  • 为什么 DDoS 攻击偏爱使用 TCP 和 UDP 包?
    DistributedDenialofService(DDoS)攻击是指攻击者利用多个计算机系统或网络设备(通常是被恶意软件感染的计算机,被称为“僵尸网络”)来淹没目标服务器的资源,导致合法用户无法访问服务。TCP和UDP是两种最常见的用于DDoS攻击的网络协议。1.TCP和UDP的特性TCP(Tr......
  • 传输层TCP协议
    传输层TCP协议1.TCP协议简介2.TCP特点3.TCP协议段格式4.确认应答(ACK)机制和序列号5.捎带应答6.标志位7.连接管理机制7.1三次握手7.2四次挥手7.3服务端状态转化8.超时重传机制9.流量控制10.滑动窗口11.拥塞控制12.延迟应答13.面向字节流14.粘包问题1......
  • Transport Layer Security for UDP&TCP(TLS/DTLS1.2)
    参考文章:https://blog.csdn.net/alwaysrun/article/details/89076492 https://www.jianshu.com/p/fd0a624d0912 https://cloud.tencent.com/developer/article/1928677文档:https://www.rfc-editor.org/rfc/rfc6347  https://www.rfc-editor.org/rfc/rfc52461.SSL/TL......
  • 计算机网络基础第五讲 传输层
    计算机网络基础第五讲传输层第一节:传输层概述1.运输层概述2.运输层功能两种不同协议:TCP:面向连接,全双工可靠信道;仅支持单播;复杂UDP:无连接不可靠;支持单播,多播,广播;应用层来负责可靠;简单第二节:端口号1.运输层的端口进程标识符来标记进程;不应该是操作系统提供标识符;为......
  • Linux网络:传输层协议TCP(三)滑动窗口及流量控制
    目录一、关于滑动窗口在TCP中的应用1.1什么是滑动窗口,为什么要有滑动窗口1.2滑动窗口的实现1.3滑动窗口针对丢包重传的处理机制二、流量控制一、关于滑动窗口在TCP中的应用1.1什么是滑动窗口,为什么要有滑动窗口在上一篇博文中博主阐述了确认应答ACK策略,对每一个对......
  • 网络协议 TCP、UDP 和 HTTP
    TCP与UDPTCP(TransmissionControlProtocol)和UDP(UserDatagramProtocol)是两个广泛使用的传输层协议,它们在数据传输的方式、可靠性和应用场景方面有显著的区别。TCP特点:面向连接:TCP是面向连接的协议,传输数据前需建立连接(三次握手)。可靠传输:TCP通过确认(ACK)、序列号、重传......
  • .NET TCP、UDP、Socket、WebSocket
    做.NET应用开发肯定会用到网络通信,而进程间通信是客户端开发使用频率较高的场景。进程间通信方式主要有命名管道、消息队列、共享内存、Socket通信,个人使用最多的是Sokcet相关。而Socket也有很多使用方式,Socket、WebSocket、TcpClient、UdpClient,是不是很多?HttpClient与TcpClien......
  • Linux:传输层(2) -- TCP协议(1)
    目录1.TCP协议段格式2.解包/分用3.确认应答(ACK)机制4.超时重传机制5.连接管理机制5.1三次握手5.2四次挥手5.3TIME_WAIT状态5.4CLOSE_WAIT状态1.TCP协议段格式源/目的端口号:表示数据是从哪个进程来,到哪个进程去;32位序号/32位确认号:后面详细讲;......
  • UDP使用Epoll 实现
       #include<sys/socket.h>#include<sys/epoll.h>#include<netinet/in.h>#include<arpa/inet.h>#include<fcntl.h>#include<unistd.h>#include<stdio.h>#include<errno.h>#include<stdlib.h>#......
  • 蓝牙H4传输层协议
    蓝牙几种不同接口的传输协议:H2/H4/H5/BCSP/SDIO及区别H2:基于USB的传输H4:基于五线UART(RX/TX/CTS/RTS/GND带硬件流控)的传输,最简单的传输方式,只在HCIrawdata前面加上一个type;H5:基于三线UART(RX/TX/GND)的传输,需要软件协议层加一个数据完整性校验机制;BCSP:基于UART的传输SD......