自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(69)
  • 收藏
  • 关注

原创 SD-WAN 单层网络拓扑

Partial-mesh即部分mesh拓扑,可以被看作一个特殊的Full-mesh拓扑。在希望进行Full-mesh组网的企业中,因当地运营商WAN线路覆盖率不足,部分分支站点无法同其他所有分支站点进行直接互联(此类站点下文称为P站点)。此时,可以选择一个重定向站点,该站点可以同所有站点(包括P站点)互联,从而实现P站点与所有站点互联在Full-mesh拓扑中,企业的分支站点之间如果存在业务互访流量,则数据直接交互,不需要经过其他中间站点在Hub-spoke拓扑中,一般由企业总部和数据中心作为Hu.

2021-05-26 11:09:43 1604

原创 企业WAN演进趋势--运营商专线

摘自国之重器出版工程《SD-WAN架构与技术》运营商提供的专线基本分为两大类。第一类是基于TDM技术的SDH、MSTP以及基于WDM(Wavelength Division Multiplexing,波分复用)技术的OTN等专线,这些专线是传统的点到点的物理专线,具有很强的安全性。同时,使用者独占专线资源,带宽和服务质量能够得到很好的保障,因而价格也非常昂贵。金融行业的企业用户对广域线路的质量、通信的安全性和私密性的要求很高,往往选用这类专线。第二类是基于分组交换技术的MPLS VPN专线,也可以称.

2021-05-24 10:59:13 1656 1

转载 OSPF基础

资料摘自华为官方网站:http://support.huawei.com/carrier/docview!docview?nid=SC0000808981#11目 录10  OSPF10.1  介绍10.2  原理描述10.2.1  OSPF基础10.2.2  OSPF协议基本概念10.2.3  OSPF协议基本原理10.2.

2016-10-15 16:55:41 6796 1

原创 又快一年没来CSDN了,记录一下,从今天开始写写segment-routing相关的学习记录

又快一年没来CSDN了,记录一下,从今天开始谢谢segment-routing相关的学习记录

2016-10-07 10:47:13 3837 2

原创 学习资源分享,想了解某个协议的基础知识可以去H3C的网站学习,挺好~~

http://www.h3c.com.cn/Products___Technology/Technology/ComwareV5/一些基础的都可以学习,分享下,mark一下

2015-09-07 23:33:50 808

转载 MPLS基本技术介绍

原文转自自H3C公司:http://www.h3c.com.cn/Products___Technology/Technology/MPLS/Other_technology/Technology_recommend/200805/606207_30003_0.htm再次学习了下MPLS基础知识,mark一下~~!!!目  录MPLS BasicsMPLS简

2015-09-07 22:51:55 42926 4

转载 WindowsXP下Ubuntu 12.04硬盘安装方法

每次装系统时,都要找下方法,麻烦,这里在自己博客里保存一下~~!需要的朋友也可以看下。转自http://jewelseeker.blog.163.com/blog/static/58027093201232852659795/分区配置:在WindowsXP中,将最后一个分区删除,作为自由空间(free space),在linux安装过程中,选择自定义分区,分区建议:/

2012-06-24 11:11:42 2591 1

转载 Git使用教程之二技巧篇

继续,文章转自:http://www.jz123.cn/text/2129570.html上一篇介绍了Git的基本概念和一些基本命令,本篇的重点在如下三个部分:个性化定制你的Git,更酷更巧妙的使用Git,以及如何在Git Hub上开启你自己的开源项目。在所有技巧中,最重要的技巧是学会查看Git的帮助,因为Git是一个相对复杂的版本控制工具,如果你熟悉它的命令,那么给你带来的价值是不言而喻

2012-05-09 00:33:25 702

转载 Git使用教程之一基础篇

最近打算用下Git进行版本控制,学习了一下~~~~!文章转自:http://www.jz123.cn/text/2129569.htmlGit是一个分布式的版本控制工具,本篇文章从介绍Git开始,重点在于介绍Git的基本命令和使用技巧,让你尝试使用Git的同时,体验到原来一个版本控制工具可以对开发产生如此之多的影响,文章分为两部分,第一部分介绍Git的一些常用命令,其中穿插介绍Gi

2012-05-09 00:22:22 514

转载 MPLS TE RSVP 工作原理详解实战手册

工作刚好需要,学习下~~!转自:http://361531.blog.51cto.com/351531/657660在文档开始之前,我认为MPLS TE的信令协议是有必要知道的。RSVP-TE--协议本身比较成熟,已经规模应用。--基于软状态,扩展性比较差。CD-LDP--协议比较新,不太成熟,基本没有应用。--基于硬状态,扩展性

2012-05-07 22:52:17 4047 1

转载 简明 Vim 练级攻略

转自:http://news.cnblogs.com/n/114383/以前只会一点VIM,发现这个不错,准备平时多学学。喜欢的朋友一起来练习~~!!!vim的学习曲线相当的大(参看各种文本编辑器的学习曲线),所以,如果你一开始看到的是一大堆VIM的命令分类,你一定会对这个编辑器失去兴趣的。下面的文章翻译自《Learn Vim Progressively》,我觉得这是给新手最好

2012-04-24 23:19:42 583

转载 10 个有趣的 Linux 命令

转自:http://planet.linuxdeepin.com/2012/04/18/10-funny-but-not-useless-linux-cmds/#more-768觉得很有意思,喜欢的朋友可以玩玩~~~~1.Cal用来显示日历的命令,若直接输入 cal 则显示当月日历。若后跟参数-j,则显示本日为当年的第几天。2.timetim

2012-04-22 17:53:05 1154

原创 ubuntu共享wifi(AP)给安卓(Android)手机,如何查看ubuntu无线网卡是否支持AP(master )模式

本来打算在ubuntu系统上建立一个热点,然后共享网络给自己的Android手机,发现Android不支持Ad-hoc模式的WiFi。于是查资料,发现可以使用AP模式共享,开始高兴坏了,但是再次悲剧了,自己的网卡是Intel WiFi Link 5100,该网卡LINUX下不支持AP模式(windows是否支持没研究)。所以有类似想法的朋友,建议先查看一下自己的无线网卡是否支持AP

2012-04-20 22:09:22 15227 2

原创 ubuntu的root默认密码

Ubuntu安装后root是没有默认的密码的,因为你还没给root设置密码,你第一个 user 是在 admin 组,他可以给 root 设置密码,所以大家不要费脑筋想当初自己设的密码是多少了,因为根本就不存在。端口输入如下命令:sudo passwd root[sudo] password for you :---> 输入你的密码,不回显Enter new UNIX pa

2012-04-18 00:20:08 1929

转载 vim7.2中文乱码解决方法

转自:http://www.cnblogs.com/hustcat/archive/2010/07/29/1788179.html这个问题困扰我几天了。网上查了许久,由于说得不到位,一直没解决,今天又折腾了一下,终于搞定。1、下载可到http://www.vim.org/下载最新的7.2。2、安装编译之前,先要configure --help查看一下配置选项,

2012-04-18 00:16:42 813

转载 Vim+cscope+ctags+tags linux下阅读源代码 [转]

转至:http://zhwen.org/?p=articles/cscope-tagslinux源代码提供了制作cscope索引文件和tags文件的make命令。一,软件安装先安装cscope:sudo apt-get install cscope在安装ctags:http://ctags.sourceforge.net/可以使用:ctags –version

2012-04-08 22:51:26 703

转载 RAM、ROM、SRAM、SSRAM、SDRAM、Flash Memory

RAM:RAM(随机存取存储器)RAM -random access memory 随机存储器。存储单元的内容可按需随意取出或存入,且存取的速度与存储单元的位置无关的存储器。这种存储器在断电时将丢失其存储内容,故主要用于存储短时间使用的程序。 按照存储信息的不同,随机存储器又分为静态随机存储器(Static RAM,SRAM)和动态随机存储器(Dynamic RAM,DRAM)。ROM

2012-03-22 23:59:20 1319

原创 通用寄存器 段寄存器

通用寄存器8 个通用寄存器是 8086 寄存器的超集,它们的名称和用途分别为:EAX 一般用作累加器EBX 一般用作基址寄存器( Base )ECX 一般用来计数( Count )EDX 一般用来存放数据( Data )EBP 一般用作堆栈指针( Stack Pointer )EBP 一般用作基址指针( Base Pointer )ESI 一般用作源变址( Source Index )EDI 一般

2012-03-03 22:57:39 3074

原创 毒性逆转 水平分割。。

详细解析可以参考:http://wenku.baidu.com/view/e84a2c778e9951e79b89273f.html为了避免无穷计算,RIP协议规定路由的最大METRIC为15跳, 大于15跳表示网络不可达。这种规定限制的RIP的应用范围, 它只能适用于中小网络,

2011-07-06 23:46:59 10905

转载 程控交换机、电话交换机、什么是交换机、网络交换机

<br />什么是程控电话  <br />1、什么是程控电话 <br />程控电话是指接入程控电话交换机的电话,程控电话交换机是利用电子计算机来控制的交换机,<br />它以预先编好的程序来控制交换机的接续动作。此程控电话与一般机电式交换机的电话相比,具有<br />接续速度快、业务功能多、交换高、声音清晰、质量可靠等优点。<br />2、程控电话有哪几种特殊信号音<br />1.特种拨号音:是一种“嘟、嘟……、嘟、嘟……”的一短一长的声音。当您的电 话登记了某种新<br />业务功能后,您拿起听筒听到的拨

2011-05-08 21:56:00 17128

原创 C笔试题

<br /><br />1. 下面这段代码的输出是多少(在32位机上).<br />    char *p;<br />    char *q[20];<br />    char *m[20][20];<br />    int (*n)[10];<br />    struct MyStruct<br />    { <br />      char dda; <br />      double dda1; <br />      int type ;<br />    }; <br />    My

2011-05-06 01:47:00 1858

转载 二维数组和二级指针的传递问题

引自:http://www.wutianqi.com/?p=1822借道面试题引出问题,题目:char **p, a[16][8];  问:p=a是否会导致程序在以后出现问题?为什么?可能有一部分朋友会回答正确,这里他们认为,a[]是一级指针,a[][]就是二级指针。那这个到底对不对呢?OK,用事实说话:1234567891011121314151617// Author: Tanky Woo// Blog: www.WuTianQi

2011-05-06 01:28:00 974

原创 斐波那契数列-递归实现

<br /><br />斐波那契数列:<br />设F(n)为该数列的第n项(n∈N+)。那么这句话可以写成如下形式:<br /><br />  F(0) = 0,F(1)=F(2)=1,F(n)=F(n-1)+F(n-2) (n≥3)<br />从第3项开始,每项都是前两项之和,显然这是一个线性递推数列。<br /> <br />具体此数列的介绍请参考:http://baike.baidu.com/view/816.htm<br /> <br />#include <stdio.h><br /> <br

2011-05-06 00:08:00 611

原创 【链表】如何查找单链表的倒数第n个指针

<br /><br />算法一:第一次遍历到链表末尾,找到链表长度N;第二遍遍历,找到第N-n个节点。<br />算法二:设立两个指针,p1指向头节点,p2往前走n步,这样,p2与p1之间间隔n个指针。这样,当p2到达末尾是,p1则为倒数第N-n个节点。<br /> <br />Node *lastN(Node *head)<br />{<br />        Node *p1=head,*p2=head;<br />        for(int i=0;i<n;i++)<br />        {

2011-05-05 23:35:00 553

原创 【链表】如何查找单链表的倒数第n个指针

<br /><br />算法一:第一次遍历到链表末尾,找到链表长度N;第二遍遍历,找到第N-n个节点。<br />算法二:设立两个指针,p1指向头节点,p2往前走n步,这样,p2与p1之间间隔n个指针。这样,当p2到达末尾是,p1则为倒数第N-n个节点。<br /> <br />Node *lastN(Node *head)<br />{<br />        Node *p1=head,*p2=head;<br />        for(int i=0;i<n;i++)<br />        {

2011-05-05 23:35:00 740

原创 【链表】将一个链表反转

<br /><br />typedef struct linknode<br />{<br />    int data;<br />    struct linknode *next;<br />}node;<br /> <br />//将一个链表逆置<br />node *reverse(node *head)<br />{<br /><br />    if ( head == NULL || head->next == NULL )<br />    {<br />        return he

2011-05-05 23:22:00 581

原创 怎么判断链表中是否有环

<br /><br />思路就是弄两个指针,开始指向不同的链表不同的位置,然后1个指针移动间隔是1,一个指针移动间隔是2,如果快的能追上慢的,那说明就有环了。就如何两个人绕圈跑步,速度不一样,如果速度快的能追上慢的,那说明跑道是环型的。<br /> <br />bool CircleInList(Link* pHead)<br />{<br />    if (pHead = = NULL || pHead->next = = NULL)//无节点或只有一个节点并且无自环<br />    {<br /> 

2011-05-05 23:13:00 1182 2

原创 C语言中auto register static const volatile

1)auto  这个关键字用于声明变量的生存期为自动,即将不在任何类、结构、枚举、联合和函数中定义的变量视为全局变量,而在函数中定义的变量视为局部变量。这个关键字不怎么多写,因为所有的变量默认就是auto的。 (2)register  这个关键字命令编译器尽可能的将变量存在CPU内部寄存器中而不是通过内存寻址访问以提高效率。 (3)static  常见的两种用途:    1>统计函数被调用的次数;    2>减少局部数组建立和赋值的开销.变量的建立和赋值是需要一定的处理器开销的,特别是数组等含有较多元素的存

2011-04-25 23:43:00 688

原创 为什么开机时间(秒)要从1970年1月1日0时开始计算

<br />最初计算机操作系统是32位,而时间也是用32位表示。<br /><br />(Integer.MAX_VALUE);<br />2147483647<br /><br /><br /><br />Integer用32位表示,因此32位能表示的最大值是2147483647。另外1年365天的总秒数是31536000,<br /><br />2147483647/31536000 = 68.1<br /><br />也就是说32位能表示的最长时间是68年,而实际上到2038年01月19日03时14分

2011-04-18 01:28:00 5634

转载 『转载』__asm__ __volatile__ GCC的内嵌汇编语法 AT&amp;T汇编语言语法

<br />__asm__ __volatile__ GCC的内嵌汇编语法 AT&T汇编语言语法<br />这篇帖子由于没署作者名,所以我转的时候也没怎么署,但还是谢谢了。<br />AT&T ASM Syntax<br />1 Overview <br />开发一个OS,尽管绝大部分代码只需要用C/C++等高级语言就可以了,但至少和硬件相关部分的代码需要使用汇编语言,另外,由于启动部分的代码有大小限制,使用精练的汇编可以缩小目标代码的Size。另外,对于某些需要被经常调用的代码,使用汇编来写可以提高性能。

2011-04-17 21:52:00 7989 2

原创 __asm__ volatile 之 C语言嵌入式汇编

在linux/include/unistd.h中定义的系统调用嵌入汇编宏函数_syscall0。其实展开不难发现就是一个函数,只不过用宏定义了。其中关键的是怎么理解 __asm__ volatile这个语法。对于__asm__ volatile这个固定形式,我们暂且不理会它,关键看懂()里面的含义。以下面这个为例子先简要介绍一下这个用法。插入C语言的一个汇编语言代码片段可以分成4部分,以“:”号加以分隔,其一般形式为:指令部:输出部:输入部:损坏部static __inline__ void atomic_

2011-04-17 15:55:00 27204

原创 读head.S

<br />引自《linux内核0.11完全注释》<br />非常感谢赵老师,注释的很详细,我边看边写,基本1 2遍就能懂!<br /> <br />/* head.s 2011-04-12<br /> * 注意: 本程序是采用AT&T的汇编格式,需要使用GUN的gas和gld2进行编译链接<br /> * 注意代码的赋值方向是从左到右<br /> * head.s含有32位启动码。<br /> * 注意32位的启动码是从绝对地址0x00000000开始,这里同样也是页目录存放的地方<br />   因此启

2011-04-13 23:34:00 1394

原创 fninit fstsw指令

<br />读head.S的时候,遇到这几个指令,google一下,解析如下:<br /> <br />引自:http://www.oldlinux.org/oldlinux/viewthread.php?tid=5829<br />这两条是有关这是80X87数学协处理器指令。<br />finit 向协处理器发出初始化命令,它会把协处理器置于一个未受以前操作影响的已知状态,设置其控制字为默认值、清除状态字和所有浮点栈式寄存器。非等待形式的这条指令(fninit)还会让协处理器终止执行当前正在执行的任何先前

2011-04-13 23:31:00 5559

转载 lea指令!

<br />最近在看linux-0.11内核,看到lea这个指令,google搜索了一下,转给大家,一起学习@!<br /> <br />先看这个这个语法格式吧:<br />对AT&T来说,寻址方式比较怪异,但又非常简洁,语法格式如下:segreg:base_address(offset_address, index,size) ;例子movl %eax, label1(, $2, $4)movl %ebx,(label2, $2,)movl %ecx,(%esp)<br />其效果为

2011-04-12 22:20:00 21571

转载 什么是 A20

Unix 的 boot loader 里,在最开始部分有段代码是用来打开 A20 的。什么是 A20 呢?为什么不让它默认为打开,而是每次系统启动时都要打开它呢?原来这个是计算机的历史遗留问题。在 8088 的时候,计算机只有 20 条地址线,所以只能寻址 1 MB 的范围。PC 通常用两个 16 位寄存器寻址,一个存 selector,一个存 offset,即 selector:offset,计算得到的地址就是 selector*16+offset。这样,最大的地址就是 FFFF:FFFF,即 0x10F

2011-04-12 00:53:00 2521

原创 读setup.s

原文出处 《linux内核0.11完全注释》! bootsect.s 2011-04-10! setup.s负责从BIOS中获取系统数据,并将这些数据放到系统内存的适当位置。! 此时setup.s和system已经由bootsect引导加载到内存中! 这段代码询问bios有关内存/磁盘/其他参数,并将这些参数放到一个"安全的"地方:! 0x90000-0x901FF, 也即原来bootsect代码块曾经在的地方,然后在被缓冲块覆盖掉之前! 由保护模式的system读取INITSEG = 0x9000SYSS

2011-04-12 00:40:00 1182

原创 读bootsect.s

<br />原文出处 linux内核0.11完全注释。重写一遍!!<br /> <br />! bootsect.s 2011-04-06<br />! 处理基本步骤:<br />! 1. bootsect.s 被BIOS-启动子程序加载至0x7c00(31k)处,并将自己<br />! 移到了地址0x90000(576k)处,并跳转至那里;<br />! <br />! 2. 使用BIOS中断将setup直接加载到自己的后面(0x90200)(576.5k),<br />! 并将system加载至地址0x

2011-04-11 00:08:00 1024

转载 seg cs是什么意思,看看这里就知道了!

<br />【转帖】<br />先讲一下寄存器的默认组合问题,比如指令mov   [si],   ax表示将ax中的内容存入ds:si指向的内存单元,也就是说在寄存器间接寻址的情况下,以si间接寻址时总是默认以ds为相应的段地址寄存器。同样di是以es为默认的段地址寄存器。 <br />第二个要了解的是“段超越”的问题,就是在某些时候你不想使用默认的段地址寄存器,那 <br />么你可以强制指定一个段地址寄存器(当然这种强制是在允许的情况下,建议看一下汇编 <br />教材上的说明),同上例mov   [s

2011-04-07 21:44:00 4954

原创 常用中断(转)

常用中断<br />以下为原文地址:<br />中断大全<br />了解哪些某某中断某某功能号是干什么用的,碰到时供查询用<br />中断大全:<br />http://www.oldlinux.org/Linux.ol ... ts/int-html/int.htm<br />常用中断:<br />http://www.cnblogs.com/huqingyu/archive/2005/02/19/105926.html<br /> INTAH功能调用参数返回参数10 <br /><br /><br />

2011-04-06 21:40:00 999

原创 好久没来了~~

<br />今天一看都半年没来了,今天开始继续,加油!!!!学习linux~~坚持!!

2011-04-03 15:20:00 454

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除