TCP 与 UDP 笔记整理

HCIA——Day3笔记(待整理)TCP、UDP、IP、DHCP协议详解 传输层——TCP和UDP 1.TCP是面向连接协议,UDP是无连接的协议; 2.TCP的传输时可靠的,UDP的传输“尽力而为”; 3.TCP可以分段,UDP不行; 4.TCP可以实现流控,UDP不行; 5.TCP传输速度较慢,消耗资源较大;UDP传输速度快,消耗资源小; Seq(序列号) ACK确认标记位(回答) SYN请求标记位(请求) FIN结束标记位 TCP建立会话的过程——三次握手 A——>B(SYN=1 S)A发送对话请求 A<——B(ACK=1 SYN=1) 请求成功 A到B的 阅读详情

关于 TCP 的某些详细内容,可以参阅:TCP 笔记整理


对于 TCP 或者 UDP,需要跨越不同主机,并将数据传递到不同的进程(即应用程序)。实现主机的跨越是基于 IP,而识别进程是基于端口号。
在这里插入图片描述

1. 连接性

在网络层,无连接服务可能意味着属于同一报文的不同数据报有不同路径。
在传输层,我们不关心分组的物理路径(假设两个传输层之间有一条逻辑连接)。传输层的无连接服务意味着分组之间的独立;面向连接服务意味着依赖。

在无连接服务中,应用程序需要将报文分成传输层可接受大小的数据块,并把他们一个一个地传递到传输层。传输层每一个数据块看作彼此没有关系的单元。当一个块从应用层到达时,传输层将其封装在分组中并发送。由于分组之间没有联系,可能会失序到达接收端。

UDP 提供无连接服务,这就表示 UDP 发送出去的每一个用户数据报(即 UDP 的分组)都是一个独立的数据报,没有关系。此外,不像 TCP 协议那样存在逻辑连接,因此每一个用户数据报可以沿不同的路径传递。

无连接的一个结果就是无法发送数据流,并期望将这个数据流分割成许多不同的相关联的用户数据报。相反,每一个请求必须足够小,使其能够装入用户数据报中,只有那些发送短报文的进程才应当使用 UDP。

在面向连接服务中,两端首先需要建立逻辑连接(非物理连接)。只有连接建立才能进行数据交换,在数据交换之后,连接需要拆除。在传输层,面向连接服务仅仅涉及端到端,而在网络层面向连接意味着两个终端主机以及这之间的所有路由器都进行协调。这就意味着在传输层建立面向连接协议,其下的网络层可以是无连接协议,也可以面向连接协议。基于面向连接可以实现流量控制、差错控制、拥塞控制。

2. 字节流与报文

UDP 是面向报文的,发送方的 UDP 对应用层交下来的报文,不合并,不拆分,只是在其上面加上首部后就交给了下面的网络层,也就是说无论应用层交给 UDP 多长的报文,它统统发送,一次发送一个,若报文太长,则IP层需要分片,降低效率;若太短,会使IP数据报太小。而对接收方,接到后去除首部直接交给上层应用。

TCP 是面向字节流的协议,这就是说,从应用程序到 TCP 的数据被表示成一串字节流,数据的每一个字节在流中都占有一个位置。TCP 可以对数据进行分段,发送多次(其实现原理是基于缓冲),也可以等数据累积之后组成一个报文段发送。

(流,从字面意思,包含着顺序的含义。面向字节流,则意味着存在逻辑上的连接,就如果 “管道”,在连接中按照顺序流动,对上层来说,就像一个不间断的数据流。)

3. 使用场景

什么时候应该使用 TCP ?

当对网络通讯质量有要求的时候,比如:整个数据要准确无误的传递给对方,这往往用于一些要求可靠的应用,比如HTTP、HTTPS、FTP等传输文件的协议,POP、SMTP等邮件传输的协议。

什么时候应该使用 UDP ?

当对网络通讯质量要求不高的时候,要求网络通讯速度能尽量的快,这时就可以使用UDP。如视频通讯等。

在这里插入图片描述

参考文章

1、《计算机网络:自顶向下方法》(第六版)
2、https://lrh1993.gitbooks.io/android_interview_guide/content/computer-networks/tcpip.html

计网:第五章 运输层 基于湖科大教书匠b站计算机网络教学视频以及本校课程老师ppt整合出的计算机网络学习笔记 阅读详情

相关推荐

2. Netty使用JSerialComm进行串口读取(二)

现在开始处理这些问题 第一个问题:串口读取超时异常一路传播到最后也没有处理。 ​ 第二个问题:即使处理了该异常,程序仍然退出,这不能满足一些实际使用要求需求。该问题与设置很长的读取超时时间没关系,无论多长到时间后总会退出。

s3c2410的博客 2461

网络编程简单基础知识

一,IP协议:它在源地址和目的地址之间,传送一种称为数据包的东西,它还提供对数据大小的重新组装功能,以适应不同的网络对包大小的要求。(源地址IP:发送方IP 目的地址IP :对方,接受方地址) 现在有两种版本:IPV4,IPV6 IPV4:4个字节,32位整数 IPV6:8个字节,64位整数 由于基于IPV4的应用很多,IPV4还是目前的主流。 、、、、、、、、、、、、、、、、、、、...

Shawei_的博客 485

当GO.db安装失败时,生物信息学新手应该知道的5个底层逻辑

本文为生物信息学新手提供了解决GO.db安装失败的5个关键底层逻辑,包括网络连接与镜像源设置、版本兼容性检查、依赖关系管理、SQLite存储机制理解以及调试技巧。特别针对Bioconductor的GO.db包安装问题,详细介绍了如何通过切换国内镜像、管理版本冲突和解决依赖问题来成功安装,帮助用户高效克服常见安装障碍。

weixin_29062823的博客 407

基于uCOS-II的UDP网络编程

<br />基于uCOS-II的UDP网络编程<br />---------------------------------------------------------<br />Author             :tiger-john<br />WebSite            :blog.youkuaiyun.com/tigerjb<br />Email               :jibo.tiger@gmail.com<br />开发环境         硬件环境:LPC2200<br />

冀博 7981

KEIL5编译报错L6200E:__stdout重定义问题分析与解决

本文深入分析KEIL5编译报错L6200E中__stdout重定义问题的根源,指出因未完整定义__stderr导致与标准库stdio_streams.o冲突。提供完整重定义标准流、启用MicroLIB库等解决方案,帮助开发者彻底解决Symbol multiply defined错误,提升嵌入式开发效率。

uran的专栏 952

Unity+Hybridclr发布WebGL记录

问题不多,比预想中的顺利,如果遇到问题建议先看Hybridclr的常见问题里面有没有解决方案,没遇到Hybridclr的报错,所以记录的问题里面没有Hybridclr相关的。导出设置里的压缩格式选择了Brotli,而服务器或浏览器不支持,据说是可以拓展服务器配置使支持Brotli,但是由于我本人是IIS小白,所以换了种压缩格式,在publishing Settings修改Compression Fromat为Gzip。3.在浏览器运行之后视图一直闪烁。,修改配置,这个网上很常见。

a598211757的博客 1036

笔记整理之TCP与UDP说明

IP可以定位到某台电脑,ip+port可以定位到某台电脑某个应用程序。 端口号:逻辑端口,由操作系统负责,对每个程序进行分配,一个号码对应一个程序。只能一对一对应。 比如windows给微信分配8000端口,给QQ分配6000端口。端口号范围0-65535,1024之前的端口号已经被操作系统占用了。 java.net.InetAddress这个类没有构造方法,就不能new只能调用这个类的静态方法,没有构造方法的类,只能调用其静态方法。 传输层的两个高级协议: UDP:udp是无连接通讯协议,即在数据传输时,

qq_34046046的博客 198

3D Slicer肺部CT病灶体积测量:阈值法实操全流程

在医学影像分析中,病灶体积的精准测量是肿瘤评估、疗效随访和科研统计的重要基础。传统逐层手动勾画不仅耗时,且主观差异大,而基于CT值的阈值分割技术,通过设定灰度区间自动提取目标体素,能够快速生成三维分割结果,具有高效、可重复、边界标准统一的优势,尤其适用于肺部实性结节这类与周围肺实质对比度高的病灶。理解体素与CT值的关系,掌握阈值范围的设定逻辑,并配合连通域分析、边缘修正等工程化操作,即可在3D Slicer中稳定获得可靠的体积数据。本文从技术原理出发,系统梳理了DICOM导入、窗宽窗位调节、阈值选择、三维重

weixin_29050271的博客 250

tcp和udp区别 笔记整理

摘自笔记TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能,用户数据报协议(UDP)是同一层内另一个重要的传输协议。在因特网协议族(Internet protocol suite)中,TCP层是位于IP层之上,应用层之下...

听酒 227

MT4/MT5数据源接入全攻略:从买服务、自研API到低成本DDE,哪种方案适合你?

本文全面解析MT4/MT5数据源接入的三种主流方案:商业服务、自研API和低成本DDE,详细对比其技术参数、成本结构和适用场景。帮助技术团队根据业务需求选择最优方案,确保外汇交易系统的数据流稳定性和实时性,提升交易体验和业务连续性。

weixin_42568801的博客 172

5、自适应 RBF 神经网络控制方法解析

本文详细解析了基于RBF神经网络的多种自适应控制方法,包括针对函数未知、参数未知以及存在外部干扰的非线性系统的控制策略。通过李雅普诺夫稳定性理论设计自适应律,确保闭环系统稳定,并结合仿真示例和MATLAB代码实现,展示了方法的有效性。文章还对比了不同控制方法的适用场景,并给出了实际应用流程,为复杂系统控制提供了系统性解决方案。

ol789012的博客 71

【网络协议笔记】TCP/UDP 协议整理

概要 运输层协议为运行在不同主机上的应用 进程 之间提供了 逻辑通信(logic communica-tion)功能。 运输层是在 端系统中 而不是在路由器中实现的。 在发送端,运输层将从发送应用程序进程接收到的 报文 转换成运输层分组,称为 报文段(segment)。实现的方法(可能)是将应用报文划分为较小的块,并为每块加上一个 运输层首部 以生成运输层报文段。 运输层将报文段传递给网络层,...

Sunny的博客 924

TPAMI 2025 | 从缺失碎片到杰作:基于上下文自适应扩散的图像修复

图像修复是一项具有挑战性的任务,尤其是要确保生成的内容与图像的现有部分无缝融合。尽管最近的扩散模型展现出了潜力,但它们在保持已知区域和未知(缺失)区域之间的连贯性方面常常遇到困难。这个问题源于扩散过程中缺乏明确的空间和语义对齐,导致生成的内容无法与原始图像平滑融合。此外,扩散模型通常依赖全局学习分布,而非局部特征,这使得生成的图像部分与现有图像部分之间存在不一致。在这项工作中,作者提出了ConFill,这是一个新颖的框架,引入了上下文自适应差异(CAD)模型,以确保在整个扩散过程中,已知区域和未知区域的中间

小白学视觉 238

整理笔记:详解TCP和UDP报文段的首部格式

1.tcp虽然是面向字节流的,但是它传输的数据单元却是报文段。 一个tcp报文段分为首部和数据两部分,而tcp的全部功能体现在它在首部各字段的作用。 tcp报文首部的前20个字节是固定的,后面有4n字节是需要根据需要增加的选项,因此tcp首部的最小长度是20字节。 (5+6+4) 各个字段的详细讲解: 1.源端口、目标端口: 计算机上的进程要和其他进程通信是要通过计算机端口的,而一个计算机端口某个...

weixin_45649763的博客 3164

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

整理笔记:TCP协议和UDP协议的定义、特点、以及它们之间的区别。

文章目录tcp协议是什么udp协议是什么tcp和udp协议的区别 tcp协议是什么 传输控制协议(TCP,Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议。 字节流服务(Byte Stream Service) 是指为了方便传输, 将大块数据分割成以报文段(segment) 为单位的数据包进行管理。 而可靠的传输服务是指, 能够把数据...

weixin_45649763的博客 891

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

整理笔记:TCP粘包是怎么回事?如何处理?UDP有粘包吗?

文章目录TCP粘包是什么?出现TCP粘包的原因是什么?发送方原因接收方原因什么时候需要处理粘包现象?如何处理粘包现象?UDP会不会产生粘包问题呢? TCP粘包是什么? TCP粘包就是指发送方发送的若干包数据到达接收方时粘成了一包,从接收缓冲区来看,后一包数据的头紧接着前一包数据的尾,出现粘包的原因是多方面的,可能是来自发送方,也可能是来自接收方。 出现TCP粘包的原因是什么? 发送方原因 TCP默...

weixin_45649763的博客 411

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

设计一个采用udp实现数据传输的程序_「网络协议笔记」TCP/UDP 协议整理

1. 概要运输层协议为运行在不同主机上的应用 进程 之间提供了 逻辑通信(logic communica-tion)功能。运输层是在 端系统中 而不是在路由器中实现的。在发送端,运输层将从发送应用程序进程接收到的 报文 转换成运输层分组,称为 报文段(segment)。实现的方法(可能)是将应用报文划分为较小的块,并为每块加上一个 运输层首部 以生成运输层报文段。运输层将报文段传递给网络层,网络层...

weixin_39747293的博客 573

TCP的三次握手和四次挥手

TCP的三次握手和四次挥手

kitesxian的博客 1509

《TCP/IP详解:卷1》之TCP/UDP总结

     对于《TCP/IP详解:卷1》这本书来说也算是我的老朋友了,在之前做协议分析项目时曾经系统的看过,在之后开发网络库,做***检测时也时常翻阅,但是对书中内容的记忆却比较混乱,也常常忘记一些重要内容,也许是之前自己未作总结的缘故,这次利用做另一个网络项目的机会,又仔细看了一下书中有关TCP/UDP的章节,然后用思维导图梳理了协议的特点和自己的思路,以用来加深记忆,如图:TCP协议UDP协议...

weixin_34111819的博客 84

前两天整理笔记

一.OSI七层模型1.物理层:物理硬件2.数据链路层:驱动 进程3.网络层:ip——互联网协议——IP地址4.传输层:TCP协议,UDP协议5.会话层:提供会话号,同软件不同进程加以区分6.表示层:编码——二进制7.应用层:人机交互——抽象语言——编码二.1.MAC地址:48位二进制构成以16进制显示2.CSMA/CD:载波监听多路访问/冲突检测协议3.网桥——交换机:工作在数据链路层。

2301_81797697的博客 897

Linux系统编程笔记1

内容来自《unix环境高级编程》和《tcp/ip网络编程》,做些笔记整理一下,方便之后阅读。 tcp连接:可靠(一般不发生数据丢失),有序(先发先到),不存在边界 ----传送带模型 套接字约等于文件,fd文件描述符代表着文件编号,也是套接字的编号。每次系统分配的最小的未用的描述符 套接字内部有缓冲(字节数组),有可能在好几次向套接字write后,等缓冲区填满后直接调用一次rea...

weixin_30345055的博客 95

记个笔记:UE Thread&Socket

最近学习`UE`学到了多线程和`Socket`的内容,将学到的东西整理一下,记个笔记!!!

m0_60846226的博客 1332

2021.12.28基于UDP同信的相关流程

3、收发消息,由于不知道对方是谁,对方也不知道您是谁,所以在发送时附带自己的信息,接收时接收对方信息。MSG_DONTWAIT:费阻塞接收。返回值:成功返回发送的字节个数,失败返回-1,并置位错误码。返回值:成功返回发送的字节个数,失败返回-1,并置位错误码。2、UDP服务器中,使用connect函数,实现唯一的客户端与服务器通话。参数5:填写发送目标的IP和端口号 参数6:参数5的大小。参数5:自动填充发信息的主机信息。参数4: 0:阻塞接收。参数4: 0:阻塞接收。1、将TCP的CS模型再敲一遍。

CGS200213cgs的博客 682

2020字节跳动提前批安卓客户端-一二三四+HR面(已意向书)面试题+答案已整理!

2. 对安卓的认识3. 安卓操作系统基于什么操作系统4. Linux 和 Unix 的区别5. Activity 启动模式6. Handler7. Handler, Message, MessageQueue 的区别。

2401_86353020的博客 796

2025-07-18 网络基础学习笔记

来源:优快云 SDN 文章】(维基百科控制平面与数据平面分离,由集中控制器 (如 OpenDaylight) 统一控制支持动态流量控制、网络虚拟化、编程接口(南/北向API)、增强灵活性与自动化。

喝醉酒的小白 937

《图解TCP/IP》阅读笔记汇总 (第四章到第九章)

一个总集篇,方便查找与阅读

farewellyi的博客 424
上一篇: TCP 笔记整理
下一篇: HTTPS 笔记整理
OneDeveloper
博客等级 码龄9年 61粉丝 161原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值