加入收藏 | 设为首页 | 会员中心 | 我要投稿 辽源站长网 (https://www.0437zz.com/)- 云专线、云连接、智能数据、边缘计算、数据安全!
当前位置: 首页 > 站长百科 > 正文

数据传输过程分析

发布时间:2021-07-28 17:30:54 所属栏目:站长百科 来源:互联网
导读:一、FTP客户端发送数据到FTP服务器端,详述其工作过程。 数据传输过程详解 详细解答如下 1.1、假设初始设置如下所示: 客户端FTP端口号为:32768 服务器端FTP端

数据报的数据部分为5000字节长(使用固定首部),需要分片长度不超过1500字节的数据报片。因固定首部长度为20字节,因此每个数据报片的长度不能超过1480字节。于是分为4个数据报片,其数据报片的数据部分长度分别为1480字节、1480字节、1480字节和560字节。原始数据报首部被复制为各数据报片的首部,但必须修改有关字段的值。

 

3、两个主机的应用进程,也会出现差错和丢失,两端的缓存也不同,如何控制流量?应用进程如何与端口号进行匹配?

 

答:因为运输层提供的功能是应用进程之间的逻辑通信,所以面向连接的传输控制协议TCP就保证了全双工的可靠交付的服务。具体的有关差错控制和流量控制如下面的详细解释:

 

3.1、运输层为相互通信的应用进程提供了逻辑通信

 

3.2、TCP发送报文段

 

3.3、TCP 的数据编号与确认

 

TCP 协议是面向字节的。TCP 将所要传送的报文看成是字节组成的数据流,并使每一个字节对应于一个序号。

 

在连接建立时,双方要商定初始序号。TCP 每次发送的报文段的首部中的序号字段数值表示该报文段中的数据部分的第一个字节的序号。

 

TCP 的确认是对接收到的数据的最高序号表示确认。接收端返回的确认号是已收到的数据的最高序号加 1。因此确认号表示接收端期望下次收到的数据中的第一个数据字节的序号。

 

3.4、TCP 的流量控制与拥塞控制

 

(1)滑动窗口(进行流量控制)

 

TCP 采用大小可变的滑动窗口进行流量控制。窗口大小的单位是字节。

 

在 TCP 报文段首部的窗口字段写入的数值就是当前给对方设置的发送窗口数值的上限。

 

发送窗口在连接建立时由双方商定。但在通信的过程中,接收端可根据自己的资源情况,随时动态地调整对方的发送窗口上限值(可增大或减小)。

 

上图(a)表示发送端要发送 900 字节长的数据,划分为 9 个 100 字节长的报文段,而发送窗口确定为 500 字节。发送端只要收到了对方的确认,发送窗口就可前移。发送 TCP 要维护一个指针。每发送一个报文段,指针就向前移动一个报文段的距离。

 

上图(b)表示发送端已发送了 400 字节的数据,但只收到对前 200 字节数

 

据的确认,同时窗口大小不变。现在发送端还可发送 300 字节。

 

上图(c)表示发送端收到了对方对前 400 字节数据的确认,但对方通知发送端必须把窗口减小到 400 字节。现在发送端最多还可发送 400 字节的数据。

 

利用可变窗口大小进行流量控制双方确定的窗口值是 400:

 

(2)拥塞控制

 

为了更好地进行拥塞控制,因特网标准推荐使用一下三种技术,慢启动(slow_start)、加速递减(multiplicative decrease)和拥塞避免(congestion avoidance)。

 

“拥塞避免”并非指完全能够避免了拥塞。利用以上的措施要完全避免网络拥塞还是不可能的。“拥塞避免”是说在拥塞避免阶段把拥塞窗口控制为按线性规律增长,使网络比较不容易出现拥塞。

 

3.5、端口号的识别

 

(1)端口的概念:

 

端口就是运输层服务访问点 TSAP。

 

端口的作用就是让应用层的各种应用进程都能将其数据通过端口向下交付给运输层,以及让运输层知道应当将其报文段中的数据向上通过端口交付给应用层相应的进程。

 

从这个意义上讲,端口是用来标志应用层的进程。

 

(2)端口在进程之间的通信中所起的作用

 

(3)端口号

 

端口用一个 16 bit 端口号进行标志。

 

端口号只具有本地意义,即端口号只是为了标志本计算机应用层中的各进程。在因特网中不同计算机的相同端口号是没有联系的。

 

端口号分为两类:

 

一类是熟知端口,其数值一般为 0~1023。当一种新的应用程序出现时,必须为它指派一个熟知端口。

 

另一类则是一般端口,用来随时分配给请求通信的客户进程。

(编辑:辽源站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读