4.1 网络层功能概述和路由选择

功能概述

主要任务是把分组从源端口传送到目的端,为分组交换网上的不同主机提供服务。
网络层传输单位是数据报

功能:
1、路由选择与分组转发(最佳路径)
2、异构网络互联
3、拥塞控制:
如果所有节点都来不及接受分组而要大量丢弃分组,网络处于拥塞状态,因而需要采取一定措施缓解拥塞。两个方式:开环控制(静)和闭环控制(动)
4、建立连接
①某些网络的重要功能:
ATM,帧中继,X.25
②数据分组传输之前两端主机需要首先建立虚拟/逻辑连接:网络设备(如路由器)参与连接的建立
③网络层连接与传输层连接的对比:
网络层连接: 两个主机之间(路径上的路由器等网络设备参与其中)
传输层连接:两个应用进程之间(对中间网络设备透明)

网络服务模型:
1、
无连接服务(connection-less service):
①"不事先为系列分组的传输确定传输路径
②每个分组独立确定传输路径
③不同分组可能传输路径不同
④数据报网络(datagram network)
2、连接服务(connection service):
①首先为系列分组的传输确定从源到目的经过的路径(建立连接)
②然后沿该路径(连接)传输系列分组
③系列分组传输路径相同
④传输结束后拆除连接
⑤虚电路网络(virtual-circuit network )

两者和UDP和TCP之间的区别是:①主机到主机的服务②网络核心实现

虚电路(VC)

一条从源主机到目的主机,类似于电路的路径(逻辑路径)
1、分组交换
2、每个分组的传输利用链路的全部带宽
3、源到目的路径经过的网络层设备共同完成虚电路功能

通信过程:
呼叫建立(call setup)→数据传输→拆除呼叫

每个分组携带虚电路标识(VCID),而不是目的主机地址
每条虚电路包括:
1.从源主机到目的主机的一条路径
2.虚电路号(VCID)沿路每段链路一个编号
3.沿路每个网络层设备(如路由器),利用转发表记录经过的每条虚电路
同一条VC,在每段链路上的VCID通常不同
路由器转发分组时依据转发表改写/替换虚电路号

虚电路经过的每个网络设备(如路由器),维护每条经过它的虚电路连接状态

链路、网络设备资源(如带宽缓存等)可以面向VC进行预分配
预分配资源=可预期服务性能
如ATM的电路仿真(CBR)

虚电路信令协议
用于VC的建立、维护与拆除:路径选择
应用于虚电路网络:如ATM、帧中继(frame-relay)网络等
目前的Internet不采用

数据报网络

网络层无连接

每个分组携带目的地址

路由器根据分组的目的转发分组
1、基于路由协议/算法构建转发表
2、检索转发表:最长前缀匹配优先
3、每个分组独立选路

SDN 

网络层可以抽象的划分为数据平面(转发)和控制平面(路由选择)
软件定义网络SDN:集中式的控制平面和分布式的数据平面,控制平面利用控制-数据接口对数据平面上的路由器进行集中的控制。
使用SDN后,路由器不需要路由选择软件,路由器也不需要交换路由信息了。网络控制平面上有一个逻辑上的远程控制器。由其为每个分组计算出最佳路由,通过Openflow协议将转发表发给路由器。路由器只需要收到分组、查找转发表、转发分组。

SDN的广义转发分为以下两个步骤:
1、进行“匹配”:能够对网络体系结构中各层(数据链路层、网络层、运输层)首部中的字段进行匹配。
2、执行“动作”:不仅转发分组,还可以负载均衡、重写IP首部(类似NAT路由器中的地址转换)人为地阻挡或丢弃一些分组(类似防火墙一样)。

在SDN的广义转发中,完成“匹配+动作”的设备并不局限在网络层工作,因此不再称为路由器而称为“0penFlow交换机”或“分组交换机”,或更简单地称为“交换机”
相应的,在SDN中取代传统路由器中转发表的是“流表(Flow Table)

每个OpenFlow交换机必须有一个或多个流表。
每一个流表可以包含多个流表项
每个流表项包含三个字段:首部字段值(或称匹配字段)、计数器、动作
1、首部字段值字段包含有一组字段,用来使入分组(IncomingPacket)的对应首部与之匹配,因此又称为匹配字段。匹配不上的分组就被丢弃,或被发送到SDN远程控制器做更多的处理。
2、计数器字段是一组计数器:
①记录已经与该流表项匹配的分组数量的计数器;
②记录该流表项上次更新到现在经历时间的计数器
3、动作字段是一组动作,当分组匹配某个流表项时,执行该流表项中动作字段指明的以下某个或多个动作:
①把分组转发到指明的端口
②丢弃分组
③把分组进行复制后再从多个端口转发出去
④重写分组的首部字段(包括数据链路层、网际层以及运输层的首部)

SDN体系结构及其四个关键特征
1、基于流的转发
2、数据层面与控制层面分离
3、位于数据层面分组交换机之外的网络控制功能
4、可编程的网络

IP组播 

IP组播基础概念

IP数据报三种传输方式

1、单播
单播用于发送数据包到单个目的地,且每发送一份单播报文都使用一个单播IP地址作为目的地址。是一种点对点传输方式。

2、广播
广播是指发送数据包到同一广播域或子网内的所有设备的一种数据传输方式,是一种点对多点传输方式。

3、组播
当网络中的某些用户需要特定数据时,组播数据发送者仅发送一次数据,借助组播路由协议为组播数据包建立组播分发树,被传递的数据到达距离用户端尽可能近的节点后才开始复制和分发,是一0种点对多点传输方式。

组播提高了数据传送效率。减少了主干网出现拥塞的可能性。组播组中的主机可以是在同一个物理网络,也可以来自不同的物理网络(如果有组播路由器的支持)。(运行组播协议的路由器

IP组播地址

IP组播地址让源设备能够将分组发送给一组设备。属于多播组的设备将被分配一个组播组IP地址(一群共同需求主机的相同标识)。
组播地址范围为224.0.0.0-239.255.255.255(D类地址)个D类地址表示个组播组。只能用作分组的目标地址。源地址总是为单播地址。
1.组播数据报也是“尽最大努力交付”,不提供可靠交付,应用于UDP
(因为TCP是连接的只能一对一)

2.对组播数据报不产生ICMP差错报文。
3.并非所有D类地址都可以作为组播地址
tips:每个多播组的成员是可以随时变动的,一台主机可以随时加入或离开多播组。
多播组成员的数量和所在的地理位置也不受限制,一台主机可以属于几个多播组

硬件组播(本局域网)

1、由于MAC地址(也称为硬件地址)有多播MAC地址这种类型,因此只要把IPv4多播地址映射成多播MAC地址,即可将IP多播数据报封装在局域网的MAC帧中,而MAC帧首部中的目的MAC地址字段的值,就设置为由IPv4多播地址映射成的多播MAC地址。这样,可以很方便地利用硬件多播来实现局域网内的IP多播。
2、当给某个多播组的成员主机配置其所属多播组的IP多播地址时,系统就会根据映射规则从该IP多播地址生成相应的局域网多播MAC地址。
组播MAC地址以十六进制值01-00-5E打头,余下的6个十六进制位是根据IP组播组地址的最后23位转换得到的。
TCP/IP协议使用的以太网多播地址的范围是:
从01-00-5E-00-00-00到01-00-5E-7F-FF-FF

由于IP多播地址可变化的28比特的前5个比特无法映射到MAC多播地址,这会造成IP多播地址与多播MAC地址的映射关系并不是唯一的。


收到多播数据报的主机,还要在IP层利用软件进行过滤(MAC帧中的封装IP地址),把不是本主机要接收的数据报丢弃。

IGMP协议与组播路由选择协议

要在因特网上进行IP多播,就必须要考虑IP多播数据报经过多个多播路由器进行转发的问题
多播路由器必须根据IP多播数据报首部中的IP多播地址,将其转发到有该多播组成员的局域网

IGMP协议

IGMP协议让路由器知道本局域网上是否有主机(的进程)参加或退出了某个组播组。

IGMP使用IP数据报传递信报文
1、成员报告报文        2、成员查询报文        3、离开组报文

IGMP工作两个阶段
1、某主机要加入组播组时,该主机向组播组的组播地址发送一个IGMP报文,声明自己要称为该组的成员。本地组播路由器收到IGMP报文后,要利用组播路由选择协议把这组成员关系发给因特网上的其他组播路由器。
2、本地组播路由器周期性探询本地局域网上的主机,以便知道这些主机是否还是组播组的成员。只要有一个主机对某个组响应,那么组播路由器就认为这个组是活跃的。
如果经过几次探询后没有一个主机响应,组播路由器就认为本网络上的没有此组播组的主机,因此就不再把这组的成员关系发给其他的组播路由器

tips:
1、同一网络中的多播路由器可能不止一个,但没有必要每个多播路由器都周期性地发送IGMP成员查询报文。
2、只要在这些多播路由器中选择一个作为查询路由器由查询路由器发送IGMP成员查询报文,而其他的多播路由器仅被动接收响应并更新自己的多播组列表即可。
3、选择查询路由器的方法:
        ①每个多播路由器若监听到源IP地址比自己的IP地址小的IGMP成员查询报文则退出选举
        ②最后,网络中只有IP地址最小的多播路由器成为查询路由器

组播路由选择协议

仅使用IGMP并不能在因特网上进行IP多播。连接在局域网上的多播路由器还必须和因特网上的其他多播路由器协同工作,以便把IP多播数据报用最小的代价传送给所有的多播组成员,这就需要使用多播路由选择协议

组播路由协议目的是找出以源主机为根节点的组播转发树。
构造树可以避免在路由器之间兜圈子。
对不同的多播组对应于不同的多播转发树;同一个多播组,对不同的源点也会有不同的多播转发树

多播路由选择协议的主要任务是:在多播路由器之间为每个多播组建立一个多播转发树。
1、多播转发树连接多播源和所有拥有该多播组成员的路由器。
2、IP多播数据报只要沿着多播转发树进行洪泛,就能被传送到所有拥有该多播组成员的多播路由器。
3、之后,在多播路由器所直连的局域网内,多播路由器通过硬件多播,将IP多播数据报发送给该多播组的所有成员。 

常用三种算法 (选择题可以选出来就行)
基于链路状态的路由选择

基于距离-向量的路由选择

协议无关的组播(稀疏/密集)
1、稀疏(主机离得比较远)
2、密集(主机都在同一个网络段中)

移动IP

相关概念

移动IP技术是移动结点(计算机/服务器等)以固定的网络IP地址,实现跨越不同网段的漫游功能,并保证了基于网络IP的网络权限在漫游过程中不发生任何改变。
1、移动结点 具有永久IP地址的移动设备
2、归属代理(本地代理) 一个移动结点的永久“居所”称为归属网络,在归属网络中代表移动节点执行移动管理功能的实体叫做归属代理。
3、永久地址(归属地址/主地址) 移动站点在归属网络中的原始地址。
4、外部代理(外地代理) 在外部网络中帮助移动节点完成移动管理功能的实体称为外部代理。
5、转交地址(辅地址) 可以是外部代理的地址或动态配置的一个地址。

 “爷爷”到了盘丝洞之后,把盘丝洞id告诉村子,然后“葫芦娃”可以通过转交地址发消息

移动IP通信过程

A刚进入外部网络:
1.获得外部代理的转交地址(外部代理广播报文)。
2.移动节点通过外部代理发送注册报文给归属代理(包含永久地址&转交地址)
3.归属代理接收请求,并将移动节点的永久地址和转交地址绑定(以后到达该归属代理的数据报且要发往移动节点的数据报将被封装并以隧道方式发给转交地址),并返回一注册响应报文。
4.外部代理接收注册响应,并转发给移动节点。

A移动到了下一个网络:
1.在新外部代理登记注册一个转交地址。
2.新外部代理给本地代理发送新的转交地址了覆盖旧的)
3.通信

A回到了归属网络:
1.A向本地代理注销转交地址。
2.按原始方式通信。

网络层设备 

路由器是一种具有多个输入端口和多个输出端口的专用计算机,其任务是转发分组。

路由选择
根据所选定的路由选择协议构造出路由表,同时经常或定期地和相邻路由器交换路由信息而不断地更新和维护路由表

分组转发
交换结构:根据转发表(路由表得来)对分组进行转发

转发VS路由选择
若收到RIP/OSPF分组等,则把分组送往路由选择处理机;
若收到数据分组,则查找转发表并输出。

输入端口对分组的处理

若收到RIP/OSPF分组等,则把分组送往路由选择处理机;
若收到数据分组,则查找转发表并输出。

数据分组在排队时候产生时延

输出端口对交换结构的分组处理

若路由器处理分组的速率赶不上分组进入队列的速率,则队列的存储空间最终必定减少到零,这就使后面再进入队列的分组由于没有存储空间而只能被丢弃。
路由器中的输入或输出队列产生溢出是造成分组丢失的重要原因。

三层设备的区别

路由器 可以互联两个不同网络层协议的网段
网桥 可以互联两个物理层和链路层不同的网段,
集线器 不能互联两个物理层不同的网段。

路由表和路由转发

路由表

根据路由选择算法得出的,主要用途是路由选择,总用软件来实现

默认路由:当分组不知道从哪里发出去,不知道下一跳,就发给默认路由。通常是局域网中某一个路由器,他看看自己的装发表,转交给别的路由器,再看看别的路由可不可以转发出去

转发表
转发表由路由表得来,可以用软件实现,也可以用特殊的硬件来实现。转发表必须包含完成转发功能所必需的信息,在转发表的每一行必须包含从要到达的目的网络到输出端口和某些MAC地址信息的映射。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值