目录
IPv4(Internet Protocol Version4)协议族是TCP/IP协议族中最为核心的协议族。它工作在TCP/IP协议栈的网络层,该层与OSI参考模型的网络层相对应。
网络层提供了无连接数据传输服务,即网络在发送数据报文时不需要先建立连接,每个IP数据报文独立发送。
网络层
网络层经常被称为IP层。但网络层协议并不只是IP协议,还包括ICMP(Internet Control Message Protocol)协议、IPX(Internet Packet Exchange)协议等。
IP协议
IP是Internet Protoc的缩写。Internet Protocol本身是一个协议文件的名称,该协议文件的内容非常少,主要是定义并阐述了IP报文的格式。
经常被提及的IP,一般不是特指Internet Protocol这个协议文件本身,而是泛指直接或间接与IP协议相关的任何内容。
数据封装
IPv报文格式
数据包分片
将报文分割成多个片段的过程叫做分片。
网络中转发的IP报文的长度可以不同,但如果报文长度超过了数据链路所支持的最大长度,则报文就需要分割成若干个较小的片段才能够在链路上传输。
IP地址在网络中用于标识一个节点(或者网络设备的接口)。
IP地址用于IP报文在网络中的寻址。
一个IPv4地址符32bit。
IPv4地址通常采用“点分十进制”表示。
IP地址寻址
网络部分:用来标识一父网络,代表P地址所属网络。
主机部分:用来区分一个网络内的不同主机,能唯一标识网段上的某台设备。
IP地址分类(有类编址)
我们通常把一个网络号所定义的网络范围称为一个网段
网络地址:更于标识一个网络。
广播地址:用于向该网络中的所有主机发送数据的特殊地址。
可用地址:可分配给网络中的节点或网络设备接口的地址。
IP地址计算
私网IP地址
特殊IP地址
IPv4 vs IPv6
由全球IP地址分配机构,IANA(Internet Assigned Numbers Authority)管理的IPv4地址,于2011年完全用尽。随着最后一个IPv4公网地址分配完毕,加上接入公网的用户及设备越来越多,IPv4地址枯竭的问题日益严重,这是当前IPv6替代IPv4的最大源动力。
原网段分析
向主机借位
计算子网广播地址
Internet控制消息协议ICMP(Internet Control Message Protocol)是IP协议的辅助协议
ICMP重定向
ICP重定向报文是ICMP控制报文中的一种。在特定的情况下,当路由器检测到一台机器使用非最优路由的时候,它会向该主机发送一个ICMP重定向报文,请求主机改变路由。
ICMP差错检测
ICMP Echo消息常用于诊断源和目的地之间的网络连通性,同时还可以提供其他信息,如报文往返时间等。
ICMP错误报告
ICP定义了各种错误消息,用于诊断网络连接性问题;根据这些错误消息,源设备可以判断出数据传输失败的原因。如:当网络设备无法访问目标网络时,会自动发送ICP目的不可达报文到发送端设备。
IP地址的基础配置命令
网络IP地址规划
P地址规划要和网络结构、路由协议、流量规划、业务规则等结合起来考虑。P地址的规划应尽可能和网络层次相对应,应该是自顶向下的一种规划。
总得来说:IP地址规划的目标是:易管理、易扩展、利用率高。
参考规划原则:
唯一性、连续性、扩展性结构化、业务相关性。
在IP网络上,如果用户要将一台计算机连接到Internet.上,就需要向因特网服务提供方ISP(Internet Service Provider)申请一个IP地址。
在一个典型的数据通信网络中,往往存在多个不同的IP网段,数据在不同的P网段之间交互是需要借助三层设备的,这些设备具备路由能力,能够实现数据的跨网段转发。
路由是数据通信网络中最基本的要素。路由信息是指导报文转发的路径信息,路由过程就是报文转发的过程。
网段间通信
路由
路由是指导报文转发的路径信息,通过路由可以确认转发IP报文的路径。
路由设备是依据路由转发报文到目的网段的网络设备,最常见的路由设备:路由器。
路由设备维护着一张路由表,保存着路由信息。
路由信息介绍
路由表
直连路由
直连路由指向本地直连网络的路由,由设备自动生成。
当路由器为路由转发的最后一跳路由器时,IP报文匹配直连路由,路由器转发IP报文到目的主机。
使用直连路由进行路由转发时,报文的目的IP和路由器接口IP在一个网段之中。
并不是所有接口生成的直连路由都会出现在路由表中,直连路由出现在路由表中的前提是该接口的物理状态、协议状态都为UP。
查看IP路由表
display ip routing-table
每一个路由都有相应的网段、下一跳和初接端口
路由表中各个内容的含义
Destination/Mask 表示此路由的目的网络地址与网络掩码。将目的地址和子网掩码“逻辑与”后可得到目的主机或路由器所在网段的地址。例如:目的地址为1.1.1.1,掩码为255.255.255.0的主机或路由器所在网段的地址为1.1.1.0。
Proto(Protocol):该路由的协议类型,也即路由器是通过什么协议获知该路由的。
Pre(Preference):表示此路由的路由协议优先级。针对同一目的地,可能存在不同下一跳、出接口等多条路由,这些不同的路由可能是由不同的路由协议发现的,也可以是手工配置的静态路由。优先级最高(数值最小)者将成为当前的最优路由。
Cost:路由开销。当到达同一目的地的多条路由具有相同的路由优先级时,路由开销最小的将成为当前的最优路由。
NextHop:表示对于本路由器而言,到达该路由指向的目的网络的下一跳地址。该字段指明了数据转发的下一个设备。
Interface:表示此路由的出接口。指明数据将从本路由器的哪个接口转发出去。
路由优先级 - 基本概念
当路由器从多种不同的途径获知到达同一个目的网段的路由(这些路由的目的网络地址及网络掩码均相同)时,路由器会比较这些路出的优先级,优先级值最小的路由。
路由来源的优先级值(Preference)越小代表加入路由表的优先级越高。
拥有最高优先级的路由将被添加进路由表。
路由度量值表示到达这条路由所指目的地址的代价。
一些常用的度量值有:跳数、带宽、时延、代价、负载、可靠性等。
度量值数值越小越优先,度量值最小路由将会被添加到路由表中。
度量值很多候被称为开销(Cost)。
最长匹配原则
当路由器收到一个P数据包时,会将数据包的目的P地址与自己本地路由表中的所有路由表项进行逐位(Bit-By-Bit)比对,直到找到匹配度最长的条目,这就是最长前缀匹配机制。
当路由器从多种不同的途径获知到达同一个目的网段的路由(这些路由的目的网络地址及网络掩码均相同)时,会选择路由优先级值最小的路由:如果这些路由亭习自相同的路由协议,则优选度量值最优的。总之,最优的路由加入路由表。
当路由器收到一个数据包时,会在自己的路由表中查询数据包的目的P地址。如果能够找到匹配的路表项,则依据表项所指示的出接口及下一跳来转发数据:如果没有匹配的表项,则丢弃该数据包。
路由器的行为是逐跳的,数据包从源到目的地沿路径每个路由器都必须有关于目标网段的路由,否则就会造成丢包。
数据通信往往是双向的,因此要关注流量的往返(往返路由)。
静态路由由网络管理员手动配置,配置方便,对系统要求低,适用于拓扑结构简单并且稳定的小型网络。
缺点是不能自动适应网络拓扑的变化,需要人工干预。
RTA上转发目的地址属于20.1.1.0/24的报文,在只有直连路由的情况下没有路由匹配。此时可以通过手动配置静态路由,使RTA发送前往20.1.1.0/24网段的报文交给下一跳10.0.0.2转发。
静态路由配置
在创建静态路由时,可以同时指定出接口和下一跳。对于不同的出接口类型,也可以只指定出接口或只指定下一跳。
对于点到点接口(如串口),必须指定出接口。
对于广接口(如以太网接口)和VT(Virtual-template)接口,必须指定下一跳。
缺省路由
缺省路由是一种特殊的路由,当报文没有在路由表中找到匹配的具体路由表项时才使用的路由。如果报文的目的地址不能与路由表的任何耳的地址相匹配,那么该报文将选取缺省路由进行转发。
缺省路由在路由表中的形式均0.0.0.0/0,缺省路由也被叫做默认路由。
动态路由概述
动态路由分类
路由递归
路由必须有直连的下一跳才能够指导转发,但是路由生成时下一跳可能不是直连的,因此需要计算出一个直连的下一跳和对应的出接口,这个过程就叫做路由递归。
路由递归也被称为路由迭代。
等价路由
浮动路由
静态路由支持配置时手动指定优先级,可以通过配置目的地址/掩码相同、优先级不同、下一跳不同的静态路由,实现转发路径的备份。
浮动路由是主用路由的备份,保证链路故障时提供备份路由。主用路由下一跳可达时该备份路由不会出现在路由表。