UDP/TCP的相关性你知道几个?

13 篇文章 0 订阅
文章介绍了TCP/IP网络协议中的应用层和传输层,特别是UDP和TCP的区别。UDP是无连接、不可靠的传输协议,适合小规模数据快速传输;而TCP是面向连接、可靠的传输协议,提供数据校验和序列号以确保数据正确性,能处理丢包和乱序问题。TCP通过ACK应答和超时重传机制保证数据的可靠性。
摘要由CSDN通过智能技术生成

TCP/IP网络原理——主要围绕UDP/TCP进行讲解

应用层

网络协议的五层协议分别是应用层,传输层,网络层,数据链路层,物理层,这五层构成。
应用层主要是与程序员相关,代码是和应用层息息相关的,代码的功能就相当于对于该应用层的一种扩展,比如说http就是应用层的关键协议,在使用该协议时,程序员会针对该协议进行一系列的约定,约定数据报,数据格式。
约定方法,简单介绍就是两种。
1.确定传输信息:请求信息,响应信息(这些信息的格式都是由产品需求确定的)
2.数据组织方法。例:将二进制数据转化为字符串数据
2.1)如果是一串需要传输的字符串,可以使用在正文外的所有符号将正文属性信息隔开。
例:hello world!=》hello/world/!
2.2)将数据信息使用xml或者json进行组织。(具体信息需要程序员自行决定)

传输层UDP/TCP

初识UDP,我们定要知道UDP的模样,就像我们刚刚开始认识一个人,定要知道他原本的模样。
在这里插入图片描述

udp报头是由8个字节组成
报头存储的信息:源端口,源IP,源端口,目的端口

  • UDP 协议规定报文长度为 16 位,所以 UDP 的报文长度不能超过 2^16 = 65536 字节=64kb

udp报文是64kb,对于当时的计算机使用来说是很巨大的传输包,所有在当时使用并没有出现问题。而现在由于科技的发展迅速,这64KB对当前的数据传输已经不够用了,虽然可以将数据进行拆分传输,这样的话会增加处理数据的复杂度,因此我们的前辈们经过重重困难,创建了TCP数据传输……

TCP

同样的,在我们认识TCP传输模式时,现将报文格式:

在这里插入图片描述

TCP传输的数据没有限制!!!因为TCP的数据传输没有限制,使用时会有其他的问题。网络传输数据不稳定,有时候会被外界干扰导致数据错误,这时候的校验和及CRC算法就可以帮助检验数据是否正确。

使用校验和(checksum)时,当数据通过校验和,数据也不一定正确,不过没有通过校验和的数据一定是错误的

介绍校验和使用原理:

发送方将载荷数据带入校验和中计算得到sum1,将sum1带入载荷,然后接收方将载荷数据带入校验和中进行计得到sum2,对比sum1和sum2,相同数据可使用,不同则将数据丢弃。

TCP特点

  1. 有连接
  2. 全双工
  3. 可靠传输
  4. 面向字节流

TCP的创造是为了可靠传输!!!(可靠传输是将数据尽可能的传输,没有达到100%成功,不过在TCP数据传输失败会有信息返回)
TCP的应答报文:ACK

ACK是用于接收方对数据的响应策略,当发送方将数据发过去时,会生成相应的序号,如果接收方接收到信息,就会返回ACK报文也就是确认号。比如发送方发送了1000个数据,ACK应答报文会回复1001,此时发送方就会知道对方接受到了数据。这里的回应规则是发送序号的下一个序号。
有时候发送数据也会出现其他情况:先发后至

就像你和你女朋友聊天

女朋友:最近心情不好,有没有时间约个饭?

你:随时都可以

女朋友:我把我闺蜜介绍给你认识?

你:还是算了吧。

这样你们的关系还可以维持,但是如果数据发生了先发后至!

//出现先发后至

女朋友:最近心情不好,有没有时间约个饭?

你:还是算了吧。

女朋友:我把我闺蜜介绍给你认识?

你:随时都可以

兄弟,完了!!!

不过这里的TCP可以帮助你把发送的数据进行排序,所以在这里不会出现先发后至!TCP有一个接收缓冲区,会将接收的数据进行排序。这是TCP非常重要的一个用途。

丢包

丢包也是网络传输经常会遇到的事情,出现丢包的可能情况就是网络传输中设备分配网络不均匀,在多转发,达到转发上限的情况下会出现丢包的情况,注意这里连续丢包是十分严重的问题,需要检查网络设备。
TCP用于解决丢包问题是一把好手!
超时重传:针对丢包时,不会返回确认序号,会等待一段时间后,会重新发送数据,以此类推,没丢包一次系统等待的时间会变长,多次无果会尝试重置连接,如果重置连接失败,最后才会关闭连接。

ACK丢失,也就是确认序号丢失,作为发送方是不会知道ACK丢失的,所以这里会发生数据重传,会发生重复数据的问题,然而TCP有一个重复数据处理机制,可以自动去重。

总结

网络协议的五层模型中应用层与程序员契合度最高,协议约定和组织数据格式都是由程序员决定的。传输层中两大主角UDP/TCP中,UDP的数据稳定但是适用场景不多对于TCP的四大特性,和对数据的传输中的困难和出现的错误都有针对的解决方案,对于TCP中序号的传递可以知道数据传输中的错误和应对错误的解决方法。以上,希望能帮助大家理解UDP/TCP的特性。

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值