还没写好 还在更新中
UDP:
UDP无连接是指不像打电话 像邮件那样 不需要连接就可以打过去码
网络尽量递送 但不一定保证你一定能收到
面向连接:类比打电话
像电话一样双方都可以同时说话同时接听。
下面这里全是要记住的
重点来了重点来了:
发送报文之后设定一个定时器,如果时间到了还没收到说明发送失败,然后准备重传。
相当于是过去的成绩乘以一个比例加上一定比例乘以这次的成绩来推断下次的成绩
流量控制如图5-23的窗口所示
如果发送探测报文后一段时间内还没收到应答则需要再发送应答报文
习题
注意这里有坑,是为了表明收到SYN数据包
第一次握手:客户端发送syn包(seq=x)到服务器,并进入SYN_SEND状态,等待服务器确认;第二次握手:服务器收到syn包,必须确认客户的SYN(ack=x+1),同时自己也发送一个SYN包(seq=y),即SYN+ACK包,此时服务器进入SYN_RECV状态;
由上面可以得知题目要求是说表明已收到源节点的SYN数据包,即向源节点发送确认包ack(x+1)
注意 一个十六进制数是有4bits的 所以一个这样的就占用16个bits也就是2字节
- 在TCP中,发送方的窗口大小是由__通知窗口____________和__拥塞窗口____的大小决定的。
- 假设拥塞窗口为20KB,通知窗口为30KB,TCP能够发送的最大字节数是___20KB___________ 。
- 主机甲和主机乙之间建立了TCP连接,主机甲向主机乙发送了两个连续的TCP段,分别包含300B和500B的有效载荷,第一个段的序列号为200,主机乙正确收到两个段后,发送给主机甲的确认序号是__400____________。
- 假设:TCP拥塞控制算法中,慢开始ssthresh的阈值初始设置为8,当拥塞窗口上升到12时,发送端检测出超时,TCP使用慢开始与拥塞避免。求:第1轮次到第15轮次传输的拥塞窗口分别为多少?
1 2 4 8 9 10 11 12 1 2 4 6 7 8 9 - 一个TCP连接经历了下图所示的拥塞窗口变化,请回答以下问题:
(1) 指出该TCP连接属于拥塞避免阶段的时间间隔。(2分)
5-9 10-14
(2) 分别指出第9个传输轮次之后拥塞窗口变化的原因,以及第14个传输轮次之后拥塞窗口变化的原因。(2分)
9:因为收到3个冗余的ACK说明丢失了一个报文所以进行快恢复,先将拥塞窗口cwnd设置为最大窗口值的一半,然后执行拥塞避免算法,拥塞窗口按线性增长。
到14时出现了超时于是将cwnd设置为1然后执行拥塞避免算法。
(3) 第1、10、15个传输轮次里慢启动阈值(ssthresh)的值分别为多少,并说明理由?(3分)
第1个传输轮次:因为到16的时候开始进行拥塞避免说明达到了阈值。
第10个传输轮次:报文丢失,阈值减半变成10
第15个:出现超时所以变成7
(4)如果没有任何报文丢失,第19个传输轮次的拥塞窗口大小是多少?(3分)
8
之前阈值为6 则从慢开始的4跳到6
注意 执行慢开始时,如果阈值为7,此时拥塞窗口为4,则下一轮次拥塞窗口直接变成7,然后开始拥塞避免
第四章
4.5 IPV4协议分组头格式
讲道理这些这么多不知道要记哪些
版本
版本字段指定了IP数据报中使用的IP协议版本,占四位。如过协议是IPV4,则值为0100。
头部长度
头部长度字段指示IP数据报头部的总长度,IP数据报头部的总长度以4字节为单位,该字段占4位。当报头中无选项字段时,报头的总长度为5,也就是5×4=205×4=20字节(此时,报头长度的值为0101)。这就是说IP数据报头部固定部分长度为20字节。当IP头部长度为1111时,头部的固定长度为15×4=6015×4=60字节。
服务类型(Differentialted Services)
最开始IP数据报的这个字段为优先级和服务类型字段,又称为服务类型(ToS)字段,用于表示数据报的优先级和服务类型,占八位。它包括一个3位长度的优先级、4位长度的标志位。标志位分别是D(Delay延迟)、T(Throughput吞吐量)、R(Reliability可靠性)和C(Cost开销),分别表示延迟、吞吐量、可靠性和开销值,用来获得更好的服务。最高1位未用。 总长度(Total Length)
总长度字段标识整个IP数据报的总长度,包括报头和数据部分,整个IP数据报的总长度以字节为单位,该字段占16位。由此可得出,IPv4数据报的最大长度为216−1216−1字节即65535字节(64KB)。 说明:在网络层下面的每一种数据链路层都有自己的格式,其中包括表示数据字段的最大长度,这称为最大传送单元(Maximum Transfer Unit,MTU)。当一个数据报封装成链路层的帧时,此数据报的总长度(包括报头和数据部分)一定不能超过下面的数据链路层的MTU值
标识(Identification)
标识字段用于表示IP数据报的标识符,占16位,每个IP数据报有一个唯一的标识符。IP软件在存储器中维持一个计数器,每产生一个数据报,计数器就加1,并将此值赋给整个标识字段。但整个标识并不是序号,因为IP是无连接服务,数据报不存在按序接受的问题。当数据报由于长度超过下面数据链路层的MTU(最大传输单元)值而必须分段的时候,这个标识符的值就被复制到所有的数据报分段的标识字段中。相同的标识字段的值分段后的各数据报分段最后能正确地组装成原来的数据报。
标志
标志字段用以指出该IP数据报后面是否还有分段,也就是这个字段时分段标志,占3位。目前只有前两位有意义:最低以为记为MF(More Fragment),如果MF=1,则表示后面还有分段,如果MF=0表示这已是某个数据报的最后一个分段;中间一位记为DF(Don’t Fragment),当DF=1时表示不允许分段,DF=0表示允许分段;最高1位没有使用。
段偏移
段偏移字段用以指出该分段在数据报中的相对位置,也就是说,相对于用户数据字段的起点,该分段从何处开始,占13位。若有分段,段偏移以8字节为偏移单位,即每个分段的长度一定是8字节(64位)的整数倍。第一个分段偏移值就是0 0000 0000 0000,如果第一个分段一共是64字节,则0 0000 0000 1001,相当于10进制数的9,因为从第9个“8字节”数据块开始的。如果没有分段,则该字段值为0。
生存时间(Time To Live)
生存时间字段TTL规定了一个数据报在被丢弃之前所允许经过的路由器数,每经过一个路由器,则TTL减1,当TTL值为0时,就丢弃这个数据报。设定生存时间是为了防止数据报在网络中无限制地循环转发。
协议
协议字段用来标识此IP数据报在传输层所采用的协议类型(如TCP、OSPF或ICMP等等),以便使目的主机的IP层直到应将数据部分上交给哪个处理过程,占8位。
校验和(Checksum)
校验和字段用来检验IP数据报的报头部分(不包过“数据”部分)在传输到接收端后是否发生了变化,占16位。这是因为数据报每经过一个路由器,路由器都要重新计算一下报头检验和(因为一些字段,如生存时间、标识、段偏移等都可能发生变化),不检验数据部分可减少计算的工作量。
4.5 路由选择算法与分组转发
分组转发就是主机或者路由器转发IP分组的过程
分组转发两类:
直接转发:目的地在同一个网络,目的路由向目的主机发送
间接转发:目的主机和源主机不在同一网络,路由器从本地路由表中找出下一个路由器的IP地址,将IP分组转发给下一个路由器,当分组到达目的主机所在网络连接的路由器时,分组将被直接转发
路由表:目的地址,如何到达目的地址的信息
路由器转发IP时,先查询路由表,决定从哪个端口发送
路由表:由路由算法产生
静态路由:人工建立的,管理员手动输入,开销小,实现简单,但非自适应,一旦网络出现问题无法自动更新,小型的局域网
动态路由:大型互联网,系统自动运行路由协议建立路由表,一旦网络出现问题,路由表自动更新
直接通过网络地址无法准确判断网络号,子网号和主机号,路由表中加子网掩码
(I可以理解为inside这样不容易记错(
4.9 最短路径优先协议OSPF
OSPF协议的执行过程
过程:
ARP解析过程:如果A主机要对B主机进行数据传输的话
1) A主机先会查看自己的ARP高速缓存中是否有B主机的MAC地址记录。
2) 如果A主机的高速缓存中有B主机的记录,则直接通过这个MAC地址进行数据的传输。
3)如果A主机的高速缓存中没有B主机的记录,则会向局域网的所有主机广播一个ARP请求,寻找B主机的MAC地址。
4) 当B主机收到A主机广播的ARP请求后,就会直接给A主机回复一个ARP数据包。
5) 当A主机收到B主机发送过来的请求后,将B的MAC地址写入高速缓存中,然后通过该MAC地址,A主机向B主机进行数据的传输。
习题
- 为什么要划分子网?子网掩码的作用是什么?
答:因为因特网的每台主机都要分配一个唯一的IP地址,所以分配的IP地址很多,这会使路由器的路由表非常庞大,进而影响了路由器在进行路由选择时的工作效率。解决这个问题的方法是将一个大的网络划分为几个较小的网络,每一个小的网络称为一个子网。当一个分组达到路由器时,路由器应该判断出IP地址的网络号。子网掩码用来判断IP地址的那一部分是网络号与子网号,哪一部分是主机号。为了完成网络号与主机号的分离分离,需要路由器对IP地址和子网掩码进行“与”运算。
若路由器R因为拥塞丢弃IP分组,则此时R可向发出该IP分组的源主机发送的ICMP报文的类型是()。
A.路由重定向
B.目标不可到达
C.源抑制
D.超时
正确答案
C
答案解析
若路由器或目的主机缓冲资源耗尽而必须丢弃数据报,则每丢弃一个数据报就向源主机发送一个ICMP源抑制报文,此时,源主机必须减小发送速度。另外一种情况是系统的缓冲区已用完,并预感到将发生拥塞,则发送源抑制报文。但是与前一种情况不同,涉及的数据报尚能提交给目的主机。
当一台主机向自己的缺省网关发送一个需要转发的数据包时,如果该网关路由器查找路由表发现有更好的路由,就会向源主机发出“重定向”的ICMP报文。
如果在IP数据报的传送过程中,路由器发现网络出现拥塞,则路由器将向源主机发出“目标不可到达”的ICMP报文。
一个IP包从源节点出发时,其TTL值被设定一个初始值(比如255),经过一跳一跳的传输,如果这个IP包的TTL降低到零,路由器就会丢弃此包。此时,该路由器上的ICMP便会发出一个“超时(time exceeded)”的ICMP报文。
-
关于RIP与OSPF协议的异同,以下说法正确的有( ABCD )
A. OSPF协议是链路状态协议,RIP是向量距离路由选择协议
B. OSPF要求路由器在链路状态改变时采用洪泛方式向所有路由器发送该信息,而RIP协议仅向相邻的路由器通报路由信息
C. RIP和OSPF都是在寻找最短路径,都采用“最短路径优先”策略
D. RIP采用“跳数”作为路径长短的度量,而OSPF采用链路状态作为最短路径的度量 -
【ICMP】下列关于ICMP报文的说法中,错误的是( A )
A. ICMP报文封装在链路层帧中发送
B. ICMP报文用于报告IP数据报发送错误
C. ICMP报文封装在IP数据报中发送
D. ICMP报文本身出错将不再处理
(下章的内容
12. 下列不属于数据链路层的功能是( C )。
A.使用滑动窗口协议进行流量控制
B.提供数据的透明传输机制
C.为应用进程之间提供端到端的可靠通信
D.将IP分组封装成帧
C是属于传输层的功能
第5章 数据链路层协议与局域网技术
这一章将为大家介绍数据链路层,数据列入层位于TCPIp参考模型倒数第二层,位于网络层之下,为网络层提供服务,和实际的物理传输也有很大联系。数据链路层要保证数据传输的有效可靠,才可以放心的交付给网络层。然而在实际传输过程中传输错误是不可避免的,因此数据链路层要负责差错检测与差错控制,同时在实际传输过程中,如果较高的发送速率和较低的接收能力不匹配,也会造成传输错误。因此数据链路层还要负责流量控制和拥塞控制。
总而言之,数据链路层将有差错的物理线路,改成逻辑上无差错的数据链路,从而向网络层提供高质量的服务。
当数据链路层将数据封装成真之后,便会将针通过一条通信链路从一个节点移动到相邻的节点,移动的过程也称为链路访问。
5.2 差错控制
信道编码一般分为两种用途,检错码和纠错码。
检错码是可以自动发现差错的编码,而纠错码不仅能发现差错,而且能够自动纠正差错。
其中奇校验是最基本的检测方法,发送端在发送的数据后面加上一位校验位,使得数据和校验位中一的总数为奇数或偶数,奇数称为基校验,偶数则称为偶校验,相应的接收端会检测收到信息中一的个数。在机校验中如果发现偶数个一则至少有一个比特发生差错,在偶校验中,如果发现奇数个一则,至少有一个比特发生差错,奇偶校验实现简单,检测速度快,但是同学们可能会发现,奇偶校验的差错,检测能力有限,只能检测奇数个错误,如果出现偶数个错误则无法检测。
5.3 流量与拥塞控制
从单真停止等待协议的效力分析中,我们可以很自然的想到,既然任何一个时刻都只发送一帧的效率很低,那么我们一次发送n个帧,然后等待一起确认,效率不就可以提高了吗?
这个就是连续发送ARq协议的思想,在连续发送ARq协议中,发送方连续向接收方发送数据帧,接收方对收到的数据帧进行校验后,向发送方返回相应的应答帧。
其中发送方要维持一个一定大小的发送窗口,位于发送窗口内的所有针都可以连续发送出去,而中途不需要等待对方的确认。
在拉回重发机制中,发送方可以连续发送帧,但是一旦某征发生错误,必须重新发送该征及其以后的n个征,这种方式提高了信道的利用率,但允许已发送有待于确认的针越多,可能要退回来重发的真也就越多。
相比而言,选择重发机制则要更加灵活,在选择重发机制中,发送方可以连续发送真,但对于每一个真都有一个计时器,在一定的时间内没有收到某个数据包的aCK时,发送方只重新发送没有的数据包。选择重发机制虽然灵活,但是接收方收到的帧的顺序可能不是发送帧的顺序,因此在帧里必须含有顺序字符来帮助接收方排序。
ASCII编码从低到高依次为1100101,采用奇校验?
字符S的ASCII编码从低到高依次为1100101,采用奇校验,在下述收到的传输后字符中,那种错误__________不能检测?
A.11000011 B.11001100 C.11010011 D.11001010
答案C,因为C选项1的个数也是奇数,符合奇校验规则,所以不能检测出来
要发送的数据比特序列是1010001101,CRC校验的生成多项式是G(x)=x^5+x^4+x^2+1,试计算CRC校验码。
- 对于10位要传输的数据,如果采用海明校验码,需要增加的冗余信息位数是( B )
A. 3 B. 4 C. 5 D. 6
数据链路层采用后退N帧(GBN)协议,发送方已经发送了编号为0~7的帧。当计时器超时时,若发送方只收到0.2.3号帧的确认,则发送方需要重发的帧数是?
A. 4
B. 2
C. 3
D. 5
收到了3号帧的确认,说明接收方发送了3号帧的确认,从而说明接收方收到了3号及3号之前的帧。因此,发送方需要重发的4号之后的帧
- 若采用后退N帧的ARQ协议进行流量控制,帧编号字段为7位,则发送窗口的最大长度为( C )
A. 7 B. 8 C. 127 D. 128
2^N-1
1Mbps=0.125M/S
1M/s=8Mbps
- 主机A和主机B之间采用后退N帧协议(GBN)传输数据,A的发送窗口的尺寸是1000,数据帧长为1000字节,信道带宽为100Mbps。B每收到一个数据帧立即利用一个短帧(忽略其传输延迟)进行确认,若A、B之间的单向传输延迟是50 ms(说明0.1秒传送了1000*1000B也就是1MB的大小,因此速率=10M/s=80Mbps),则A可以达到的最大平均数据传输速率约为( C )
A. 10Mbps B. 20Mbps C. 80Mbps D. 100Mbps
后退N帧协议(GBN)传输数据,是指发送方不需要在收到上一帧的ACK后才能开始发送下一帧,而是可以连续发送帧
- 数据链路层采用了后退N帧的协议,如果发送窗口的大小是32,那么至少需要( C )位的序列号才能保证协议不出错。
A. 4 B. 5 C. 6 D. 7
8. 在简单的 停止等待协议中,当帧出现丢失时,发送端会永远等待下去,解决这种死锁现象的办法是( D )
A. 差错校验 B. 帧序号 C. NAK机制 D. 超时机制
第六章 物理层
第七章
来表示十六位的二进制数
开头的零 和全是零的可以省略