精华内容
下载资源
问答
  • RIP协议在路由器之间的传输

    千次阅读 2018-03-03 10:56:24
     路由器是网络层设备,负责传输IP数据报。那么问题来了,RIP既然被UDP封装,那么路由器有又是如何解析RIP报文呢? 其实,路由器是网络层设备,并不代表他只具备物理层、链路层、网络层功能,他还具备一些应用层的...

     刚学习计算机网络的时候有一个困惑,RIP是网络层协议,可是为什么用UDP封装,后来问了老师才知道,RIP协议是作用在网络层的应用层协议。

     路由器是网络层设备,负责传输IP数据报。那么问题来了,RIP既然被UDP封装,那么路由器有又是如何解析RIP报文呢?  

     其实,路由器是网络层设备,并不代表他只具备物理层、链路层、网络层功能,他还具备一些应用层的功能,当遇到RIP报文这类应用层的协议,他也能够解封。然后读取rip报文中的下一跳路由。

    (第一次写,如有不正确之处,望指正)

    展开全文
  • 相邻路由器之间进行通信,以告知对方每个路由器当前所连接的网络,这就出现了动态选路。10.2 动态选路路由器之间必须采用选路协议进行通信,路由器上有个进程为路由守护程序,它运行选路协议,与相邻路由进行通信...

    静态选路

    在配置接口时,以默认方式生成路由表项(对于直接连接的接口),并通过route命令增加表项(通常从系统自引导程序文件),或是通过ICMP重定向生成表项(通常是在默认方式出错的情况下)。

    当相邻路由器之间进行通信,以告知对方每个路由器当前所连接的网络,这就出现了动态选路。

    10.2 动态选路

    路由器之间必须采用选路协议进行通信,路由器上有个进程为路由守护程序,它运行选路协议,与相邻路由进行通信。

    动态选路并不改变内核在IP层的选路方式。这种选路方式称为选路机制(routingmechanism)。内核搜索路由表,查找主机路由、网络路由以及默认路由的方式并没有改变。仅仅是放置到路由表中的信息改变了—-当路由随时间变化时,路由是由路由守护程序动态地增加或删除,而不是来自于自引导程序文件中的route命令。

    每个自治系统可以选择该自治系统中各个路由器之间的选路协议。这种协议我们称之为内部网关协议IGP(InteriorGateway Protocol),最常用的IGP是选路信息协议RIP。一种新的IGP是开放最短路径优先OSPF

    外部网关协议EGP(Exterier GatewayProtocol)或域内选路协议的分隔选路协议用于不同自治系统之间的路由器。

    10.3 UNIX选路守护程序

    UNIX上运行名为routed的路由守护进程,它只是用RIP进行通信。

    另一个程序是gated。IGP和EGP都支持它。大多数系统都可以运行routed,除非需要支持gated所支持的其他协议。

    10.4 RIP:选路信息协议

    这里写图片描述

    这里写图片描述

    让我们来看一下采用RIP协议的routed程序正常运行的结果。RIP常用的UDP端口号是520。

    1. 初始化:在启动一个路由守护程序时,它先判断启动了哪些接口,并在每个接口上发送一个请求报文,要求其他路由器发送完整路由表。
    2. 接收到请求。如果这个请求是刚才提到的特殊请求,那么路由器就将完整的路由表发送给请求者。否则,就处理请求中的每一个表项:如果有连接到指明地址的路由,则将度量设置成我们的值,否则将度量置为16(度量为16是一种称为“无穷大”的特殊值,它意味着没有到达目的的路由)。然后发回响应。
    3. 接收到响应。使响应生效,可能会更新路由表。可能会增加新表项,对已有的表项进行修改,或是将已有表项删除。
    4. 定期选路更新。每过30秒,所有或部分路由器会将其完整路由表发送给相邻路由器。发送路由表可以是广播形式的(如在以太网上),或是发送给点对点链路的其他终点的。
    5. 触发更新。每当一条路由的度量发生变化时,就对它进行更新。不需要发送完整路由表,而只需要发送那些发生变化的表项。

    每条路由都有与之相关的定时器。如果运行RIP的系统发现一条路由在 3分钟内未更新,就将该路由的度量设置成无穷大(16),并标注为删除。这意味着已经在 6个30秒更新时间里没收到通告该路由的路由器的更新了。再过60秒,将从本地路由表中删除该路由,以保证该路由的失效已被传播开。

    RIP所使用的度量是以跳(hop)计算的。

    10.6 OSPF:开放最短路径优先

    与采用距离向量的RIP协议不同的是,OSPF是一个链路状态协议。距离向量的意思是,RIP发送的报文包含一个距离向量(跳数)。每个路由器都根据它所接收到邻站的这些距离向量来更新自己的路由表。

    在一个链路状态协议中,路由器并不与其邻站交换距离信息。它采用的是每个路由器主动地测试与其邻站相连链路的状态,将这些信息发送给它的其他邻站,而邻站将这些信息在自治系统中传播出去。每个路由器接收这些链路状态信息,并建立起完整的路由表。

    OSPF与 RIP(以及其他选路协议)的不同点在于, OSPF直接使用IP。也就是说,它并不使用UDP或TCP。对于ip首部的protocol字段,OSPF有其自己的值。

    10.7 BGP:边界网关协议

    BGP是一种不同自治系统的路由器之间进行通信的外部网关协议。

    BGP系统与其他 BGP系统之间交换网络可到达信息。这些信息包括数据到达这些网络所必须经过的自治系统AS中的所有路径。这些信息足以构造一幅自治系统连接图。然后,可以根据连接图删除选路环,制订选路策略。

    BGP允许使用基于策略的选路。由自治系统管理员制订策略,并通过配置文件将策略指定给 BGP。与RIP和OSPF不同的是,BGP采用TCP作为其传输层协议。两个运行BGP的系统之间建立一条TCP连接。

    BGP是一个距离向量协议,但是与(通告到目的地址跳数的) RIP不同的是,BGP 列举了到每个目的地址的路由。

    10.8 CIDR:无类型域间选路

    无类型域间选路(CIDR)是一个防止Internet路由表膨胀的方法,它也称为超网。

    CIDR的基本观点是采用一种分配多个ip地址的方式,使其能够将路由表中的许多表项总和(summarization)成更少的数目。

    “无类型”的意思是现在的选路决策是基于整个 32 bit IP地址的掩码操作,而不管其ip地址是A类、B类或是C类,都没有什么区别。


    UDP是一个简单的面向数据报的运输层协议

    这里写图片描述

    UDP不提供可靠性:它把应用程序传给IP层的数据发送出去,但是并不保证它们能到达目的地。

    11.2 UDP首部

    这里写图片描述

    端口号表示发送进程和接收进程。UDP长度字段指的是UDP首部和UDP数据的字节长度。

    11.3 UDP检验和

    UDP检验和覆盖UDP首部和UDP数据。回想IP首部的检验和,它只覆盖IP的首部。

    UDP的检验和是可选的,而TCP的检验和是必需的。

    UDP检验和的基本计算方法与IP首部检验和计算方法相类似(16bit字的二进制反码和),但是它们之间存在不同的地方。首先,UDP数据报的长度可以为奇数字节,但是检验和算法是把若干个16bit字相加。解决方法是必要时在最后增加填充字节 0,这只是为了检验和的计算(也就是说,可能增加的填充字节不被传送)。

    其次,UDP数据报和TCP段都包含一个12字节长的伪首部,它是为了计算检验和而设置的。伪首部包含 IP首部一些字段。其目的是让 UDP两次检查数据是否已经正确到达目的地。

    这里写图片描述

    11.5 IP分片

    把一份IP数据报分片以后,只有到达目的地才进行重新组装。重新组装由目的端的IP层来完成,其目的是使分片和重新组装过程对运输层(TCP和UDP)是透明的,IP首部中包含的数据为分片和重新组装提供了足够的信息。

    对于发送端发送的每份IP数据报来说,其标识字段都包含一个唯一值。该值在数据报分片时被复制到每个片中。标志字段用其中一个比特来表示“更多的片”。除了最后一片外,其他每个组成数据报的片都要把该比特置 1。片偏移字段指的是该片偏移原始数据报开始处的位置。

    另外,当数据报被分片后,每个片的总长度值要改为该片的长度值。最后,标志字段中有一个比特称作“不分片”位。如果将这一比特置 1,IP将不对数据报进行分片。相反把数据报丢弃并发送一个ICMP差错报文给起始端。

    当IP数据报分片后,每一片都成为一个分组,有自己的IP首部,并在选择路由器时与其他分组独立。固有可能在到达目的端时失序。

    一片数据的丢失也要重传整个数据报。因为对数据报分片的是中间路由器,而不是起始端系统,后者根本不知道数据报是如何分片的。

    这里写图片描述

    PS.任何运输层的首部只出现在第一片数据中。

    11.6 ICMP不可达差错(需要分片)

    发送ICMP不可达差错的另一种情况是,当路由器收到一份需要分片的数据报,而在IP首部又设置了不分片(DF)的标志比特。如果某个程序需要判断到达目的端的路途中最小MTU是多少 — 称作路径MTU发现机制,那么这个差错就可以被该程序使用。

    这里写图片描述

    11.7 用Traceroute 确定路径MTU

    修改traceroute程序确定路径MTU:发送分组,设置“不分片”标志比特。发送的第一个分组长度正好与出口MTU相等,每次收到ICMP“不能分片”差错是就减少分组的长度。

    11.8 采用UDP的路径MTU发现

    UDP应用可以关闭或开启该路径MTU发现,只要修改ip_path_mtu_discovery参数即可。

    11.10 最大 UDP数据报长度

    理论上,IP数据报的最大长度是65535字节,这是由IP首部16比特总长度字段所限制的。去除2 0字节的IP首部和8个字节的 UDP首部,UDP数据报中用户数据的最长长度为 65507字节。但是,大多数实现所提供的长度比这个最大值小。

    我们会遇到两个限制因素:

    1. 应用程序收到其程序接口的限制。比如socket API就可以设置接收和发送缓存的长度
    2. 来自TCP/IP的内核实现。

    11.11 ICMP源站抑制差错

    当一个系统(路由器或主机)接收数据报的速度比其处理速度快时,可能产生这个差错。注意限定词“可能”。即使一个系统已经没有缓存并丢弃数据报,也不要求它一定要发送源站抑制报文。

    这里写图片描述

    展开全文
  • 华为路由器配置手册

    2011-10-29 11:38:28
    另外要注意异步串口的波特率只在路由器与Modem之间起作用,两台Modem之间的波特率则由它们互相协商确定,因此在异步方式下两端路由器的波特率设置可以不一致;在同步方式下,由DCE侧路由器决定线路传输的波特率,只...
  • IP路由选择: 如果目的主机和源主机直接相连或者同一个共享网络上,那么IP数据报之间发送到目的主机上,否则,主机把数据报发往默认的路由器上,由路由器来转发改数据报IP层内存中有一个路由表,收到一份数据...
    • IP路由选择:
    •  如果目的主机和源主机直接相连或者在同一个共享网络上,那么IP数据报之间发送到目的主机上,否则,主机把数据报发往默认的路由器上,由路由器来转发改数据报
    • IP层在内存中有一个路由表,当收到一份数据报并进行发送的时候,需要查路由搜索,如果是数据报目的地址是本机地址,数据报就会被送到由IP首部协议字段所指定的协议模块进行处理,如果数据报的目的不是这些地址,那么如果该IP层被设置为有路由功能,就转发,否则就丢弃。

       IP路由选择主要完成以下功能:

         寻找能与目的IP地址完全匹配的表目,如果找不到,就找网络号匹配的(通过子网掩码计算),还是找不到,那么找到标位默认(default)的表目,把数据发给指定的下一站路由器。如果以上步骤都没有成功,那么数据报不能被传送。如果不能传送的数据报来自本机,那么一般都会向生成数据报的应用程序返回一个主机不可达 或者网络不可达的错误。


    子网掩码作用:网络号全为1,主机号全为0,因此与目的IP做与运算的结果就是目的IP所属的网络号。路由器通过该结果进行转发。

    展开全文
  • 【TCP/IP】路由选择之TTL

    千次阅读 2016-05-03 11:14:46
    TTL字段的目的是防止数据报在选路时无休止地在网络中流动。例如,路由器瘫痪或者两个路由器之间的连接丢失时,选路协议有时会去检测丢失的路由并一直进行下去。在这段时间内,数据报可能在循环回路被终止。TTL字段...

    1.什么是TTL,TTL的最大值是多少?

    TTL是 Time To Live的缩写,该字段指定IP包被路由器丢弃之前允许通过的最大网段数量。TTL是IPv4包头的一个8 bit字段。TTL字段的目的是防止数据报在选路时无休止地在网络中流动。例如,当路由器瘫痪或者两个路由器之间的连接丢失时,选路协议有时会去检测丢失的路由并一直进行下去。在这段时间内,数据报可能在循环回路被终止。TTL字段就是在这些循环传递的数据报上加上一个生存上限。当路由器收到一份I P数据报,如果其TTL字段是0或1,则路由器不转发该数据报(接收到这种数据报的目的主机可以将它交给应用程序,这是因为不需要转发该数据报。但是在通常情况下,系统不应该接收TTL字段为0的数据报)。相反,路由器将该数据报丢弃,并给信源机发一份ICMP“超时”信息。

    TTL最大值为255,如UNIX操作系统的TT值初始默认TTL值就是225。不同的系统最大值也是有所不同,对于实验室环境所使用操作系统默认的TTL 最大值是128,所以要视情况而定。操作系统可以自己修改默认值。


    2.TCP/UDP的区别?

       这个是常识,很好归纳:

    TCP:面向连接、传输可靠(保证数据正确性,保证数据顺序)、用于传输大量数据(流模式)、速度慢,建立连接需要开销较多(时间,系统资源)。

    UDP:面向非连接、传输不可靠(可能丢包,不保证数据的顺序)、用于传输少量数据(数据包模式)、速度快,对系统资源的要求较少。


    3.TCP超时重传机制

    最简单的概念:

    超时重传是TCP协议保证数据可靠性的重要机制,其原理是在发送某一个数据以后就开启一个计时器,在一定时间内如果没有得到发送的数据报的ACK报文TCP就认为报文段中的数据已丢失或损坏,那么就重新发送数据,直到发送成功为止。

    数据丢包的情况下给出的一种修补机制。一般来说,重传发生在超时之后,但是如果发送端接受到3个以上的重复ACK的情况下,就应该意识到,数据丢了,需要重新传递。这个机制是不需要等到重传定时器溢出的,所以叫做快速重传,它可以避免发送端因等待重传计时器的超时而空闲较长时间,以此增加网络吞吐量。而重新传递以后,因为走的不是慢启动而是拥塞避免算法,所以这又叫做快速恢复算法



    展开全文
  • 数据传输选路

    2017-09-08 17:52:08
    3.当ip某个地方中转时,路由器会回给发送IP的源主机一个ICMP重定向报文,源主机收到后会更新路由表, 如果静态选路不行,则进行动态选路 动态选路主要用于路由器之间: 1.有一个核心路由器存放合适的网路,...
  • . IP协议详解 ...IP协议解决了虚拟网络中数据报传输的路劲问题。 ②IP协议 首部校验和:占16位,校验IP首部是否有出错 IP协议的转发流程 ①路由表简介 计算机终端、路由器,...
  • 一台主机把以太网数据帧发送到位于同一局域网上的另一台主机时,是根据48bit的以太网地址来确定目的接口的,设备驱动程序从不检查IP数据报中的目的IP地址。地址解析为两种不同的地址形式提供映射:32bit的IP地址和...
  • 但从体系结构上讲它是位于 IP 之上的,因为 ICMP 报文是封装 IP 数据报中的,就像 TCP 和 UDP 报文段作为 IP 有效载荷被承载那样(IP 数据报首部中的协议字段:ICMP(1)、TCP(6)、UDP(17)),类似地,一台主机...
  • [Linux C编程]网络通信

    千次阅读 2017-08-08 15:08:18
    简述TCP/IP各层的作用 (1)网络接口层(Network Interface Layer):网络接口层...该层把分组封装在IP数据报中,填入数据报的首部,使用路由算法来确定是直接交付数据报,还是把它传递给路由器,然后把数据报交给适当的
  • IPv4编址及子网划分

    2015-07-04 16:15:00
    讨论IP编址之前,我们需要讨论一下...因为路由器的任务是从链路上接收数据报并将这些数据报从某些其他链路转发出去,所以路由器必须拥有两条或更多条链路与它链接。路由器与它的任意一条链路之间的边界也叫做接...
  • ARP 协议

    2020-08-05 16:05:15
    一个局域网中,一台主机想要给另外一台主机发送 IP 数据报,发送时要求不仅仅提供 IP 地址,还需要提供目的 MAC 地址 只知道目的 IP ,不知道目的 MAC 时,就需要 ARP 协议来获取目的 MAC 地址 每台主机或路由器...
  • 数据链路层的功能则是实现物理链路直接项链的两个结点之间的数据帧传输服务,而网络层关注的是如何将成传输层报文段的网络层数据报从源主机送达目的主机,因为绝大多数的数据报都要经过多跳中间路由器,所以网络层...
  • 网络通信协议簇简介

    2021-01-23 11:15:55
    它是TCP/IP协议簇的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要...
  • ICMP协议

    2020-07-13 16:25:50
    它是TCP/IP协议簇的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要...
  • web渗透--ICMP扫描详解

    2020-08-13 13:44:06
    ICMP扫描 ICMP(Internet Control Message Protocal,因特网... ICMP是TCP/IP的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息指的是网络通不通、主机是否可达、路由是否可用等网络本身的消息。遇...
  • 七层模型之运输层

    2018-04-14 09:24:21
    通信的是两个主机,IP数据报表明了这两个主机的IP地址,但实质上,应该是两个主机上的进程之间的通信,而运输层就是实现主机上的应用进程之间的通信的。也就是说。通信的真正端点不是主机,而是主机上的应用进程。...
  • 进程之间的通信 运输层向它的上一层应用层提供了端到端的通信服务,它属于面向通信部分的最高层,也是用户功能中的最低层。...IP数据报的首部明确地标志了这两台主机的IP地址。但是从运输层来说,两台主机进行通信...
  • 问题4-30:IP数据报在传输的过程中,其首部长度是否会发生变化? 问题4-31:当路由器利用IP数据报首部中的“首部检验和”字段检测出在传输过程中出现了差错时,就简单地将其丢弃。为什么不发送一个ICMP报文给源主机...
  • 但又常说“路由器转发IP数据报”或“路由器转发帧”。究竟“分组”一词应当用什么场合? 问题1-9:到商店购买可一个希捷公司生产的80 G的硬盘。安装到电脑上以后用WINDOWS的资源管理器发现该磁盘的“属性”中...
  • 网络部分题集

    千次阅读 2018-08-13 21:45:44
    发送方在发送了一个TCP数据包之后,经过RTO时间,没有收到对方的确认数据包,则应该?重传  2. 假设TTL的初始值为3,两台主机之间...用来控制数据报在网络中存在的时间。目前TTL的值并不代表时间,而是代表经由路由...
  • CISCO 技术大集合

    2013-05-22 01:07:13
    以下Router1上设置了访问192.1.0.64/26这个网下一跳地址为192.200.10.6,即有目的地址属于192.1.0.64/26的网络范围的数据报,应将其路由到地址为192.200.10.6的相邻路由器Router3上设置了访问192.1.0.128/26...
  • 计算机网络复习题

    2014-12-29 19:01:35
    IP地址放在IP数据报的首部(1分),而MAC地址放在MAC帧的首部。(1分) 7.什么是计算机网络,计算机网络协议的三要素是什么,各要素的含义什么 计算机网络:一些互相连接的、自治的计算机的集合。(1分) 语法(1分)...
  • 这也就是说IP数据报大于1500字节,大于MTU.这个时候发送方IP层就需要分片(fragmentation). 把数据报分成若干片,使每一片都小于MTU.而接收方IP层则需要进行数据报的重组. 这样就会多做许多事情,而更...
  • windowsnt 技术内幕

    2014-04-09 20:47:17
    配置DNS集成WINS 微软网络浏览过程简介 理解计算机浏览器角色 理解浏览器选举 将计算机配置为不能参与浏览过程 理解网络数据报 Windows NT的RAS服务简介 比较RAS和RCS 使用RAS和拨号网络 PPTP协议(Point-to-Point ...
  • 入门学习Linux常用必会60个命令实例详解doc/txt

    千次下载 热门讨论 2011-06-09 00:08:45
    因为Linux与Windows不同,其后台运行着许多进程,所以强制关机可能会导致进程的数据丢失,使系统处于不稳定的状态,甚至有的系统中会损坏硬件设备(硬盘)。系统关机前使用 shutdown命令,系统管理员会通知所有...

空空如也

空空如也

1 2
收藏数 26
精华内容 10
关键字:

当ip数据报在路由器之间