IP数据报、路由相关知识

IP 数据报的格式 算法

  • 一个 IP 数据报由首部和数据两部分组成。安全

  • 首部的前一部分是固定长度共 20 字节是全部 IP 数据报必须具备的。网络

  • 在首部的固定部分的后面是一些可选字段其长度是可变的。 分布式

wKioL1eh8-fBLkd0AADLwKoADTo354.png

IP 数据报首部的固定部分中的各字段 ide

  • 版本——占 4 位指 IP 协议的版本目前的 IP 协议版本号为 4 (即 IPv4)测试

  • 首部长度——占 4 位可表示的最大数值是 15 个单位(一个单位为 4 字节)所以 IP 的首部长度的最大值是 60 字节。spa

  • 区分服务——占 8 位用来得到更好的服务在旧标准中叫作服务类型但实际上一直未被使用过。1998年这个字段更名为区分服务。只有在使用区分服务DiffServ时这个字段才起做用。在通常的状况下都不使用这个字段 3d

  • 总长度——占 16 位指首部和数据之和的长度单位为字节所以数据报的最大长度为 65535 字节。总长度必须不超过最大传送单元 MTU。 orm

  • 标识(identification)——占 16 位它是一个计数器用来产生数据报的标识。 blog

  • 标志(flag)——占 3 位目前只有前两位有意义。标志字段的最低位是 MF (More Fragment)。MF = 1 表示后面“还有分片”。MF = 0 表示最后一个分片。标志字段中间的一位是 DF (Don't Fragment) 。只有当 DF = 0 时才容许分片。 

  • 片偏移(13 位)指出较长的分组在分片后某片在原分组中的相对位置。片偏移以 8 个字节为偏移单位。

  • 生存时间(8 位)记为 TTL (Time To Live)数据报在网络中可经过的路由器数的最大值。

  • 协议(8 位)字段指出此数据报携带的数据使用何种协议以便目的主机的 IP 层将数据部分上交给哪一个处理过程

  • 首部检验和(16 位)字段只检验数据报的首部不检验数据部分。这里不采用 CRC 检验码而采用简单的计算方法。 

  • 源地址和目的地址都各占 4 字节

IP 数据报分片

wKiom1eh9hCDdwFBAAD4JkuX-Xw843.png

wKioL1eh9mqgGUuyAACIWf7J7Xc585.png

wKiom1eh9mvhg3xRAABi_WFmS0g860.png

wKioL1eh9sbyQavrAABWjZE812Y453.png


IP 层转发分组的流程 

  • 有四个 A 类网络经过三个路由器链接在一块儿。每个网络上均可能有成千上万个主机。

  • 能够想像若按目的主机号来制做路由表则所得出的路由表就会过于庞大。

  • 但若按主机所在的网络地址来制做路由表那么每个路由器中的路由表就只包含 4 个项目。这样就可以使路由表大大简化。 

wKiom1eiqoTQ_tHWAACFkihIr-k638.png

查找路由表


根据目的网络地址就能肯定下一跳路由器这样作的结果是

  •     IP 数据报最终必定能够找到目的主机所在目的网络上的路由器可能要经过屡次的间接交付。

  •     只有到达最后一个路由器时才试图向目的主机进行直接交付。 

特定主机路由

  • 这种路由是为特定的目的主机指明一个路由。

  • 采用特定主机路由可以使网络管理人员能更方便地控制网络和测试网络同时也可在须要考虑某种安全问题时采用这种特定主机路由。 

默认路由(default route)

  • 路由器还可采用默认路由以减小路由表所占用的空间和搜索路由表所用的时间。

  • 这种转发方式在一个网络只有不多的对外链接时是颇有用的。

  • 默认路由在主机发送 IP 数据报时每每更能显示出它的好处。

  • 若是一个主机链接在一个小网络上而这个网络只用一个路由器和因特网链接那么在这种状况下使用默认路由是很是合适的。 

wKiom1eiq1qBAxTgAABsrfEn_Wc988.png

注意

  • IP 数据报的首部中没有地方能够用来指明“下一跳路由器的 IP 地址”。

  • 当路由器收到待转发的数据报不是将下一跳路由器的 IP 地址填入 IP 数据报而是送交下层的网络接口软件。

  • 网络接口软件使用 ARP 负责将下一跳路由器的 IP 地址转换成硬件地址并将此硬件地址放在链路层的 MAC 帧的首部而后根据这个硬件地址找到下一跳路由器。  

分组转发算法 

(1)  从数据报的首部提取目的主机的 IP 地址 D, 得出目的网络地址为 N。

(2)  若网络 N 与此路由器直接相连则把数据报直接交付目的主机 D不然是间接交付执行(3)。

(3)  若路由表中有目的地址为 D 的特定主机路由则把数据报传送给路由表中所指明的下一跳路由器不然执行(4)。

(4)  若路由表中有到达网络 N 的路由则把数据报传送给路由表指明的下一跳路由器不然执行(5)。

(5) 若路由表中有一个默认路由则把数据报传送给路由表中所指明的默认路由器不然执行(6)。

(6)  报告转发分组出错。 

路由选择协议

因特网有两大类路由选择协议 

  • 内部网关协议 IGP (Interior Gateway Protocol)    即在一个自治系统内部使用的路由选择协议。目前这类路由选择协议使用得最多如 RIP 和 OSPF 协议。

  • 外部网关协议EGP (External Gateway Protocol)    若源站和目的站处在不一样的自治系统中当数据报传到一个自治系统的边界时就须要使用一种协议将路由选择信息传递到另外一个自治系统中。这样的协议就是外部网关协议 EGP。在外部网关协议中目前使用最多的是 BGP-4。  

下面主要介绍内部网关协议 RIP (Routing Information Protocol)

工做原理

  • 路由信息协议 RIP 是内部网关协议 IGP中最早获得普遍使用的协议。

  • RIP 是一种分布式的基于距离向量的路由选择协议。

  • RIP 协议要求网络中的每个路由器都要维护从它本身到其余每个目的网络的距离记录。 


“距离”的定义 

  • 从一路由器到直接链接的网络的距离定义为 1。

  • 从一个路由器到非直接链接的网络的距离定义为所通过的路由器数加 1。

  • RIP 协议中的“距离”也称为“跳数”(hop count)由于每通过一个路由器跳数就加 1。

  • 这里的“距离”实际上指的是“最短距离” 

  • RIP 认为一个好的路由就是它经过的路由器的数目少即“距离短”。

  • RIP 容许一条路径最多只能包含 15 个路由器。

  • “距离”的最大值为16 时即至关于不可达。可见 RIP 只适用于小型互联网。

  • RIP 不能在两个网络之间同时使用多条路由。RIP 选择一个具备最少路由器的路由即最短路由哪怕还存在另外一条高速(低时延)但路由器较多的路由。   

RIP 协议的三个要点 

  • 仅和相邻路由器交换信息。 

  • 交换的信息是当前本路由器所知道的所有信息即本身的路由表。 

  • 按固定的时间间隔交换路由信息例如每隔 30 秒。 

路由表的创建 

  • 路由器在刚刚开始工做时只知道到直接链接的网络的距离此距离定义为1。

  • 之后每个路由器也只和数目很是有限的相邻路由器交换并更新路由信息。

  • 通过若干次更新后全部的路由器最终都会知道到达本自治系统中任何一个网络的最短距离和下一跳路由器的地址。

  • RIP 协议的收敛(convergence)过程较快即在自治系统中全部的结点都获得正确的路由选择信息的过程。 

距离向量算法

wKioL1eisKTyCL7xAAF7wIaZ3_c037.png

wKiom1eisKSRJR5cAAGrg06JCqQ966.png

wKioL1eisKXTBrYNAAC_sT04ZoU745.png

示例

wKioL1eisZDCzzPXAACpBWFrjsI931.png

wKioL1eisZGzaTf4AAENJZ4_3Mc650.png

wKiom1eisZGwmRmlAAAvtdPkJgc355.png

wKiom1eisZLw9XerAACHx8AiqWs888.png

j_0041.gifj_0041.gifj_0041.gifj_0041.gifj_0041.gifj_0041.gifj_0041.gifj_0041.gifj_0041.gifj_0041.gifj_0041.gifj_0041.gif

本文出自 “11408774” 博客,请务必保留此出处http://11418774.blog.51cto.com/11408774/1834234

相关文章
相关标签/搜索