网络模型介绍、数据网络传输过程与网络传输速率

本文介绍网络模型和模型中各层的含义,以及电脑A上的a程序如何将自己的数据通过网络传输给电脑B上的b程序。

1、网络模型

一份数据要通过网络传输,那么这个数据必须满足网络传输的数据格式,网络模型定义了各个计算机之间数据传输的规则,网络模型有OSI七层模型和TCP/IP四层模型。

    OSI七层模型                                                        TCP/IP四层模型

2、网络模型每层作用

应用层:应用层是跟用户交互的一层,应用层提供了多种协议类型的应用程序,常用的协议有http,snmp,ftp等。

表示层:用于转换不同系统之间数据的语法、数据加密、压缩。eg:IBM主机使用EBCDIC编码,而大部分主机使用ASCII编码,这时通过会话层就将编码转换主机能够解析的语法。

会话层:对应用服务建立会话、管理会话、终止会话。

传输层:定义传输数据的协议端口号,以及流控和差错校验。传输层提供端到端的服务,即源端口到目的端口。

网络层:进行逻辑地址寻址,实现不同网络中主机之间的路由选择。

数据链路层:建立逻辑连接,进行硬件地址寻址(物理寻址)、差错校验等功能。(由底层网络定义协议)将比特组合成字节进而组合成帧,用MAC地址访问介质,错误发现但不能纠正。对应网络设备:网桥,交换机。设备根据mac地址和网桥自身维护的mac地址表来查询传输的目的mac(网卡)是否在同一个局域网中。

物理层:建立、维护、断开物理连接,实现通信道路上的原始比特流传输。(由底层网络定义协议)对应的网络设备:中继器、集线器。

3、网络数据传输过程

网络数据从主机A发送到主机B的过程叫做数据的封装和解包。数据的封装过程是自上而下,介绍以四层模型为例。

封装过程如下:

(1)应用层将用户需要发送的数据加上应用层首部信息appl然后发送到传输层(这些首部信息包括发送的目的服务器的IPdst,PORTdst,等一些首部头信息)。

(2)传输层在上一层的基础上加上TCP的首部信息,TCP首部信息包括源端口号和目的端口。(3)网络层在上一层的基础上加上IP的首部信息发送给网络接入层,IP首部信息包括:源IP,目的IP。

(4)网络接口层会加上自己的以太网首部信息。以太网首部信息包括源MAC地址和目标MAC地址。源MAC地址就是本机的MAC地址,目的MAC地址就是下一跳的网络设备(路由器或交换机)的MAC地址,完成数据封装后,通过网卡将数据发送出去。通过交换机传输的数据包(服务器和客户端不在同一个网段),交换机只解析到网络接入层,获取到目标mac后,将数据发送到对于主机或者发送到下一跳路由。 目的mac地址有以下两种情况:

a)若目标服务器和客户端在同一个网段内,那么目标MAC地址就是目标服务器的MAC地址。

b) 若不在同一个网段内,主机A利用ARP协议发送广播信息,告诉网络段内主机自己需要发送到的目的IP地址,网段内的设备会加上自己的MAC地址和IP地址,发送下一级网络设备,下一级网络设备加上自己的MAC和IP地址,直到发现到目的设备,这样对应网段内的信息就建立起来了。

传输的大致流程如下:

解包过程如下:

 目的服务器接收到数据之后,会逐层进行解析,最后将应用层的数据传递给对应的应用程序。

传输过程也可以参考图解数据在网络中的传输过程_morris-CSDN博客_网络传输原理示意图

 还有一篇博文不错,如下:

网络分层模型及数据传输流程_静陌慕春-CSDN博客,该博客中的传输过程图片如下:

4、网络传输速率

       数据在传输过程中,在不同层中的传传输单位不同,在传输层叫段,网络层叫包,数据链路层叫帧,物理层叫比特流。

       网络传输速度一般以比特率(bps)为单位,含义是每秒钟传输的二进制数的位数。不同的网络一般比特率不同,相同的网络采用不同的网络电缆也可以达到不同的比特率,目前光纤传输速率极快,光纤传输的介绍见光纤传输_百度百科 (baidu.com)

       速率是计算机网络中最重要的一个性能指标。当数据率较高时,就可以用kb/s(k = 10^3 = 千)、Mb/s(M = 10^6 = 兆)、Gb/s(G = 10^9 = 吉)或Tb/s(T=10^12=太),不同于计算机领域中的1Kb=1024b、1Mb=1024Kb、1Gb=1024Mb、1Tb=1024Gb 。人们常用更简单的并且是很不严格的记法来描述网络的速率,如100M以太网,而省略了单位中的b/s,它的意思是速率为100Mb/s的以太网。顺便指出,上面所说的速率往往是指额定速率或标称速率 。

影响网速的因素有:带宽、时延、丢包。

带宽:在单位时间内从网络中的某一点到另一点所能通过的“最高数据率”。对于带宽的概念,比较形象的一个比喻是高速公路。单位时间内能够在线路上传送的数据量,常用的单位是bps(bit per second)。计算机网络的带宽是指网络可通过的最高数据率,即每秒多少比特。在日常生活中中描述带宽时常常把bps省略掉,例如:带宽为4M,完整的称谓应为4Mbps。

时延:时延是指一个报文或分组从一个网络的一端传送到另一个端所需要的时间。它包括了发送时延,传播时延,处理时延,排队时延。(时延=发送时延+传播时延+处理时延+排队时延)一般,发送时延与传播时延是我们主要考虑的。对于报文长度较大的情况,发送时延是主要矛盾;报文长度较小的情况,传播时延是主要矛盾。

丢包:是指一个或多个数据数据包(packet)的数据无法透过网上到达目的地。丢包与比特错误(bit error)与噪声(noise)所造成的虚假的数据包(spurious packets)是三个最主要的数字通信错误的原因。

一般的网络来说局域网可能是百兆千兆,当时广域网出口的带宽只有2-10M,这样就存在一个带宽瓶颈问题。局域网的时延一般来说就是不超过10毫秒,而广域网的时延一般都在50以上。局域网的丢包率在正常情况下几乎为零,而广域网的丢包几乎是不可避免的(广域网拥塞控制机制)。用两个图来说明一下丢包与时延对网络吞吐率的影响。

 从上图可以看出两个最常见的应用HTTPFTP在网络上传输的时候丢包率对他们的影响,随着丢包率的增加两个应用的性能都明显下降。特别是HTTP应用在丢包率达到1%的时候,HTTP的传输速率下降到原来的10%。

从上图可以看出T1线路与T3线路在网络时延低于20毫秒的时候他们的吞吐率受时延的影响很小可以忽略,但是当时延达到60毫秒以上的时候T3线路的带宽优势就不复存在了。而且随着时延的不断增加网络的质量成指数下降。

 上述网络传输速率的介绍来源于网络传输速率(网络每秒钟传输的二进制数的位数)_百度百科 (baidu.com)

5、网络模型中重要知识介绍

网络连接过程中一般有6个标志位分别如下:
SYN:发起一个新连接。
ACK:确认序号有效。(为了与确认号ack区分开,我们用大写表示)
PSH:发送数据设置标志位,表述发送放发送了数据,希望接收方应该尽快将这个报文交给应用层
RST:重置连接
FIN:释放一个连接
URG:紧急指针(urgent pointer)有效


序号(sequence number):seq序号,占32位,用来标识从TCP源端向目的端发送的字节流,发起方发送数据时对此进行标记。
确认号(acknowledgement number):ack序号,占32位,只有ACK标志位为1时,确认序号字段才有效,ack=seq+1。

1、网络的三次握手过程如下:

用wireshark抓包查看三次握手过程如下:

 2、四次挥手的流程如下:

 

上述的描述参考于下面文章:

TCP的三次握手各字段(ack,seq,ACK,SYN)是什么意思?_三次握手ack和ack-CSDN博客

TCP三次握手wireshark抓包分析_tcp 三次握手,抓包分析-CSDN博客 

网络 卧槽!牛皮了,面试官居然把TCP三次握手四次挥手问的这么详细_WhiteShirtI的博客-CSDN博客

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值