TCP/IP学习20180805-数据链路层-IP选路
转,原文链接https://blog.csdn.net/wh1511995112/article/details/51474692
IP选路
什么是IP选路?
IP选路,即IP寻路,就是根据路由表中的记录,来决定当前数据报是直接交付(目的地址属于当前局域网)还是发往下一跳路由(隶属于不同的局域网)。
搜索匹配路由表的步骤
搜索匹配的主机地址;
搜索匹配网络地址;
搜索默认表项(一般0.0.0.0)
I P层进行的选路实际上是一种选路机制,它搜索路由表并决定向哪个网络接口发送分组。 这区别于选路策略,它只是一组决定把哪些路由放入路由表的规则。
简单路由表
路由表:
第1行说明,如果目的地是1 4 0 . 2 5 2 . 1 3 . 6 5,那么网关(路由器)将把分组转 发给1 4 0 . 2 5 2 . 1 3 . 3 5。
U 该路由可以使用。
G 该路由是到一个网关(路由器)。如果没有设置该标志,说明目的地是直接相连的。
H 该路由是到一个主机,也就是说,目的地址是一个完整的主机地址。如果没有设置该 标志,说明该路由是到一个网络,而目的地址是一个网络地址:一个网络号,或者网 络号与子网号的组合。
D 该路由是由重定向报文创建的。
M 该路由已被重定向报文修改。
重要标志H与G:
标志G非常重要,因为由它区分了间接路由和直接路由(对于直接路由来说是不设置标志G的)。其区别在于,发往直接路由的分组中不但具有指明目的端的IP地址,还具有其链路层地址。当分组被发往一个间接路由时,IP地址指明的是最终的目的地,但是 链路层地址指明的是网关(即下一站路由器)。在上图这个路由 表例子中,有一个间接路由(设置了标志 G),因此采用这一项路由的分组其 I P地址是最终的目的地(1 4 0 . 2 5 2 . 1 3 . 6 5),但是其链路层地址必须对应于路由器 1 4 0 . 2 5 2 . 1 3 . 3 5。最后一行则表示是直连路由,属于同一局域网。
H标志则表明,目的地址是一个完整的主机地址。没有设置 H标志说明目的地址是一个网络地址(子网掩码决定,主机号部分为 0)。
ICMP主机与网络不可达差错,与差错定向
不可达:
当路由器收到一份I P数据报但又不能转发时,就要发送一份 ICMP“主机不可达”差错报文。
重定向:
1) 我们假定主机发送一份IP数据报给R1。这种选路决策经常发生,因为 R1是该主机的默认路由。
2) R1收到数据报并且检查它的路由表,发现 R2是发送该数据报的下一站。当它把数据报 发送给R2时,R1检测到它正在发送的接口与数据报到达接口是相同的(即主机和两个路由器 所在的LAN)。这样就给路由器发送重定向报文给原始发送端提供了线索。
3) R1发送一份ICMP重定向报文给主机,告诉它以后把数据报发送给R2而不是R1。
静态路由与动态路由
1.静态路由是指由网络管理员手工配置的路由信息。当网络的拓扑结构或链路的状态发生变化时,网络管理员需要手工去修改路由表中相关的静态路由信息。静态路由信息在缺省情况下是私有的,不会传递给其他的路由器。当然,网管员也可以通过对路由器进行设置使之成为共享的。静态路由一般适用于比较简单的网络环境,在这样的环境中,网络管理员易于清楚地了解网络的拓扑结构,便于设置正确的路由信息。
2.动态路由是指路由器能够自动地建立自己的路由表,并且能够根据实际实际情况的变化适时地进行调整。动态路由机制的运作依赖路由器的两个基本功能:对路由表的维护;路由器之间适时的路由信息交换。
两个著名的动态路由协议:
RIP(路由信息协议):基于距离矢量算法,它选择路由的度量标准(metric)是跳数,最大跳数是15跳,如果大于15跳,它就会丢弃数据包。
缺点:
1). RIP的15跳限制,超过15跳的路由被认为不可达
2). RIP不能支持可变长子网掩码(VLSM),导致IP地址分配的低效率
3). 周期性广播整个路由表,在低速链路及广域网云中应用将产生很大问题
4). 收敛速度慢于OSPF,在大型网络中收敛时间需要几分钟
5). RIP没有网络延迟和链路开销的概念,路由选路基于跳数。拥有较少跳数的路由总是被选为最佳路由即使较长的路径有低的延迟和开销
6). RIP没有区域的概念,不能在任意比特位进行路由汇
OSPF(开放式最短路径优先):基于链路状态及最短路径树算法,较之RIP略显复杂。
优点:
1).没有跳数的限制
2).支持可变长子网掩码(VLSM)
3).使用组播发送链路状态更新,在链路状态变化时使用触发更新,提高了带宽的利用率
4).收敛速度快,状态更新能快速覆盖整个网络。
5).具有认证功能
如今,任何支持动态选路的路由器都必须同时支持OSPF和RIP,还可以选择性的支持其他的IGP协议。
TCP/IP学习20180805-数据链路层-IP选路的更多相关文章
- TCP/IP学习笔记7--TCP/IP模型通信例子学习
"一位如蝴蝶般美丽的女子向我飞来,翩翩的舞姿如同云端轻盈的叶儿." -------------------------------------------------------- ...
- TCP/IP学习笔记6--TCP/IP模型
"五月的风慢慢地吹过湖面,泛起波浪层层,一只鸟儿飞过来,在我面前婉转歌唱" TCP/IP是当今计算机网络世界使用最为广泛的协议.该方面的知识对于那些想做网络编程的人来说是只至关重要 ...
- TCP/IP详解学习笔记(5)-IP选路,动态选路,和一些细节
1.静态IP选路 1.1.一个简单的路由表 选路是IP层最重要的一个功能之一.前面的部分已经简单的讲过路由器是通过何种规则来根据IP数据包的IP地址来选择路由.这里就不重复了.首先来看看一个简单的系统 ...
- TCP/IP学习笔记(5)------IP选路
静态IP选路 一个简单的路由表 选路是IP层最重要的一个功能之一.前面的部分已经简单的讲过路由器是通过何种规则来根据IP数据包的IP地址来选择路由.这里就不重复了.首先来看看一个简单的系统路由表. D ...
- TCP/IP详解学习笔记(3)-IP协议,ARP协议,RARP协议
把这三个协议放到一起学习是因为这三个协议处于同一层,ARP协议用来找到目标主机的Ethernet网卡Mac地址,IP则承载要发送的消息.数据链路层可以从ARP得到数据的传送信息,而从IP得到要传输的数 ...
- TCP/IP笔记(三)数据链路层
数据链路的作用 数据链路层的协议定义了通过通信媒介互连的设备之间传输的规范.通信媒介包括双绞线电缆.同轴电缆.光纤.电波以及红外线等介质.此外,各个设备之间有时也会通过交换机.网桥.中继器等中转数据. ...
- TCP/IP学习笔记(3)-IP、ARP、RARP协议
这三个协议放到一起学习是因为这三个协议处于同一层,ARP协议用来找到目标主机的Ethernet网卡Mac地址,IP则承载要发送的消息.数据链路层可以从ARP得到数据的传送信息,而从IP得到要传输的数据 ...
- TCP/IP详解学习笔记(3)-IP协议,ARP协议,RARP协议【转】
转自:http://blog.csdn.net/goodboy1881/article/details/668556 把这三个协议放到一起学习是因为这三个协议处于同一层(网际层),ARP协议用来找到目 ...
- TCP/IP学习笔记(3)----IP,ARP,RARP协议
把这三个协议放到一起学习是因为这三个协议处于同一层(网络层协议),ARP协议用来找到目标主机的Ethernet网卡Mac地址,IP则承载要发送的消息.数据链路层可以从ARP得到数据的传送信息,而从IP ...
- TCP/IP学习(四)TCP缓冲区大小及限制(转)
链接来自:http://blog.csdn.net/ysu108/article/details/7764461 这个问题在前面有的部分已经涉及,这里在重新总结下.主要参考UNIX网络编程. (1)数 ...
随机推荐
- WebStorm 破解方法
WebStorm 破解方法 第一步 打开 IntelliJ IDEA 注册码 网址,点击下载最新的 破解补丁 第二步 将下载下来的破解补丁,复制到WebStorm 安装目录的bin目录下 第三步 修改 ...
- [转载]Fiddler为所欲为第四篇 直播源抓取与接口分析 [四]
今天的教程,主要是教大家如何进行“封包逆向”,关键词跳转,接口分析.(怎么样,是不是感觉和OD很像~~~)今天的教程我们以[麻花影视]为例,当然,其他APP的逻辑也是一样,通用的哦~ 首先需要做好准备 ...
- classLoader和Class.forName的区别
public class ClassLoaderOrClassForName{ public static void main(String[] args) throws ClassNotFoundE ...
- SQL数据库中查询中加N'' 前缀是什么意思
It's declaring the string as nvarchar data type, rather than varchar You may have seen Transact-SQL ...
- install kali on my x200
1 下载kali镜像,选择tsinghua tuna mirror https://mirrors.tuna.tsinghua.edu.cn/kali-images/current/ 选择light版 ...
- python 测试登录接口只返回response200的问题
但是使用postman测试是有json串的 后来发现postman传参是用的raw格式,raw的格式相当于json 而这里的data其实是form-data格式,需要用json的格式
- zznuoj 1195 : 猴子选大王(结构体专题)
题目描述 n只猴子围坐成一个圈,按顺时针方向从1到n编号.然后从1号猴子开始沿顺时针方向从1开始报数,报到m的猴子出局,再从刚出局猴子的下一个位置重新开始报数,如此重复,直至剩下一个猴子,它就是大王. ...
- vue 动态循环出的多个select 不能重复选择相同的数据
看图说话 HTML: JS: 1) 2) 3) 有更好的方法可以相互学习.
- Wpf TemplateBinding
TemplateBinding. ControlTemplate最终会被用到一个控件上,我们称这个控件为模板目标控件或者模板化控件,ControlTemplate里面的控件可以使用TemplateBi ...
- the status bar issue of react-native Modal on Android ( RN v0.57.0)
Problem: When use Modal in react-native, the status bar is not included if you make a full-screen ma ...