首页 > 其他分享 >运输层的TCP与UDP协议(学习笔记)

运输层的TCP与UDP协议(学习笔记)

时间:2024-02-02 22:45:16浏览次数:27  
标签:UDP 重传 报文格式 报文 笔记 拥塞 TCP

一、运输层

1. 逻辑通信结构

2. 端口号、复用与分用


二、TCP与UDP的区别

1. 概览图

2. 用户数据报协议UDP(User Datagram Protocol)

  1. UDP面向应用层报文,可以在任何时候发起传输(无连接),向上层提供不可靠传输服务,即如果传输过程中出现误码,也不会触发重传。

  2. 可以支持一对一、一对多、一对全通信

基于这样的特性,UDP常用于视频、音频通话等实时应用。

3. 传输控制协议TCP(Transmission Control Protocol)

  1. TCP是面向字节的,有连接的协议。能保证接收方收到的字节流与发送方发出的字节流完全相同(提供可靠的传输服务),实际应用中使用全双工通信

  2. 只能支持一对一通信

基于TCP的这种特性,常用于要求可靠传输的应用,如文件传输。

4. TCP与UDP报文的区别(简略)

UPD与TCP报文格式详解可以看文末的链接,其他博主写得很好很详细。

三、TCP可靠传输的实现

1. 流量控制

(1)总结

(2)应用举例

(3)持续计时器

2. 拥塞控制

(1)背景


实际的拥塞曲线与理想曲线越接近越好

(2)拥塞控制方法

  1. 慢开始与拥塞避免

  1. 快重传与快恢复

补充:实际的发送方窗口应当考虑服务器ACK指定的窗口和网络拥塞算法得出的窗口,取小。

3. 超时重传及时间选择

结论计算公式如下:

四、TCP运输连接管理

1. 概览

2.TCP三报文握手建立连接

TPC规定,SYN为1的报文不携带数据,但要消耗一个序号(seq)。ack=x+1是指对上一个收到的报文进行确认。

3.TCP四报文挥手释放连接

五、TCP报文格式

参考这两篇文章,写得很详细了

  1. TCP/UDP/IP报文理论格式

  2. TCP报文格式与抓包实战

本来还是有点兴致想要去研究一下cheksum机制的,但是今天因为某些事导致世界观遭到了打击和刷新,已经没有心情去看了,以后再说吧。

标签:UDP,重传,报文格式,报文,笔记,拥塞,TCP
From: https://www.cnblogs.com/wyuu101/p/18004137

相关文章

  • 人工智能(第3版) 第三章—学习笔记
    人工智能(第3版)第三章—学习笔记知情搜索(informedsearch,也称有信息搜索)利用启发式方法,通过限定搜索的深度或宽度来缩小问题空间。3.0引言介绍了本章的主要内容与几个重要的概念。3.1启发式方法乔治·波利亚——“启发式方法之父”​启发式方法的目的是大幅度减少到......
  • 寒假NOIP突破营笔记
    Day1枚举和搜索某些题的正解其实就是暴力,但加了一些优化三连击:暴力枚举即可DNA序列:\(O(nk)\)做法可以直接过;因为字符集大小只有\(4\),也可以使用哈希转为四进制统计\(O(n)\)栅栏:二分答案+搜索+剪枝k短路:A*:启发式搜索的一种,定义起点\(s\),终点\(t\),从起点(初始状态)开始的......
  • VITS课程学习笔记
    课程地址,https://www.bilibili.com/video/BV1wV411j7zG/?spm_id_from=333.788&vd_source=1eb6e5015a1f70daa97080d8ee786d5d VITS,VariationalInferencewithadversariallearningforend-to-endText-to-Speech论文,VITS:ConditionalVariationalAutoencoderwithAd......
  • 一些些数学的算法笔记
    好好好,直接进入正题(首先我们先要讲讲矩阵,矩阵你可以理解成\(n\timesm\)的一个二维数组,我们如下表示它:\[\begin{bmatrix}a_{1,1}&a_{1,2}&\cdots&a_{1,m}\\a_{2,1}&a_{2,2}&\cdots&a_{2,m}\\\vdots&\vdots&\ddots&\vdots\\a_{......
  • SpringBoot 多模块开发 笔记(一)
    多模块开发简易版dao层也可以说是Mapper层web层将controller放在这一层还有统一返回类型和自定义异常也在放在这里启动类也放在这里model层也就是数据对象比如常见的User类server层业务逻辑层或者说service层更好创建步骤创建一个正常的Spr......
  • STM32MP135开发板助力电力行业,IEC61850协议移植笔记
    1.概述IEC61850是变电站自动化系统(SAS)中通信系统和分散能源(DER)管理的国际标准。它通过标准的实现,实现了智能变电站的工程运作标准化。使得智能变电站的工程实施变得规范、统一和透明,在电力和储能系统中应用非常广泛。本文基于米尔MYD-YF13X开发板,在Linux系统上移植和使用开源的l......
  • STM32MP135开发板助力电力行业,IEC61850协议移植笔记
    1.概述IEC61850是变电站自动化系统(SAS)中通信系统和分散能源(DER)管理的国际标准。它通过标准的实现,实现了智能变电站的工程运作标准化。使得智能变电站的工程实施变得规范、统一和透明,在电力和储能系统中应用非常广泛。本文基于米尔MYD-YF13X开发板,在Linux系统上移植和使用开源的libI......
  • HTTP学习笔记
    教程:geektime透视HTTP协议【此教程时间:2019年】※,01、HTTP的前世今生HTTP协议始于三十年前蒂姆·伯纳斯-李的一篇论文(1989年)http/0.9:20世纪90年代初期的互联网世界非常简陋,计算机处理能力低,这一时期的HTTP被定义为0.9版,结构比较简单,为了便于服务器和客户端处理,它也......
  • Python学习笔记05
    3.4String(字符串)字符串特点:用单引号'或双引号"括起来,同时使用反斜杠\转义特殊字符。取字符串中的值:语法格式——变量[头下标:尾下标],左闭右开字符串索引值:Coding从前面索引012345从后面索引-6-5-4-3-2-1字符串输出示例代码str='Coding......
  • Python学习笔记04
    3.3运算符(以下假设变量a=10,变量b=21)【算数运算符】:运算符描述实例+加,两个对象相加a+b输出结果31-减,得到负数或是一个数减去另一个数a-b输出结果-11*乘,两个数相乘或是返回一个被重复若干次的字符串a*b输出结果210/除,x除......