计算机网络期末

一、OSI七层模型简要概括

记忆口诀:物联网淑慧使用。

物理层:底层数据传输,如网线;网卡标准。
数据链路层:定义数据的基本格式,如何传输,如何标识;如网卡MAC地址。
网络层:定义IP编址,定义路由功能;如不同设备的数据转发。
传输层:端到端传输数据的基本功能;如 TCP、UDP。
会话层:控制应用程序之间会话能力;如不同软件数据分发给不同软件。
表示层:数据格式标识,基本压缩加密功能。
应用层:各种应用软件,包括 Web 应用。
说明:
在四层,既传输层数据被称作段(Segments);
三层网络层数据被称做包(Packages);
二层数据链路层时数据被称为帧(Frames);
一层物理层时数据被称为比特流(Bits)。
总结
网络七层模型是一个标准,而非实现。
网络四层模型是一个实现的应用模型。
网络四层模型由七层模型简化合并而来。

 TCP/IP协议族

协议(Protocol)就是网络通信过程中的约定或者合同,通信的双方必须都遵守才能正常收发数据。协议有很多种,例如 TCP、UDP、IP 等,通信的双方必须使用同一协议才能通信。协议是一种规范,由计算机组织制定,规定了很多细节,例如,如何建立连接,如何相互识别等。

协议仅仅是一种规范,必须由计算机软件来实现。例如 IP 协议规定了如何找到目标计算机,那么各个开发商在开发自己的软件时就必须遵守该协议,不能另起炉灶。

TCP/IP 模型包含了 TCP、IP、UDP、Telnet、FTP、SMTP 等上百个互为关联的协议,其中 TCP 和 IP 是最常用的两种底层协议,所以把它们统称为“TCP/IP 协议族”。
也就是说,“TCP/IP模型”中所涉及到的协议称为“TCP/IP协议族”,你可以区分这两个概念,也可以认为它们是等价的,随便你怎么想。

二、常用编码方式

  • 不归零编码
  • 归零编码
  • 曼彻斯特编码
  • 差分曼彻斯特编码

不归零编码:正电平表示比特1,负电平表示比特0,在整个码元时间内,不会出现零电平

不归零编码表示的方式很简单,上图表示的编码为10010111

接收端如何判断下面表示的码元个数?

需要接收方的接收与发送方的发送做到严格的同步。

需要一根额外的传输线来传输时钟信号,使发送方和接收方同步。否则,当出现如图所示情况,多个码元相同,且连续传输,没有严格的时钟同步,就接收方就不知道到底是几个高频和几个低频。

对于计算机网络,宁愿利用这根传输线传输数据信号,也不愿意用来传输时钟信号,因此,不归零编码存在时钟同步问题

每个码元传输结束后信号都要“归零”,所以接收方只要在信号归零后进行采用即可,不需要单独的时钟信号。例如上图表示的编码可以是10010111,每个码元传输结束就“归零”。

实际上,归零编码相当于把时钟信号用“归零”方式编码在数据之内,这称为“自同步”信号

但是,归零编码中大部分的数据带宽都用来传输“归零”而被浪费掉了。所以归零编码的特点是自同步,编码效率低。

在每个码元的中间时刻,信号都会发生跳变,负跳变表示比特1,正跳变表示比特0。例如上图,可以表示编码为10010111,在看图的时候,我们只需要观察码元的中间时刻,也就是看箭头的方向即可

码元中间时刻的跳变,既表示时钟,又表示数据,传统以太网就是使用这种编码

在每个码元的中间时刻,信号都会发生跳变,跳变仅仅表示时钟,用码元开始的出电平是否发生变化表示数据

如图所示,第一个部分码元,开始到结束的中间时刻,发生了跳变,但是对这个信号来说,属于第一个信息,还不能表示信息。第二个部分码元,从前一个码元的结束到第二个码元的开始,发生了变化,所以这个位置可以表示信息。类似的,第二个码元到第三个码元发生了变化,第三个码元到第四个码元没有发生变化。

如果将发生变化记为信号1,没有发生变化记为信号0,那么就是1101000

三、CSMA/CD协议

英文名称:CSMA/CD的全称是Carrier Sense Multiple Access with Collision Detection

中文:载波监听,多点接入,碰撞检测。

作用:在数据链路层,

CSMA/CD的基本原理是:所有节点都共享网络传输信道,节点在发送数据之前,首先检测信道是否空闲,如果信道空闲则发送,否则就等待;在发送出信息后,再对冲突进行检测,当发现冲突时,则取消发送。

1)为了通信上的简单,以太网用了以下两种措施

(1)用灵活的无连接工作方式。即:主机A在发送数据前,没有先建立连接在发送,对发送的数据帧不进行编号,也不要求端方发回确认。这么做虽然简单,但会出现差错帧,可是这个不是数据链路层需要完成的功能它只负责将IP数据报封装成帧进行发送就OK了。

(2)采用曼彻斯特编码。

有了这两点,所以CSMA/CD协议中的载波监听、多点接入、碰撞检测就诞生了。

2)载波监听

发送数据帧时发现有冲突,就立刻停止发送帧,并向总线上发送一串阻塞数据帧通知总线上各点已有冲突发生,以提高总线的利用率。

3)多点接入

该特点说明通信线路是一个总线型通路。

注:如果检查出来了帧有错,则是否重传由高层协议来确定,而数据链路层只是把它当成一个新的帧来传输,仅此而已。

4)碰撞检测

该特点只保证在发送帧的时候不会出错就OK了,如果帧发出成功,该帧再次出错,则不归数据链路层控制,应由更高层的协议来控制。由于信息在信道传播上有传播时延,1KM的电缆传输时延大概时5us,所以在A站点向B站点发送数据时会有延迟。当数据帧在5us中传输时,B站点检测到信道空闲,于是B站点也开始发送数据。A、B两个站点发送的数据就会碰撞从而发生强烈的失真现象。如果不加以控制则该帧就会丢失,就不满足在发送帧的时候不会出错。所以要有碰撞检测。

四、如何计算地址掩码(子网掩码)

五、什么是最大的传送单元MTU?它和IP数据报首部中的哪个字段有关系?

在IP层下面的每一种数据链路层协议都规定了一个数据帧中的数据字段的最大长度,这称为最大传送单元MTU。当一个IP数据报封装成链路层的帧时,此数据报的总长度(即首部加上数据部分)一定不能超过下面的数据链路层所规定的MTU值。MTU与IP数据报首部中的总长度字段有关系。

主机A发送IP数据报给主机B,途中经过了5个路由器。试问在IP数据报的发送过程中总共用了几次ARP?

6次。因为主机A无论是依次到每个路由器还是到主机B,每次都要使用一次ARP。

P256页 5-37

(1)慢开始算法

在TCP 刚刚连接好并开始发送TCP报文段时,先令拥塞窗口cwnd = 1,即一个最大报文段长度MSS。每收到一个对新报文段的确认后,将cwnd加1,即增大一个MSS。用这样的方法逐步增大发送方的cwnd,可使分组注入网络的速率更加合理。

慢开始的“慢”并不是指拥塞窗口 cwnd的增长速率慢,而是指在TCP开始发送报文段时先设置cwnd = 1,使得发送方在开始时只发送一个报文段(目的是试探一下网络的拥塞情况),然后再逐渐增大cwnd,这对防止网络出现拥塞是一个非常有力的措施。使用慢开始算法后,每经过一个传输轮次(即往返时延RTT),cwnd就会加倍,即 cwnd 的值随传输轮次线性增长。这样,慢开始一直把cwnd增大到一个规定的慢开始门限ssthresh(阈值),然后改用拥塞避免算法。

(2)拥塞避免算法

拥塞避免算法的思路是让拥塞窗口 cwnd缓慢增大,具体做法是:每经过一个往返时延RTT就把发送方的拥塞窗口cwnd加1,而不是加倍,使拥塞窗口cwnd按线性规律缓慢增长(即加法增大),这比慢开始算法的拥塞窗口增长速率要缓慢得多。

根据cwnd的大小执行不同的算法,可归纳如下:

当cwnd < ssthresh时,使用慢开始算法。

当cwnd > ssthresh 时,停止使用慢开始算法而改用拥塞避免算法。.

当cwnd = ssthresh时,既可使用慢开始算法,又可使用拥塞避免算法(通常做法)。

(1)快重传

在TCP可靠传输机制中,快重传技术使用了冗余ACK来检测丢包的发生。同样,冗余ACK也用于网络拥塞的检测(丢了包当然意味着网络可能出现了拥塞)。快重传并非取消重传计时器,而是在某些情况下可更早地重传丢失的报文段。

当发送方连续收到三个重复的 ACK报文时,直接重传对方尚未收到的报文段,而不必等待那个报文段设置的重传计时器超时。

(2)快恢复

快恢复算法的原理如下:当发送方连续收到三个冗余 ACK(即重复确认)时,执行“乘法减小”算法,把慢开始门限ssthresh 设置为此时发送方cwnd 的一半。这是为了预防网络发生拥塞。但发送方现在认为网络很可能没有发生(严重)拥塞,否则就不会有几个报文段连续到达接收方,也不会连续收到重复确认。因此与慢开始不同之处是它把cwnd值设置为慢开始门限ssthresh改变后的数值,然后开始执行拥塞避免算法(“加法增大"”),使拥塞窗口缓慢地线性增大。

乘法减小:是指不论在慢开始阶段还是拥塞避免阶段,只要出现一次超时(即出现一次网络拥塞),就把慢开始门限值 ssthresh 设置为当前的拥塞窗口值乘以 0.5。
当网络频繁出现拥塞时,ssthresh 值就下降得很快,以大大减少注入到网络中的分组数。
加法增大:是指执行拥塞避免算法后,在收到对所有报文段的确认后(即经过一个往返时间),就把拥塞窗口 cwnd增加一个 MSS 大小,使拥塞窗口缓慢增大,以防止网络过早出现拥塞。
5-38例题

 5-39例题

(1)试画出如图所示的拥塞窗口与RTT的关系曲线

(2)指明 TCP 工作在慢开始阶段的时间间隔。

慢开始时间间隔:【1,6】和【23,26】

(3)指明 TCP 工作在拥塞避免阶段的时间间隔。

拥塞避免时间间隔:【6,16】和【17,22】

(4)在第 16 轮次和第 22 轮次之后发送方是通过收到三个重复的确认还是通过超时检测到丢失了报文段?

 在第16轮次之后发送方通过收到三个重复的确认检测到丢失的报文段。在第22轮次之后发送方是通过超时检测到丢失的报文段。

(5)在第 1 轮次、第 18 轮次和第 24 轮次发送时,门限 ssthresh 分别被设置为多大?在第1轮次发送时,门限ssthresh被设置为32  在第18轮次发送时,门限ssthresh被设置为发生拥塞时的一半,即21.在第24轮次发送时,门限ssthresh是13

(6)在第几轮次发送出第 70 个报文段?

第70报文段在第7轮次发送出。

(7)假定在第 26 轮次之后收到了三个重复的确认,因而检测出了报文段的丢失,那么拥塞窗口 cwnd 和门限 ssthresh 应设置为多大?

 拥塞窗口cwnd和门限ssthresh应设置为8的一半,即4
 

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值