首页 > 其他分享 >基础知识-数据包和帧

基础知识-数据包和帧

时间:2023-02-20 09:45:28浏览次数:52  
标签:数据 IP TCP 基础知识 OSI 数据包 设备

什么是数据包和帧

数据包和帧是小块数据,当它们组合在一起时,会形成更大的信息或消息。但是,它们在 OSI 模型中是两个不同的东西。帧位于第 2 层 - 数据链路层,这意味着没有 IP 地址等信息。把这想象成把一个信封放在一个信封里,然后把它寄出去。第一个信封将是您邮寄的数据包,但一旦打开,里面的信封仍然存在并且包含数据(这是一个帧)

这个过程称为封装,在这个阶段,可以安全地假设当我们谈论包含 IP 地址时,我们都是在谈论数据包。当封装信息(IP地址)被剥离时,我们谈论的是帧本身。

数据包是跨联网设备传输数据的有效方式,由于此数据以小块形式交换,因此与一次发送大消息相比,跨网络出现瓶颈的可能性更小。

例如,当从网站加载图像时,该图像不会作为一个整体发送到您的计算机,而是在您的计算机上重建的小块。以下图为例说明此过程。狗的照片被分成三个数据包,当它到达计算机以形成最终图像时会在其中重建。

数据包具有不同的结构,这取决于正在发送的数据包的类型。正如我们将要讨论的那样,网络充满了标准和协议,它们作为一组规则来决定如何在设备上处理数据包。到 2020 年底,互联网预计将连接大约 500 亿台设备,如果没有标准化,事情很快就会失控。

让我们继续我们的 Internet 协议示例。使用此协议的数据包将具有一组标头,其中包含通过网络发送的数据的附加信息。

一些值得注意的标题包括:

标头 描述
Time to Live(生存时间) 该字段为数据包设置一个到期计时器,如果它永远无法到达主机或逃逸,则不会阻塞您的网络!
Checksum(校验和) 该字段为 TCP/IP 等协议提供完整性检查。如果更改了任何数据,则此值将与预期的不同并因此损坏。
Source Address(源地址) 发送 数据包的设备的 IP 地址,以便数据知道返回到哪里。
Destination Address(目的地址) 数据包被发送到的设备的 IP 地址,以便数据知道下一步要传输到哪里。

TCP/IP(三次握手)

TCP (或 简称为传输控制协议)是网络中使用的一种传输协议。

该协议与我们之前讨论过的 OSI 模型非常相似。OSI介绍:基础知识-OSI七层模型
TCP/IP 协议由四层组成,可以说只是 OSI 模型的一个概括版本。这些层是:

  • Application(应用)
  • Transport(传输)
  • Internet(互联网)
  • Network Interface(网络接口)

与 OSI 模型的工作方式非常相似,当数据(或数据包)穿过它时,信息被添加到TCP模型的每一层。您可能还记得,这个过程被称为封装——这个过程的逆过程是解封装。

TCP的一个定义特征是它是 基于连接的,这意味着TCP必须在 发送数据之前在客户端和充当服务器的设备之间建立连接 。

因此,TCP保证发送的任何数据都会在另一端收到。这个过程被命名为三次握手,这是我们稍后将要讨论的内容。 下表比较了TCP的优缺点:

TCP的优点 TCP的缺点
保证数据的完整性 需要两个设备之间的可靠连接。如果没有收到一小块数据,则无法使用整个数据块,必须重新发送
能够同步两个设备以防止彼此被错误顺序的数据淹没 慢速连接可能会成为另一台设备的瓶颈,因为连接将一直保留在另一台设备上
为可靠性执行更多的过程 TCP比 UDP 慢得多,因为使用此协议的设备必须完成更多工作(计算)

TCP数据包包含从封装中添加的称为标头的各种信息部分。让我们解释下表中的一些关键标头:

标签:数据,IP,TCP,基础知识,OSI,数据包,设备
From: https://www.cnblogs.com/Junglezt/p/17136287.html

相关文章

  • 指针和字符串基础知识
    #include"stdafx.h"intmain(intargc,char*argv[]){//定义字符串的第一种方式,此种定义的字符可修改chara[]="it";a[0]='T';printf("%s\n",a);//定义字......
  • 指针和数组基础知识
    /*数组元素的访问方式1、数组名[下标]2、指针量名[下标]3、*(p+i)p+1,指针+1,则指针指向的地址加4*/#include"stdafx.h"voidchangeNum(int*array);intmain(intargc,char......
  • pwntools基础知识
    pwntools基础知识连接:本地process()里面放文件名例如process('./test');远程remote(,),remote接受url并指定端口,remote('url',端口)。数据处理:主要对整数进行打包,就是......
  • 基于OpenMV的图像处理基础知识及例程使用方法
                ......
  • 基础知识-网络基础
    什么是网络我们现在生活中现在是不可缺少网络的,想象一下,没有了微信,没有了社交软件,没有了电话,没有了电脑,我们的社会也不会飞速发展到现在,网络在计算机这个专业,起到很大的作......
  • TS基础知识点
    前言:TS简介相关介绍就不一一赘述,网上自行按照需求搜索查阅即可1.TypeScript的静态类型TypeScript的一个最主要特点就是可以定义静态类型,英文是StaticTyping。那到底......
  • Java基础知识点(带返回值方法的定义和调用
    一:带返回值方法的定义方法的返回值其实就是方法运行的最终结果。如果要在调用处根据方法的结果,去编写另外一段逻辑,为了在调用处拿到方法的结果,就需要定义带返回值的方法。eg......
  • MIMO雷达和相控阵雷达基础知识
    这篇主要是学习一下MIMO雷达的基础知识和相控阵的部分基础知识,因为二者其实是有部分连续的,所以将MIMO雷达和相控阵雷达放在了一起,便于自己的学习和理解。另外本篇文章......
  • Python 学习01 基础知识
    ......
  • 电学基础知识01
    一.电路的基本组成1,电路:电路是电流的流通路径,它是由一些电气设备和元器件按一定方式连接而成的.复杂的电路呈网状,又称网络.电路和网络这两个术语是通用的.2,电路的......