计算机网络——网络层概述

  1. 路由表包含哪些基本信息?

Network Destination目标网段

Netmask子网掩码IP地址与子网掩码按位与,可以得出该IP地址的网络号,IP地址与子网掩码取反后按位与,可以得出该IP地址的主机号。

Interface:达到该目标网段的本地路由器的出口IP

Gateway网关IP,下一跳路由器的入口IP,通常情况下,interfacegateway是同一网段的。

Metric跳数,该条路由记录的质量,一般情况下,如果有多条到达相同目的地的路由记录,路由器会采用metric值小的那条路由。

“标志”字段详细说明:

U 该路由可以使用

H 目标地址是一个完整的主机地址(Host)

     没有该字段则说明:目的地址为一个网络号(主机地址为0)

G 目标地址是一个路由器(或网关Gateway)

     1、没有该字段则说明:目的地址是直接相连的   

     2、区分“直接路由(无G)”和“间接路由(有G)”

直接路由与间接路由的区别:

    发往路由的包中的MAC地址不同

直接路由:1、最终目标的IP地址

         2、最终目标的MAC地址

间接路由:1、最终目标的IP地址

         2、最终目标的网关的MAC地址

2. 动态路由常用的两种路由衡量标准

①. 比管理距离AD(可以是多种路由协议的比较;也可以是同种路由协议的比较,比如双线出口所配置的两条默认浮动路由比较)

②比度量值metric(路由协议不同则度量值不能做比较,比如rip度量值为跳数;ospf度量值为带宽;eigrp度量值为带宽+延迟等。所以在不同种协议之间先比较管理距离)

3.距离矢量路由选项协议的工作原理,及优缺点

定义:每个路由器维护一张表,表中列出了当前已知的到每个目标

的最佳距离,以及为了到达那个目标,应该从哪个接口转发。

工作原理:①每个路由器(节点)维护两个向量, Di 和 Si ,分别表示从该路由器到所有其它路由器的距离及相应的下一跳(next hop)②在邻居路由器之间交换路由信息(矢量)③每个路由器(节点)根据收到的矢量信息,更新自己的路由表

优缺点

优点:简单

缺点:交换的信息太大了

路由信息传播慢,可能导致路径信息不一致

收敛慢,度量计数到无穷,不适合大型的网络

4.RIP协议的特点,产生的问题及原因?

RIP:Routing information protocol,路由选择信息协议

主要特点:

RIP 是一种典型的 D-V 路由选择协议

RIP 采用了跳数(路由器个数hop)作为量度( metric)

当量度超过 15 跳,目的被认为不可达

默认地,每30秒钟交换一次矢量/向量信息(全部路由表)

缺陷及原因:

不能到达量度超过15跳的目标网络

RIP的度量(代价)是跳数,即沿途经过的路由器的个数,有时候,并不合理,不能真正反映网络的状况

实际运行中,会遇到度量计数到无穷、收敛慢等问题.

5.IP帧结构中,TTL是什么,路由器对TTL执行什么操作,TTL的作用是什么

TTL是什么?

TTL是 Time To Live的缩写

该字段指定IP包被路由器丢弃之前允许通过的最大网段数量。

TTL是IPv4包头的一个8 bit字段。

TTL的作用

TTL的作用是限制IP数据包在计算机网络中的存在的时间。

TTL的最大值是255,TTL的一个推荐值是64。

TTL原理

虽然TTL从字面上翻译,是可以存活的时间,但实际上TTL是IP数据包在计算机网络中可以转发的最大跳数。

TTL字段由IP数据包的发送者设置,在IP数据包从源到目的的整个转发路径上,每经过一个路由器,路由器都会修改这个TTL字段值,具体的做法是把该TTL的值减1然后再将IP包转发出去

如果在IP包到达目的IP之前,TTL减少为0,路由器将会丢弃收到的TTL=0的IP包并向IP包的发送者发送ICMP 发送超时报文。

6.链路状态路由选择的工作方式是什么?

主要思想:

    • 发现 它的邻居节点们,了解它们的网络地址

当一个路由器启动的时候,在每个点到点的线路发送一个特别的HELLO分组

收到HELLO分组的路由器应该回送一个应答,应答中有它自己的名字 (采用一个全球唯一的名字 globally unique name)

    • 设置 到它的每个邻居的成本度量

为了决定线路的开销,路由器发送一个特别的 ECHO 分组,另一端立刻回送一个应答通过测量往返时间(round-trip time), 

发送路由器可以获得一个合理的延迟估计值,为了得到更好的结果,可多次测量,取均值

一种常用的选择:与链路带宽成反比

 

    • 构造 一个分组,包含它所了解到的所有信息

链路状态分组构造后被发送给其他的路由器,分组中包含这些信息:

1 发送方的标识(ID of the sender)

2 序列号(sequence number )

3 年龄(age )

4 邻居列表(list of neighbors )

5 到邻居的成本/量度(delay to each neighbor )

应该什么时候构造分组?

周期性地构造和发送,或者有特别的事件发生时构造,比如某条线路或邻居down掉了

  1. 发送 这个分组给所有其他的路由器
  2. 计算 到每个路由器的最短路径

7.OSPF的工作方式?

开放的路径优先(Open Shortest Path First)

运行步骤

  • 建立路由器毗邻关系

  • 选举DR和BDR

 

  •  发现路由
  •  选择最佳路由

  • 维护路由信息

触发更新,LSU

Hello分组发送的时间间隔:缺省10秒

Hello分组的失效间隔:缺省40秒

即使没有拓扑变化,LSA在条目过期(缺省30分钟)后,发送LSU,通告链路存活

8.无域间路由解决了IP的什么问题?

分配IP地址的时候不再以类别来分,而是按照可变长的地址块来分配(按需分配),解决了IP分类造成的地址浪费和路由器膨胀

超网的概念

超网(Supernetting)是与子网类似的概念,IP地址根据子网掩码被分为独立的网络地址和主机地址。超网,也称无类别域间路由选择(CIDR),它是集合多个同类互联网地址的一种方法。

与子网划分(把大网络分成若干小网络)相反,它是把一些小网络组合成一个大网络,就是超网。

网段合并:子网掩码向前移动1位,使得网络部分保持前部分相同。

要想判断连续的8个网段是否能够合并,只要第一个网络号能被8整除,这8个连续的网段就能够通过左移3位子网掩码合并。

9.网络地址翻译解决了什么问题,怎么工作的

为什么提出NAT(net address translate NAT)?

IPv4总地址池已于2011年2月3日枯竭

然而每个上网设备都需要上网资源,包括IPv4地址

   解决方案:私有地址

不可路由的地址、但仍可用于广域网链路上

不再具备唯一性

而NAT正是将私有IP地址和公有IP地址之间的转换的一种工具

10.NAT工作原理

NAT是一个IP地址耗尽的快速修补方案

当内网需要和外网通信的时候,NAT完成私人地址转换成合法的globleIP地址

NAT转换器能够维护一个地址转换表,以便回来的分组能够找到它的出处,当回来的分组到达NAT转化器的时候,它查找地址转换表以获得目标机的私人地址,并转换地址之后发往目标机

11.ICMP和ARP

ARP协议

ARP是用于解析IP地址所对应的MAC地址的,PC可以直连也可以连接路由器之后再去查找IP的MAC地址。如果PC和主机是直接连在一起的话那就可以直接查询,如果中间有路由地址的话就会去路由表里面查找下一跳是什么地址,如果是非直连一般会解析网关的mac地址。ARP会给网络中所有的节点发送ARP数据包(二级广播包),之后解析到mac地址就会发送给应用,也是一个二级的单播包,只有请求方会接收到该回应包。

ICMP被认为是IP层的一个组成部分,负责传递差错报文以及其他需要注意的信息。ICMP是跟在IP报文以后的,在IP数据报的内部被传输。

拥塞控制

当一个网或子网的一部分出现太多分组的时候,网络的性能开始急剧下降,这就是拥塞。网络出现拥塞的时候,分组被丢弃、重传,导致网络吞吐量急剧下降,甚至无法传输分组。

拥塞控制的两类措施

  • 开环

开环是试图通过良好的设计来避免拥塞的发生,它的本质是从一开始就保证问题不会发生,开环决定不考虑网络的当前状态,他是提前考虑;但网络变换太快,很难准确估计需求,即使超前的设计,随着时间的推移,也会越来越力不从心。所以更多的时使用闭环控制。

②闭环

闭环控制是建立在反馈环路上,分为三步:1). 监视系统,发现网络在何时何地发送拥塞;2). 传递拥塞信号:将拥塞信号传递到可以解决问题的地方;3). 调整运行,控制拥塞

如何知道何时何地发生拥塞?可以通过查看一些参数:比如,拥塞度量:因为缺乏缓存空间而丢弃的分组百分比;平均队列长度;超时和重传的分组数;平均分组延迟;分组延迟的标准方差。

检测到拥塞后怎么办? 拥塞信息传播

检测到拥塞的路由器发送一个警告分组给流量源,但是这个消息可能无法到达源

其他方法:每个分组可以保留一位或一个域,当拥塞度量超过阈值时候,路由器填充该位域,以此警告他的邻居。

其他方法:主机或路由器周期性的向外发送探寻分组,显示的询问有关拥塞的情况,然后,再有问题的区域利用回收的信息来路由流量 

  1. 漏桶算法和令牌桶算法
    • 漏桶(Leaky Bucket)算法思路很简单,水(请求)先进入到漏桶里,漏桶以一定的速度出水(接口有响应速率),当水流入速度过大会直接溢出(访问频率超过接口响应速率),然后就拒绝请求,可以看出漏桶算法能强行限制数据的传输速率.示意图如下:

https://img-blog.csdn.net/20160606165515090?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

可见这里有两个变量,一个是桶的大小,支持流量突发增多时可以存多少的水(burst),另一个是水桶漏洞的大小(rate),在某些情况下,漏桶算法不能够有效地使用网络资源。因为漏桶的漏出速率是固定的参数,所以,即使网络中不存在资源冲突(没有发生拥塞),漏桶算法也不能使某一个单独的流突发到端口速率。因此,漏桶算法对于存在突发特性的流量来说缺乏效率。而令牌桶算法则能够满足这些具有突发特性的流量。通常,漏桶算法与令牌桶算法可以结合起来为网络流量提供更大的控制。

    • 令牌桶算法(Token Bucket)和 Leaky Bucket 效果一样但方向相反的算法,更加容易理解.随着时间流逝,系统会按恒定1/QPS时间间隔(如果QPS=100,则间隔是10ms)往桶里加入Token(想象和漏洞漏水相反,有个水龙头在不断的加水),如果桶已经满了就不再加了.新请求来临时,会各自拿走一个Token,如果没有Token可拿了就阻塞或者拒绝服务.

https://img-blog.csdn.net/20160606165952607?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

令牌桶的另外一个好处是可以方便的改变速度. 一旦需要提高速率,则按需提高放入桶中的令牌的速率. 一般会定时(比如100毫秒)往桶中增加一定数量的令牌, 有些变种算法则实时的计算应该增加的令牌的数量.

 

 

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值