❶ 计算机网络——TCP/UDP协议
计算机网络七层模型中,传输层有两个重要的协议:
(1)用户数据报协议UDP (User Datagram Protocol)
(2)传输控制协议TCP (Transmission Control Protocol)
UDP 在传送数据之前不需要先建立连接。远地主机的运输层在收到UDP 报文后,不需要给出任何确认。虽然UDP 不提供可靠交付,但在某些情况下UDP 却是一种最有效的工作方式。
TCP 则提供面向连接的服务。在传送数据之前必须先建立连接,数据传送结束后要释放连接。TCP 不提供广播或多播服务。由于TCP 要提供可靠的、面向连接的运输服务,因此不可避免地增加了许多的开销,如确认、流量控制、计时器以及连接管理等。
UDP 的主要特点是:
首部手段很简单,只有8 个字节,由四个字段组成,每个字段的长度都是两个字节。
前面已经讲过,每条TCP 连接有两个端点,TCP 连接的端点叫做套接字(socket)或插口。套接字格式如下:
套接宁socket= (IP 地址:端口号’)
每一条TCP 连接唯一地被通信两端的两个端点(即两个套接宇)所确定。即:
TCP 连接= {socket1, socket2} = {(IP1: port1), (IP2: port2)}
3次握手链接
4次握手释放链接
断开连接请求可以由客户端发出,也可以由服务器端发出,在这里我们称A端向B端请求断开连接。
各个状态节点解释如下:
下面为了讨论问题的万便,我们仅考虑A发送数据而B 接收数据并发送确认。因此A 叫做发送方,而B 叫做接收方。
“停止等待”就是每发送完一个分组就停止发送,等待对方的确认。在收到确认后再发送下一个分组。
使用上述的确认和重传机制,我们就可以在不可靠的传输网络上实现可靠的通信。像上述的这种可靠传输协议常称为自动重传请求ARQ (Automatic Repeat reQuest)。意思是重传的请求是自动进行的。接收方不需要请求发送方重传某个出错的分组。
滑动窗口协议比较复杂,是TCP 协议的精髓所在。这里先给出连续ARQ 协议最基本的概念,但不涉提到许多细节问题。详细的滑动窗口协议将在后面讨论。
下图表示发送方维持的发送窗口,它的意义是:位于发送窗口内的5 个分组都可连续发送出去,而不需要等待对方的确认。这样,信道利用率就提高了。
连续ARQ 协议规定,发送方每收到一个确认,就把发送窗口向前滑动一个分组的位置。
接收方一般都是采用 累积确认 的方式。这就是说,接收方不必对收到的分组逐个发送确认,而是可以在收到几个分组后,对按序到达的最后一个分组发送确认,这样就表示:到这个分组为止的所有分组都己正确收到了。
累积确认 的优点是容易实现,即使确认丢失也不必重传。但缺点是不能向发送方反映出接收方己经正确收到的所有分组的信息。
例如,如果发送方发送了前5 个分组,而中间的第3 个分组丢失了。这时接收方只能对前两个分组发出确认。发送方无法知道后面三个分组的下落,而只好把后面的三个分组都再重传一次。这就叫做Go-back-N (回退N ),表示需要再退回来重传己发送过的N 个分组。可见当通信线路质量不好时,连续ARQ 协议会带来负面的影响。
TCP 的滑动窗口是以字节为单位的。现假定A 收到了B 发来的确认报文段,其中窗口是20 (字节),而确认号是31 (这表明B 期望收到的下一个序号是31 ,而序号30 为止的数据己经收到了)。根据这两个数据, A 就构造出自己的发送窗口,其位置如图所示。
发送窗口表示:在没有收到B 的确认的情况下, A可以连续把窗口内的数据都发送出去。凡是己经发送过的数据,在未收到确认之前都必须暂时保留,以便在超时重传时使用。
发送窗口后沿的后面部分表示己发送且己收到了确认。这些数据显然不需要再保留了。而发送窗口前沿的前面部分表示不允许发送的,因为接收方都没有为这部分数据保留临时存放的缓存空间。
现在假定A 发送了序号为31 ~ 41 的数据。这时发送窗口位置并未改变,但发送窗口内靠后面有11个字节(灰色小方框表示)表示己发送但未收到确认。而发送窗口内靠前面的9 个字节( 42 ~ 50 )是允许发送但尚未发送的。】
再看一下B 的接收窗口。B 的接收窗口大小是20,在接收窗口外面,到30 号为止的数据是已经发送过确认,并且己经交付给主机了。因此在B 可以不再保留这些数据。接收窗口内的序号(31~50)足允许接收的。B 收到了序号为32 和33 的数据,这些数据没有按序到达,因为序号为31 的数据没有收到(也许丢失了,也许滞留在网络中的某处)。 请注意, B 只能对按序收到的数据中的最高序号给出确认,因此B 发送的确认报文段中的确认号仍然是31 (即期望收到的序号)。
现在假定B 收到了序号为31 的数据,并把序号为31~33的数据交付给主机,然后B删除这些数据。接着把接收窗口向前移动3个序号,同时给A 发送确认,其中窗口值仍为20,但确认号是34,这表明B 已经收到了到序号33 为止的数据。我们注意到,B还收到了序号为37, 38 和40 的数据,但这些都没有按序到达,只能先存在接收窗口。A收到B的确认后,就可以把发送窗口向前滑动3个序号,指针P2 不动。可以看出,现在A 的可用窗口增大了,可发送的序号范围是42~53。整个过程如下图:
A 在继续发送完序号42-53的数据后,指针P2向前移动和P3重合。发送窗口内的序号都已用完,但还没有再收到确认。由于A 的发送窗口己满,可用窗口己减小到0,因此必须停止发送。
上面已经讲到, TCP 的发送方在规定的时间内没有收到确认就要重传已发送的报文段。这种重传的概念是很简单的,但重传时间的选择却是TCP 最复杂的问题之一。
TCP采用了一种自适应算法 ,它记录一个报文段发出的时间,以及收到相应的确认的时间。这两个时间之差就是报文段的往返时间RTT,TCP 保留了RTT的一个加权平均往返时间RTTs (这又称为平滑的往返时间, S 表示Smoothed 。因为进行的是加权平均,因此得出的结果更加平滑)。每当第一次测量到RTT样本时, RTTs值就取为所测量到的RTT样本值。但以后每测量到一个新的RTT样本,就按下式重新计算一次RTTs:
新的RTTs = (1 - α)×(旧的RTTs) + α ×(新的RTT样本)
α 越大表示新的RTTs受新的RTT样本的影响越大。推荐的α 值为0.125,用这种方法得出的加权平均往返时间RTTs 就比测量出的RTT值更加平滑。
显然,超时计时器设置的超时重传时间RTO (RetransmissionTime-Out)应略大于上面得出的加权平均往返时间RTTs。RFC 2988 建议使用下式计算RTO:
RTO = RTTs + 4 × RTTd
RTTd是RTT 的偏差的加权平均值,它与RTTs和新的RTT样本之差有关。计算公式如下:
新的RTTd= (1- β)×(旧的RTTd) + β × |RTTs-新的RTT样本|
发现问题: 如图所示,发送出一个报文段。设定的重传时间到了,还没有收到确认。于是重
传报文段。经过了一段时间后,收到了确认报文段。现在的问题是:如何判定此确认报文段是对先发送的报文段的确认,还是对后来重传的报文段的确认?
若收到的确认是对重传报文段的确认,但却被源主机当成是对原来的报文段的确认,则这样计算出的RTTs 和超时重传时间RTO 就会偏大。若后面再发送的报文段又是经过重传后才收到确认报文段,则按此方法得出的超时重传时间RTO 就越来越长。
若收到的确认是对原来的报文段的确认,但被当成是对重传报文段的确认,则由此计算出的RTTs 和RTO 都会偏小。这就必然导致报文段过多地重传。这样就有可能使RTO 越来越短。
Kam 提出了一个算法:在计算加权平均RTTs 时,只要报文段重传了就不采用其往返时间样本。这样得出的加权平均RTTs 和RTO 就较准确。
新问题: 设想出现这样的情况:报文段的时延突然增大了很多。因此在原来得出的重传时间内,不会收到确认报文段。于是就重传报文段。但根据Kam 算法,不考虑重传的报文段的往返时间样本。这样,超时重传时间就无法更新。
解决方案: 对Kam 算法进行修正,方法是z报文段每重传一次,就把超时重传时间RTO 增大一些。典型的做法是取新的重传时间为2 倍的旧的重传时间。当不再发生报文段的重传时,才根据上面给出的公式计算超时重传时间。
流量控制(flow control)就是让发送方的发送速率不要太快,要让接收方来得及接收。
利用滑动窗口机制可以很方便地在TCP 连接上实现对发送方的流量控制。
接收方的主机B 进行了三次流量控制。第一次把窗口减小到rwnd =300,第二次又减到rwnd = 100 ,最后减到rwnd = 0 ,即不允许发送方再发送数据了。这种使发送方暂停发送的状态将持续到主机B 重新发出一个新的窗口值为止。我们还应注意到,B 向A 发送的三个报文段都设置了ACK=1,只有在ACK=1 时确认号字段才有意义。
发生死锁: 现在我们考虑一种情况。上图中, B 向A 发送了零窗口的报文段后不久, B 的接收缓存又有了一些存储空间。于是B 向A 发送了rwnd = 400 的报文段。然而这个报文段在传送过程中丢失了。A 一直等待收到B 发送的非零窗口的通知,而B 也一直等待A 发送的数据。如果没有其他措施,这种互相等待的死锁局面将一直延续下去。
解决方案: TCP 为每一个连接设有一个 持续计时器(persistence timer) 。只要TCP 连接的一方收到对方的零窗口通知,就启动持续计时器。若持续计时器设置的时间到期,就发送一个 零窗口探测报文段 (仅携带1 宇节的数据),而对方就在确认这个探测报文段时给出了现在的窗口值。
1 TCP连接时是三次握手,那么两次握手可行吗?
在《计算机网络》中是这样解释的:已失效的连接请求报文段”的产生在这样一种情况下:client发出的第一个连接请求报文段并没有丢失,而是在某个网络结点长时间的滞留了,以致延误到连接释放以后的某个时间才到达server。本来这是一个早已失效的报文段。但server收到此失效的连接请求报文段后,就误认为是client再次发出的一个新的连接请求。于是就向client发出确认报文段,同意建立连接。假设不采用“三次握手”,那么只要server发出确认,新的连接就建立了。由于现在client并没有发出建立连接的请求,因此不会理睬server的确认,也不会向server发送ACK包。这样就会白白浪费资源。而经过三次握手,客户端和服务器都有应有答,这样可以确保TCP正确连接。
2 为什么TCP连接是三次,挥手确是四次?
在TCP连接中,服务器端的SYN和ACK向客户端发送是一次性发送的,而在断开连接的过程中,B端向A端发送的ACK和FIN是是分两次发送的。因为在B端接收到A端的FIN后,B端可能还有数据要传输,所以先发送ACK,等B端处理完自己的事情后就可以发送FIN断开连接了。
3 为什么在第四次挥手后会有2个MSL的延时?
MSL是Maximum Segment Lifetime,最大报文段生存时间,2个MSL是报文段发送和接收的最长时间。假定网络不可靠,那么第四次发送的ACK可能丢失,即B端无法收到这个ACK,如果B端收不到这个确认ACK,B端会定时向A端重复发送FIN,直到B端收到A的确认ACK。所以这个2MSL就是用来处理这个可能丢失的ACK的。
1 文件传送协议
文件传送协议FTP (File Transfer Protocol) [RFC 959]是因特网上使用得最广泛的文件传送协议,底层采用TCP协议。
盯P 使用客户服务器方式。一个FTP 服务器进程可同时为多个客户进程提供服务。FTP的服务器进程由两大部分组成:一个主进程,负责接受新的请求:另外有若干个从属进程,负责处理单个请求。
在进行文件传输时,客户和服务器之间要建立两个并行的TCP 连接:“控制连接”(21端口)和“数据连接”(22端口)。控制连接在整个会话期间一直保持打开, FTP 客户所发出的传送请求,通过控制连接发送给服务器端的控制进程,但控制连接并不用来传送文件。实际用于传输文件的是“数据连接”。服务器端的控制进程在接收到FTP 客户发送来的文件传输请求后就创建“数据传送进程”和“数据连接”,用来连接客户端和服务器端的数据传送进程。
2 简单文件传送协议TFTP
TCP/IP 协议族中还有一个简单文件传送协议TFfP (Trivial File Transfer Protocol),它是一个很小且易于实现的文件传送协议,端口号69。
TFfP 也使用客户服务器方式,但它使用UDP 数据报,因此TFfP 需要有自己的差错改正措施。TFfP 只支持文件传输而不支持交耳。
3 TELNET
TELNET 是一个简单的远程终端协议,底层采用TCP协议。TELNET 也使用客户服务器方式。在本地系统运行TELNET 客户进程,而在远地主机则运行TELNET 服务器进程,占用端口23。
4 邮件传输协议
一个电子邮件系统应具如图所示的三个主要组成构件,这就是用户代理、邮件服务器,以及邮件发送协议(如SMTP )和邮件读取协议(如POP3), POP3 是邮局协议(Post Office Protocol)的版本3 。
SMTP 和POP3 (或IMAP )都是在TCP 连接的上面传送邮件,使用TCP 的目的是为了使邮件的传送成为可靠的。
❷ 有什么方法可以使电脑的网络有延时功能
电脑的网络是没有办法延时的,但如果你开直播的话,是可以设置直播延迟的,你想延迟几分钟,你可以自己设置,其他的就没办法了
❸ win10怎样设置电脑时间跟网络时间同步
首先,我们要打开“我的电脑”快捷方式,然后点击“计算机”选项
然后点击“计算机”选项之后,再点击上方的“打开设置”选项
点击上方的“打开设置”选项之后,找到并点击“时间与语言”
打开“时间与语言”之后,在时区里选择所在时区,系统将自动调节时间
我们还可以在刚刚的界面上找到“更改日期和时间格式”
“更改日期和时间格式”的界面如图,选择自己需要的格式,就可以了
❹ 如何知道本计算机连接网络时间!
例如网络:在开始——执行里输入cmd,然后在打开的窗口里输入ping www..com就知道连接网络所用的时间是多少了
❺ 电脑的时间怎么设置和网络同步
电脑的时间设置和网络同步可以在电脑的设置中更改,具体办法如下:
1、在电脑右下角的时间栏上右击,选择调整日期和时间。
❻ 计算机网络发送时延和传播时延怎么算
总时延 = 排队时延 + 处理时延 + 传输时延 + 传播时延
1. 排队时延
分组在路由器的输入队列和输出队列中排队等待的时间,取决于网络当前的通信量。
2. 处理时延
主机或路由器收到分组时进行处理所需要的时间,例如分析首部、从分组中提取数据、进行差错检验或查找适当的路由等。
3. 传输时延
主机或路由器传输数据帧所需要的时间。
(6)计算机网络接收时间扩展阅读
网络延时高可能有以下几个原因:
1. 本机到服务器之间路由跳数过多。由于光/电的传输速度非常快,他们在物理介质中的传播时间几乎可以忽略不计,但是路由器转发数据包的处理时间是不可忽略的。当本机到服务器链路中有太多路由转发处理时,网络延时就会很明显。
2. 网络带宽不够。排除其它因素,如果客户端和服务器端直接通过一个路由器连接,但带宽只有10Kbps,却同时有多个应用需要传输远超带宽的数据量200Kbps,这时候会造成大量数据丢失,从而表现为响应延时。
3. 处理带宽不够。排除其它因素,如果客户端和服务器端直接通过一个路由器连接,且带宽足够,但服务器端处理能力不足,也会造成响应延时。
❼ 计算机网络中的四种延迟分别是什么
计算机网络中的四种延迟分别是:节点处理延迟 、排队延迟、发送延迟、传播延迟。
1、节点处理延迟
数据更改在一个服务器上完成与该更改出现在另一个服务器上之间所用的时间(例如在发布服务器上进行更改和该更改出现在订阅服务器上之间的时间)。
延迟是指帧从网络上一个端口进入到从另一个端口出去,所花费的时间。
2、网络延迟
网络延迟是指各式各样的数据在网络介质中通过网络协议(如TCP/IP)进行传输,如果信息量过大不加以限制,超额的网络流量就会导致设备反应缓慢,造成网络延迟。
3、排队延迟
时延是指数据从网络的一端传送到另一端所需的时间。排队时延是指分组在经过网络传输时,要经过许多的路由器。但分组在进入路由器后要在输入队列中排队等待处理。在路由器确定了转发接口后,还要在输出队列中排队等待转发。
4、时延
时延是指一个报文或分组从一个网络的一端传送到另一个端所需要的时间。它包括了发送时延,传播时延,处理时延,排队时延。(时延=发送时延+传播时延+处理时延+排队时延)一般,发送时延与传播时延是我们主要考虑的。对于报文长度较大的情况,发送时延是主要矛盾;报文长度较小的情况,传播时延是主要矛盾。
时延是指数据包第一个比特进入路由器到最后一比特从路由器输出的时间间隔。在测试中通常使用测试仪表发出测试包到收到数据包的时间间隔。时延与数据包长相关,通常在路由器端口吞吐量范围内测试,超过吞吐量测试该指标没有意义。
(7)计算机网络接收时间扩展阅读:
定义:在传输介质中传输所用的时间,即从报文开始进入网络到它开始离开网络之间的时间。
如何定义网络延迟程度:
(网络延迟PING值越低速度越快)
1~30ms:极快,几乎察觉不出有延迟,玩任何游戏速度都特别顺畅
31~50ms:良好,可以正常游戏,没有明显的延迟情况
51~100ms:普通,对抗类游戏能感觉出明显延迟,稍有停顿
>100ms:差,无法正常游戏,有卡顿,丢包并掉线现象
计算方法:1秒=1000毫秒(例:30ms为0.03秒)
参考资料来源:
网络-时延
网络-排队延迟
网络-网络延迟
网络-延迟
❽ 电脑宽带连接时间在哪里看
电脑宽带连接可通过以下步骤进行操作,以windows7系统为例:
1、可在控制面板,选择网络和internet选项,找到网络连接。如没有,可以直接创建后使用,打开电脑开始菜单,在开始菜单中打开控制面板 ,在控制面板中找到网络和internet选项并单击,进入网络设置页面;
2、在网络和共享中心下方,找到查看网络状态和任务的选项,用鼠标左击此选项;
3、在网络状态任务界面中,在下面的更改网络设置一栏里,点击设置新的连接或者网络;
4、选择连接选项,选择第一项即连接到internet,点击后开始下一步;
5、如之前没有连接过网络,此时将会有一个提示,即建立一个连接,如之前连接过,现在还需另外建立一个连接,可点击创建新连接选项,点击下一步;
6、在连接到internet这个页面中,输入网络账户的用户名和密码,给这个网络连接命名一个名字,名字可以随便命名。设置完后,点击连接就成功建立了一个网络连接了;
7、这样即可打开桌面的宽带连接图标,点击其中的一个网络连接,点击连接按钮,就可以连接网络使用了。
❾ 计算机网络体系的时间对应关系
计算机的网络结构可以从网络体系结构,网络组织和网络配置三个方面来描述,网络组织是从网络的物理结构和网络的实现两方面来描述计算机网络,网络配置是从网络应用方面来描述计算机网络的布局,硬件、软件和通信线路来描述计算机网络,网络体系结构是从功能上来描述计算机网络结构。
网络协议是计算机网络必不可少的,一个完整的计算机网络需要有一套复杂的协议集合,组织复杂的计算机网络协议的最好方式就是层次模型。而将计算机网络层次模型和各层协议的集合定义为计算机网络体系结构(Network Architecture)。
计算机网络由多个互连的结点组成,结点之间要不断地交换数据和控制信息,要做到有条不紊地交换数据,每个结点就必须遵守一整套合理而严谨的结构化管理体系·计算机网络就是按照高度结构化设计方法采用功能分层原理来实现的,即计算机网络体系结构的内容。
通常所说的计算机网络体系结构,即在世界范围内统一协议,制定软件标准和硬件标准,并将计算机网络及其部件所应完成的功能精确定义,从而使不同的计算机能够在相同功能中进行信息对接。
❿ 电脑连接网络时间长是怎么回事
电脑连接网络时间长出现提示的原因是:SP2更多考虑了安全问题,IP设置为自动获取,其实是从DHCP服务器获取IP及相关参数,但是这个过程可能由于某种原因,没有完成。
在SP1时代,这种情况下,操作系统为了防止脱网,自作主张为网卡设置169.x.x.x的保留IP,不作任何错误提示。
如果有多台计算机没有获得正确的IP,那么他们通过保留地址还可以互相通讯。
但是安装SP2后,操作系统依据“安全”至上的原则,不分配任何IP,切断网络连接,并报告错误“本地连接受限制或无连接”。
脑上的本地连接显示受限制或无连接是跟网络服务器和网卡有关的。
反正属于网络方面的问题,跟计算机没多大关系,不影响系统,可以不用管。