下载此文档

数据传输过程详解.docx


文档分类:IT计算机 | 页数:约14页 举报非法文档有奖
1/14
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/14 下载此文档
文档列表 文档介绍
该【数据传输过程详解 】是由【leng_001】上传分享,文档一共【14】页,该文档可以免费在线阅读,需要了解更多关于【数据传输过程详解 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。CKBOODwasrevisedintheearlymorningofDecember17,2020.
数据传输过程详解
数据传输过程详解
一、FTP客户端发送数据到FTP服务器端,详述其工作过程。两台机器的连接情况如下图所示:
详细解答如下
、假设初始设置如下所示:
客户端FTP端口号为:32768
服务器端FTP端口号为:21
设备
设置
PC1(客户端):
MAC地址(MAC1):A01
PC2(服务器端):
MAC地址(MAC2):A02
Switch1:MAC地址列表
端口
MAC地址
1
A01
2
A03
Switch2:MAC地址列表
端口
MAC地址
1
A02
2
A04
Router:
端口S0设置
MAC地址(MAC3):A03
端口S1设置
MAC地址(MAC4):A04
路由表
网络号
端口号
S0
S1
、不同网络段上的两台计算机通过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,则主机A就重传前面所发送的这一数据帧。
(3)流量控制
①假设主机A向主机B传输的数据是无差错的,那么,最简单的流量控制方法就是:发送方每发送一帧数据就暂时停下来,接收方收到数据帧之后就交付给主机,然后发一信息给发送方,表示接收的任务已经完成,这时,发送方再接着发送下一个数据帧。在这种情况下,接收方的接收缓存的大小只要能够装得下一个数据帧即可。
②滑动窗口:分别在发送端和接收端设置发送窗口和接收窗口
发送窗口用来对发送端进行流量控制,为发送窗口的大小WT就是代表在还没有收到对方确认信息的情况下发送端最多可以发送多少个数据帧。每收到对一个帧的确认,发送窗口就向前滑动一个位置。由此也可以知道,第一种流量控制发法中,WT=1。
在接收端设置接收窗口时为了控制可以接收哪些数据而不可以接收哪些数据,在接收端只有当收到的数据帧的发送序号落入接收窗口内才允许将该数据帧收下。每收到一个序号正确的帧,接收窗口就向前滑动一个位置。
2、IP数据报有它的长度,而数据传输过程中,一些中间设备也有一个相关的设置MTU(最大传输单元),如果现在假设IP数据报的长度是5000字节,而MTU设置是1500字节,那么该怎么办?
答:解决的办法是对IP数据报进行分片与重组。详细过程如下:
、IPv4数据报格式
一个IPv4数据报由报头和数据两部分组成,其中数据包括高层需要传输的数据,而报头是为了正确传输高层数据而增加的控制信息。报头的前一部分是固定长度,共20字节,是所有
IP数据报必须具有的。在报头的固定部分的后面是一些可选字段,其长度是可变的。下图给出了IPv4数据报的格式义。
IP数据报的格式
、不同数据链路层协议的MTU值
协议
MTU(字节)
Hyperchannel
65535
令牌环(16Mbps)
17914
令牌环(4Mbps)
4464
FDDI
4352
以太网
1500
576
PPP
296
一个路由器可能连接不同MTU的网络,如下图
、IP数据报分片
数据报分片时,每个分片前都要加上相应的IP报头,形成新的IP数据报,除包含一些分片控制域(如标志、偏移量)外,分片的报头和原IP数据报的报头基本一样。
标识符、标志、偏移量3个字段在IP报头中的作用是:
●标识:占16bit,标识数据报。当数据报长度超出网络最大传输单元(MTU)时,必须要进行分割,并且需要为分割段(fragment)提供标识。所有属于同一数据报的分割段被赋予相同的标识值。
●标志:占3bit,指出该数据报是否可分段。目前只有前两个比特有意义。
标志字段中的最低位记为MF(MoreFragment)。MF=1即表示后面“还有分片”的数据报。MF=0表这已是若干数据报片中的最后一个。
标志字段中间的一位记为DF(Don’tFragment)。只有当DF=0时才允许分片。
●片偏移:占13bit,若有分段时,用以指出该分段在数据报中的相对位置,也就是说,相对于用户数据字段的起点,该片从何处开始。片偏移以8字节为偏移单位,即每个分片的长度一定是8字节(64Bit)的整数倍。
、IP数据报重组
在最终的目的主机上将接收到的所有分片进行重新组装的过程就是IP数据报重组。这时要根据数据报的标识、标志、偏移量等字段将分段的各个IP数据报重新组装成完整的原始数据报。
本题的详解过程
数据报的数据部分为5000字节长(使用固定首部),需要分片长度不超过1500字节的数据报片。因固定首部长度为20字节,因此每个数据报片的长度不能超过1480字节。于是分为4个数据报片,其数据报片的数据部分长度分别为1480字节、1480字节、1480字节和560字节。原始数据报首部被复制为各数据报片的首部,但必须修改有关字段的值。分片结果如下图所示:
3、两个主机的应用进程,也会出现差错和丢失,两端的缓存也不同,如何控制流量应用进程如何与端口号进行匹配
答:因为运输层提供的功能是应用进程之间的逻辑通信,所以面向连接的传输控制协议TCP就保证了全双工的可靠交付的服务。具体的有关差错控制和流量控制如下面的详细解释:
、运输层为相互通信的应用进程提供了逻辑通信,如下图所示:
、TCP发送报文段的示意图如下:
、TCP的数据编号与确认

数据传输过程详解 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数14
  • 收藏数0 收藏
  • 顶次数0
  • 上传人leng_001
  • 文件大小608 KB
  • 时间2023-02-06