计算机网络_04_网络层

网络层概述

网络层的主要任务是实现异构网络互连,进而实现数据包在各网络之间的传输;
网络层概述.jpg

网络层提供的两种服务

面向连接的虚电路服务

虚电路服务.jpg

无连接的数据报服务

数据报服务.jpg

  • 总结

虚电路和数据报总结】.jpg

IPv4地址

  • 概述

IPv4基本概述.jpg

  • 点分十进制 表示 32比特IPv4地址

将32比特的4个字节用4个十进制数表示;

  1. 二进制转换为十进制:
  • 根据每位二进制所对应的十进制权值相乘,得到最终的十进制表示;
  • 当1的个数较少时,把每位权值相加;当1的个数很多时,从255开始减去比特为0的权值;
  1. 十进制转换为二进制:
  • 记住八位二进制所对应的十进制权值,使用凑值法;

分类编址的IPv4地址

分类编制总结.jpg

  1. A类地址

第一个字节小于127的为A类地址;
A类地址.jpg

  1. B类地址

第一个字节为[128,191]的为B类地址;
B类地址.jpg

  1. C类地址

第一个字节为[192,223]为C类地址;
C类地址.jpg

  1. 习题

ipv4习题1.jpg
一般不使用的特殊地址:

  • 主机号为0网络地址,主机号全1广播地址不能作为主机的IP地址,因为这不能唯一标识一台主机;
  • 广播地址只能作为目的地址,发送方只有一个,源地址不可能广播;
  • 网络号全0,只能在分组源地址中使用,缺省的表示本网络上的某台主机,不可缺省的表示目的地址;
  • 网络号和主机号全为1的IP地址,为受限的广播地址,因为路由器会隔离广播域,因此全1的广播地址只能在本网络上广播;

IPv4习题2.jpg
不同网络的网络号不能相同,即使是同一类分类编址;
ipv4习题.jpg

划分子网的IPv4地址

对原本的网络号进一步划分子网,从主机号中借一部分过来当作子网号(逻辑子网 ),把二级IP地址变成三级IP地址;

  1. 如何让计算机知道主机号中子网是有几位?-> 子网掩码
  2. 从主机中借走了n个比特,就有2^n个子网;
  3. 若网路未划分子网,则根据网络分类使用默认子网掩码;

划分子网.jpg

无分类编址的IPv4地址CIDR

与传统IP地址相比,CIDR并没有固定的网络前缀位数,可以任意选取

  1. CIDR地址块:将网络前缀相同的连续IP地址组成“CIDR地址块”,用一个CIDR地址块可以表示多个地址,因此也成为路由聚合;
  2. 最长前缀匹配(最佳匹配):有多个路由可选时,选择网络前缀最长的地址,因为其地址块最小,路由更具体;

无分类编址总结.jpg

  • 无分类编址示例

无分类编址.jpg

  • 路由聚合示例

通过取多个网络地址的最短公共前缀,将相同接口的多个路由地址表示成一个超网;
路由聚合.jpg

定长子网掩码和变长子网掩码

定长和变长掩码总结.jpg

  1. 定长子网掩码

定长子网掩码1.jpg
定长子网掩码2.jpg

  1. 变长子网掩码

变长子网掩码.jpg
变长子网掩码2.jpg
变长子网掩码3.jpg

IP数据报的发送和转发过程

  • 默认网关:当主机要给其它网络的主机发送信息时(间接交付),会将IP数据报发送给默认的路由器,该路由器的IP地址就称为默认网关;

(通过设置默认网关,让主机需要在间接交付时,知道该找哪个路由器转发)

  • 如何判断主机是否同属于一个网络:通过IP地址与子网掩码相与结果是否相等而判断;

IP数据报发送和转发的过程总结.jpg

  • 路由器转发IP数据报时的路由表

间接交付过程.jpg

  • 路由器隔离广播域

全1地址代表在当前网路进行广播 ,是受限的广播地址;
路由器隔离广播域.jpg

  • 习题

IP数据报发送习题.jpg

静态路由配置

人工配置路由表中的表项

默认路由

在路由表中某一类下一跳接口相同的网络,全部归结到默认路由中,默认路由没有具体网络地址,用0.0.0.0/0表示,全0掩码与任何目的地址按位与结果都是全0,即0.0.0.0/0可以与任何目的地址匹配,其路由类型为静态,需要人工配置;

特定主机

单独给某一个主机配置一个路由表项,便于网络管理人员对网络的管理和测试;
特定主机的路由表项中目的网络直接填主机的IP地址,无分类编址填/32(这样即使当有多条路由可选时,特定主机路由的网络前缀也是最长的 )

路由环路问题

静态路由配置导致的环路

**问题描述:**静态路由的下一跳配置错误,导致路由器之间形成路由环路;
**解决方法:**在IP数据报首部中设置生存时间TTL字段,每当IP数据报转发一次TTL就减一,当TTL为空时,就将其丢弃;
静态路由配置错误.jpg

路由聚合导致的环路

**问题描述:**路由聚合中的某些网络可能实际并不存在,但因为路由聚合的原因,就算使用了这些并不存在的网络IP地址,路由器也会照样按照超网进行转发;
当转发出去给另一个路由器时,对方肯定是没有对应的表项的,只能从默认路由转发出去,这时就可能又回到原本的路由器,构成了路由环路;
聚合网络错误.jpg
**解决方法:**在路由表中给路由聚合中没有意义的IP地址,单独设置黑洞路由;黑洞路由的下一跳为虚拟接口null0,路由器收到该IP数据报直接丢弃;
黑洞路由.jpg

网络故障导致的路由

**问题描述:**若某个网络故障,而路由器检测到该网络故障,就会在路由器中自动删除该直连网络的路由条目;若有其它路由还想要发送数据到该网络,则会可能导致路由环路(发生网路故障的路由的默认路由为发送数据的路由器时)
网络故障环路.jpg
**解决方法:**当路由器自动删除原本的路由条目后,继续添加直连网络设置为黑洞路由;
若后续故障网络被修复,则将原本的黑洞网络失效,使用新的路由表项;
黑洞路由解决网络故障.jpg

动态路由算法

动态路由算法:可以通过相互连接的路由器之间彼此交换信息,利用这些信息计算出相应的动态路由;
自治系统(AS,Autonomous System):单一技术管理下的一组路由器,这些路由器使用同一种内部路由选择协议和共同的度量来确认分组在自治系统内的路由;
分层次:

  • 自治系统内部使用域内路由选择,内部网关协议IGP
  • 自治系统之间使用域间路由选择,外部网关协议EGP

路由器基本结构:
有路由表和转发表之分,平时为了方便表述没有严格区分;
路由器基本结构.jpg

路由信息协议RIP

路由信息协议RIP(Routing Information Protocol)是内部网关协议;
路由信息的转发基于距离向量;
RIP总结.jpg

  • RIP中距离16表示不可达,到达16之后跳数就不用再增加,因为已经是不可达了;

rip1.jpg

  • 当到达同一目的网络,有多条距离相等的路由时,可以进行等价负载均衡,将通信量均衡分布到多条等价路由上;

rip2.jpg

RIP工作基本原理

rip工作1.jpg

  • 相邻路由改造

相邻路由器发来其自身的路由表时,首先将其内容进行改造,将其所有路由距离加1,并把所有下一跳都改为相邻路由器自己;(在路由器C可到达的基础上,路由器D只需要经过路由器C,也可到达相应网络,所以距离都加1,下一跳改为了路由C)
rip改造.jpg

  • 自身路由更新

在改造后的C路由表基础上,对D路由表进行更新,将两个路由表按目的网络进行比较;

  1. 新的目的网络直接添加;
  2. 相同目的网络:
    1. 相同下一跳,更新跳数(代表更新的信息,即使更新后的跳数更大);
    2. 不同下一跳:
      1. 若新路由跳数更小,则更新原路由跳数(新路由优势更大);
      2. 若新路由跳数相同,则添加新路由(相同跳数可进行等价负载均衡);
      3. 若新路由跳数更大,则不更新原路由表项(新路由劣势)

rip更新.jpg

RIP“坏消息传播得慢”的问题

当路由器直连网络故障后,相连路由器会将其跳数设置为不可达16,但是相邻路由器中的故障网络路由信息却依旧是没故障之前的版本;
(假设R2的路由信息比R1的路由信息早达到时的情况):
通过相邻路由信息交换,R1会以为可以通过R2与故障网络N1交流,R2又以为可以通过R1和故障网络N2交流,双方进行数次路由环路,各自都把跳数加到了16,才能够同时意识到N1不可达;
这就是为什么错误信息传得慢的原因,因为故障信息更新不及时,需要多次收敛后才能让整个自治系统知道N1不可达;
rip坏消息传的慢.jpg

  • 习题

R3只向R2通告不可达,但没有向R1通告不可达,R1依旧会认为故障网络可达;
因为这是RIP协议,所以相邻路由器之间会交换并更新路由信息;所以R2的更新,是在和R1、R3进行交换路由的基础上进行更新的;
即使R3使得R2中的目的网络不可达后,但是之后R1又会告诉R2目的网络可达;
rip坏消息习题0.jpg
rip坏消息习题1.jpg

开放最短路径优先OSPF

每个结点通过广播与所有其他结点交谈,但是仅告诉它自己的直连结点的信息;而RIP中每个路由器结点,仅与它的直接邻居交谈,发送的是自己到网络上所有其它结点的代价;
每个路由器都有自己的数据库,其存储了整个自治系统的网络拓扑结构,每个结点都具有完全相同的网络拓扑信息,通过网络拓扑结构可以得出网络的带权有向图,然后再使用DijKstra最短路径算法SPF,计算得出到达其它各路由器的最短路径;
OSPF总结.jpg

  • 专用术语:

**链路状态通告LSA(Link State Advertisement):**包含每个路由器的直连网络和邻居路由器的链路状态信息;
**链路状态更新分组LSU(Link State Update):**LSA被封装在了路由器的链路状态更新分组LSU中,采用洪泛法发送给自治系统中的其它路由器;
**链路状态数据库LSDB(Link State DataBase):**每个路由都一个链路状态数据库LSDB,用于存储网络中各个路由器的链路状态信息,也就是说每个路由器通过数据库存储着整个网络的网络拓扑结构。
LSUD.jpg

OSPF的五种分组类型

ospf的五种分组.jpg

  • 问候分组(Hello)

osfp问候分组.jpg

OSPF的工作原理

  1. 在发送问候分组,路由之间建立邻居关系后;
  2. 路由器各自发送自身的数据库描述分组,告知网络中的其它路由器自己的链路状态信息;
  3. 通过其它数据库描述分组,路由器可能发现自己缺少了某些链路状态信息;路由器之间可以通过链路状态更新请求分组请求各自缺少的链路状态信息,最终使得各自之间的链路状态数据库达到同步;
  4. 相应路由器收到链路状态更新请求分组后,会发送对应链路状态更新分组,将所请求的链路状态信息,封装在链路状态更新分组中;
  5. 请求的路由器收到请求的链路状态信息后,会发回相应的链路状态确认分组
  6. 每间隔30分钟,或者链路状态发生变化,路由器会通过洪泛法发送链路状态更新更新分组;

ospf的基本工作原理.jpg

OSPF在多点接入网络中的路由邻居关系管理

当在总线型网络(多点接入网络)中使用OSPF协议,这次一个路由器的邻居路由器将会是网络上除它自身外的所有路由器,那么每次进行洪泛法的网络通信量就很大,因此提出指定路由器DR/BDR的方法;
指定路由器DR(designated router)和备用的指定路由器BDR(backup designated router):

  • 非DR/BDR之间的交流只能通过DR/BDR进行,且只能和其建立邻居关系;
  • DR/BDR的选举,通过一定规则选举产生;

ospf邻居关系的建立.jpg

自治系统的区域划分

在OSPF算法中,还可以进一步把自治系统划分为若干区域;路由器只知道所属区域的内部细节,但不知道其它区域的内部结构(因此需要边界路由器进行区域交互)
通过划分区域,从而把路由器进行洪泛法的交换信息范围局限在每一个区域内,减少整个自治系统的通信量,使得OSPF可以适用于大规模的自治系统
每个区域有个32位区域标识符,主干区域必须为0;其它区域标识符不为0且互不相同;
名词解释:

  1. 主干路由器BBR(backbone router):存在于主干区域内部的路由器;
  2. 区域内路由器IR(internal router):路由器的全部接口在区域内部;
  3. 区域边界路由器ABR(area border router):用于连接主干区域和自身所在区域,ABR也能够算是主干路由器;
  4. 自治系统边界路由ASBR(AS border router):主干区域内有一个边界路由器用于连接其它自治系统,称为自治系统边界路由器

ospf的区域划分.jpg

边界网关协议BGP

由于不同自治系统内部的度量路由的代价不相同,自治系统之间没有统一的度量代价,寻找自治系统之间的最佳路由是没有意义;因此BGP协议寻找的是能够达到目的网络且比较好的路由,并不是自治系统之间的最佳路由;
bg总结.jpg

BGP发言人

BGP发言人和邻站的信息交流使用TCP连接;
BGP发言人.jpg
bgp习题.jpg

BGP使用多级因特网结构

BGP多级结构的因特网.jpg

IPv4数据报的首部格式

IPv4数据报的首部格式需要熟记(重要字段的长度和含义)
IP数据报总结.jpg

长度相关字段:

首部长度:占4比特,表示IP数据报的首部长度,以4字节为单位(省略了尾部两个0);
最小值是20B(二进制0101/十进制5),最大值是60B(二进制1111/十进制15)
ipv4首部长度.jpg
总长度:占16比特,表示IP数据报的总长度(首部+数据载荷),以字节为单位
最大长度为2^16-1=65535B,而以太网帧的数据载荷部分MTU为1500B,因此当IP数据报封装成帧时,需要注意是否需要分片;
片偏移:占13比特,表示分片后的数据载荷在原数据载荷中的相对位置,以8字节为单位(省略3位比特);
片偏移一定要是8的整数倍,同时除最后一个分片外,每个分片的长度一定都是8的整数倍;

首部长度、总长度和片偏移三者的单位长度各不相同,做题时需要额外注意;

IP数据报的分片

数据链路中对帧的数据载荷进行了相应的限制:最大传输单元MTU;而IP数据报就是被封装在帧的数据载荷中,因此IP数据报的总长度不能超过MTU,超过就需要进行分片并在首部添加相关控制信息(将数据载荷分片后各自加上首部,整体长度不能大于MTU);
IP数据报分片.jpg
标识、标志、片偏移用于服务IP数据报的分片;

  1. 标识:占16比特,同一个IP数据报的标识都相同,用以标识分片所属数据报;
  2. 标志:共有3比特,第一个比特为0无含义,只有后两位比特MF、DF有意义;
    1. DF位:表示是否允许分片,一般允许分片的话,整个数据报分片后的DF都为1;
    2. MF位:表示是否后面是否还有分片,看该分片后面是否还存在相同标识的数据报;

IP数据报的分片.jpg

  • IPv4数据报分片习题

数据报分片是对数据载荷进行分片;
MTU同时对首部长度和数据载荷长度(总长度)进行约束,分片的时候也要考虑首部长度;
初步分片完之后,需要看片偏移量是否为8的整数倍,若不是则需要进行一定的调整(将原本的片偏移量除8下取整,然后再乘8);除最后一个分片外,所有帧的数据载荷都必须是8的整数倍;
数据报分片习题1.jpg数据报分片习题2.jpg

协议字段

IP数据报协议字段.jpg

首部校验和字段

IP数据报首部校验和.jpg

  • IPv4数据报习题

ipv数据报习题.jpg

网际控制报文协议ICMP

为了更有效地转发IP数据报和提高交付成功机会,在网际层使用ICMP;
主机或路由器会利用ICMP来发送差错报告报文和询问报文;
注意四种不应发送ICMP差错报告报文的情况;
icmp总结.jpg

ICMP差错报告报文

用于目标主机目标主机路径上的路由器向源主机报告差错和异常情况;

  1. 终点不可达

终点不可达.jpg

  1. 源点抑制

源点抑制.jpg

  1. 时间超过

两种情况:TTL为0;目的主机没能按时收到所有分片数据报
时间超过.jpg
时间超过2.jpg

  1. 参数问题

IP数据报首部中的校验字段出错;
参数问题.jpg

  1. 改变路由(重定向)

改变路由.jpg

ICMP询问报文

  1. 回送请求和回答
  2. 时间戳请求和回答

icmp询问报文.jpg

ICMP应用

  1. PING

使用了ICMP的回送请求和回答报文,PING工作在应用层;
ping.jpg

  1. 跟踪路由

通过发送递增TTL的ICMP回送请求报文,测试出从源主机到目的主机要经过哪些路由器;使用了ICMP差错报告报文(时间超过类型)和ICMP询问报文(回送请求和回答报文);Traceroute工作在网络层;
跟踪路由 - 副本.jpg

  • 图示

路由1 - 副本.jpg
路由2 - 副本.jpg
目的路由 - 副本.jpg

虚拟专用网VPN和网络转接地址NAT

VPN和NAT总结.jpg

虚拟专用网VPN

因为从逻辑上来看两个私有网络之间好像建立起了一条点对点链路,因此虚拟专用网VPN也称为IP隧道技术 ;
内部的IP数据报会经过利用相应的加密算法,封装在外部的IP数据报中发送给目的私有网络,目的私有网络会利用相应解密算法,取出内部真正的信息(因此也成为隧道技术,把外部的IP数据报看成隧道,用于承载内部IP数据报)
虚拟专用网BVPN.jpg

网络地址转换NAT

由于公有地址数据量有限、不可重复利用,因此将IP地址中部分地址划分为私有地址应用于本地网络,可重复利用,有效解决了IP地址不足的问题,私有地址也称为可重用地址
私有地址不能直接用于因特网,必须通过网关利用NAT把私有地址转换为共有地址;
在专用网和因特网相连之处会有一台装有NAT软件的路由器,其至少有一个全球IP地址;NAT路由器会把内网发送或接收的IP数据报中修改私有地址变成全球地址;(NAT看得到端口号,因此NAT工作在运输层)
NAT转换表.jpg

  • 私有网络与因特网通信

内网发送外网.jpg

  • 因特网对私有网络的回应

外网发送内网.jpg

  • 外网主机不能首先对私有网络发起通信

在因特网中的所有路由器,对目的地址是私有地址的数据报一律不转发;
NAT中外网主机不能首先发起通信.jpg

IPv6

从根本上解决IP地址的耗尽问题,把32位(4字节)的IP地址增大到128位(16字节)的IP地址;
IPv6引进的主要变化和.jpg

IPv6数据报的格式

IPv6数据报由基本首部和扩展首部组成,基本首部固定40字节

  1. 基本首部

ipv6扩展首部.jpg
对比.jpg
ipv基本首部.jpg
下一个首部.jpg
ipv跳数限制.jpg

  1. 扩展首部

扩展首部.jpg
扩展首部1.jpg

IPv6地址

  1. 冒号十六进制法

采用冒号十六进制记法,将16个比特作为一组用冒号隔开,每一组中每四个比特用十六进制表示;
ipv6表示方法.jpg

  • 左侧零和连续零压缩的简洁表示方法

左侧零和连续零.jpg

  • 连续零压缩只能使用一次,因为0的个数没有表明,一次以上连续零压缩将会导致歧义;

连续零压缩歧义.jpg
歧义解决方法.jpg
ipv6的cidr.jpg

  1. IPv6的目的地址分类

目的地址分类.jpg

移动IP

移动IP的基本概念

移动IP可以使移动节点在移动过程中保持其连接性;移动IP技术使移动主机在各网络之间漫游时,仍然能够保持其原有的IP地址不变;

  • 专用术语

移动ip基本概念‘.jpg

移动IP的通信过程

  1. 代理发现与注册

移动主机向外地代理注册自己的永久地址和归属代理地址,外地代理将该移动主机的转交地址发回归属代理;
代理发现1.jpg
代理发现2.jpg
代理发现3.jpg

  1. 固定主机向移动主机发送IP数据报

固定主机按照永久地址,发送IP数据报给归属代理,归属代理会将报文通过隧道技术发送给外地代理,外地代理再根据封装在里面的永久IP地址直接转发给移动主机;
固定主机1.jpg
固定主机2.jpg
固定主机3.jpg

  1. 移动主机向固定主机发送IP数据报

移动主机1.jpg
移动主机2.jpg
移动主机3.jpg

  1. 同址转交

同址转交.jpg

IP组播(IP多播)

组播的概念

IP组播基本概念.jpg

IP组播地址

IP组播地址.jpg
组播使用注意事项.jpg

软件定义网络SDU

在路由器的控制层面,不再使用路由软件,而是用一个在逻辑上集中的远程控制器,其在物理上可有不同地点的多个服务器组成;
SDU的核心思想:把网络的控制层面和数据层面分离,而让控制层面利用软件来控制数据层面中的许多设备;
SDN远程控制器.jpg

  • SDN的广义转发

SDN的广义转发.jpg

  • 流表

流表.jpg
流表2.jpg

  • OpenFlow交换机的简单转发

sdn简单转发.jpg

  • 负载均衡

sdn负载均衡.jpg

  • 防火墙

sdn防火漆昂.jpg

  • SDN体系结构及其四个关键特征

sdn体系结构及其四个关键特征.jpg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值