抓包整理————ip 协议四[十五]
前言
简单了解一下ip 协议选路问题。
正文
比如host1 到 host2是直接传输,因为host1和 host2 是同一交换机,直接arp表知道对方的mac。
第二种是他们是不同网段之间通信。
第二种有两种出名的协议rip 和 ospf,动态路由方式。
路由表:
rip 内部选路协议:
routing information protocal
特点:
- 基于跳数确定路由。
- 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跳。
问题:
- 基于条数
- 慢收敛
- 选路环路
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)
这个就更复杂了,一般是网络工程师专研比较多,开发人员没太多必要。
不过可以查询一下路由跟踪工具:
- windows: tracert
- linux/mac:traceroute.
结
除了上面的rip和OSPF 路由寻路方式,这两种是自动寻路,也就是动态路由,还有静态路由的方式来寻路,其实吧,如果是我们内网比较少的机器话,用静态路由还是比较好的,自动寻路适合机器多的情况。
下下一节ip的分片和icmp协议。
抓包整理————ip 协议四[十五]的更多相关文章
- 抓包整理————ip 协议一[十二]
前言 简单介绍一下ip协议. 正文 先来看下ip协议在网络层的哪一层: 应用层 表示层 会话层 传输层 网络层 数据链路层 物理层 ip 层就在网络层: 其实很好想象哈,就是因为每台机器起码有一个ip ...
- wireshark 抓包分析 TCPIP协议的握手
wireshark 抓包分析 TCPIP协议的握手 原网址:http://www.cnblogs.com/TankXiao/archive/2012/10/10/2711777.html 之前写过一篇 ...
- Wireshark数据抓包分析——网络协议篇
Wireshark数据抓包分析--网络协议篇 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZGF4dWViYQ==/ ...
- 孤荷凌寒自学python第四十五天Python初学基础基本结束的下阶段预安装准备
孤荷凌寒自学python第四十五天Python初学基础基本结束的下阶段预安装准备 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 今天本来应当继续学习Python的数据库操作,但根据过去我自 ...
- NeHe OpenGL教程 第四十五课:顶点缓存
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...
- Gradle 1.12用户指南翻译——第四十五章. 应用程序插件
本文由CSDN博客貌似掉线翻译,其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Githu ...
- SQL注入之Sqli-labs系列第四十一关(基于堆叠注入的盲注)和四十二关四十三关四十四关四十五关
0x1普通测试方式 (1)输入and1=1和and1=2测试,返回错误,证明存在注入 (2)union select联合查询 (3)查询表名 (4)其他 payload: ,( ,( 0x2 堆叠注入 ...
- SMB协议利用之ms17-010-永恒之蓝漏洞抓包分析SMB协议
SMB协议利用之ms17-010-永恒之蓝漏洞抓包分析SMB协议 实验环境: Kali msf以及wireshark Win7开启网络共享(SMB协议) 实验步骤: 1.查看本机数据库是否开启,发现数 ...
- “全栈2019”Java第四十五章:super关键字
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- (十四--十五)数据库查询优化Part I
(十四--十五)数据库查询优化Part I 如果理解的有问题.欢迎大家指出.这也是我在看课记得笔记..可能会有很多问题 查询优化的重要性 请记住用户只会告诉DMBS他们想要什么样的结果,而不会告诉他们 ...
随机推荐
- 安装docker-compose--翻译
Install Docker Compose 译文 安装 Docker Compose 你可以在macOS.Windows.64-bit Linux上运行 Compose 前提条件 Docker Co ...
- 使用 Elastic Agents 把定制的日志摄入到 Elasticsearch 中
转载自:https://mp.weixin.qq.com/s/QQxwYh1uLCkKn1LK72ojJA 在以前的系统中,我们可以使用如下的几种方式来采集日志: 1.我们可以直接使用 Beats 把 ...
- K8S ingress控制器
文章转载自: K8S ingress控制器 (一)https://blog.51cto.com/u_13760351/2728917 K8S ingress控制器 (二)https://blog.51 ...
- Beats: Filebeat和pipleline processors
简要来说: 使用filebeat读取log日志,在filebeat.yml中先一步处理日志中的个别数据,比如丢弃某些数据项,增加某些数据项. 按照之前的文档,是在filebeat.yml中操作的,具体 ...
- Security Context
概述 Security Context(安全上下文)用来限制容器对宿主节点的可访问范围,以避免容器非法操作宿主节点的系统级别的内容,使得节点的系统或者节点上其他容器组受到影响. Security Co ...
- Spring Boot 使用 Micrometer 集成 Prometheus 监控 Java 应用性能
转载自:https://cloud.tencent.com/developer/article/1508319 文章目录1.Micrometer 介绍2.环境.软件准备3.Spring Boot 工程 ...
- vue3基础
什么是CDN? 内容分发网络--通过相互链接的网络系统,利用最靠近用户的服务器,更快更可靠的发送给用户. vue的cdn引入 method中的函数为什么不能用this? this的主要使用是来获取da ...
- HashMap底层原理及jdk1.8源码解读
一.前言 写在前面:小编码字收集资料花了一天的时间整理出来,对你有帮助一键三连走一波哈,谢谢啦!! HashMap在我们日常开发中可谓经常遇到,HashMap 源码和底层原理在现在面试中是必问的.所以 ...
- 邻接矩阵bfs
#include<bits/stdc++.h> using namespace std; int a[11][11]; bool visited[11]; void store_graph ...
- Go_gin权限验证
权限管理 Casbin是用于Golang项目的功能强大且高效的开源访问控制库. 1. 特征 Casbin的作用: 以经典{subject, object, action}形式或您定义的自定义形式实施策 ...