天天看点

3.1路由器工作原理及网际协议(因特网中的转发和编址IPv4、IPv6)路由器工作原理网际协议:因特网中的转发和编址

路由器工作原理

下图为路由器的体系结构,其中标识了一台路由器的4个组成部分:输入端口、输出端口、交换结构、路由选择器

3.1路由器工作原理及网际协议(因特网中的转发和编址IPv4、IPv6)路由器工作原理网际协议:因特网中的转发和编址

输入端口:(1)将一条输入的物理链路与路由器相连接的物理层功能(2)与位于入链路远端的数据链路层交互的数据链路层功能(3)完成查找功能(通过查询转发表决定路由器的输出端口)(4)控制分组从输入端口转发到路由选择处理器。

3.1路由器工作原理及网际协议(因特网中的转发和编址IPv4、IPv6)路由器工作原理网际协议:因特网中的转发和编址

交换结构:将路由器的输入端口和输出端口相连接。

输出端口:存储从交换结构接收的分组,并通过执行必要的链路层和物理层功能在输入链路上传输这些分组。

3.1路由器工作原理及网际协议(因特网中的转发和编址IPv4、IPv6)路由器工作原理网际协议:因特网中的转发和编址

路由选择处理器:执行路由选择协议,维护路由选择表以及连接的链路状态信息并为路由器计算转发表。它还执行网络管理功能

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

因特网的网络层有三个主要组件:IP协议、路由选择协议、互联网控制报文协议(ICMP)

3.1路由器工作原理及网际协议(因特网中的转发和编址IPv4、IPv6)路由器工作原理网际协议:因特网中的转发和编址

数据报格式

3.1路由器工作原理及网际协议(因特网中的转发和编址IPv4、IPv6)路由器工作原理网际协议:因特网中的转发和编址

上图为IPv4的数据报格式,其中关键字段如下:

版本(号):4比特,规定了数据报IP协议版本。通过查看版本号,路由器能够确定如何解释IP数据报的剩余部分。

首部长度:4比特,确定IP数据报中数据部分实际从哪里开始

服务类型: 8比特,使不同类型IP数据报能相互区别开来。

数据报长度:16比特,IP数据报总长度(首部加上数据),以字节计,所以IP数据报的理论最大长度为65535字节。

标识、标志、片偏移:与IP数据报分片有关。

寿命:用来确保数据报不会永远在网络中循环。每当数据报由一台路由器处理时,该字段值减1

协议:指示了IP数据报的数据部分应交给哪个特定的运输层协议,仅在一个IP数据报到达其目的地才会有用。

首部检验和:帮助路由器检测收到的IP数据报中的比特错误。

源和目的IP地址:某源生成一个数据报时,他在源IP字段中插入它的IP地址,在目的IP地址字段插入其最终目的地的地址。

选项:允许IP首部被扩充

数据:有效载荷

 IP数据报分片:并不是所有链路层协议都能承载相同长度的网络层分组。一个链路层帧能承载的最大数据量叫做最大传送单元(MTU)。MTU严格限制着数据报的长度。所以如果发送方与目的地路径上的每段链路可能使用不同的链路层协议,则需要将IP数据报中的数据分片成两个或更多个较小的IP数据报,用单独链路层帧封装这些较小的IP数据报,然后向输出链路上发送这些帧。片在其到达目的地运输层以前需要重新组装。

IPv4编址

每个IP地址长度为32比特(4字节),因此共有2^32个可能的IP地址,约为40亿个可能的IP地址。这些地址按所谓的点分十进制记法书写,即地址中的每个字节用它的十进制形式书写,各字节间以点隔开。比如IP地址193.32.216.9的二进制记法为11000001 00100000 11011000 00001001

在全球因特网中的每台主机和路由器上的每个接口,必须有一个全球唯一的IP地址。然而,这些地址不能任意选择,一个IP地址的一部分需要由其连接的子网决定。

3.1路由器工作原理及网际协议(因特网中的转发和编址IPv4、IPv6)路由器工作原理网际协议:因特网中的转发和编址
3.1路由器工作原理及网际协议(因特网中的转发和编址IPv4、IPv6)路由器工作原理网际协议:因特网中的转发和编址

如上左图中左边3个主机以及他们连接的路由器接口均为223.1.1.xxx格式,并且这4个接口也通过一个并不包含路由器的网络互连起来。用IP术语来讲,互连这3个主机接口与1个路由器接口的网络形成一个子网。IP编址为这个子网分配一个地址223.1.1.0/24其中/24记法称为子网掩码,如右图所示。

因特网的地址分配策略被称为无类别域间路由选择(CIDR)。 32比特的IP地址被划分为两部分,并且也具有点分十进制数形式a.b.c.d/x,其中地址的x最高比特构成了IP地址的网络部分,并且经常被称为该地址前缀。一个组织被分配一块连续的地址,即具有相同的前缀。剩余32-x比特用于区分该组织内部设备。

主机或子网最初获得IP地址的步骤:

1.获取一块地址。网络管理员与他的ISP联系,该ISP从已分给他的更大地址块中提供一些地址

2.获取主机地址。组织获得一块地址后,系统管理员手工配置路由器中的IP地址,主机地址使用动态主机配置协议(DHCP)自动获取 ,由于DHCP具有能将主机连接进网络的自动能力,故又常称为即插即用协议

  • DHCP服务器发现  新到的主机在UDP分组中向端口67发送DHCP发现报文,DHCP客户生成包含DHCP发现报文的IP数据报,其中使用广播目的地址255.255.255.255,并且本主机使用源地址0.0.0.0之后将IP数据报传递给链路层,链路层然后将该帧广播到所有与该子网连接的子网。
  • DHCP服务器提供  DHCP服务器收到一个DHCP发现报文后,用一个DHCP提供报文向客户做出响应,仍然使用IP广播地址255.255.255.255。每个DHCP提供报文包含收到的发现报文的事务ID、向客户推荐的IP地址、网络掩码以及IP地址租用期。
  • DHCP请求  新到达的客户从一个或多个服务器提供中选择一个,并向选中的服务器提供用一个DHCP请求报文进行相应,回显配置参数。
  • DHCP ACK  服务器用DHCP ACK报文对DHCP请求报文进行相应,证实所要求的参数。

网络地址转换(NAT):允 许一个整体机构以一个公用IP地址出现在Internet上。顾名思义,它是一种把内部私有网络地址(IP地址)翻译成合法网络IP地址的技术。因此我们可以认为,NAT在一定程度上,能够有效的解决公网地址不足的问题。

NAT的基本工作原理是,当私有网主机和公共网主机通信的IP包经过NAT网关时,将IP包中的源IP或目的IP在私有IP和NAT的公共IP之间进行转换。对于从广域网到达NAT路由器的所有数据报都有相同的目的IP地址,使用NAT路由器上的一张NAT转换表,并且在表项中包含了端口号及其IP地址。

UPnP:允许主机发现并配置临近NAT的协议。

因特网控制报文协议(ICMP)

ICMP定义为被主机和路由器用来彼此沟通网络层信息。最典型的用途是差错报告。

ICMP报文有一个类型字段和一个编码字段,并且包含引起该ICMP报文首次生成的IP数据报的首部和前8字节内容。我们通常的ping程序就是发送一个ICMP类型8编号0的回显请求报文,目的主机发送类型0编号0的回显回答报文进行相应。

IPv6

由于新的子网和IP结点以惊人的增长率连接到因特网上(并被分配唯一的IP地址),32比特的IP地址空间即将用尽。为了应对这种大IP地址空间的需求,开发了一种新的IP协议,即IPv6。IPv6数据报格式如下所示:

3.1路由器工作原理及网际协议(因特网中的转发和编址IPv4、IPv6)路由器工作原理网际协议:因特网中的转发和编址

.

IPv6相比于IPv4引入的最重要的变化显示在其数据报格式中:

  • 扩大的地址容量   IPv6将IP地址长度从32比特增加到了128比特。同时引入了一种任播地址的新型地址
  • 简化高效的40字节首部  许多IPv4字段被舍弃或作为选项(分片/重新组装以及首部检验和被舍弃,选项作为选项)
  • 流标签与优先级  定义了“流”,可用于给属于特殊流的分组加上标签,这些特殊流是发送方要求进行特殊处理的流。
3.1路由器工作原理及网际协议(因特网中的转发和编址IPv4、IPv6)路由器工作原理网际协议:因特网中的转发和编址

继续阅读