热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

关于IP协议与路由协议的复习

IP层是一个不可靠的一层,从它的数据转发头部中,我们就能看出它主要承担的功能就是数据的路由与转发,以及一些数据相关的增值服务。为了更好的反

IP层是一个不可靠的一层,从它的数据转发头部中,我们就能看出它主要承担的功能就是数据的路由与转发,以及一些数据相关的增值服务。为了更好的反应IP层遇到的一些问题,IP层上有一个附赠的协议,也就是ICMP协议,网络设备在IP层上是没有办法向数据发送者,或者其他的设备告诉自己现在的发送情况的,但是它可以通过ICMP与IP层结合执行一些很多有特点,有意思的功能,比如路由跳数的记录,比如错误数据的通知,以及出错的原因的通知。他们之间互相结合在IP层上解决了许多的问题,所以在运输层上的UDP虽然没有具备和TCP一般的可靠机制,但是在一些可靠链路上UDP依然还是可以呈现出十分优秀的表现。同时IP层是一个无连接,尽最大努力交付的层,它的意思是数据转发之后它都是尽力去转发,如果出现了错误IP层是不会做任何的处理的,无连接的意思是IP层不会记录任何主机与主机之间的连接关系,它做的事情很简单,就是根据转发表项进行数据的转发。这样的设计对于网络设备来说是一件好事,因为可以简化硬件结构和设计方式。


IP数据包的格式

查看源图像

首先是版本:代表IP协议的版本

首部长度: 以四个字节为单位,该字段的最大长度是60字节,4*15=60字节

区分服务:这个字段一个用于通信服务相关。

总长度:代表着IP首部以及IP载荷的长度。

标识:这个用于IP分片当中,如何将各个分片组织在一起就依靠这个标识

标志:这个标志代表着是否分片,不要分片

片偏移:这个字段标识该数据包的首部内容到要发送数据的首部内容的长度

生存时间:这个就是TTL,防止报文被过度转发,每经过一个路由器就将这个值减1

协议:表示上层使用的协议是什么

首部检验和:首部校验和是IP首部的校验和,用于检测IP首部,先将IP首部校验和字段置0,然后将首部全部字段看成一系列的16个比特的组合,然后进行16比特的相加取反,然后将最后的结果放在这个字段上。

后面就是源IP和目的IP以及一些用于IP层协议的拓展选项。


RIP协议

查看源图像

上面是RIP协议的相关报文格式, 但是在真实的抓包中可能会有一些区别。但是一些字段都是大家都有的,比如命令里面的字段的值就有1和2,1代表是RIP的请求,2代表RIP的应答。路由域本质是RIP进程的标识,一个路由器上可能有多个RIP进程。地址类就是地址类型,IP地址的地址类型为2,路由标记在一些路由策略和策略路由中有用到,因为RIP传递的是路由信息,所以从RIP源路由器上进行路由信息的标识,使得其他路由器会根据这个路由标记意识到这些路由信息是来自对应的路由器,并可以采取一些对应的操作。

然后就是IP地址,地址掩码,以及下一站IP地址和度量值,这四个字段标识了一个路由条目的信息。一个RIP报文中可能包含多个这类的四个字段,也就是说一个RIP报文中可能有多个路由信息承载在上面。

我看有些产商上面的RIP抓包的内容好像并不是全部都是上面那样,但是都有版本,命令,以及下面的路由信息的字段,其实这些也差不多足够了。


RIP的工作流程

首先每一个RIP上线之后都会从那个参与RIP的接口上面发送RIP请求,以及自己的路由信息。这么做的理由很简单,因为一个路由器上线之后它需要获取到网络拓扑中的路由信息,所以它需要从参与RIP宣告的路由器上发送RIP请求,同时它还要发送自己的路由信息,让别人知道有这么一个路由器参与了RIP的路由交互之中。这是RIP上线阶段要做的事情,如果后面某个参与RIP计算的路由器还有新的网段参与,它就会进行触发更新,去通告新的路由信息。与大部分协议一样,路由信息一定不是永久的,它会每过30S发送以此RIP路由信息的更新,当过180S后,如果某个路由条目没有更新,那么它的度量值就会变成16,也就是不可达,如果120S内还没有对该条路由新的解释,那么这条路由就会被删除。为了防止出现环路,它会开启毒性逆转或者水平分割,以及毒性路由。

水平分割就是当一个A路由器向B路由器发送路由信息,那么B路由器就不会将A路由器的路由信息进行回传,在水平分割基础上就是毒性逆转,B路由器会将路由器A的相关路由信息以度量值16的方式回送给路由器A,告诉它,是你告诉我这条路该怎么走,你就不要问我这条路该怎么走了。

毒性路由就是当路由器发现有某条链路down了之后,它就会第一时间发送关于这条链路度量值为16的路由信息给其他路由器。于是其他路由器就会将路由表进行更新,于是去到那条链路的路由就失效了。


推荐阅读
  • HSRP热备份路由器协议的应用及配置
    本文介绍了HSRP热备份路由器协议的应用及配置方法,包括设计目标、工作原理、配置命令等。通过HSRP协议,可以实现在主动路由器故障时自动切换到备份路由器,保证网络连通性。此外,还介绍了R1和R2路由器的配置方法以及Sw1和Sw2交换机的配置方法,最后还介绍了测试连通性和路由追踪的方法。 ... [详细]
  • IP、ARP、TCP、UDP、ICMP、DNS、路由协议、DHCP协议的缺陷,容易受到的攻击,以及防御措施1、IP协议1.1、介绍: ... [详细]
  • 域名解析系统DNS
    文章目录前言一、域名系统概述二、因特网的域名结构三、域名服务器1.根域名服务器2.顶级域名服务器(TLD,top-leveldomain)3.权威(Authoritative)域名 ... [详细]
  • 配置IPv4静态路由实现企业网内不同网段用户互访
    本文介绍了通过配置IPv4静态路由实现企业网内不同网段用户互访的方法。首先需要配置接口的链路层协议参数和IP地址,使相邻节点网络层可达。然后按照静态路由组网图的操作步骤,配置静态路由。这样任意两台主机之间都能够互通。 ... [详细]
  • 概述H.323是由ITU制定的通信控制协议,用于在分组交换网中提供多媒体业务。呼叫控制是其中的重要组成部分,它可用来建立点到点的媒体会话和多点间媒体会议 ... [详细]
  • Linux防火墙配置—允许转发
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 解决浏览器打开网页后提示“dns_probe_possible 怎么解决”的方法
    在使用浏览器进行网上冲浪的时候遇到故障是一件很常见的事情,很多用户都遇到过系统提示:dns_probe_possible。从提示中可以看出和DNS是有一定的关系的,经过小编测试之后 ... [详细]
  • 计算机网络计算机网络分层结构
    为了解决计算机网络复杂的问题,提出了计算机网络分层结构。计算机网络分层结构主要有OSI7层参考模型,TCPIP4层参考模型两种。为什么要分层不同产商 ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了VoLTE端到端业务详解|VoLTE用户注册流程相关的知识,希望对你有一定的参考价值。书籍来源:艾怀丽 ... [详细]
  • slmp协议和mc协议区别_TCP协议与UDP协议的区别
    TCP协议和UDP协议TCPIP协议是一个协议簇。里面包括很多协议的,UDP只是其中的一个,之所以命名为TCPIP协议,因 ... [详细]
  • SQL Server 2008 到底需要使用哪些端口?
    SQLServer2008到底需要使用哪些端口?-下面就来介绍下SQLServer2008中使用的端口有哪些:  首先,最常用最常见的就是1433端口。这个是数据库引擎的端口,如果 ... [详细]
  • 三、寻找恶意IP并用iptables禁止掉找出恶意连接你的服务器80端口的IP,直接用iptables来drop掉它;这里建议写脚本来运行, ... [详细]
  • Ansem 最新雄文:软着陆后,加密市场下阶段趋势与核心叙事
    市场最糟糕的时候已经过去,以太坊合并前不太会看到新的低点;但仍需来自关注宏观市场的不确定风险。撰文:Ansem ... [详细]
  • NFS文件共享系统
    1、概述:NFS(NetworkFileSystem)意为网络文件系统,它最大的功能就是可以通过网络,让不同的机器不同的操作系统可以共享 ... [详细]
  • 本文摘要配置目的:寄存器配置用于更改路由器启动过程。配置目的:寄存器配置用于更改路由器启动过程。启动位由4位16进制寄存器组成格式:0xA ... [详细]
author-avatar
纠结的狂欢_583
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有