当前位置:首页 » 网络连接 » 计算机网络中传输过程
扩展阅读
惠普m1218网络设置 2025-09-30 23:33:36
手机主题网络图制作软件 2025-09-30 23:32:25

计算机网络中传输过程

发布时间: 2023-03-17 14:31:16

① 计算机通信的主要原理是什么

计算机网络通消陵信的工作原理1)TCP/IP协议的数据传输过程:
TCP/IP协议所采用的通信方式是分组交换方式。所谓分组交换,简丛兆单说就是数据在传输时分成若干段,每个数据段称为一个数据包,TCP/IP协议的基本传输单位是数据包,TCP/IP协议主要包括两个主要的协议,即TCP协议和IP协议,这两个协议可以联合使用,也可以与其他协议联合使用,它们在数据传输过程中主要完成以下功能:
1)首先由TCP协议把数据分成若干数据包,给每个数据包写上序号,以便接收端把数据还原成原来的格式。
2)IP协议给每个数据包写上发送主机和接收主机的地址,一旦写上的源地址和目的地址,数据包就可以在物理网上传送数据了。IP协议还具有利用路由算法进行路由选择的功能。
3)这些数据包可以通过不同的传输途径(路由)进行传输,由于路径不同,加上其它的原因,可能出现顺序颠倒、数据丢失、数据失真甚至重复的现象。这些问题都由TCP协议来处理,它具有检查渗桥租和处理错误的功能,必要时还可以请求发送端重发。
简言之,IP协议负责数据的传输,而TCP协议负责数据的可靠性。

② 计算机网络技术中RARP协议功能,数据交换技术的三种类型,线路交换技术完成数据传输需要经历的过程

目前公用电话网广泛使用的交换方式是电路交换,经由电路交换的通信包括三个阶段:
(1) 电路建立: 通过源站点请求完成交换网中对应的所需逐个节点的接续(连接)过程,以建立起一条由源站到目的站的传输通道。例如:A,D间要完成通信,共过程为A向节点4申请,通常,从A到4的链路是专用线,节点4在4-1,4-5,4-7三条传输路径中选择一条作为通路,如选择4-5,并在节点4内部建立A-4路径与4-5路径间的连接,依次类推,之后节点5内部建立4-5和5-3路径之间的连接,最后节点3内部建立5-3路径和3-D路径之间的连接,最终完成A-D之间的传输通道为A-4-5-3-D。
(2) 数据传输: 现在,信号可以从A经建立的链路传送到D,通常为全双工传输。
(3) 电路拆除: 在完成数据或信号的传输后,由源站或目的站提出终止通信,各节点相应拆除该电路的对应连接,释放由原电路占用的节点和信道资源。

③ 计算机 的信息是如何传输的

进入因特网的电脑都遵循着一个称为TCP/IP的传递信息的规则。在发送信息时,先把信息分成一个个的小包,在小包上标明要接收信息的计算机的“门牌号码”,即IP地址。然后由网络中的称做路由器的“指挥官”,根据“门牌号码”确定这些信息小包传送的路径。当信息小包传送到接收的计算机后,小包合并成原来信息的模样,这样就完成了信息的传输。

信息传输是从一端将命令或状态信息经信道传送到另一端,并被对方所接收。包括传送和接收。传输介质分有线和无线两种,有线为电话线或专用电缆;无线是利用电台、微波及卫星技术等。信息传输过程中不能改变信息,信息本身也并不能被传送或接收。必须有载体,如数据、语言、信号等方式,且传送方面和接收方面对载体有共同解释。

④ 计算机在以太网中发送数据的流程是怎样的

在 tcp/ip 模型下是这样的:
首先数据由应用层(application)先把数据流(data stream)发往 传输层(transport)传输层再把数据流封装成 段(data segment)再往下发往 网络层(internet) 网络层把段封装成 包(packet)再往下发往网络访问层(network access)网络访问层把 包封装成帧 以比特流的形式 在物理链路上传输

然后到达另一台计算机 另一台计算机把 帧解封装成 包 然后包解封成 段数据 然后解封成数据流 最后发往你应用成的软件 比如QQ 由应用层的软件处理这些数据

下面是什么是 封装 和解封装的具体概念
封装:
以用户要发送email为例,讲解网络如何封装数据:
步骤1:创建数据----当用户发送email时,其中的字母和数字字符被转换成可
以在网络上传输的数据。
步骤2:为端到端的传输将数据打包----对数据打包来实现互连网的传输。通
过使用分段(segment),传输功能确保email系统两端的主机之间能可靠的通信。
步骤3:在报头上添加网络地址----数据放置在一个分组或数据报中,其中包
含了带有源和目的逻辑地址的网络报头。这些地址有助于网络设备沿着已选定的路
径发送这些分组。
步骤4:在数据链路报头上添加本地地址----每一台网络设备都必须将分组放
入帧中。该帧使得可以传送到该链路上下一台直接相连的网络设备。在选定的路径
上的每一个网络设备都必须把帧传递到下一台设备。
步骤5:为进行传输而转换为比特

解封装:
步骤1:检验该MAC目的地址是否与工作站的地址相匹配或者是否为一个以太网
广播地址。如果这两种情况都没有,就丢弃该帧。
步骤2:如果数据已经出错了,那么将它丢弃,而且数据链路层可能会要求重传数
据。否则,数据链路层就读取并解释数据链路报头上的控制信息。
步骤3:数据链路层剥离数据链路报头和报尾,然后根据数据链路报头上的控制信
息把剩下的数据向上传送到网络层。

⑤ 两台电脑在网络中的数据传输经过那些步骤

我暂且按我的理解说说吧。
先看一下计算机网络OSI模型的七个层次:
┌—————┐
│ 应用层 │←第七层
├—————┤
│ 表示层 │
├—————┤
│ 会话层 │
├—————┤
│ 传输层 │
├—————┤
│ 网络层 │
├—————┤
│数据链路层│
├—————┤
│ 物理层 │←第一层
└—————┘

而我们现在用的网络通信协议TCP/IP协议者只划分了四成:

┌—————┐
│ 应用层 │ ←包括OSI的上三层
├—————┤
│ 传输层 │
├—————┤
│ 网络层 │
├—————┤
│网络接口层 │←包括OSI模型的下两层,也就是各种不同局域网。
└—————┘

两台计算机通信所必须需要的东西:IP地址(网络层)+端口号(传送层)。

两台计算机通信(TCP/IP协议)的最精简模型大致如下:

主机A---->路由器(零个或多个)---->主机B

举个例子:主机A上的应用程序a想要和主机B上面的应用程序b通信,大致如下

程序a将要通信的数据发到传送层,在传送层上加上与该应用程序对应的通信端口号(主机A上不同的应用程序有不同的端口号),如果是用的TCP的话就加上TCP头部,UDP就加上UDP头部。
在传送成加上头部之后继续向往下传到网络层,然后加上IP头部(标识主机地址以及一些其他的数据,这里就不详细说了)。
然后传给下层到数据链路层封装成帧,最后到物理层变成二进制数据经过编码之后向外传输。

在这个过程中可能会经过许多各种各样的局域网,举个例子:

主机A--->(局域网1--->路由器--->局域网2)--->主机B

这个模型比上面一个稍微详细点,其中括号里面的可以没有也可能有一个或多个,这个取决于你和谁通信,也就是主机B的位置。

主机A的数据已经到了具体的物理介质了,然后经过局域网1到了路由器,路由器接受主机A来的数据先经过解码,还原成数据帧,然后变成网络层数据,这个过程也就是主机A的数据经过网络层、数据链路层、物理层在路由器上面的一个反过程。
然后路由器分析主机A来的数据的IP头部(也就是在主机A的网络层加上的数据),并且修改头部中的一些内容之后继续把数据传送出去。

一直到主机B收到数据为止,主机B就按照主机A处理数据的反过程处理数据,直到把数据交付给主机B的应用程序b。完成主机A到主机B的单方向通信。

这里的主机A、B只是为了书写方便而已,可能通信的双方不一定就是个人PC,服务器与主机,主机与主机,服务器与服务器之间的通信大致都是这样的。

再举个例子,我们开网页上网络:
就是我们的主机浏览器的这个应用程序和网络的服务器之间的通信。应用成所用的协议就是HTTP,而服务器的端口号就是熟知端口号80.

大致过程就是上面所说,其中的细节很复杂,任何一个细节都可以写成一本书,对于非专业人员也没有必要深究。

⑥ 详细论述qq上传送数据的详细过程

大家知道,网络的一个基本特点是允许资源的共享。在许多时间里。这种共享通过两个独立的程序来完成,他们分别运行在不同的计算机上。一个程序称为服务器程序(服务器),提供特定的资源;另一个程序称为客户程序(客户端)。用来使用资源。二者统称为客户端/服务器系统(client/server system)。
基本的工作过程如下:
1、用户连接到ISP,并发出一个请求,大多数用户都是使用MODEN通过电话线连接;
2、ISP通过告诉连接将请求传送到最近的服务访问点;
3、请求路过路干网络到达最近的服务访问点;
4、服务点将请求再送到信宿的ISP;
5、信宿的服务提供商将请求发送到包含信宿计算机的路由器;
6、信宿计算机接到请求,并沿相同路径发送回请求的文件;
这里就不得不提提TCP/IP协议了。
计算机网络是由许多计算机组成的,要实现网络之间的数据传输,必须要做好两件事,即数据传输目的地址和保证数据迅速可靠传输的措施。INTERNET使用一种专门的计算机协议,以保证数据安全、可靠地到达指定的目的地,这种协议分为两部分:TCP(Transmission Control Protocol传输控制协议)和IP(Internet Protocot网间协议),TCP协议主要负责传输的可靠性,而IP协议负责数据的传输。TCP/IP所采用的通信方式是分组交换方式。分组交换是指数据在传输时分成若干段,每个数据段称为一个数据包,数据包除含有一定长度的正问外,还含有数据包将被送往的地址(这个地址称为IP),数据包经过多台计算机的中转最终达到它的目的地。TCP/IP协议的基本传输单位就是数据包。
数据传输过程如下:
1、首先由TCP协议把数据分成若干数据包,给每个数据包写上序号,以便接受端把数据还原成原来的格式;
2、IP协议给每个数据包写上发送主机和接受主机的地址,一旦写上它的源地址和目的地址,数据包就可以在物理网上传送数据了。IP协议还具有利用路由算法进行路由选择的功能;
3、这些数据包可以通过不同的传输路径(路由)进行传输。由于路径不同,加上其他的原因,可能出现顺序颠倒、数据失真甚至重复的显示。这些问题都由TCP协议来处理,它具有检查和处理错误的功能,必要时还可以请求发送端重发。
总而言之,尽管IP协议使计算机能够发送和接收数据,提供了一种将数据包从源地址传送到目的地的方法,但IP并未解决数据包在传送过程中所有可能出现的问题,如数据包丢失后的重发和重排数据包及数据包乱序到达等,因此使用INTERNET的计算机还需要TCP协议来提供可靠的无差错的通信服务,达到互相配合互相补充的目的。两者结合在一起,提供了一种在INTERNET上可靠的传输数据的方法。TCP和IP是互补的,TCP处理IP没有处理的通信为体,向应用程序提供可靠的通信连接。
看到这里,相信大家对网络通信都有了一个了解。而对于QQ在聊天时出现信息丢失、延迟接收、重复接收或接收时间错乱等情况,绝大多数情况下是由于网络繁忙造成INTERNET负荷运行引起的,目前并没有解决方法,只期待能有一种全新的成熟的通信协议技术问世。所以,当大家遇到这些问题时也不要再到处闹了,冷静下来做些其他的事,或者避开上网高峰期!

⑦ 计算机网络通信中传输的是什么信号

数字或模拟信号。

网络通信中最重要的就是网络通信协议。当今网络协议有很多,局域网中最常用的有三个网络协议:MICROSOFT的NETBEUI、NOVELL的IPX/SPX和TCP/IP协议。应根据需要来选择合适的网络协议。

从专业角度定义,网络协议是计算机在网络中实现通信时必须遵守的约定,也就是通信协议。主要是对信息传输的速率、传输代码、代码结构、传输控制步骤、出错控制等作出规定并制定出标准。

(7)计算机网络中传输过程扩展阅读

NETBEUI协议——

NETBEUI是为IBM开发的非路由协议,用于携带NETBIOS通信。NETBEUI缺乏路由和网络层寻址功能,既是其最大的优点,也是其最大的缺点。因为它不需要附加的网络地址和网络层头尾,所以很快并很有效且适用于只有单个网络或整个环境都桥接起来的小工作组环境。

因为不支持路由,所以NETBEUI永远不会成为企业网络的主要协议。NETBEUI帧中的地址是数据链路层媒体访问控制(MAC)地址,该地址标识了网卡但没有标识网络。路由器靠网络地址将帧转发到最终目的地,而NETBEUI帧完全缺乏该信息。

⑧ [计算机网络之六] 传输层

  传输层向它上面的应用层提供通信服务,它属于面向通信部分的最高层,同时也是用户功能中的最底层。

  从传输层的角度,通信的真正端点并不是主机而是主机中的进程。

  传输层有 分用 复用 的功能。 “复用” 是指在发送方不同的应用进程都可以使用同一个运输层协议传送数据, “分用” 是指接收方的运输层在剥去报文的首部后能够把这些数据正确交付目的应用进程。

  网络层和运输层有明显的区别,网络层为主机之间提供逻辑通信,而运输层为应用进程之间提供端到端的逻辑通信。

知名端口号 :0~1023
登记端口号 :1024~49151
客户端短暂端口号 :49152~65535


① 无连接。 发送数据之前不需要建立连接,因此减少了开销和发送数据之前的时延。
② 尽最大努力交付。 即不保证可靠交付,因此主机不需要维持复杂的连接状态表。
③ 面向报文的。 对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界,UDP 一次交付一个完整的报文。

  用户数据报 UDP 有两个字段:数据字段和首部字段。首部字段很简单,只有 8 个字节,由四个字段组成,每个字段的长度都是两个字节。各字段意义如下:

① 源端口 在需要对方回信时选用。不需要时可用全0。
② 目的端口 目的端口号。这在终点交付报文时必须使用。
③ 长度 用户数据报的长度,最小值为 8 (仅有首部)。
④ 检验和 检测用户数据报在传输中是否有错。有错就丢弃。

  用户数据报首部检验和的计算和校验都要计算出一个伪首部。


① 面向连接。

  应用程序在使用 TCP 协议之前,必须先建立 TCP 连接;传送数据完毕后,必须释放已经建立的 TCP 连接。类似于打电话:通话前要先拨号建立连接,通话结束后要挂机释放连接。

② 一对一。

  TCP 连接只能是点对点的(一对一)。

③ 可靠交付。

  通过 TCP 连接传送的数据,无差错、不丢失、不重复,并且按序到达。

④ 全双工通信。

  通信双方的应用进程在任何时候都能发送和接收数据,TCP 连接的两端都设有发送缓存和接收缓存,用来临时存放双向通信的数据。

⑤ 面向字节流。

  TCP 中的 “流” 指的是流入到进程或从进程流出的字节序列。

  “面向字节流” 的含义:虽然应用程序和 TCP 的交互式一次一个数据块(大小不等),但 TCP 把应用程序交下来的数据仅仅看成是一连串无结构的字节流。TCP 并不知道所传送的字节流的含义。TCP 不保证接收方应用程序锁收到的数据块和发送方应用程序所发出的数据块具有对应的大小关系。但接收方应用程序收到的字节流必须和发送方应用程序发出的字节流完全一样,当然接收方的应用程序必须有能力识别收到的字节流,把它还原成有意义的应用层数据。

  TCP 连接是协议软件提供的一种抽象,每一条 TCP 连接唯一地被通信两端的两个端点(即两个套接字)所确定,即:

  TCP 连接 ::= {socket1, socket2} = {(IP1: port1), (IP2: port2)}

  IP1 和 IP2 分别是两个端点主机的 IP 地址,port1 和 port2 分别是两端端点主机中的端口号。


  网络只能提供最大努力的服务,是不可靠的,因此 TCP 必须采用适当的措施才能使得两个运输层之间的通信变得可靠。当出现差错时让发送方重传出现差错的数据,同时在接收方来不及处理收到的数据时,及时告知发送方适当降低发送数据的速度,这样就可以在不可靠的传输信道实现可靠传输。

  ARQ(Auto Repeat-reQuest):自动重传请求。

  发送方每发送完一个分组就停止发送,等待接收方确认,在收到确认后再发送下一个分组。
  A 是发送方,B 是接收方。

  A 每发送一个分组后,等待 B 对该分组的确认后,再接着发送下一个分组。

【发送方】A 发送的分组在传输过程中出错,可能是丢失了,也可能是分组受到干扰出错了
【接收方】这时 B 直接丢弃分组,什么也不做(也不通知 A 受到的分组有差错)。

【解决方案】发送方在每发送完一个分组时设置一个 超时计数器 ,只要超过一段时间仍然没有接收到确认,就认为刚才发送的分组丢失了,因而重传前面发送过的分组,这叫 超时重传 。反之在超时计时器到期之前收到了相应的确认,就撤销该超时计时器。

第一,A 在发送完一个分组后, 必须暂时保留已发送的分组的副本 (在发生超时重传时使用)。只有在收到相应的确认后才能清楚暂时保留的分组副本。

第二,分组和确认分组都必须进行 编号 。这样才能明确是哪一个发送出去的分组受到了确认,而哪一个分组还没有收到确认。

第三,超时计时器设置的 重传时间应当比数据在分组传输的平均往返时间更长一些

【发送方】超时重传时间内没有收到确认报文,无法确认是发送出错、丢失,还是接收方的确认丢失,超时计时器到期后就要重传。
【接收方】丢弃收到的重复分组,不向上层交付;向发送方发送确认。

【发送方】收下迟到的确认,并且丢弃

  发送方大部分时间都在等待确认,信道的利用率低

  使用流水线的 ARQ 可以提高信道利用率

【发送方】维持一个发送窗口,位于发送窗口内的分组都可连续发送出去,而不需要等待对方的确认。

回退N帧协议 :如果发送方发送了多个分组,但中间的某个分组丢失了,这时接收方只能对丢失分组之前的分组发出确认,而发送方无法知道丢失分组及后面分组的接收情况,只好把丢失分组及后面的分组重传一次,这叫 Go-back-N ,表示需要再退回来重传已发送过的 N 个分组。


  前面 20 个字节固定,因此 TCP 首部最小长度是 20 字节。

  TCP 的滑动窗口以字节为单位,窗口后沿的部分表示已发送且已收到通知,窗口里的序号表示允许发送的序号,窗口前沿之前的数据暂时不允许发送,需要等待收到接收方的确认后前沿往前移才可发送。

描述一个发送窗口需要三个指针:P1、P2 和 P3,如图所示:

  小于 P1 的是已发送并已收到确认的部分,而大于 P3 的是不允许发送的部分。

  P3 - P1 = A 的发送窗口

  P2 - P1 = 已发送但尚未收到确认的字节数

  P3 - P2 = 允许发送但当前尚未发送的字节数(又称为 可用窗口 有效窗口

  接收方 B 接收窗口大小为20,因为未收到 31 的数据,即使已收到后面的序号 32、33 的数据,返回的确认号仍然是 31。

  现在接收方收到了 31、32、33,并返回确认号 33,接收窗口往前滑动 3 个序号,发送方接收到确认,发送窗口也向前滑动 3 个序号大小,现在 A 可以发送序号 51~53 的数据了。

  当发送方将发送窗口内的数据都发送出去,但是接收方的确认可能由于网络拥塞滞留,这时发送方发送窗口已满,可用窗口为 0,只能等待接收方的确认报文到达。

  TCP 为了保证可靠传输,要求必须受到对已发送报文的确认,如果超过一定时间未受到确认报文,则重传已发送的报文。这个时间就叫 超时重传时间 ,很明显超时重传时间的大小设置应该更贴近网络的实际情况,如果网络状况好,就设短一点,否则使网络的空闲时间增大,降低了传输效率;网络差就设长一点,否则会引起很多不必要的重传,使网络负荷增大。

  TCP 采用了一种自适应的算法:

  RTT(报文段的往返时间)、RTTs(加权平均往返时间),RTTs 的计算公式:

RTTd(RTT 的偏差的加权平均值)、RTO(RetransmissionTime-Out 超时重传时间):

【场景】TCP 的接收方在接收对方发送过来的数据字节流的序号不连续,形成一些不连续的字节块,如果简单按照回退N帧协议处理,意味着要重传第一个未收到的序号数据块及之后的数据,如果能通知发送方已收到了哪些数据(选择确认),就可以让发送方只发送接收方未收到的数据。



  流量控制就是让发送方的发送速率不要太快,要让接收方来得及接收。

  当发送方收到接收方通知,将窗口缩小为 0 时,发送方将暂时不能发送数据了,必须等接收方通知更新接收窗口大小,但是这个通知又有可能丢失,导致发送方没收到通知。

  为了避免双方互相等待死锁,TCP 为每个链接设有一个 持续计时器 ,只要 TCP 连接的一方收到对方的零窗口通知,就启动持续计时器。若持续计时器设置的时间到期,就发送一个零窗口 探测报文段 (仅携带 1 字节的数据),而对方就在确认这个探测报文段时给出了现在的窗口值。如果窗口仍然是零,那么受到这个报文段的一方就重新设置持续计时器;如果窗口不是零,那么死锁的僵局就可以打破了。



【优点】提高网络利用率
【缺点】可能会发生某种程度的延迟

【场景】接收数据的主机如果每次都立刻回复确认应答的话,可能会返回一个较小的窗口,因为接收方刚接收完数,缓冲区已满。

【糊涂窗口综合征问题】
TCP 接收方缓存已满,而交互式的应用进程一次只从接收缓存中读取 1 个字节(这样就使接收缓存空间仅腾出 1 个字节),然后向发送方发送确认,并把窗口设置为 1 个字节(但发送的数据报是 40 字节长,TCP 首部 + IP 数据报首部)。接着,发送方又发来 1 个字节的数据(注意发送方发送的 IP 数据报是 41 字节长)。接收方发回确认,仍然将窗口设置为 1 个字节。这样进行下去,使网络的效率很低。

  TCP 文件传输中,就采用了两个数据段返回一次确认应答,并且等待一定时间后没有其他数据包到达时也依然发送确认应答。

  当对网络中某一资源的需求超过了该资源所能提供的可用部分,网络的性能就要变坏,这种情况就叫做 拥塞



  慢开始(slow-start)、拥塞避免(congestion avoidance)、快重传(fast retransmit)和快恢复(fast recovery)。

【算法思路】

  当主机开始发送数据时,由于并不清楚网络的负荷情况,所以如果立即把大量数据字节注入网络,那么就有可能引起网络发生拥塞。较好的方法是先探测一下,即 由小到大逐渐增大发送窗口 ,也就是说, 由小到大逐渐增大拥塞窗口数值

【处理过程】

   慢开始门限值 ssthresh 决定了拥塞窗口达到多大时要执行什么算法。

① 当 cwnd < ssthresh 时,使用慢开始算法;
② 当 cwnd > ssthresh 时,停止使用慢开始算法而改用拥塞避免算法;
③ 当 cwnd = ssthresh 时,既可使用慢开始算法,也可使用拥塞避免算法。

  在拥塞窗口 cwnd 达到门限值之前,发送方每一轮次收到确认应答后,cwnd 就增大为原来的两倍;达到门限值后,执行拥塞避免算法。

PS. 慢开始只是表示初始发送数据少,不代表发送速率增长速度慢,实际上是指数级增长非常快。

【算法思路】

  让拥塞窗口 cwnd 缓慢地增大,即每经过一个往返时间 RTT 就把发送方的拥塞窗口 cwnd 加 1,而不是像慢开始阶段那样加倍增长。拥塞避免阶段有 “加法增大” 的特点,按线性规律缓慢增长,使网络比较不容易出现拥塞

【处理过程】

  在执行拥塞避免算法阶段,当网络出现超时时,发送方判断为网络拥塞,调整门限值为当前拥塞窗口的一半,即 ssthresh = cwnd / 2,同时拥塞窗口重置为 1,即 cwnd = 1,进入慢开始阶段。

【算法原理】

① 快重传

【场景】有时,个别报文段会在网络中丢失,但实际上网络并未发生拥塞。如果发送方迟迟收不到确认,就会产生超时,就会误认为网络发生了拥塞,导致发送方错误地启动慢开始,把拥塞窗口 cwnd 又设置为 1,因而降低了传输效率。

【方案】接收方不要等待自己发送数据时才进行捎带确认,而是要立即发送确认,即使收到了失序的报文段也要立即发出对已收到的报文段的重复确认,当发送方 一连收到 3 个重复确认 ,就知道接收方确实没有收到某个报文段,因而应当 立即进行重传

② 快恢复:

  发送方知道只是丢失了个别的报文段,于是不启动慢开始,而是执行快恢复算法,调整发送方门限值 ssthresh = cwnd / 2,同时设置拥塞窗口 cwnd = ssthresh = 8,并开始执行拥塞避免算法。


拥塞控制的流程如下:

  拥塞窗口 cwnd,接收方窗口 rwnd, 发送方发送窗口的上限值 = Min[rwnd, cwnd]

① 当 rwnd < cwnd,接收方的接收能力限制发送方窗口大小;
② 当 cwnd < rwnd,网络的拥塞程度限制发送方窗口大小。


【问题背景】

  路由器采取分组丢弃策略,即按照 先进先出(FIFO) 规则处理分组,当队列已满时,则丢弃后面到达的分组,这叫 尾部丢弃策略

  丢失的分组会导致发送方出现超时重传,发送方转而执行慢开始算法,不同分组属于不同 TCP 连接,导致很多 TCP 同时进入慢开始状态,这种现象称为 全局同步

【解决方案】

  主动队列管理 AQM:不等到路由器的队列长度已经达到最大值时才不得不丢弃后面到达的分组,而是在队列长度达到某个警惕值时就主动丢弃到达的分组,这样就提醒了发送方放慢发送的速率,因而有可能使网络拥塞的程度减轻,甚至不出现网络拥塞。


  TCP 是面向连接的协议,运输连接有三个阶段: 连接建立、数据传送、连接释放

  TCP 连接建立过程要解决的几个问题:

① 使每一方能够确知对方的存在;
② 允许双方协商一些参数(如最大窗口值、是否使用窗口扩大选项和时间戳选项以及服务质量等);
③ 能够对运输实体资源(如缓存大小、连接表中的项目等)进行分配。

  TCP 建立连接的过程叫做握手,握手需要在客户和服务器之间交换三个 TCP 报文段,即 三次握手

  最初客户端和服务端都处于 CLOSED(关闭) 状态,A(Client)主动打开连接,B(Server)被动打开连接。

  一开始,B 的 TCP 服务器进程先创建 传输控制块 TCB ,准备接受客户进程的连接请求。然后服务器进程就处于 LISTEN(收听)状态,等待客户端的连接请求。如有,即作出响应。

   第一次握手 :A 的 TCP 客户进程也是首先创建传输控制块 TCB,准备接受客户进程的连接请求。然后在打算建立 TCP 连接时,向 B 发出连接请求报文段,这时首部中的同步位 SYN = 1,同时选择一个初始序号 seq = x。TCP 规定,SYN 报文段(即 SYN = 1 的报文段)不能携带数据,但要 消耗掉一个序号 。这时,TCP 客户进程进入 SYN-SENT(同步已发送) 状态。

   第二次握手 :B 收到连接请求报文段后,如同意建立连接,则向 A 发送确认。在确认报文段中应把 SYN 位和 ACK 位都置 1,确认号是 ack = x + 1,同时也为自己选择一个初始序号 seq = y。请注意,这个报文段也不能携带数据,但同样 要消耗掉一个序号 。这时 TCP 服务器进程进入 SYN-RCVD(同步收到) 状态。

   第三次握手 :TCP 客户进程收到 B 的确认后,还要向 B 给出确认。确认报文段的 ACK 置 1,确认号 ack = y + 1,而自己的序号 seq = x + 1。TCP 的标准规定,ACK 报文段可以携带数据。但 如果不携带数据则不消耗序号 ,在这种情况下,下一个数据报文段的序号仍是 seq = x + 1。这时,TCP 连接已经建立,A 进入 ESTABLISHED(已建立连接) 状态。当 B 收到 A 的确认后,也进入 ESTABLISHED(已建立连接)状态。








  数据传输结束后,通信的方法都可释放连接。现在 A 和 B 都处于 ESTABLISHED 状态。

   第一次挥手 :A 的应用进程先向其 TCP 发出连接释放报文段,并停止再发送数据,主动关闭 TCP 连接。A 把连接释放报文段首部的终止控制位 FIN 置 1,其序号 seq = u,它等于前面已传送过的数据的最后一个字节的序号加 1。这时 A 进入 FIN-WAIT-1(终止等待 1)状态,等待 B 的确认。请注意,TCP 规定,FIN 报文段即使不携带数据,它也消耗掉一个序号。

   第二次挥手 :B 收到连接释放报文后即发出确认,确认号是 ack = u + 1,而这个报文段自己的序号是 v,等于 B 前面已传送过的最后一个字节的序号加 1。然后 B 就进入 CLOSE-WAIT(关闭等待)状态。TCP 服务器进程这时应通知高层应用程序,因而从 A 到 B 这个方向的连接就释放了,这时的 TCP 连接处于半关闭(half-close)状态,即 A 已经没有数据要发送了,但 B 若发送数,A 仍要接收。也就是说,从 B 到 A 这个方向的连接并未关闭,这个状态可能会持续一段时间。A 收到来自 B 的确认后,就进入 FIN-WAIT-2(终止等待 2)状态,等待 B 发出的连接释放报文段。

   第三次挥手 :若 B 已经没有要向 A 发送的数据,其应用进程就通知 TCP 释放连接。这时 B 发出的连接释放报文段必须使 FIN = 1。现假定 B 的序号为 w(在半关闭状态 B 可能又发送了一些数据)。B 还必须重复上次已发送过的确认号 ack = u + 1。这时 B 就进入 LAST-ACK(最后确认)状态,等待 A 的确认。

   第四次挥手 :A 在收到 B 的连接释放报文段后,必须对此发出确认。在确认报文段中把 ACK 置 1,确认号 ack = w + 1,而自己的序号是 seq = u + 1(根据 TCP 标准,前面发送过的 FIN 报文段要消耗一个序号)。然后进入 TIME-WAIT(时间等待)状态。请注意,现在 TCP 连接还没有释放掉。必须经过时间等待计时器(TIME-WAIT timer)设置的时间 2MSL 后,A 才进入到 CLOSED 状态,然后撤销传输控制块,结束这次 TCP 连接。当然如果 B 一收到 A 的确认就进入 CLOSED 状态,然后撤销传输控制块。所以在释放连接时,B 结束 TCP 连接的时间要早于 A。




⑨ 计算机网络中的数据通过什么传输

就是在传输过程中,对外界透明,就是说你看不见他是传送网络不管传输的业务如何,我只负责将需要传送的业务传送到目的节点,同时保证传输的质量即可,而不对传输的业务进行处理。
2、透明传输是指数据直接通过系统中的互连功能模式而不进行rlp纠错,如果进行了rlp纠错即为非透明传输。
3、就是所谓的透明传输,不管传的是什么,所采用的设备只是起一个通道作用,把要传输的内容完好的传到对方!
4、透传的设备是个黑箱子,进来是什么出去也是什么

⑩ 简述数据通过计算机网络的通信过程。

过程:电脑将数据封装上一定的头部,转换成0,1等二进制信号在线路上传播给路由器,路由器根据路由表转发数据,直达目的主机,再拆去头部信息,将纯的数据交给应用程序。

c/s(客户机/服务器)有三个主要部件:数据库服务器、客户应用程序和网络。服务器负责有效地管理系统的资源,其任务集中于:
1.数据库安全性的要求
2.数据库访问并发性的控制
3.数据库前端的客户应用程序的全局数据完整性规则
4.数据库的备份与恢复

客户端应用程序的的主要任务是:
1.提供用户与数据库交互的界面
2.向数据库服务器提交用户请求并接收来自数据库服务器的信息
3.利用客户应用程序对存在于客户端的数据执行应用逻辑要求
4.网络通信软件的主要作用是,完成数据库服务器和客户应用程序之间的数据传输。
三层C/S结构是将应用功能分成表示层、功能层和数据层三部分。
解决方案是:对这三层进行明确分割,并在逻辑上使其独立。
在三层C/S中, 表示层 是应用的用户接口部分,它担负着用户与应用间的对话功能。它用于检查用户从键盘等输入的数据,显示应用输出的数据。为使用户能直观地进行操作,一般要使用图形用户接口 (GUI),操作简单、易学易用。在变更用户接口时,只需改写显示控制和数据检查程序,而不影响其他两层。检查的内容也只限于数据的形式和值的范围,不包括有关业务本身的处理逻辑。
功能层 相当于应用的本体,它是将具体的业务处理逻辑地编入程序中。表示层和功能层之间的数据交往要尽可能简洁。
数据层 就是DBMS,负责管理对数据库数据的读写。DBMS必须能迅速执行大量数据的更新和检索。现在的主流是关系数据库管理系统 (RDBMS)。因此一般从功能层传送到数据层的要求大都使用SQL语言。
在三层或N层C/S结构中,中间件 (Middleware) 是最重要的部件。所谓中间件是一个用API定义的软件层,是具有强大通信能力和良好可扩展性的分布式软件管理框架。它的功能是在客户机和服务器或者服务器和服务器之间传送数据,实现客户机群和服务器群之间的通信。其工作流程是:在客户机里的应用程序需要驻留网络上某个服务器的数据或服务时,搜索此数据的C/S应用程序需访问中间件系统。该系统将查找数据源或服务,并在发送应用程序请求后重新打包响应,将其传送回应用程序。随着网络计算模式的发展,中间件日益成为软件领域的新的热点。中间件在整个分布式系统中起数据总线的作用,各种异构系统通过中间件有机地结合成一个整体。每个C/S环境,从最小的LAN环境到超级网络环境,都使用某种形式的中间件。无论客户机何时给服务器发送请求,也无论它何时应用存取数据库文件,都有某种形式的中间件传递C/S链路,用以消除通信协议、数据库查询语言、应用逻辑与操作系统之间潜在的不兼容问题。

三层C/S结构的优势主要表现在以下几个方面:
1.利用单一的访问点,可以在任何地方访问站点的数据库;
2.对于各种信息源,不论是文本还是图形都采用相同的界面;
3.所有的信息,不论其基于的平台,都可以用相同的界面访问;
4.可跨平台操作;
5.减少整个系统的成本;
6.维护升级十分方便;
7.具有良好的开放性;
8.系统的可扩充性良好;
9.进行严密的安全管理;
10.系统管理简单,可支持异种数据库,有很高的可用性。