Take Your Heart


  • 首页

  • 标签

  • Linux

  • Cisco

  • Huawei

  • H3C

  • Python

  • Docker

  • 搜索

OSPF Neighbor State

发表于 2018-06-06 | 分类于 Network

OSPF邻居状态机和网络类型

OSPF邻居状态机

OSPF路由器需要邻居路由器在几种邻居状态之间转换后,才能形成邻居之间的完全邻接关系。

  • Down(失效状态):这是一个邻居会话的初始状态,指明在一个deadinterval的时间内还没有收到来自邻居路由器的hello包。除非在NBMA网络中的那些邻居路由器,否则,hello包不会发送给那些失效的邻居路由器。在NBMA网络环境中,hello包每个pollinterval(2倍hello
    interval)的时间发送一次。
阅读全文 »

OSPF BASIC

发表于 2018-06-06 | 分类于 Network

OSPF路由协议基础部分

OSPF的概述

OSPF是一种链路状态路由协议。不同于距离矢量路由协议依照传闻进行路由选择的工作方式,链路状态路由器从其他路由器那里获取第一手信息。每台路由器会产生一些关于自己、本地直连链路、这些链路的状态和所有直连邻居的信息(LSA)。这些信息从一台路由器传送到另一台路由器,每台路由器都在一份信息拷贝,但绝不改动信息。最终目的是每台路由器都有一个相同的相关网络的信息,并且每台路由器以自己为根独立的计算各自的最优路径。

阅读全文 »

EIGRP ADVANCED

发表于 2018-05-29 | 分类于 Network

EIGRP query和reply报文

路由表形成后,EIGRP拓扑表里的条目为P(passive)状态,EIGRP没有周期性更新,因此在拓扑没有变更时,路由都处于被动状态。

当拓扑发生变更时,例如后继路由器(S)失效,路由器首先执行本地计算,即对所有的可行后继路由器,重新计算到达目的地的距离,距离最小的FS成为S。当路由器进行本地计算时,路由条目仍然处于被动状态,发送路由更新即可。

阅读全文 »

Shell script basic

发表于 2018-04-25 | 分类于 Linux

Shell脚本的用处

经常会在网上看到一些一键XXX脚本。例如一键LAMP,LNMP脚本。只需要执行简单的命令,然后跟着脚本提示操作就能够完成搭建一个简单的网站,带数据库后台和各种环境。Shell脚本可以帮助我们完成很多冗杂的工作,也可以通过编写shell脚本达到快速部署环境的目的。能够大大提高工作效率。类似windows里的.BAT文件。

编写简单的Shell脚本

编写Shell脚本的方式非常简单。只需要使用常用的文本编辑器如VIM创建一个文件,然后在文件中输入命令即可。例如,如果想查看当前所在的工作路径并列出当前目录下所有文件及属性信息,实现这个功能的脚本就可以这么编写

1
2
3
4
5
[root@remilia ~]# vi example.sh
#!/bin/bash
#this is a example for shell script
pwd
ls -al

那么一个个来解释这其中的含义吧

  • 第一行#!/bin/bash 代表脚本声明,即告诉系统使用哪种命令解释器执行这个脚本。
  • 第二行#为注释信息。如果有学过C语言或者其他编程语言应该能很快了解。注释信息不会被执行。是对这个脚本功能的解释。方便他人查看脚本的时候知道这个脚本的功能。
  • 后面的就是Linux的命令,就不再赘述了。另外。Linux不以后缀名分辨文件类型。也可以说Linux中没有后缀名的概念。所以脚本名字的.sh是一个约定俗成的规矩 表示这是一个可执行的脚本。

一个写好的脚本文件可以通过bash去执行。结果如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[root@remilia ~]# bash example.sh 
/root
total 556
dr-xr-x---. 3 root root 4096 May 2 03:09 .
drwxr-xr-x. 19 root root 4096 May 2 03:05 ..
-rw-------. 1 root root 871 Mar 1 19:49 anaconda-ks.cfg
-rw-------. 1 root root 7075 Apr 18 04:17 .bash_history
-rw-r--r--. 1 root root 18 Dec 28 2013 .bash_logout
-rw-r--r--. 1 root root 176 Dec 28 2013 .bash_profile
-rw-r--r--. 1 root root 176 Dec 28 2013 .bashrc
-rw-r--r--. 1 root root 100 Dec 28 2013 .cshrc
-rw-r--r--. 1 root root 60 May 2 03:09 example.sh
-rw-r--r--. 1 root root 513076 Feb 28 04:36 GitPython-1.0.1-5.el7.noarch.rpm
-rw-------. 1 root root 46 Mar 1 21:07 .lesshst
drwxr-xr-x. 3 root root 36 Apr 17 06:01 mirrors.163.com
-rw-r--r--. 1 root root 129 Dec 28 2013 .tcshrc
-rw-------. 1 root root 808 Mar 1 21:24 .viminfo

除了用bash这种方式执行之外,还可以使用“./”去执行。但是可能会报错提示权限不足。这边先使用chmod命令给脚本执行的权限。权限部分的知识在这暂且不提。在此只需要知道脚本的另一种执行方法就行。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
[root@remilia ~]# ./example.sh
-bash: ./example.sh: Permission denied

[root@remilia ~]# chmod u+x example.sh
[root@remilia ~]# ./example.sh
/root
total 556
dr-xr-x---. 3 root root 4096 May 2 03:09 .
drwxr-xr-x. 19 root root 4096 May 2 03:05 ..
-rw-------. 1 root root 871 Mar 1 19:49 anaconda-ks.cfg
-rw-------. 1 root root 7075 Apr 18 04:17 .bash_history
-rw-r--r--. 1 root root 18 Dec 28 2013 .bash_logout
-rw-r--r--. 1 root root 176 Dec 28 2013 .bash_profile
-rw-r--r--. 1 root root 176 Dec 28 2013 .bashrc
-rw-r--r--. 1 root root 100 Dec 28 2013 .cshrc
-rwxr--r--. 1 root root 60 May 2 03:09 example.sh
-rw-r--r--. 1 root root 513076 Feb 28 04:36 GitPython-1.0.1-5.el7.noarch.rpm
-rw-------. 1 root root 46 Mar 1 21:07 .lesshst
drwxr-xr-x. 3 root root 36 Apr 17 06:01 mirrors.163.com
-rw-r--r--. 1 root root 129 Dec 28 2013 .tcshrc
-rw-------. 1 root root 808 Mar 1 21:24 .viminfo

接收用户的参数

上面这种简单的shell脚本只能执行一些预先定义好的功能。有时候需要接收用户的输入,才能更好的满足需求。

在Shell语言中,内设了用于接收参数的变量。变量之间可以用空格间隔。例如$0代表当前shell脚本程序的名称,$#对应的是总共有几个参数。、$*对应的是所有位置的参数值,$?对应的是上一个命令执行的返回值。$1 $2 $3 … $N代表第一个,第二个,第三个….第N个参数的值

阅读全文 »

First contact with linux

发表于 2018-04-17 | 分类于 Linux

写在前面的话

个人所用的是虚拟机环境,使用的是RHEL7。大体上应该没有什么太大的关系。机器是两张网卡,一张VMNET10一张VMNET1都是仅主机模式。使用SecureCRT进行连接操作。环境的搭建就不写了。

必须掌握的几个Linux命令

我们为什么要学习Linux的命令?

初学者上手Linux系统会很懵。不管你是否安装了图形化界面,或者去网上找一些教程。或者一些Linux的应用 总会看到密密麻麻的命令。很难得看懂,直接导致一些人放弃学习。这边简单用Windows举个例子吧。

阅读全文 »

EIGRP BASIC

发表于 2018-04-12 | 分类于 Network

EIGRP路由协议基础部分

EIGRP的概述

EIGRP是一种高级距离矢量路由协议,具有一定链路状态性质的距离矢量路由协议。

距离矢量路由协议:通过相邻路由器周期性更新整张路由表,获取路由信息,通过算法选出最佳路径,所有信息仅限于邻居之间共享。

链路状态路由协议:虽然只通告直连信息,但是这些信息可以在同一个区域内共享,使得路由器了解该区域的拓扑情况,构建同一区域的整张拓扑表,然后根据算法选出最佳路径。

EIGRP的高级距离矢量性:同样也构建拓扑表,但是这张拓扑表和链路状态路由协议不同的是:EIGRP的拓扑表示根据邻居传递的路由构造的,并不是根据链路状态信息。

阅读全文 »

RIP

发表于 2018-04-11 | 分类于 Network

RIP路由信息协议

路由分类

动态路由协议按照范围来分:

  • IGP(intra gateway protocol)内部网关路由协议

Rip,eigrp,ospf

  • EGP(edge gateway protocol)边界网关路由协议

Egp,bgp

动态路由协议按类型来分:

  • 距离矢量路由协议:rip,eigrp

  • 链路状态路由协议:ospf,is-is

  • 路径矢量:bgp

距离矢量路由协议

距离矢量路由协议的由来是因为路由是以矢量(距离,方向)的方式被通告出去的,其中距离是根据度量(metric)定义的,方向是根据下一跳定义的。

阅读全文 »

Static Route DHCP FR

发表于 2018-04-11 | 分类于 Network

静态路由、DHCP、帧中继

  1. 静态路由

    1. 静态路由的相关概念

路由:网络信息从信源到信宿的路径。

路由器:路由器的作用就是将各个网络彼此连接起来。

路由器主要负责将数据包传送到本地和远程目的网络,其方法是:

1.确定发送数据包的最佳路径

2.将数据包转发到目的地

图 1‑1 数据流向图

路由表简介:

路由器的主要功能是将数据包转发到目的网络,即转发到数据包目的 IP
地址。为此,路由器需要搜索存储在路由表中的路由信息。

路由表是保存在 RAM
中的数据文件,其中存储了与直连网络以及远程网络相关的信息。路由表包含网络与下一跳的关联信息。这些关联告知路由器:要以最佳方式到达某一目的地,可以将数据包发送到特定路由器(下一跳)或指定从某个接口发出(出接口)。

图 1‑2 路由表截图

阅读全文 »
12
Remilia

Remilia

18 日志
4 分类
9 标签
© 2020 Remilia