数据传输过程详解————————————————————————————————作者:————————————————————————————————日期: 数据传输过程详解一、FTP客户端发送数据到FTP服务器端,详述其工作过程。两台机器的连接情况如下图所示:、假设初始设置如下所示:客户端FTP端口号为:32768服务器端FTP端口号为:21设备设置PC1(客户端):MAC地址(MAC1):A01IP地址(IP1):::(服务器端):MAC地址(MAC2):A02IP地址(IP2)::::MAC地址列表端口MAC地址1A012A03Switch2:MAC地址列表端口MAC地址1A022A04Router:端口S0设置MAC地址(MAC3):A03IP地址(IP1):(MAC4):A04IP地址(IP1):、不同网络段上的两台计算机通过TCP/IP协议通讯的过程如下所示:协议是水平的,服务是垂直的。物理层,指的是电信号的传递方式,透明的传输比特流。链路层,在两个相邻结点间的线路上无差错地传送以帧为单位的数据。网络层,负责为分组交换网上的不同主机提供通信,数据传送的单位是分组或包。传输层,负责主机中两个进程之间的通信,数据传输的单位是报文段。网络层负责点到点(point-to-point)的传输(这里的“点”指主机或路由器),而传输层负责端到端(end-to-end)的传输(这里的“端”指源主机和目的主机)。、数据包的封装过程不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在网络层叫做数据报(datagram),在链路层叫做帧(frame)。数据封装成帧后发到传输介质上,到达目的主机后每层协议再剥掉相应的首部,最后将应用层数据交给应用程序处理。两台计算机在不同的网段中,那么数据从一台计算机到另一台计算机传输过程中要经过一个或多个路由器。、工作过程(1)在PC1客户端,将原始数据封装成帧,然后通过物理链路发送给Switch1的端口1。形成的帧为:注:发送方怎样知道目的站是否和自己在同一个网络段?每个IP地址都有网络前缀,发送方只要将目的IP地址中的网络前缀提取出来,与自己的网络前缀比较,若匹配,则意味着数据报可以直接发送。也就是说比较二者的网络号是否相同。本题中,PC1和PC2在两个网络段。(2)Switch1收到数据并对数据帧进行校验后,查看目的MAC地址,得知数据是要发送给PC2,所以Switch1就对数据帧进行存储转发,查看自己的MAC地址列表后,从端口2将数据转发给路由器的S0端口。(3)Router收到数据后,先对数据进行校验,然后对IP数据报进行分析,重新对数据进行封装,查看路由表后,从S1端口将数据发送出去,此时得到新的数据帧如下:注:目的IP和源IP地址不会被改的,改变的是MAC,路由器会把远端的源MAC地址改成下一跳的MAC地址,然后就发送出去(4)Switch2接收到Router给它发送的数据后,进行校验后直接存储转发,查看自己的MAC地址列表后,将数据帧从端口1发送给PC2服务器端。(5)PC2服务器端收到数据后,先进行校验,然后进行拆分,得到TCP报文段,由此可以知道目的端口号是21,然后把数据交付给相应的FTP应用进程进行处理。二、在数据的传输中会出现以下一些问题,该如何解决?1、针对数据链路层,传输的数据会出现差错或者丢失的问题,也有两端传输速度不同的问题,如何解决这些问题?答:首先我们假设主机A向主机B发送数据(1)差错控制差错控制方法分两类,一类是自动请求重发ARQ,另一类是前向纠错FEC,也叫前向纠错码(ForwardErrorCorrection简称FEC)。在ARQ方式中,当接收端发现差错时,就设法通知发送端重发,直到收到正确的码字为止,ARQ方式只使用检错码。在FEC方式中,接收端不但能发现差错,而且能确定二进制码元发生错误的位置,从而加以纠正,FEC方式必须使用纠错码。常用的纠错码有奇偶校验码、循环冗余码和海明码等例如:在数据帧中加上CRC,这样主机B就可以检验所接收的数据是否有差错,如果有差错,那么主机B可以向主机A发送一个否认帧NAK,以表示主机A应当重传出现差错的那个数据帧。(2)丢失的解决办法超时重传。如果主机A在发送完数据给主机B之后,若到了超时计时器所设置的重传时间而还没有收到主机B的任何确认帧ACK
数据传输过程详解 来自淘豆网m.daumloan.com转载请标明出处.