A. 计算机网络:网络层(2)
如图,一个IP数据报由首部和数据两部分组成。首部的前一部分是固定长度,共20字节,是所有IP数据报必须具有的。在首部的固定部分的后面是一些可选字段,其长度是可变的。
(1)版本
占4位,指IP协议的版本。通信双方使用的IP协议的版本必须一致。目前广泛使用的IP协议版本号为4(即IPv4)。也有使用IPv6的(即版本6的IP协议)。
(2)首部长度
占4位,可表示的最大十进制数值是15。 这个字段所表示数的单位是32位字(1个32位字长是4字节),因此,当I的首部长度为1111时(即十进制的15),首部长度就达到最大值60字节。当分组的首部长度不是4字节的整数倍时,必须利用最后的填充字段加以填充。 因此数据部分永远在4字节的整数倍时开始,这样在实现IP协议时较为方便。首部长度限制为60字节的缺点是有时可能不够用。但这样做是希望用户尽量减少开销。最常用的首部长度就是20字节(即首部长度为0101),这时不使用任何选项。
(3)区分服务
占8位,用来获得更好的服务。这个字段在旧标准中叫做服务类型,但实际上一直没有被使用过。1998年ITF把这个字段改名为区分服务DS( Differentiated Services。只有在使用区分服务时,这个字段才起作用。在一般的情况下都不使用这个字段。
(4)总长度
总长度指首部和数据之和的长度,单位为字节。总长度字段为16位,因此数据报的最大长度为216-1=65535字节。
在IP层下面的每一种数据链路层都有其自己的帧格式,其中包括帧格式中的数据字段的最大长度,这称为最大传送单元MTU( Maximum Transfer Unit)。当一个IP数据报封装成链路层的帧时,此数据报的总长度(即首部加上数据部分)一定不能超过下面的数据链路层的MTU值。虽然使用尽可能长的数据报会使传输效率提高,但由于以太网的普遍应用,所以实际上使用的数据报长度 很少有超过1500字节 的。为了不使IP数据报的传输效率降低,有关IP的标准文档规定,所有的主机和路由器必须能够处理的IP数据报长度不得小于576字节。这个数值也就是最小的IP数据报的总长度。当数据报长度超过网络所容许的最大传送单元MTU时,就必须把过长的数据报进行分片后才能在网络上传送。这时,数据报首部中的“总长度”字段不是指未分片前的数据报长度,而是指分片后的每一个分片的首部长度与数据长度的总和。
(5)标识 (identification)
占16位。软件在存储器中维持一个计数器,每产生一个数据报,计数器就加1,并将此值赋给标识字段。但这个“标识”并不是序号,因为IP是无连接服务,数据报不存在按序接收的问题。当数据报由于长度超过网络的MTU而必须分片时,这个标识字段的值就被复制到所有的数据报片的标识字段中。相同的标识字段的值使分片后的各数据报片最后能正确地重装成为原来的数据报。
(6)标志(flag)
占3位,但目前只有两位有意义。
标志字段中的最低位记为 MF ( More Fragment)。MF=1即表示后面“还有分片”的数据报。MF=0表示这已是若千数据报片中的最后一个。
标志字段中间的一位记为 DF (Dont Fragment),意思是“不能分片”。只有当DF=0时才允许分片。
(7)片偏移
占13位。片偏移指出:较长的分组在分片后,某片在原分组中的相对位置。也就是说,相对于用户数据字段的起点,该片从何处开始。片偏移以8个字节为偏移单位。这就是说,每个分片的长度一定是8字节(64位)的整数倍。
(8)生存时间
占8位,生存时间字段常用的英文缩写是TTL( Time To live),表明是数据报在网络中的寿命。由发出数据报的源点设置这个字段。其目的是防止无法交付的数据报无限制地在因特网中兜圈子(例如从路由器R1转发到R2,再转发到R3,然后又转发到R1),因而白白消耗网络资源。最初的设计是以秒作为TTL值的单位。每经过一个路由器时,就把TTL减去数据报在路由器所消耗掉的一段时间。若数据报在路由器消耗的时间小于1秒,就把TTL值减1。当TTL值减为零时,就丢弃这个数据报然而随着技术的进步,路由器处理数据报所需的时间不断在缩短,一般都远远小于1秒钟,后来就把TTL字段的功能改为“跳数限制”(但名称不变)。路由器在转发数据报之前就把TTL值减1。若TTL值减小到零,就丢弃这个数据报,不再转发。因此,现在TTL的单位不再是秒,而是跳数。 TTL的意义是指明数据报在因特网中至多可经过多少个路由器 。显然,数据报能在因特网中经过的路由器的最大数值是255。若把TTL的初始值设置为1,就表示这个数据报只能在本局域网中传送。因为这个数据报一传送到局域网上的某个路由器,在被转发之前TTL值就减小到零,因而就会被这个路由器丢弃。
(9)协议
占8位,协议字段指出此数据报携带的数据是使用何种协议,以便使目的主机的IP层知道应将数据部分上交给哪个处理过程。
过程大致如下:
(1)从数据报的首部提取目的主机的IP地址D,得出目的网络地址为N。
(2)若N就是与此路由器直接相连的某个网络地址,则进行直接交付,不需要再经过其他的路由器,直接把数据报交付给目的主机(这里包括把目的主机地址D转换为具体的硬件地址,把数据报封装为MAC帧,再发送此帧);否则就是间接交付,执行(3)。
(3)若路由表中有目的地址为D的特定主机路由,则把数据报传送给路由表中所指明的下一跳路由器;否则,执行(4)。
(4)若路由表中有到达网络N的路由,则把数据报传送给路由表中所指明的下一跳路由器;否则,执行(5)
(5)若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器;否则,执行(6)。
(6)报告转发分组出错。
在进行更详细的转发解释之前,先要了解一下子网掩码:
上一篇说到了二级IP地址,也就是IP地址由网络号和主机号组成。
二级IP地址有以下缺点:
第一,IP地址空间的利用率有时很低每一个A类地址网络可连接的主机数超过1000万,而每一个B类地址网络可连接的主机数也超过6万。然而有些网络对连接在网络上的计算机数目有限制,根本达不到这样大的数值。例如10 BASE-T以太网规定其最大结点数只有1024个。这样的以太网若使用一个B类地址就浪费6万多个IP地址,地址空间的利用率还不到2%,而其他单位的主机无法使用这些被浪费的地址。有的单位申请到了一个B类地址网络,但所连接的主机数并不多,可是又不愿意申请一个足够使用的C类地址,理由是考虑到今后可能的发展。IP地址的浪费,还会使IP地址空间的资源过早地被用完。
第二,给每一个物理网络分配一个网络号会使路由表变得太大因而使网络性能变坏。
每一个路由器都应当能够从路由表査出应怎样到达其他网络的下一跳路由器。因此,互联网中的网络数越多,路由器的路由表的项目数也就越多。这样,即使我们拥有足够多的IP地址资源可以给每一个物理网络分配一个网络号,也会导致路由器中的路由表中的项目数过多。这不仅增加了路由器的成本(需要更多的存储空间),而且使查找路由时耗费更多的时间,同时也使路由器之间定期交换的路由信息急剧增加,因而使路由器和整个因特网的性能都下降了。
第三,两级IP地址不够灵活。
有时情况紧急,一个单位需要在新的地点马上开通一个新的网络。但是在申请到一个新的IP地址之前,新增加的网络是不可能连接到因特网上工作的。我们希望有一种方法,使一个单位能随时灵活地增加本单位的网络,而不必事先到因特网管理机构去申请新的网络号。原来的两级IP地址无法做到这一点。
于是为解决上述问题,从1985年起在IP地址中又增加了一个“子网号字段”,使两级IP地址变成为三级IP地址,它能够较好地解决上述问题,并且使用起来也很灵活。这种做法叫作划分子网 (subnetting),或子网寻址或子网路由选择。划分子网已成为因特网的正式标准协议。
划分子网的基本思路如下:
(1)一个拥有许多物理网络的单位,可将所属的物理网络划分为若干个子网 subnet)。划分子网纯属一个单位内部的事情。本单位以外的网络看不见这个网络是由多少个子网组成,因为这个单位对外仍然表现为一个网络。
(2)划分子网的方法是从网络的主机号借用若干位作为子网号 subnet-id,当然主机号也就相应减少了同样的位数。于是两级IP地址在本单位内部就变为三级IP地址:网络号、子网号和主机号。也可以用以下记法来表示:
IP地址:=(<网络号>,<子网号>,<主机号>}
(3)凡是从其他网络发送给本单位某个主机的IP数据报,仍然是根据IP数据报的目的网络号找到连接在本单位网络上的路由器。但此路由器在收到IP数据报后,再按目的网络号和子网号找到目的子网,把IP数据报交付给目的主机。
简单来说就是原来的IP地址总长度不变,把原来由“网络号+主机号”组成的IP地址,变为了“网络号+子网号+主机号”,因为其他网络找当前网络的主机时,使用的还是网络号,所以外面的网看不见当前网络的子网。当本网的路由器在收到IP数据报后,按目的网络号和子网号找到目的子网,把IP数据报交付给目的主机。
现在剩下的问题就是:假定有一个数据报(其目的地址是145.133.10)已经到达了路由器R1。那么这个路由器如何把它转发到子网145.3.3.0呢?
我们知道,从IP数据报的首部并不知道源主机或目的主机所连接的网络是否进行了子网的划分。这是因为32位的IP地址本身以及数据报的首部都没有包含任何有关子网划分的信息。因此必须另外想办法,这就是使用子网掩码( (subnet mask)。
子网掩码,简单来说就是把除了主机号设置为0,其他位置的数字都设置为1。
以B类地址为例:
把三级IP地址的网络号与子网号连起来,与子网掩码做“与”运算,就得到了子网的网络地址。
在因特网的标准规定:所有的网络都必须使用子网掩码,同时在路由器的路由表中也必须有子网掩码这一栏。如果一个网络不划分子网,那么该网络的子网掩码就使用默认子网掩码。
那么既然没有子网,为什么还要使用子网掩码?
这就是为了更便于査找路由表。
默认子网掩码中1的位置和IP地址中的网络号字段 net-id正好相对应。因此,若用默认子网掩码和某个不划分子网的IP地址逐位相“与”(AND),就应当能够得出该IP地址的网络地址来。这样做可以不用查找该地址的类别位就能知道这是哪一类的IP地址。显然,
子网掩码是一个网络或一个子网的重要属性。在RFC950成为因特网的正式标准后,路由器在和相邻路由器交换路由信息时,必须把自己所在网络(或子网)的子网掩码告诉相邻路由器。在路由器的路由表中的每一个项目,除了要给出目的网络地址外,还必须同时给出该网络的子网掩码。若一个路由器连接在两个子网上就拥有两个网络地址和两个子网掩码。
以一个B类地址为例,说明可以有多少种子网划分的方法。在采用固定长度子网时,所划分的所有子网的子网掩码都是相同的。
表中的“子网号的位数”中没有0,1,15和16这四种情况,因为这没有意义。虽然根据已成为因特网标准协议的RFC950文档,子网号不能为全1或全0,但随着无分类域间路由选择CIDR的广泛使用,现在全1和全0的子网号也可以使用了,但一定要谨慎使用,要弄清你的路由器所用的路由选择软件是否支持全0或全1的子网号。这种较新的用法我们可以看出,若使用较少位数的子网号,则每一个子网上可连接的主机数就较多。
反之,若使用较多位数的子网号,则子网的数目较多但每个子网上可连接的主机数就较少因此我们可根据网络的具体情况(一共需要划分多少个子网,每个子网中最多有多少个主机)来选择合适的子网掩码。
所以,划分子网增加了灵活性,但却减少了能够连接在网络上的主机总数。
在划分子网的情况下,分组转发的算法必须做相应的改动。
使用子网划分后,路由表必须包含以下三项内容:目的网络地址、子网掩码和下一跳地址。
所以之前的流程变成了下面这样:
(1)从收到的数据报的首部提取目的IP地址D。
(2)先判断是否为直接交付。对路由器直接相连的网络逐个进行检查:用各网络的子网掩码和D逐位相“与”(AND操作),看结果是否和相应的网络地址匹配。若匹配,则把分组进行直接交付(当然还需要把D转换成物理地址,把数据报封装成帧发送出去),转发任务结束。否则就是间接交付,执行(3)。
(3)若路由表中有目的地址为D的特定主机路由,则把数据报传送给路由表中所指明的下一跳路由器;否则,执行(4)。
(4)对路由表中的每一行(目的网络地址,子网掩码,下一跳地址),用其中的子网掩码和D逐位相“与”(AND操作),其结果为N。若N与该行的目的网络地址匹配,则把数据报传送给该行指明的下一跳路由器;否则,执行(5)。
5)若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器;否则,执行(6)
(6)报告转发分组出错。
B. 计算机网络
有两种含义
“带宽” 指信号具有的频带宽度。基本单位是赫。
“带宽”是数字信道所能传送的最高数据率的同义语,单位是比特/秒(bit/s)。
表示在单位时间内通过某个网络(或信道、接口)的数据量。
吞吐量更经常地用于对现实世界中的网络的一种测量,以便知道实际上到底有多少数据量能够通过网络。
吞吐量受网络枝竖的带宽或网络的额定速率的限制。
指数据从网络(或链路)的一端传送到另一端所需的时间。
主机或路由器发送数据帧所需要的时间。
电磁波在信道中需要传播一定的距离而花费的时间。
结点缓存队列中分组排队所经历的时延。
交换结点为存储转发而进行一些处理所费的时间。
信道利用率指出某信道有百分之几的时间是被利用的(有数据通过)。完全空闲的信道的利用率是零。
网络利用率则是全网络的信道利用率的加权平均值。
物理层的主要任务描述为确定与传输媒体接口的四个特性。
指明接口所用接线器的形状和尺寸、引线数目和排迟搭游列等。
指明在接口电缆的各条线上出现的电压的范围。
指明某条线上出现的某一电平的电压表示何种意义。
指明对于不同功能的各种可能事件的出现顺序
发送器:将数据转换成可以在传输介质上传输的信号
数据:运送消息的实体。
信号:数据的电气的或电磁的表现。
模拟信号:代表消息的参数的取值是连续的。
数字信号:代表消息的参数的取值是离散的。
信道: 向某一个方向传递信息的通道。
单向通信(单工通信):只能有一个方向的通信
而没有反方向的交互。
双向交替通信(半双工通信):通信的双方都可
以发送信息,但不能双方同时发送、同时接收。
双向同时通信(全双工通信):通信的双方可以
同时发送和接收信息。
调制:使用载波进行调制, 把数字信号的频率范
围搬移到较高的频段,并转换成模拟信号,以便在模
拟信道中传输。
解调:把接收到的模拟信号还原成数字信号。
又称为编码,转换后依然是基带信号
利用载波低频转高频,更好的在模拟信道上传输,调制完的信号叫做带通信号
在任何信道中,码元传输码销的速率是有上限的,超过此上限,就会出现严重的码间串扰问题。
如果信道的频带越宽,则可以用更高的速率传送码元
而不出现码间串扰。
带宽受限且有高斯白噪声干扰的信道的极限信息传输速率
W 是信道的带宽(以 Hz 为单位);
S 为信道内所传信号的平均功率; N 为信道内部的噪声功率。
信噪比S/N通常用分贝(dB)来表示:
通过编码,可以增加每一个码元携带的信息量
将信道的可用频带分割成若干条较窄的子频带,每一条子频带传输一路信号。
用户在分配到一定的频带后,在通信过程中自始至终都占用这个频带。
光的频分复用:波分复用
将时间划分为一段段等长的时隙,每一个用户占用固定序号的时隙传输数据。
每一个用户所占用的时隙是周期性地出现。
时分复用的所有用户在不同的时间占用同样的频带宽度
先进行统计,然后依次将需要发送的数据进行时分复用,但是因为每一个时间是不确定的,所以需要在数据帧上加上地址信息
每个用户被分配一个码片序列,这些码片序列是互相正交的,
当需要发送1的时候,则发送序列
当需要发送0的时候,则发送序列反码
所以用户的序列和其他用户的序列内积是0
而序列和序列的规格化内积是1,序列与序列的反码的规格化内积为-1
在原始的、有差错的物理传输线路的基础上,采取 差错检测、差错控制与流量控制 等方法,将有差错的物理线路改进成逻辑上无差错的数据链路,向网络层提供高质量的服务。
是从一个结点到相邻结点的一段物理线路,中间没有任何其他的交换结点。
把实现通信协议的硬件和软件加到链路上,就构成了数据链路,也称为逻辑链路。
每个帧有最大长度限制
通过添加字符防止误判
在发送端:
数据分成组,每一组k个bit,然后在后面加上n位冗余码
接收端:
将这段数据除以P,看最后的余数
因为标志字段的0x7E用二进制标志为01111110,即中间是6个0,为了避免产生错误,所以采用 零比特填充 的方式,即发送方每遇到5个1则填充一个0,接收方每遇到5个1删除后面的一个0
信道并非在用户通信时固定分配给用户。
DIX Ethernet V2 是世界上第一个局域网产品(以太网)的规约,定义了以无源的电缆为总线的基带总线局域网。
IEEE 的 802.3 标准。
载波监听多点接入/碰撞监测
当发送数据的站一旦发现发生了碰撞
最先发送数据帧的站,在发送数据帧后至多经过时间(2τ)就可知道发送的数据帧是否遭受了碰撞。 以太网的端到端往返时延 2τ 称为争用期,或碰撞窗口。经过争用期这段时间还没有检测到碰撞,才能肯定这次发送不会发生碰撞。
发生碰撞的站在停止发送数据后,要推迟(退避)一个随机时间才能再发送数据。
作用:
争用期的长度: 51.2 µs
最短有效帧长: 64 字节
帧间最小间隔: 9.6 µs
每一类地址都由 两个固定长度 的字段组成, 其中一个字段是 网络号 net-id , 它标志主机(或路由器) 所连接到的网络, 而另一个字段则是 主机号 host-id , 它标志该主机(或路由器) 。
用转发器或网桥连接起来的若干个局域网仍为一个网络, 因此这些局域网都具有同样的网络号 net-id。
A:网络数减2原因: 网络号全0表示本网络 127(01111111)表示本地软件环回测试地址
B、C:网络数减1原因:128.0.0.0和192.0.0.0都是不指派的
主机数减2原因:全0和全1都不指派
路由表需要配置,或者根据算法生成
下一跳指的是下一个路由器的地址
特定主机路由 :为特定的目的主机指明一个路由。
默认路由:没有特定设置则采用默认路由
作用: 从网络层使用的 IP 地址,解析出在数据链路层使用的硬件地址。
每一个主机都设有一个 ARP 高速缓存 ,保存着所在的局域网上的各主机和路由器的 IP 地址到硬件地
址的映射表。ARP把保存在高速缓存中的每一个映射地址项目都设置生存时间,凡超过生存时间的项目就从高速缓存中删除掉。
ARP的工作过程
当主机A欲向本局域网上的某个主机B发送 IP数据报时,就先在其ARP高速缓存中查看有无主机B的IP 地址。
如果是不同网络之间的情况,就需要通过路由器来解决
例如:H1访问H3
一个 IP 数据报由首部和数据两部分组成。
首部分为固定部分和可变部分,固定部分长度为20个字节,可变部分长度是可变的。
版本ip协议版本:ipv4和ipv6
首部长度:占 4 位,可表示的最大数值是 15 (2 4 -1)个单位(一个单位为 4 字节)。因此 IP 的首部长度的最大值是 60 字节(15*4)。
区分服务:占 8 位,只有在使用区分服务(DiffServ)时,这个字段才起作用。在一般的情况下都不使用这个字段。
总长度:占 16 位,指首部和数据之和的长度,单位为字节,因此数据报的最大长度为 65535 字节。
进行数据报的分片的原因
标识:占 16 位,它是一个计数器,用来产生 IP 数据报的标识。
标志(flag):占 3 位,目前只有前两位有意义。
片偏移:占13 位,指出:较长的分组在分片后某片在原分组中的相对位置。片偏移以 8 个字节为偏移单位 。
生存时间——占8 位,记为 TTL (Time To Live),表明数据报在网络中的寿命。表示为数据报在网络中 可通过的路由器数的最大值 。
协议:占8 位,指出此数据报携带的数据使用何种协议,以便目的主机的 IP 层将数据部分上交给哪个处理过程。
首部检验和:占16 位,只检验数据报的首部,不检验数据部分
C. 什么是计算机网络
计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。
另外,从逻辑功能上看,计算机网络是以传输信息为基础目的,用通信线路将多个计算机连接起来的计算机系统的集合,一个计算机网络组成包括传输介质和通信设备。
从用户角度看,计算机网络是这样定义的:存在着一个能为用户自动管理的网络操作系统。由它调用完成用户所调用的资源,而整个网络像一个大的计算机系统一样,对用户是透明的。
(3)箭头相碰取大值是算计算机网络扩展阅读:
一、发展历程
中国计算机网络设备制造行业是改革开放后成长起来的,早期与世界先进水平存在巨大差距;但受益于计算机网络设备行业生产技术不断提高以及下游需求市场不断扩大,我国计算机网络设备制造行业发展十分迅速。
近两年,随着我国国民经济的快速发展以及国际金融危机的逐渐消退,计算机网络设备制造行业获得良好发展机遇,中国已成为全球计算机网络设备制造行业重点发展市场。
二、组成分类
计算机网络的分类与一般的事物分类方法一样,可以按事物所具有的不同性质特点(即事物的属性)分类。计算机网络通俗地讲就是由多台计算机(或其它计算机网络设备)通过传输介质和软件物理(或逻辑)连接在一起组成的。
总的来说计算机网络的组成基本上包括:计算机、网络操作系统、传输介质(可以是有形的,也可以是无形的,如无线网络的传输介质就是空间)以及相应的应用软件四部分。
参考资料来源:搜狗网络-计算机网络
D. 计算机网络——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 的目的是为了使邮件的传送成为可靠的。
E. 计算机网络的概念是什么
计算机网络是指互连起来的能独立自主的计算机集合。这里“互连”意味着互相连接的两台或两台以上的计算机能够互相交换信息,达到资源共享的目的。而“独立自主”是指每台计算机的工作是独立的,任何一台计算机都不能干预其他计算机的工作。例如启动、停止等,任意两台计算机之间没有主从关系。
计算机网络最突出的优点就是凡是入网用户均能享受网络中由其他人共享出来的合法的信息和资源,比如我们可以借助网络进行看新浪微博,上淘宝,逛京东等一系列的上网活动,总的来最突出的优点是资源共享和通信。
(5)箭头相碰取大值是算计算机网络扩展阅读:
计算机网络有无中心性、开放性、信息容量巨大、信息种类丰富、信息传播“交互性”等特点。计算机网络遍布全世界,无论采取何种连接方式,只要上了网,就成为计算机网络上的一个终端,并可以同网络上的任何一个其他终端相连接。
计算机网络中,对信源的资格并无特殊限制,任何一个上网者都可以成为信源。
计算机网络所容纳的信息量巨大,以至于人们创造出“海量”这一词语加以描述,网络数据库就是典型的例子。与此同时,计算机网络信息在种类方面也与传统形式有着根本的区别。
F. 电脑网速有两个方向相反的箭头,各代表什么
向下的箭头指的是下载速度,是从互联网上取得数据到你用的电脑上的速度,向上的箭头指的是上传网速,是从你的电脑上传送数据到互联网上的速度。一般互联网提供商所说的带宽指的是下载速度可以达到的最大数值,由于家庭用户对于上传的带宽要求比较小,为了节约网络运营成本,会对上皮闹传速度进行限制。当然,上传和下载都是会圆薯占用网络带宽资源的,好比一条公路,带宽燃腔罩就是指这条公路的车道数,车道数越多,就代表流量越大,上传和下载速度也越快。但这条公路对于行驶方向没有规定,每条车道都可以在两个方向上行驶,上传和下载就是公路上向两个方向行驶的车辆,不管向哪个方向,都会占用车道。
G. 什么是计算机网络它通常由哪些部分构成
计算机网络,是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。
经济和电信业的快速发展使得我国计算机网络设备市场极为活跃,思科、Juniper、阿尔卡特朗讯、3COM等国际知名品牌早已为国人所熟知,华为、中兴等国产品牌也进入高端市场,并在国际市场上取得重大发展。国内外厂商对中国计算机网络设备制造行业的一致看好,一方面促进了国内网络设备及电信行业的快速发展,另一方面也使得市场竞争日趋激烈,中国已经成为全球计算机网络设备制造行业竞争最为激烈的国家之一。但近年来中国电信投资持续快速增长,计算机网络设备市场规模持续扩大,计算机网络设备制造企业在激烈的竞争中获得了共同的发展。
H. 计算机网络
第一章 概述
传播时延=信道长度/电磁波在信道上的传播速度
发送时延=数据块长度/信道带宽
总时延=传播时延+发送时延+排队时延
101 计算机网络的发展可划分为几个阶段?每个阶段各有何特点?
102 试简述分组交换的要点。
103 试从多个方面比较电路交换、报文交换和分组交换的主要优缺点。
104 为什么说因特网是自印刷术以来人类通信方面最大的变革?
105 试讨论在广播式网络中对网络层的处理方法。讨论是否需要这一层?
106 计算机网络可从哪几个方面进行分类?
107 试在下列条件下比较电路交换和分组交换。要传送的报文共x(bit)。从源站到目的站共经过k段链路,每段链路的传播时延为d(s),数据率为b(b/s)。在电路交换时电路的建立时间为S(s)。在分组交换时分组长度为p(bit),且各结点的排队等待时间可忽略不计。问在怎样的条件下,分组交换的时延比电路交换的要小?
108 在上题的分组交换网中,设报文长度和分组长度分别为x 和(p+h)(bit),其中p为分组的数据部分的长度,而此为每个分组所带的控制信息固定长度,与p的大小无关。通信的两端共经过k段链路。链路的数据率为b(b/s),但传播时延和结点的排队时间均可忽略不计。若打算使总的时延为最小,问分组的数据部分长度P应取为多大?
109 计算机网络中的主干网和本地接入同各有何特点?
110 试计算以下两种情况的发送时延和传播时延:(1)数据长度为107bit,数据发送速率为100kb/s,收发
111 计算机网络由哪几部分组成?
101 计算机网络的发展可划分为几个阶段?每个阶段各有何特点?
答:计算机网络的发展可分为以下四个阶段。
(1)面向终端的计算机通信网:其特点是计算机是网络的中心和控制者,终端围绕中心
计算机分布在各处,呈分层星型结构,各终端通过通信线路共享主机的硬件和软件资源,计
算机的主要任务还是进行批处理,在20 世纪60 年代出现分时系统后,则具有交互式处理和
成批处理能力。
(2)分组交换网:分组交换网由通信子网和资源子网组成,以通信子网为中心,不仅共
享通信子网的资源,还可共享资源子网的硬件和软件资源。网络的共享采用排队方式,即由
结点的分组交换机负责分组的存储转发和路由选择,给两个进行通信的用户断续(或动态)
分配传输带宽,这样就可以大大提高通信线路的利用率,非常适合突发式的计算机数据。
(3)形成计算机网络体系结构:为了使不同体系结构的计算机网络都能互联,国际标准
化组织ISO提出了一个能使各种计算机在世界范围内互联成网的标准框架—开放系统互连基
本参考模型OSI.。这样,只要遵循OSI标准,一个系统就可以和位于世界上任何地方的、也
遵循同一标准的其他任何系统进行通信。
(4)高速计算机网络:其特点是采用高速网络技术,综合业务数字网的实现,多媒体和
智能型网络的兴起。
102 试简述分组交换的要点。
答:分组交换实质上是在“存储——转发”基础上发展起来的。它兼有电路交换和报文交
换的优点。在分组交换网络中,数据按一定长度分割为许多小段的数据——分组。以短的分
组形式传送。分组交换在线路上采用动态复用技术。每个分组标识后,在一条物理线路上采
用动态复用的技术,同时传送多个数据分组。在路径上的每个结点,把来自用户发端的数据
暂存在交换机的存储器内,接着在网内转发。到达接收端,再去掉分组头将各数据字段按顺
序重新装配成完整的报文。分组交换比电路交换的电路利用率高,比报文交换的传输时延小,
交互性好。
分组交换网的主要优点是:
① 高效。在分组传输的过程中动态分配传输带宽,对通信链路是逐段占有。
② 灵活。每个结点均有智能,为每一个分组独立地选择转发的路由。
③ 迅速。以分组作为传送单位,通信之前可以不先建立连接就能发送分组;网络使用高
速链路。
④ 可靠。完善的网络协议;分布式多路由的通信子网。
103 试从多个方面比较电路交换、报文交换和分组交换的主要优缺点。
答:(1)电路交换电路交换就是计算机终端之间通信时,一方发起呼叫,独占一条物理
线路。当交换机完成接续,对方收到发起端的信号,双方即可进行通信。在整个通信过程中
双方一直占用该电路。它的特点是实时性强,时延小,交换设备成本较低。但同时也带来线
路利用率低,电路接续时间长,通信效率低,不同类型终端用户之间不能通信等缺点。电路
交换比较适用于信息量大、长报文,经常使用的固定用户之间的通信。
(2)报文交换将用户的报文存储在交换机的存储器中。当所需要的输出电路空闲时,
再将该报文发向接收交换机或终端,它以“存储——转发”方式在网内传输数据。报文交换的
优点是中继电路利用率高,可以多个用户同时在一条线路上传送,可实现不同速率、不同规
程的终端间互通。但它的缺点也是显而易见的。以报文为单位进行存储转发,网络传输时延
大,且占用大量的交换机内存和外存,不能满足对实时性要求高的用户。报文交换适用于传
输的报文较短、实时性要求较低的网络用户之间的通信,如公用电报网。
(3)分组交换分组交换实质上是在“存储——转发”基础上发展起来的。它兼有电路交
换和报文交换的优点。分组交换在线路上采用动态复用技术传送按一定长度分割为许多小段
的数据——分组。每个分组标识后,在一条物理线路上采用动态复用的技术,同时传送多个
数据分组。把来自用户发端的数据暂存在交换机的存储器内,接着在网内转发。到达接收端,
再去掉分组头将各数据字段按顺序重新装配成完整的报文。分组交换比电路交换的电路利用
率高,比报文交换的传输时延小,交互性好。
104 为什么说因特网是自印刷术以来人类通信方面最大的变革?
105 试讨论在广播式网络中对网络层的处理方法。讨论是否需要这一层?
答:广播式网络是属于共享广播信道,不存在路由选择问题,可以不要网络层,但从OSI
的观点,网络设备应连接到网络层的服务访问点,因此将服务访问点设置在高层协议与数据
链路层中逻辑链路子层的交界面上,IEEE 802 标准就是这样处理的。
106 计算机网络可从哪几个方面进行分类?
答:从网络的交换功能进行分类:电路交换、报文交换、分组交换和混合交换;从网络的拓扑结构进行分类:集中式网络、分散式网络和分布式网络;从网络的作用范围进行分类:广域网WAN、局域网LAN、城域网MAN;从网络的使用范围进行分类:公用网和专用网。
107 试在下列条件下比较电路交换和分组交换。要传送的报文共x(bit)。从源站到目的站共经过k段链路,每段链路的传播时延为d(s),数据率为b(b/s)。在电路交换时电路的建立时间为S(s)。在分组交换时分组长度为p(bit),且各结点的排队等待时间可忽略不计。问在怎样的条件下,分组交换的时延比电路交换的要小?
答:对于电路交换,t=s时电路建立起来;t=s+x/b 时报文的最后1 位发送完毕;t=s+x/b+kd时报文到达目的地。而对于分组交换,最后1位在t=x/b时发送完毕。为到达最终目的地,最后1个分组必须被中间的路由器重发k1 次,每次重发花时间p/b(一个分组的所有比特都接收齐了,才能开始重发,因此最后1位在每个中间结点的停滞时间为最后一个分组的发送时间),所以总的延迟为
所以:
108在上题的分组交换网中,设报文长度和分组长度分别为x 和(p+h)(bit),其中p为分组的数据部分的长度,而此为每个分组所带的控制信息固定长度,与p的大小无关。通信的两端共经过k段链路。链路的数据率为b(b/s),但传播时延和结点的排队时间均可忽略不计。若打算使总的时延为最小,问分组的数据部分长度P应取为多大?
答:所需要的分组总数是x /p ,因此总的数据加上头信息交通量为(p+h)x/p 位。源端发送这些位需要时间为: 中间的路由器重传最后一个分组所花的总时间为(k1)(p+h)/b因此我们得到的总的延迟为对该函数求p的导数,得到 令 ?得到 ?因为p>0,所以 故 时能使总的延迟最小。
109 计算机网络中的主干网和本地接入同各有何特点?
答:主干网络一般是分布式的,具有分布式网络的特点:其中任何一个结点都至少和其它两个结点直接相连;本地接入网一般是集中式的,具有集中式网络的特点:所有的信息流必须经过中央处理设备(交换结点),链路从中央交换结点向外辐射。
110 试计算以下两种情况的发送时延和传播时延:(1)数据长度为107bit,数据发送速率为100kb/s,收发两端之间的传输距离为1000km,信号在媒体上的传播速率为2×108m/s。 解:发送时延= 107bit/100kbit/s =100s
传播时延= 1000km/2×108m/s =5×103s
(2)数据长度为103bit,数据发送速率为1Gb/s。收发两端之间的传输距离为1000km,信号在媒体上的传播速率为2×108 m/s。
解:发送时延=103bit/1×109bit/s =1×106s
传播时延= 1000km/2×108m/s =5×103s
111 计算机网络由哪几部分组成?
答:一个计算机网络应当有三个主要的组成部分:
(1)若干主机,它们向用户提供服务;
(2)一个通信子网,它由一些专用的结点交换机和连接这些结点的通信链路所组成的; (3)一系列协议,这些协议为主机之间或主机和子网之间的通信而用的。
希望对你能有所帮助。
I. 计算机网络的含义是什么
计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。
计算机网络的分类与一般的事物分类方法一样,可以按事物所具有的不同性质特点分类。计算机网络通俗地讲就是由多台计算机通过传输介质和软件物理连接在一起组成的。总的来说计算机网络的组成基本上包括:计算机、网络操作系统、传输介质以及相应的应用软件四部分。
(9)箭头相碰取大值是算计算机网络扩展阅读:
虽然网络类型的划分标准各种各样,但是从地理范围划分是一种大家都认可的通用网络划分标准。按这种标准可以把各种网络类型划分为局域网、城域网、广域网和互联网四种。局域网一般来说只能是一个较小区域内,城域网是不同地区的网络互联,不过在此要说明的一点就是这里的网络划分并没有严格意义上地理范围的区分,只能是一个定性的概念。
J. 计算机网络的定义是什么
计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。
从整体上来说计算机网络就是把分布在不同地理区域的计算机与专门的外部设备用通信线路互联成一个规模大、功能强的系统,从而使众多的计算机可以方便地互相传递信息,共享硬件、软件、数据信息等资源。简单来说,计算机网络就是由通信线路互相连接的许多自主工作的计算机构成的集合体。
计算机网络的分类:
计算机网络的分类与一般的事物分类方法一样,可以按事物所具有的不同性质特点(即事物的属性)分类。计算机网络通俗地讲就是由多台计算机(或其它计算机网络设备)通过传输介质和软件物理(或逻辑)连接在一起组成的。
总的来说计算机网络的组成基本上包括:计算机、网络操作系统、传输介质(可以是有形的,也可以是无形的,如无线网络的传输介质就是空间)以及相应的应用软件四部分。