分享

数据是如何通过网络传输的(网络分层)

 启云_9137 2020-09-08

要想知道数据是怎么传输的,先要了解网络是如何分层,那么网络都分几层呢?

我们都知道,数据网络的传输的信号是0、1,在物理层上面,就是电缆信号的传输,实际上物理层传输的信号,不具备任何的识别价值;

那么首要了解的“数据链接层”就应运而生,这一层遵循的是以太网协议,其实就是用来规定电信信号的分组标准,将传输在物理层的0、1信号形成一组,称为“一个数据包”,每一个数据包可以称为“帧”,每一个帧由标头(HEAD)+数据(DATA)组成

在原始交换机传输数据时代,是不需要“网络层”的,因为数据链路层,包含计算机的MAC地址(计算机的唯一标识),理论上,依靠MAC地址发送从技术上是可以实现的,但是有一个严重的缺陷,以太网是采用广播的方式发送数据包,所有成员人手一包,效率极低,而局限于发送者所在同一个子网路中,如果两台计算机处于不同子网路,广播是传不过去的;互联网是无数子网路共同组成一个巨型网路,很难将所有计算机发到同一个子网路中,这几乎是不可能的。

接下来说网络层,协议是IP协议,这是一层是一个很重要的协议,主要是告知对方的地址(IP地址和MAC地址),IP地址是计算机的目标节点,一个IP节点,可能对应多台的分布式机器,就像我们的路由对外的IP是一个,但是可以接入多台设备

互联网上每台计算机,都会分配到一个IP地址,这个地址也是对应其计算机的物理地址

目前IP协议是第四版,简称IPV4,网络地址是由32位二进制组成,4个字节的长度,每个字节的最大长度0-255,由(0-255).(0-255).(0-255).(0-255)组成

网络层数据包HEAD+DATA,对应着以太网协议的数据包中的DATA

数据链路层数据包 = HEAD + DATA

网络层数据包 = HEAD + IP (HEAD + DATA)

网络IP层的HEAD,存放着发送和接收方的IP地址

我们知道数据链路层的HEAD存放着MAC地址,这样的设计如何在网络层知道对方的MAC地址?

是通过ARP协议找到对方的MAC地址,后期会详细介绍到

接下来,说说“传输层”,包含两个重要的协议,UDP协议和TCP协议,传输层是确定端口到端口的通信,在计算机中不同运行的程序客户端对应的端口(0-65535)不同,是一个16位二进制大小,其中0-1023端口是被系统占用,其它可供程序使用

以后,我们还会讲的到QUIC(Quick UDP Internet Conntions)是谷歌发明的新传输协议

从传输层面来讲,UDP和TCP协议没有区别,传输的数据包的结构也都是一致,

数据链路层数据包 = HEAD + DATA

网络IP层数据包 = HEAD + IP (HEAD + DATA

传输层UDP/TCP数据包 = HEAD + IP (HEAD + UDP/TCP(HEAD + DATA))

传输层的HEAD存放着端口号

从数据传输的可靠性来说,TCP保证了网络的可靠性,通过TCP三次握手和四次挥手,确保了网络传输的可靠性

UDP是一种不可靠的传输,理论上没有长度的限制,不过为了保证传输的速率,还是要一定的限制,一个数据包的长度一般不会超过一个IP协议的数据包的长度,确保单个UDP的数据包在IP网络层无需再进行分割

最后说说“应用层”,应用也是我们最常使用的协议层,例如DNS,HTTP,FTP等等

数据链路层数据包 = HEAD + DATA

网络IP层数据包 = HEAD + IP (HEAD + DATA

传输层UDP/TCP数据包 = HEAD + IP (HEAD + UDP/TCP(HEAD + DATA))

应用层数据包 = 传输层的UDP/TCP数据包的DATA,可以做任何的扩展

总结:

以整体网络分层的应用结构上来说,就好比:给一个节点发送消息,消息的格式和内容是是对应的应用层处理的逻辑;

首先要知道接收消息节点的IP地址,MAC地址,以及对应的端口号,这三个分别对应着网络层,数据链路层和传输层

知道了对方计算机的IP地址,以及对应的IP下,分布式节点的MAC地址,通过IP和MAC地址就能确保知道了唯一的计算机,一个计算机可以运行多个客户端,通过传输层的端口号就能确保信息接收方的应用程序,否则会出现发一个QQ消息的数据包而是被钉钉应用程序接收到

应用层/表示层,会话层(DNS,HTTP,FTP,SMTP,SNMP,Telnet)

传输层(TCP,UDP)

网络层(IP协议)

数据链接层(以太网协议)

物理层(0/1)

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多