一、概述
物理层、数据链路层以及网络层它们共同解决了将主机通过异构网络互联起来所面临的的问题,实现了主机到主机的通信
1.1端口号
为了使运行不同操作系统的计算机的应用进程之间能进行网络通信,必须使用统一的方法对TCP/IP体系的应用进程进行标识,即端口号。
网络上中进程工作方式:C/S 对应的端口号码的分配也分为两大类
服务类(静态的预先指定的)
1-1013(默认系统熟知的服务)
1023-45191(需要申请注册的服务 QQ4000,8000都是它所使用的端口)
1.2复用与分用
- 发送方的某些应用进程所发送的不同应用报文,在运输层使用UDP协议进行封装,这是UDP复用;若用TCP封装则称TCP复用
- 运输层使用端口号区分不同进程,不管使用何种协议封装的报文,在网络层都需要使用IP协议封装成IP数据报,这是IP复用,数据报中协议字段的值用来表名封装的是何种协议数据单元
接收方的分用
1.3运输层引入的协议
1,TCP协议(负责完成端到端的可靠传输)
2,UDP协议(负责完成端到端的数据传输)
用户数据报协议UDP
传输控制协议TCP
1.4TCP协议流量控制
2)超时计时器
2)超时计时器
5)TCP协议效率管理:糊涂窗口
流量控制
一般来说,我们希望数据传输能快一些,但如果发送方把数据发送得过快,接收方就可能来不及接收,这会造成数据的丢失
流量控制就是让发送方的发送速率不要太快,要让接收方来得及接收
利用滑动窗口实现流量控制
若接收方窗口调为0后,一段时间之后又调为200,此时向发送方传递确认报文,可此时报文丢失,则会造成发送方窗口始终为0,接收方以为发送方收到了确认报文而开始等待数据,造成死锁,如何解决?
1.5TCP的拥塞控制
1)拥塞控制的概念:拥塞就是拥堵了(网络拥堵了),拥堵的原因?数据包太多了,导致网络吞吐量下降,网络时延增加;网络时延增加又进而加剧了网络数据包增多
2)拥塞控制的手段方法
(2)具体实现:就根据不同情况,采用不同方法来减少数据包数量
(3)拥塞的主要表现就是时延的增加,为此,就围绕时延增加来进行数据包数量的调整
(4)数据包投放数量是由各主机的发送窗口大小决定的
(5)TCP又引入一个拥塞窗口的概念;拥塞发生时应该控制发送窗口的数量
(6)拥塞窗口:拥塞发生时,能够发送数据包的个数
1)慢开始:设置门限值;门限值内,试探着向网络投入数据包,避免拥塞
2)拥塞避免:拥塞发生时,能够发送数据包的个数
3)快重传:当数据包未按序到达,导致重复确认增多,则立即重传该数据包,门限降为重复确认时拥塞窗口的一半,拥塞窗口同时调小
4)快恢复:发生超时时,立即急速的减少投入网络的数据包
在某段时间,若对网络中某一资源的需求超过了该资源所能提供的可用部分,网络性能就要变坏,这种情况叫做拥塞
若出现拥塞而不进行控制,整个网络的吞吐量将随输入负荷的增大而下降
1.6超时重传时间(RTO)选择
正常情况下,超时重传时间应该设为略大于往返时间。但是由于各区域的速率可能不一致,因此将超时重传时间设置为一个固定值是行不通的
往返时间测量问题
针对出现超时重传时无法测准往返时间RTT的问题,有以下解决方法
在计算加权平均往返时间RTTs时,只要报文段重传了,就不采用其往返时间TT样本。也就是出现重传时,不重新计算RTTs,进而超时重传时间RTO也不会重新计算。
此方法的漏洞如下:如果报文段时延突然增大很多,并且之后很长一段时间都会保持这种时延。因此在原来得出的重传时间内,不会收到确认报文段,于是重传,造成死锁
修正方法:报文段每重传一次,就把超时重传时间RTO增大一些,典型的做法是将RTO的值取为旧RTO的2倍
1.7可靠传输
可靠性保障可以放在体系结构中的任何一层(数据链路层,网络层)实现,但现代网络系统面向的是主机(独立自主的计算力)系统,可以将可靠性保障交由主机来完成,进而减轻通信子网的负担,使得通信子网专注于数据包的高效传输
2.后退N帧重传(Go Back N ARQ)(接收窗口固定唯一,而TCP接收窗口不确定)
(1)发送窗口:没有得到确认的情况下,发送端可以连续发送分组的个数
(2)接收窗口:接收数据的个数以及包含能接受数据的序号
(3)工作协议
(4)窗口大小与序号关系
3.选择重传协议
1.8运输连接管理
TCP
的运输连接管理就是使运输连接的建立和释放都能正常地进行
1.9首部格式
确认号:占
32
比特,取值范围 [ 0 , − 1 ],序号增加到最后一个后,下一个序号就又回到0
。可理解为若确认号=n,则表明到序号n-1为止的所有数据都已正确接收,期望接收序号为n的数据
- 数据偏移:占4比特,并以4字节为单位
用来指出TCP报文段的数据载荷部分的起始处距离TCP报文段的起始处。这个字段实际 上是指出TCP报文段的首部长度
首部固定长度为20字节,因此数据偏移字段的最小值
二、习题
1. (单选题, 1分)UDP 协议实现分用 ( demultiplexing ) 时所依据的头部字段是
- A. 源端口号
- B. 目的端口
- C. 长度
- D. 校验和
传输层分用的定义是 :接收方的传输层剥去报文首部后 ,能把这些数据正确交付到目 的进 程。C 和 D 选项显然不符 。端口号是传输层服务访问点 TSAP ,用来标识主机中的应用进程 。 对于 A 和 B 选项 ,源端口号是在需要对方回信时选用 ,不需要时可用全 0。目的端口号是在终 点交付报文时使用到 ,符合题意 ,故选 B
2. (单选题, 1分)下列关于 UDP 协议的叙述中 ,正确的是
I. 提供无连接服务
II. 提供复用/分用服务
III. 通过差错校验 ,保障可靠数据传输
- A. 仅I
- B. 仅I、II
- C. 仅II、III
- D. I、II、III
UDP 不能保证可靠传输
3.(单选题, 1分)主机甲向主机乙发送一个 ( SYN = 1, seq = 11220) 的 TCP 段,期望与主机乙建立 TCP连接,若主机乙接受该连接请求 ,则主机乙向主机甲发送的正确的 TCP 段可能是
- A. (SYN = 0, ACK = 0, seq = 11221, ack =11221 )
- B. ( SYN = 1, ACK = 1, seq = 11220, ack = 11220 )
- C. (SYN = 1,ACK = 1, seq = 11221, ack = 11221)
- D. (SYN = 0, ACK = 0, seq = 11220, ack = 11220 )
在确认报文段中 ,同步位 SYN 和确认位 ACK 必须都是 1:返回的确认号 seq 是甲发送的初 始序号 seq = 11220 加 1,即 ac ck = 11221;同时乙也要选择井消耗一个初始序号seq, seq 值由乙的 TCP 进程任意给出 ,它与确认号 、请求报文段的序号没有任何关系 。
4.(单选题, 1分)主机甲与主机乙之间已建立一个 TCP 连接,主机甲向主机乙发送了两个连续的 TCP 段,分别包含 300B 和 500B 的有效载荷 ,第一个段的序列号为 200 ,主机乙正确接收到两个段 后,发送给主机甲的确认序列号是
- A. 500
- B. 700
- C. 800
- D. 1000
返回的确认序列号是接收端期待收到对方下一个报文段数据部分的第一个字节的序号,因 此乙在正确接收到两个段后 ,返回给甲的确认序列号是 200 + 300 + 500 = 1000。
5.(单选题, 1分)一个 TCP 连接总是以 lKB 的最大段长发送 TCP 段,发送方有足够多的数据要发送 。 当拥塞窗口为 16KB时发生了超时,如果接下来的 4 个 RTT(往返时间) 时间内的 TCP 段的传 输都是成功的 ,那么当第 4 个 RTT时间内发送的所有 TCP 段都得到肯定应答时 ,拥塞窗口大 小是
- A. 7KB
- B. 8KB
- C. 9KB
- D. 16KB
在发生超时后 ,慢开始门限 ssthresh 变为 16 KB/2 = 8KB,拥塞窗口变为1 KB 。在接下来的 3 个 RTT内,执行慢开始算法,拥塞窗口大小依次为 2KB、4KB、8KB,由于慢开始门限ssthresh 为 8KB,因此之后转而执行拥塞避免算法 ,即拥塞窗口开始 “加法增大“ 因此第 4 个 RTT 结 束后,拥塞窗口的大小为9 KB。
6.要控制网络上的广播风暴,可以采用的方法是()
通过使用路由器将网络分段,可以限制广播消息在每个网络段内传播,从而减少广播风暴的影响。路由器可以将不同的子网隔离开来,从而限制广播消息的传播范围。因此,B选项是解决广播风暴问题的更合适的方法。
7. (单选题, 1分)路由器 R 通过以太网交换机 Sl 和 S2 连接两个网络 ,R 的接口、主机 H1 和 H2 的 IP 地址与 MAC 地址如下图所示 。若 H1 向 H2 发送 1 个四分组 P ,则 H l 发出的封装 p 的以太网 帧的目的MAC 地址、H2 收到的封装 P 的以太网帧的源 MAC 地址分别是
- A. 00-al-b2-c3-d4-62, 00-la-2b-3c-4d-52
- B. 00-al-b2-c3-d4-62, 00-al-b2-c3-d4-61
- C. 00-la-2b-3c-4d-51, 00-la-2b-3c-4d-52
- D. 00-la-2b-3c-4d-51, 00-al-b2-c3-d4-61
在网络的信息传递中,会经常用到两个地址:MAC 地址和 IP 地址。其中,MAC 地址会随着信息被发往不同的网络而改变 ,但IP地址不会改变(地址转换除外) 。分组 P 在如题图所示的网络中传递时 ,首先由主机 Hl 将分组发往路由器 R,此时源 MAC 地址为H1 主机本身的 MAC 地址,即 00-1a-2b-3c-4d-52 ,目的 MAC 地址为路由器 R 的 MAC 地址, 即 00-la-2b-3c-4d-51 。当路由器R 收到分组 P 后,根据分组 P 的目的 IP 地址,得知应将分组从 另一个端口转发出去 ,于是会给分组P 更换新的 MAC 地址,此时由于从另外的端口转发出去, 因此 P 的新源 MAC 地址变为负责转发的端口 MAC 地址 ,即 00-al-b2-c3-d4-61 ,目的MAC 地 址应为主机 H2 的 MAC 地址,即 00-al-b2-c3-d4-62 。根据分析过程 ,题目所问的 MAC 地址应 为路由器 R 两个端口的 MAC 地址 ,故选 D
8.某路由表中有转发接口相同的 4 条路由表项,其目的网络地址分别为35.230.32.0/21, 35.230.40.0/21, 35.230.48.0/21 和35.230.56.0/21, 将该 4 条路由聚合后的目的网络地址为
- A. 35.230.0.0/19
- B. 35.230.0.0/20
- C. 35.230.32.0/19
- D. 35.230.32.0/20
对于此类题目 ,先分析需要聚合的 IP 地址。观察发现 ,题中的 4 个路由地址 ,前 16 位完全相同,不同之处在于第三段的8位中,将这8位展开写成二进制,观察发现 ,4 个地址的第 3 段中 ,从前向后最多有 3 位相同 ,因此这 3 位是能聚合的最大 位数。将这些相同的位都保留 ,将第 3 段第 3 位之后的所有位都置0,就得到了聚合后的 IP 地 址 35:230.32.0 ,其网络前缀为16 + 3,也即前 19 位,故聚合后的网络地址为35.230.32.0/19
9.在Internet中,IP数据报从源结点到目的结点可能需要经过多个网络和路由器,在整个传输过程中,IP数据报的头部中( )。
- A. A.源地址和目的地址都不会发生变化
- B. B.源地址有可能变化而目的地址不会发生变化
- C. C.源地址不会发生变化而目的地址有可能变化
- D. D.源地址和目的地址都有可能发生变化
10.当一个IP分组进行直接交付是,要求发送站和目的站具有相同的( )
- A. A.IP地址
- B. B.主机号
- C. C.网络地址
- D. D.子网地址
11.网络层的主要目的是()
12.路由器连接的异构网络是指()
13.若甲向乙发起一个 TCP 连接,最大段长 MSS = 1KB, RTT = 5ms,乙开辟的接收缓存 为 64KB,则甲从连接建立成功至发送窗口达到 32KB,需经过的时间至少是
按照慢开始算法 ,发送窗口=min{拥塞窗口 ,接收窗口},初始的拥塞窗口为最大报文段长度 1KB 。每经过一个 RTT,拥塞窗口翻倍,因此需至少经过 5 个 RTT ,发送窗口才能达到 32KB, 所以选 A 。这里假定乙能及时处理接收到的数据 ,空闲的接收缓存≥ 32KB。
14.甲乙双方均采用后退 N 帧协议 (GBN ) 进行持续的双向数据传输 ,且双方始终采用捎带确认 ,帧长均为1000 B。Sx,y 和 Rx.y 分别表示甲方和乙方发送的数据帧 ,其中 x 是发送序号 ,y 是确认序号 (表示希望接收对方的下一帧序号):数据帧的发送序号和确认序号字段均为 3 比特。信道传输速率为100Mbps, RTT = 0.96ms 。下图给出了甲方发送数据帧和接收数据帧的两种场景 ,其中t0为初始时刻 ,此时甲方的发送和确认序号均为0, t1 时刻甲方有足够多的数据待发送。
请回答以下问题:
(1)对于图(a), t0 时刻到 t1 时刻期间,甲方可以断定乙方已正确接收的数据帧数是多少 ? 正确接收的是哪几个帧 ? (请用 Sx,y形式给出 。)
(2)对于图 (a),从 t1 时刻起,甲方在不出现超时且未收到乙方新的数据帧之前 ,最多还可以发送多少个数据帧 ?其中第一个帧和最后一个帧分别是哪个 ? (请用 Sx,y 形式给出 。)
(3) 对于图( b),从 t1 时刻起,甲方在不出现新的超时且未收到乙方新的数据帧之前 ,需要重发多少个数据帧 ?重发的第一个帧是哪个 ? (请用 Sx,y 形式给出 。)
(4)甲方可以达到的最大信道利用率是多少 ?
( 1) t0 时刻到 t1 时刻期间,甲方可以断定乙方己正确接收了3个数据据帧 ,(1分)
分别是 S0,0, S1,0,S2,0 (1 分)
R3,3 说明乙发送的数据帧确认号是3 ,即希望甲发送序号3 的数据帧,说明乙己经接收了序号为 0~2 的数据帧 。
( 2 ) 从 t1 时刻起,甲方最多还可以发送 5 个数据帧 (1分),
其中第一个帧是 S5,2 (1 分),
最后一个数据帧是 S1,2 (1分)。
发送序号3 位,有 8 个序号。在GBN 协议中,序号个数二主发送 窗口 + 1,所以这里发送窗口最大为 7。此时己发送了S3,0和 S4,1,所以最多还可以发送5 个帧。
(3 ) 甲方需要重发 3 个数据帧 (1 分),
重发的第一个帧是 S2,3 (1 分)。
在 GBN 协议中, 接收方发送了 N帧后,检测出错 ,则需要发送出错帧及其之后的帧 。S2,0 超时 ,所以重发的第 一帧是 S2 ,己收到乙的 R2 帧,所以确认号应为 3。
(4 ) 甲方可以达到的最大信道利用率是
U=发送数据的时间/从开始发送第一帧到收到第一个确认帧的时间=NTd/(Td + RTT+Ta)
U 是信道利用率 ,N 是发送窗口的最大值 ,Td 是发送一数据帧的时间,RTT 是往返时间 ,
Ta 是发送一确认帧的时间 。这里采用捎带确认 ,Td=Ta。(2分)
原文地址:https://blog.csdn.net/qq_62377885/article/details/134568547
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_4591.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!