计算机网络-网络层

连载中

网络层功能

  • 转发:当一个分组到达路由器的一条输入链路时,路由器必须将该分组移动到适当的输出链路
  • 路由选择:当分组从发送方流向接收方是,网络层必须决定这些分组所采用的路由或路径
  • 连接建立:

每台路由器中都有一张转发表,路由器通过检查到达分组首部字段的值来转发分组,然后使用该值在该路由器的转发表中索引查询

路由器:基于网络层字段中的值做转发决定
交换机:基于链路层字段中的值做转发决定

网络服务模型

网络体系结构 服务模型 带宽保证 无丢包保证 有序 定时 拥塞指示
Internet 尽力而为 任何可能顺序 不维护
ATM CBR(恒定比特率) 保证恒定速率 有序 维护 不出现拥塞
ATM ABR(可用比特率) 保证最小速率 有序 不维护 提供拥塞指示

虚电路与数据报网络

虚电路网络:仅在网络层提供连接服务的计算机网络
数据报网络:仅在网络层提供无连接服务的计算机网络

路由器工作原理

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

IP数据报分片

MTU:最大传输单元
当某条链路收到的IP数据报要大于MTU时需要分片
IPv4的设计者将标识(ID)、标志和片偏移字段放在IP数据报首部中

eg:数据报大小=4000B(20B首部+3980数据),MTU=1500B,假定初始ID为777
则数据报会被分为3个片
| 片 | 字节 | ID | 偏移 | 标志 |
| — | — | — | — | — |
| 1 | 1480 | 777 | 0(插入的数据开始于0字节) | 1(后面还有) |
| 2 | 1480 | 777 | 185(插入的数据开始于8X185 = 1480字节) | 1 |
| 3 | 1020(3980-1480-1480) | 370(插入的数据开始于8X370 = 2960字节) | 0(后面没了) |

IP (v4)

子网:互联主机接口和路由器接口的网络

子网格式 223.1.1.0/24

/24称为子网掩码,表示32位ip左侧24位定义了子网地址

任何其他要连接到223.1.1.0/24网络的主机都要求其地址具有223.1.1.xxx的形式

现在的IP网络使用32位地址,以点分十进制表示,如172.16.0.0。地址格式为:IP地址=网络地址+主机地址 或 IP地址=主机地址+子网地址+主机地址。

IP地址类型

最初设计互联网络时,为了便于寻址以及层次化构造网络,每个IP地址包括两个标识码(ID),即网络ID和主机ID。同一个物理网络上的所有主机都使用同一个网络ID,网络上的一个主机(包括网络上工作站,服务器和路由器等)有一个主机ID与其对应。IP地址根据网络ID的不同分为5种类型,A类地址、B类地址、C类地址、D类地址和E类地址。

  • A类地址:一个A类IP地址由1字节的网络地址和3字节主机地址组成,网络地址的最高位必须是“0”, 地址范围从1.0.0.0 到126.0.0.0。可用的A类网络有126个,每个网络能容纳1亿多个主机。

  • B类地址:一个B类IP地址由2个字节的网络地址和2个字节的主机地址组成,网络地址的最高位必须是“10”,地址范围从128.0.0.0到191.255.255.255。可用的B类网络有16382个,每个网络能容纳6万多个主机 。

  • C类地址:一个C类IP地址由3字节的网络地址和1字节的主机地址组成,网络地址的最高位必须是“110”。范围从192.0.0.0到223.255.255.255。C类网络可达209万余个,每个网络能容纳254个主机。

  • D类地址:D类IP地址第一个字节以“lll0”开始,它是一个专门保留的地址。它并不指向特定的网络,目前这一类地址被用在多点广播(Multicast)中。多点广播地址用来一次寻址一组计算机,它标识共享同一协议的一组计算机。

  • E类地址:以“llll0”开始,为将来使用保留。

全零(“0.0.0.0”)地址对应于当前主机。全“1”的IP地址(“255.255.255.255”)是当前子网的广播地址。

在IP地址3种主要类型里,各保留了3个区域作为私有地址,其地址范围如下:

A类地址:10.0.0.0~10.255.255.255

B类地址:172.16.0.0~172.31.255.255

C类地址:192.168.0.0~192.168.255.255

A类地址的第一组数字为1~126。注意,数字0和 127不作为A类地址,数字127保留给内部回送函数,而数字0则表示该地址是本地宿主机,不能传送。

B类地址的第一组数字为128~191。

C类地址的第一组数字为192~223。

动态主机配置协议DHCP

过程

  • DHCP服务器发现:主机在UDP分组向67端口发送DHCP发现报文,使用广播目的地址255.255.255.255,本机地址设为0.0.0.0
  • DHCP服务器提供:DHCP服务器发现一个DHCP发现报文后,用一个DHCP提供报文向客户作出响应,仍然使用IP广播地址255.255.255.255
  • DHCP请求:客户选择一个DHCP服务器,提供DHCP请求报文,并回显参数
  • DHCP ACK:服务器用DHCP ACK报文对DHCP请求报文进行响应,证实所要求的参数
参数 DHCP发现 DHCP提供 DHCP请求 DHCP ACK
src 0.0.0.0:68 223.1.2.5:67 0.0.0.0:68 223.1.2.5:67
dest 255.255.255.255:68 255.255.255.255:68 255.255.255.255:67 255.255.255.255:67
yiaddr 0.0.0.0 223.1.2.4 223.1.2.4 223.1.2.4
transaction ID 654 654 655 655
DHCP server / 223.1.2.5 223.1.2.5 223.1.2.5
Lifetime / 3600secs 3600secs 3600secs

网络地址转换(NAT)

路由器如何知道它应将某个分组转发给哪个内部主机:NAT转换表

UPnP

NAT穿越

因特网控制报文协议

ping

IPv6

路由选择算法

默认路由器(第一跳路由器):主机直接连接的路由器
源路由器:源主机的默认路由器
目的路由器:目的主机的默认路由器

路由算法的分类

按全局式还是分散式:

  • 全局路由选择算法:用完整的、全局性的网络知识计算最短路径,如链路状态(LS)算法

  • 分散式路由选择算法:以迭代、分布式的方式计算出最短路径,如距离向量(DV)算法

按算法是静态还是动态:

  • 静态路由选择算法
  • 动态路由选择算法

按负载敏感还是负载迟钝:

  • 负载敏感算法:早期ARPAnet
  • 负载迟钝算法:RIP、OSPF、BGP

LS算法

DV算法

层次路由选择

问题:

  • 规模:随着路由器数目变得十分巨大,LS的开销将高得不可实现
  • 管理自治:既能自己选择路由选择算法,又能与外部网络连接

自治系统(AS):每个AS由一组通常处在相同管理控制下的路由器组成,在相同AS下的路由器运行相同的路由选择算法

在AS中运行的路由选择算法叫做自治系统内部路由选择算法

网关路由器:在一个AS内负责向在本AS之外的目的地转发分组一台或多台路由器

自治系统间路由选择协议:从相邻AS获取可达性信息和向该AS中所有路由器传达可达性信息

热土豆路由选项

因特网中的路由选择

自治系统内部路由选择算法:RIP

使用DV算法

自治系统内部路由选择算法:OSPF

自治系统间路由选择算法:BGP

广播和多播路由选择