网络中的数据如何从一个终端到另一个终端

简介

计算机网络是个非常复杂的系统,互联网上每天都有大量的数据在传输,这么多的数据是怎么从一个终端传输到另一个终端的呢?下面介绍一个网络通信的五层模型TCP/IP模型。

                        ​​​​​​​        ​​​​​​​        ​​​​​​​        

TCP/IP是一个五层的网络通信模型,从上到下分别是应用层、传输层、网络层、数据链路层、物理层。在这个模型中,每一个上层对下层来说都是数据,每一个下层对上层来说都是服务。由于不同层有着不同的要求,每一层都有自己的协议来规定数据如何封装、解封装和传输。下层协议通过SAP(Service Access Point,服务访问点为上层协议提供服务。在发送端,数据从上层到下层逐层封装,在接收端,数据再从下层到上层逐层拆解。

1.物理层

一台计算机要与另一台计算机通信,首先要将两台计算机连接起来。在物理层,我们使用光纤、电缆、双绞线等介质将两台计算机进行连接,然后进行通信。物理层中数据以比特流的形式传输,计算机通过高低电频来发送0,1电信号。

2.数据链路层

而物理层只是在物理上将两台计算机连接起来,并且在计算机之间传输0,1的电信号。只是这样的一串01数据计算机是读不懂的,因此,我们需要制定一套规则来进行0,1的传送。例如多少个电信号为一组啊,每一组信号应该如何标识才能让计算机读懂啊等等。

数据链路层将一组电信号组装成帧,每个帧由帧头和数据组成。帧头中存放了一些用来说明的数据,比如说数据是谁发送的,要发送到哪去。这里用于区分不同计算机的标志是mac地址,每个计算机的网卡都有唯一的mac地址。计算机之间的数据传送就是通过mac地址来唯一寻找、传送的。

3、网络层

那么问题来了,计算机 A 是如何知道计算机 B 的 MAC 地址的呢?这时就出现了ARP协议。计算机A想要向计算机B发送数据,首先,计算机A会向网络中广播询问计算机B的mac地址,其他计算机收到询问信息后会直接丢弃,计算机B收到询问消息后会回复自己的mac地址。这时,虽然计算机A已经知道了计算机B的mac地址,但是还是不能发送数据。

我们所处的巨大的互联网是由无数个子网组成的,计算机 A 不知道知道计算机 B 是分布在哪边路线上。我们如何区分哪些 MAC 地址是属于同一个子网的呢?为了解决这个问题,于是有了 IP 协议。每一台想要联网的计算机都会有一个IP地址。这个IP地址被分为两部分,前面一部分代表网络部分,后面一部分代表主机部分。并且网络部分和主机部分所占用的二进制位数是不固定的。假如两台计算机的网络部分是一模一样的,我们就说这两台计算机是处于同一个子网中。有了A、B两台计算机的IP地址,我们就可以判断出它们是否处于同一个子网之中了。在发送数据的时候,网络层将运输层的数据报文封装成包进行传送,报文的头部填写发送方的IP地址和接受放的IP地址。假如他们处于同一个子网之中,计算机A要给计算机B发送数据时。我们可以通过ARP协议来得到计算机B的MAC地址;假如两台计算机的IP不是处于同一个子网之中,我们就会把数据包发送给网关,然后让网关让我们进行转发传送。因此,网络层的功能是建立主机到主机的通信。

4、传输层

通过物理层、数据链路层、网络层的共同努力,成功将数据从计算机A传送到了计算机B。这时又有了新的问题,计算机里有各种各样的应用程序,怎么确定数据是送给哪个应用程序的?这个时候,就需要用到端口。我们在从计算机A传数据给计算机B的时候,还得指定一个端口,以供特定的应用程序来接受处理。传输层的功能就是建立端口到端口的通信,通过TCP、UDP或SCTP端口号为上层应用提供服务,不同的端口对应不同的应用或服务。传输层最常见的两大协议是 TCP 协议和 UDP 协议,其中TCP是面向连接的,可靠的数据传输服务,数据不会出现丢失的情况。UDP是面向无连接,但是数据传输可能会有丢包的情况出现。

5、应用层

应用层是体系结构中最高层,应用层协议定义的是应用进程间通信和交互的规则。虽然我们收到了传输层传来的数据,可是这些传过来的数据五花八门,有html格式的,有mp4格式的,各种各样。因此我们需要指定这些数据的格式规则,收到后才好解读渲染。

总结

数据在网络上发送时逐层封装,接收时再逐层解封,一步一步完善信息传递最后实现了数据从一个终端到另一个终端,在我们的视角只是很简单的一个动作,实际上在网络上经过了一层一层复杂的工作。

  • 24
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
数据包从传统网络的A终端要传输到另一个传统网络的B终端时,VXLAN的数据包拆分过程涉及以下步骤: 1. A终端生成数据包:首先,A终端产生要发送的数据包。这可以是从应用程序生成的任何网络数据。 2. 封装数据包:A终端网络设备(通常是交换机或路由器)将原始数据包封装为VXLAN数据包。在封装过程,原始数据包被放置在VXLAN头,并添加了VXLAN头部和尾部的附加信息。 3. 添加VXLAN头部:VXLAN头部包含了VXLAN网络的相关信息,如VNI(Virtual Network Identifier)标识虚拟网络、源和目的地的MAC地址等。这些信息帮助确定数据包属于哪个虚拟网络以及目标终端。 4. 添加封装头和尾:VXLAN数据包被进一步封装,以便在传输过程能够正确路由和解析。通常,会在VXLAN头部之前添加一个外部IP头部(如UDP/IP),并在VXLAN数据包之后添加一个适当的内部网络协议头部(如Ethernet)。 5. 传输到目标网络:经过封装处理后的VXLAN数据包通过传统网络被发送到目标网络。 6. 目标网络的解封装:到达目标网络数据包被接收,并根据外部IP头部的目标端口信息路由到相应的网络设备,通常是VXLAN网关。 7. 解析VXLAN头部:VXLAN网关会解析VXLAN头部的信息,包括VNI标识和源/目的地MAC地址等。这些信息帮助确定数据包属于哪个虚拟网络以及目标终端。 8. 解封装数据包:根据VXLAN头部的信息,VXLAN网关将VXLAN数据包解封,提取原始数据包。 9. 传递给B终端:最后,解封装的原始数据包被传递到目标网络的B终端。 这样,通过VXLAN的封装和解封装过程,数据包从传统网络的A终端成功传输到另一个传统网络的B终端。在整个过程,VXLAN头部和封装信息起到了关键作用,确保数据包能够正确地路由和传递到目标虚拟网络终端

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值