博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
TCP/IP详解 卷1 IP路由选择
阅读量:4126 次
发布时间:2019-05-25

本文共 1162 字,大约阅读时间需要 3 分钟。

简单描述

如果目的主机与源主机是点对点,同一个共享网络上(以太网或令牌环网)。那么IP数据将会直接发送到目的主机上。否则就发到默认路由上,由路由器来转发

路由表

IP从TCP UDP,ICMP,IGMP或1个网络接口获取数据报并进行发送。IP层在内存中有一张路由表,当接收到数据报时会先搜索路由表。看下数据报的首部目的IP是不是本机的IP地址或者IP广播地址。是的话在根据首部中写明的协议类型指定相应的协议模块处理。如果不是则有两种情况。本机的IP层被设置成具有路由功能的时候,则进行转发。如果没有此功能,则丢弃该数据报

路由表内容
  1. 目的IP地址,可以是一个网络地址
  2. 下一站(下一跳)路由器的IP地址,或者直接连接的IP地址。下一站路由器不是最终目的。但可以通过它将数据报传送至目的地址
  3. 标志 包含两部分,
    1. 表示目的IP是主机地址还是网络地址
    2. 表示下一站是路由器还是直连接口
  4. 指定网络接口
IP路由选择过程

获取IP数据报之后:

  1. 搜索路由表,寻找能与目的IP地址(看标志)相匹配的表目(网络号和主机号均要匹配)。如果找到就讲数据报发送至该表目中指名的下一站路由或直连接口
  2. 搜索路由表,寻找能与目的IP相匹配的网络号,然后将数据报发送至该匹配的表目中指名的下一站路由或直连接口,需要考虑子网掩码。
  3. 如果这两种都无法找到相匹配的表目,则寻找路由表中被标为默认的表目,将数据报丢过去
  4. 如果也没有默认表目,一般是生成差错报文返回给源主机(“主机不可达”或“网络不可达”)
举例

在这里插入图片描述

目的IP主机140.252.13.,33,
目的网络 140.252.13.0
源IP主机收到上层协议发过来的发送数据报请求。发现目的IP与本机IP处在1个直连的网络上。那么将会将数据直接发送过去。

另一个例子

在这里插入图片描述

源主机IP:140.252.13.35(主机名bsdi)
目的IP: 192.48.96.9
顺序:

  1. bsdi搜索路由表发现没有与之匹配的IP地址和网络地址。则发送至默认表目的下一站主机(140.252.13.33)(主机名sun,被设置成具有路由功能)
  2. sun发现该数据报的目的IP也与自己的路由表目不匹配,然后就丢给默认表目的下一站主机(140.252.1.183)(主机名netb,被设置成具有路由功能)采用SLIP协议传输
  3. netb发现该数据报目的IP与自己的路由表的表目都不匹配。依然是丢给默认表目的下一站路由器(这次是路由器了,140.252.1.4)
  4. 路由器搜索路由表。依然没有匹配的,就丢给默认表目(140.252.104.2)
总结
  1. 大多数情况下都是使用默认路由表目
  2. 目的IP不会发生变化,所有的路由决策都基于该目的IP
  3. 链路层的目的IP地址始终是下一站的链路层地址,SLIP没有该地址
  4. 以太网地址通过ARP转换

转载地址:http://mzepi.baihongyu.com/

你可能感兴趣的文章
如何分叉以太坊并变成自己的私链?
查看>>
区块链开发(一)搭建基于以太坊的私有链环境
查看>>
BlockChain 与 Ethereum 介绍
查看>>
以太坊的POS共识机制(一)友善的小精灵 Casper
查看>>
[翻译]HyperLedger下一代总账架构提案
查看>>
区块链开发(七)从某保险积分案例谈区块链应用的风险与挑战
查看>>
区块链开发(八)从歪曲的比特币谈区块链应用及误区
查看>>
Parity发布革命性区块链理念“Polkadot”
查看>>
Vitalik Buterin:以太坊Casper惩罚条件的最小化
查看>>
参数化Casper:介于去中心化/最终化时间(finality time)/开销之间的权衡
查看>>
好巧合啊
查看>>
智能合约如何可信的与外部世界交互
查看>>
清华北大教授联袂推荐的好书:《区块链:金融应用实践》
查看>>
windows 安装 Subversion
查看>>
Mac环境安装Python3
查看>>
windows下的环境搭建配置redis
查看>>
Windows下Git使用帮助
查看>>
适配各种移动设备的mediaquery
查看>>
“无法在 Web 服务器上启动调试”的解决方法
查看>>
DataGridView学习笔记(一):DataGridView简介
查看>>