第四章 网络层

4.1 概述

4.1.1 转发和路由选择

1.转发。当一个分组到达路由器的一条输入链路时,路由器必须将该分组移动到适当的输出链路。

2.路由选择。当分组从发送方流向接收方时,网络层必须决定这些分组所采用的路由或路径。

3.每台路由器都有一张转发表,链路层交换机基于链路层字段中的值做转发决定,路由器则是基于网络层的字段

4.连接建立

4.1.2 网络服务模型

1.确保交付

2.具有延时上界的确保交付

3.对于分组流:(1)有序分组交付(2)确保最小带宽(3)确保最大时延抖动(4)安全性服务

4.因特网提供的是尽力而为服务(best-effort service)

5.两个重要的ATM服务模型:(1)恒定比特率ATM网络服务CBR(2)可用比特率ATM网络服务ABR

4.2 虚电路和数据包网络

1.仅在网络层提供连接服务的计算机网络称为虚电路VC网络;仅在网络层提供无连接服务的计算机网络称为数据报网络。

4.2.1 虚电路网络

1.每个数据报都带有VC标识


第四章 网络层_第1张图片
一个简单的虚电路网络

2.网络的路由器必须为进行中的连接维持连接状态信息

3.虚电路中有3个明显的不同阶段:(1)虚电路建立(2)数据传送(3)虚电路拆除

4.相比与运输层的连接(只有两个端系统知情,路由器完全不知道),虚电路的连接,沿两个端系统之间路径上的路由器都要参与虚电路的建立,且每台路由器都完全知道经过它的所有虚电路。

5.信令报文/信令协议

4.2.2 数据报网络

1.路由器用目的地址的前缀与转发表中的表项进行匹配

2.转发表能够在任何时刻被修改

4.2.3 虚电路和数据报网络的由来

1.因特网服务模型使服务保证最少

4.3 路由器工作原理

1.路由器的四个组成部分:(1)输入端口,物理接口(2)交换结构(3)输出端口(4)路由选择处理器


第四章 网络层_第2张图片
路由器体系结构

4.3.1 输入端口


第四章 网络层_第3张图片
输入端口处理

4.3.2 交换结构

1.经内存交换,吞吐量小于B/2,B为内存单位时间读写分组数

2.经总线交换,吞吐量为1

3.经互联网络交换,如纵横交换,克服总线带宽限制

4.3.3 输出端口


第四章 网络层_第4张图片
输出端口处理

4.3.4 何时出现排队

输出端口排队

1.输出端口排队,需要的缓存空间为,C为链路容量,N为TCP流。

2.输出端口排队就需要分组调度程序,用于挑选一个来发送,提供了服务质量保证。

3.缓存填满前就丢弃一个分组,以便向发送方提供一个拥塞信号。主动队列管理

输入端口排队

1.线路前部阻塞,即本身是可以发送的,但前一个阻塞了。

4.3.5 路由选择控制平面

1.网络范围的路由选择控制平面因此是分布式的

4.4 网际协议:因特网中的转发和编址


第四章 网络层_第5张图片
因特网网络层的内部视图

1.路由选择协议2.IP协议3.ICMP协议

4.4.1 数据报格式


第四章 网络层_第6张图片
IPv4数据报格式

1.首部检验和只检验首部,而TCP/UDP检验和是对整个报文段进行的。

IP数据报分片

1.一个链路层帧能承载的最大数据量叫做最大传送单元MTU。

2.标识、标志和片偏移字段。最后一个片的标志比特被设为0,其他的标志比特被设为1


第四章 网络层_第7张图片
IP分片的例子

4.4.2 IPv4编址

1.点分十进制法

2.子网,如223.1.1.0/24,/24称为子网掩码

3.因特网的地址分配策略被称为无类别域间路由选择CIDR,对于子网可以写作a,b,c,d/x

4.分类编址,A类(/8)、B类(/16)、C类(/24)

5.广播地址,全为1

获取一块地址

获取主机地址:动态主机配置协议

ICANN

1.动态主机配置协议DHCP,即插即用协议。每个子网都有DHCP服务器。DHCP可以返回子网掩码、第一跳路由地址(默认网关)以及本地DNS服务器地址

2.DHCP客户-服务器交互四个步骤:(1)DHCP服务器发现,目的IP为广播,封装在UDP里(2)DHCP服务器提供,目的IP为广播,返回给用户推荐的地址、网络掩码以及IP地址租用期(3)DHCP请求(4)DHCP ACK

网络地址转换NAT


第四章 网络层_第8张图片
网络地址转换

1.NAT转换表,端口号和IP地址转换

2.NAT是有争议的。如修改端口号,路由器应当处理第三层分组,NAT违反了端到端原则,可以直接用IPv6

3.存在NAT之外的客户端要访问NAT之内的服务器存在问题。

UPnP通用即插即用

为某些请求的公共端口号请求一个NAT映射,位于(专用IP地址,专用端口号)和(公共IP地址,公共端口号)之间

也可以使用外部服务器中继的方式解决


第四章 网络层_第9张图片
relaying

4.4.3 因特网控制报文协议ICMP

1.ICMP最典型的用途是差错报告。被主机和路由器用来彼此沟通网络层的信息。ICMP报文是承载在IP分组中的

2.Traceroute程序是由ICMP报文实现的。

3.源主机将一系列普通IP数据报发送到目的地,每个都携带了一个不可达的UDP端口号和UDP报文段,并设置第一个数据报的TTL为1,第二个为2...;当第n个数据报到达第n个路由器时,则返回第n台路由器的名字与IP地址.目的主机向源地主发送一个不可达的ICMP报文来结束发送UDP报文

4.4.4 IPv6

1.IPv6数据报格式


第四章 网络层_第10张图片
IPv6数据报格式

流标签:给属于特殊流的分组加上标签

跳限制:每经过一个路由器跳限制减1

2.从IPv4到IPv6的迁移

1.双栈dual-stack,会发生IPv4到IPv6转换过程中信息的丢失

2.建隧道tunneling(一种双栈方法)可以解决,将IPv6数据报封装进IPv4的数据中,等到接收端的IPv6接收到之后再从数据中取出来


第四章 网络层_第11张图片
tunneling


第四章 网络层_第12张图片
tunneling

4.5 路由选择算法

1.全局式路由选择算法,常被称作链路状态算法LS/分散式路由选择算法,距离向量算法DV

2.也可以分为静态路由算法和动态路由算法

3.分为负载敏感和负载迟钝

4.5.1 链路状态路由选择算法

1.网络拓扑和所有链路费用都是已知的。

2.Dijkstra算法和prim算法

3.Dijkstra算法时迭代算法,经过k次迭代,可知到k个结点的最低费用路径。

    D(v):到算法的本次迭代,从源结点到目的结点v的最低费用路径的费用

    p(v):从源到v沿着当前最低费用路径的前一结点

    N‘:结点子集;如果从源到v的最低费用路径已经确定,则v在N'中

复杂度为,但可以优化到,有可能发生振荡(如果费用等于承载的负荷)

4.5.2 距离向量路由选择算法

1.每个结点都要从一个或多个直接相连邻居接收某些信息,执行结算,然后将其结果分发给邻居。

2.DV算法是一个迭代的、异步的和分布式的算法

3.

4.如果x的距离向量更新了就向每个邻居发送其更新后的距离向量。

DV算法:链路费用改变与链路故障

当其中一个路径变大时可能要迭代很多次才能全部更新一致(先更新在发送消息)

DV算法:增加毒性逆转

如果z通过y到达x,则z将告诉y,它到x的距离是无穷大

LS算法与DV算法的比较

1.报文复杂性。LS算法要求发送O(NE)个报文,DV算法只要给邻居发送

2.收敛速度。LS算法O(N^2),DV算法很慢,还会遇到无穷计数问题

3.健壮性。LS算法是分离的,DV算法会将不正确的结点计算值扩散到整个网络。

4.5.3 层次路由选择

1.自治系统AS。在相同的AS中的路由器全部运行相同的路由算法,且拥有彼此的信息

2.连接不同的AS的路由器叫网关路由器。

3.当一个AS连有多个AS时,该AS需要知道多个AS的目的地并把信息告诉该AS中的每个路由器。

4.如果多个网关都可达则选择费用最小的(热土豆法)


第四章 网络层_第13张图片
在路由器的转发表中增加一个AS之外目的地的步骤

4.6 因特网中的路由选择

4.6.1 因特网中自治系统内部的路由选择:RIP

1.内部网关协议

2.路由选择信息协议RIP和开放最短路优先OSPF

3.在RIP中,路由选择更新信息在邻居之间通过使用一种RIP响应报文来交换

4.路由选择表


第四章 网络层_第14张图片
路由选择表

5.每隔30s,路由器会根据收到的通告更新转发表

6.如果过了180s没有收到邻居的报文,则可以认为该邻居将不再是可达的了。此时该路由器修改转发表并告知可达的邻居。也可以通过RIP请求报文,请求其邻居到指定目的地的费用(在UDP上使用端口520互相发送RIP报文)。

7.RIP在UNIX中是被当作应用层进程来实现的。


第四章 网络层_第15张图片
作为routed守护程序的RIP实现

4.6.2 因特网中自治系统内部的路由选择:OSPF

1.OSPF的核心就是一个使用洪泛链路状态信息的链路状态协议和一个Dijkstra最低费用路径算法。

2.OSPF的优点:(1)安全(2)多条相同费用的路径(3)对单播或多播路由选择的综合支持(4)支持在单个路由选择域内的层次结构


第四章 网络层_第16张图片
OSPF的层次

4.6.3 自治系统间的路由选择:BGP

边界网关协议

1.BGP为每个AS提供一下工作的手段:(1)从相邻AS处获得子网可达性信息。(2)向本AS内部的所有路由器传播这些可达性信息(3)基于可达性信息和AS策略,决定到达子网的路由

BGP基础

1.半永久TCP连接来交换路由选择信息,对于每条连接的两台路由器称为BGP对等方,整个连接称为BGP会话,包括外部会话和内部会话

2.在BGP中目的地不是主机而是CIDR化的前缀

3.当一台路由器得知一个新前缀时,它为该前缀在其转发表中创建一个项

路径属性和BGP路由

1.一个自治系统由全局唯一的自治系统号所标识

2.当一台路由器通过BGP会话通告一个前缀时,它在前缀中包括一些BGP属性。带有属性的前缀称为一条路由。两个较为重要的属性是AS-PATH(前缀通告已经通过的AS)和NEXT-HOP

3.当一台网关路由器接收到一台路由通告时,它使用其输入策略来决定是否接收或过滤该路由,是否设置某种属性

BGP路由选择

1.BGP顺序调用下列消除规则,直到留下一条路由。

    (1)路由被指派一个本地偏好值作为它们的属性之一

    (2)在余下的路由中,具有最短AS-PATH的路由将被选择

    (3)选择具有最靠近NEXT-HOP路由器的路由

    (4)使用BGP标识符来选择路由

BGP Message

(1)OPEN(2)UPDATE(3)KEEPLIVE(4)NOTIFICATION

路由选择策略


第四章 网络层_第17张图片
简单BGP

X不会告诉B,X能经过C到达Y,因此B也不会经过X转发目的地为C或Y的流量

对于提供商网络,比如B知道A能到W,B就会告诉X经过BA能到W,但B不会告诉C,A能到W,防止X走CA到W

你可能感兴趣的:(第四章 网络层)