前言

简单了解一下ip 协议选路问题。

正文

比如host1 到 host2是直接传输,因为host1和 host2 是同一交换机,直接arp表知道对方的mac。

第二种是他们是不同网段之间通信。

第二种有两种出名的协议rip 和 ospf,动态路由方式。

路由表:

rip 内部选路协议:

routing information protocal

特点:

  1. 基于跳数确定路由。
  2. udp 协议向相邻路由器通知路由表。

举个例子。比如RA 可以到N1,那么RA就想相邻路由器发送自己到N1举例为1。

比如RB就收到了 RA 到 R1 的距离为N1。

现在如果RB要访问N1,那么会将信息发给RA。

那么RB、RC也会继续广播出去给RD,RD收到的RB 的信息是RB到N1为2跳。RD收到RC的信息是RC到N1为2跳。

这个时候RD 也会广播给RB和RC等相邻路由器,告诉他们RD到N1为3跳。

问题:

  1. 基于条数
  2. 慢收敛
  3. 选路环路

OSPF 协议:

open shortest path fist

这个比较复杂,直接百度比较好的。

https://zhuanlan.zhihu.com/p/41341540

这里讲一下为什么这么复杂哈,有些人刚学的时候认为局域网是:

路由器1 为 192.168.1.0/24 那么路由器2是 192.168.0.0/16

那么就是路由器1下面机器1访问192.168.2.1的话,发给路由器1,路由器1根据主机号就知道发给r2。

就是认为网络连接是金字塔结构的,实际上不是。

就是他们的分配是金字塔结构。但是不是他们相邻的不一定不能连接啊。

实际上是这种:

在11.0.0.0/8 和 12.0.0.0/8 他们直接可以相连啊。

如果是金字塔结构,那么的确路由器对比一下主机号就知道了下一个应该发给谁。

但是这样也会有一个问题,那就是太慢了吧,显然是不可行的。

可以看到哈,如果10.1.2.16 要访问 10.2.2.16的话,一定要经过10.0.0.0/8这台机器,那不堵才怪。

就算是10.0.0.0/8 旁边是172.16.0.0/8也是可以的,这样可以让这两个网络互通。(“172开头的不一定是内网,作为内网的172属于B类地址,范围: 172.16.0.0-172.31.255.255,共16个网络数。)

然后公网中的是:BGP(Border Gateway Protocal)

这个就更复杂了,一般是网络工程师专研比较多,开发人员没太多必要。

不过可以查询一下路由跟踪工具:

  1. windows: tracert
  2. linux/mac:traceroute.

除了上面的rip和OSPF 路由寻路方式,这两种是自动寻路,也就是动态路由,还有静态路由的方式来寻路,其实吧,如果是我们内网比较少的机器话,用静态路由还是比较好的,自动寻路适合机器多的情况。

下下一节ip的分片和icmp协议。

抓包整理————ip 协议四[十五]的更多相关文章

  1. 抓包整理————ip 协议一[十二]

    前言 简单介绍一下ip协议. 正文 先来看下ip协议在网络层的哪一层: 应用层 表示层 会话层 传输层 网络层 数据链路层 物理层 ip 层就在网络层: 其实很好想象哈,就是因为每台机器起码有一个ip ...

  2. wireshark 抓包分析 TCPIP协议的握手

    wireshark 抓包分析 TCPIP协议的握手 原网址:http://www.cnblogs.com/TankXiao/archive/2012/10/10/2711777.html 之前写过一篇 ...

  3. Wireshark数据抓包分析——网络协议篇

                   Wireshark数据抓包分析--网络协议篇     watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZGF4dWViYQ==/ ...

  4. 孤荷凌寒自学python第四十五天Python初学基础基本结束的下阶段预安装准备

     孤荷凌寒自学python第四十五天Python初学基础基本结束的下阶段预安装准备 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 今天本来应当继续学习Python的数据库操作,但根据过去我自 ...

  5. NeHe OpenGL教程 第四十五课:顶点缓存

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  6. Gradle 1.12用户指南翻译——第四十五章. 应用程序插件

    本文由CSDN博客貌似掉线翻译,其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Githu ...

  7. SQL注入之Sqli-labs系列第四十一关(基于堆叠注入的盲注)和四十二关四十三关四十四关四十五关

    0x1普通测试方式 (1)输入and1=1和and1=2测试,返回错误,证明存在注入 (2)union select联合查询 (3)查询表名 (4)其他 payload: ,( ,( 0x2 堆叠注入 ...

  8. SMB协议利用之ms17-010-永恒之蓝漏洞抓包分析SMB协议

    SMB协议利用之ms17-010-永恒之蓝漏洞抓包分析SMB协议 实验环境: Kali msf以及wireshark Win7开启网络共享(SMB协议) 实验步骤: 1.查看本机数据库是否开启,发现数 ...

  9. “全栈2019”Java第四十五章:super关键字

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  10. (十四--十五)数据库查询优化Part I

    (十四--十五)数据库查询优化Part I 如果理解的有问题.欢迎大家指出.这也是我在看课记得笔记..可能会有很多问题 查询优化的重要性 请记住用户只会告诉DMBS他们想要什么样的结果,而不会告诉他们 ...

随机推荐

  1. 为什么Index Only Scan却还需要访问表

    在实际SQL优化工作中,我们经常会发现SQL 执行计划明明是 "Index Only Scan",但执行计划后面却有 "Heap Fetches: x" ,也就 ...

  2. ORM增删改查并发性能测试

    这两天在对一些ORM进行性能测试(涉及SqlSugar.FreeSql.Fast.Framework.Dapper.LiteSql),测试用的是Winform程序,别人第一眼看到我的程序,说,你这测试 ...

  3. 《吐血整理》高级系列教程-吃透Fiddler抓包教程(21)-如何使用Fiddler生成Jmeter脚本-上篇

    1.简介 通过跟随宏哥的脚步学习宏哥的Jmeter系列文章,.我们知道Jmeter本身可以录制脚本,也可以通过BadBoy,BlazeMeter等工具进行录制,其实Fiddler也可以录制Jmter脚 ...

  4. Netty 学习(三):通信协议和编解码

    Netty 学习(三):通信协议和编解码 作者: Grey 原文地址: 博客园:Netty 学习(三):通信协议和编解码 CSDN:Netty 学习(三):通信协议和编解码 无论使用 Netty 还是 ...

  5. day39-网络编程01

    Java网络编程01 1.网络相关的概念 1.1网络通信和网络 网络通信 概念:两台设备之间通过网络实现数据传输 网络通信:将数据通过网络从一台设备传输到另一台设备 java.net包下提供了一系列的 ...

  6. 面试突击84:Spring 有几种事务隔离级别?

    Spring 中的事务隔离级别和数据库中的事务隔离级别稍有不同,以 MySQL 为例,MySQL 的 InnoDB 引擎中的事务隔离级别有 4 种,而 Spring 中却包含了 5 种事务隔离级别. ...

  7. 第四章:Django表单 - 3:Django表单字段汇总

    Field.clean(value)[source] 虽然表单字段的Field类主要使用在Form类中,但也可以直接实例化它们来使用,以便更好地了解它们是如何工作的.每个Field的实例都有一个cle ...

  8. Beats:运用 Logstash 来加工 Metricbeat 数据

    文章转载自:https://elasticstack.blog.csdn.net/article/details/116496272

  9. Android 使用压缩纹理

    本文介绍了什么是压缩纹理,以及加载压缩纹理的核心步骤.并在 Android OpenGLES 平台上实现了压缩纹理的显示. 一.压缩纹理概念 传统的图片文件格式有 PNG . JPEG 等,这种类型的 ...

  10. [题解] Atcoder ARC 142 D Deterministic Placing 结论,DP

    题目 (可能有点长,但是请耐心看完,个人认为比官方题解好懂:P) 首先需要注意,对于任意节点i上的一个棋子,如果在一种走法中它走到了节点j,另一种走法中它走到了节点k,那么这两种走法进行完后,棋子占据 ...