- 博客(27)
- 资源 (6)
- 收藏
- 关注
原创 DHCP其他
1.DHCP SERVER给终端的响应报文是广播还是单播,一般都是广播形式:这个是由DHCP DISCOVER数据包中相关的标志位决定。见DHCP之数据包2.discover包为啥是广播形式当终端发出DHCP请求报文,它并不知道DHCP SERVER的IP地址,因此IP头中的DstIp填为有限的子网广播IP——全1(广播),以保证DHCP SERVER的IP协议栈不丢弃
2017-08-24 22:53:34
406
原创 DHCP交互
以下是最常见的DHCP交互过程,共四步:1.DHCP DISCOVER客户端在向内网中的DHCP服务器请求进行DHCP交互2. DHCP OFFERDHCP服务器对客户端的请求进行回应,在回应之前,DHCP会先对将要进行分配的IP进行ARP确认,确认当前子网没有客户端在使用这个IP。可以看到,DHCP的OFFER回应中包含了IP地址、DNS服务器IP
2017-08-24 22:46:54
1030
原创 DHCP之数据包
1.DHCP共有八种报文,不同报文之间的区别除了DHCP数据包本身之外,在封包上(UDP头,IP头、链路层头)也有一些差别1)DHCP DiscoverDHCP客户端请求地址时,并不知道DHCP服务器的位置,因此DHCP客户端会在本地网络内以广播方式发送请求报文,这个报文成为Discover报文,目的是发现网络中的DHCP服务器,所有收到Discover报文的DHCP服务器都会发送回应
2017-08-24 22:39:21
10638
原创 DHCP之简介
1. DHCP简介DHCP 是 Dynamic Host Configuration Protocol之缩写。它的前身是BOOTP点击打开链接。DHCP 可以说是BOOTP的增强版本﹐它分为两个部份(C/S架构): 一个是服器端,而另一个是客户端。所有的IP网路设定资料都由DHCP服器集中管理﹐并负责处理客户端的DHCP要求﹔而客户端则会使用从DHCP服务器分配下来的IP环境资料。比较起BOO
2017-08-24 22:11:48
568
转载 linux core
http://www.cnblogs.com/dongzhiquan/archive/2012/01/20/2328355.html
2017-08-20 11:46:19
231
转载 gettimeofday()函数的使用方法
转自:http://blog.csdn.net/zuihoudebingwen/article/details/16843727
2017-07-31 11:41:51
461
原创 git
五制作patch1.如果应用了某一个补丁之后想恢复原来的文件,那么使用参数 -R,例如:1) 首先打了一个补丁$ patch -p1 2)然后想恢复原来的文件,那么$ patch -R -p1 2.如果要为多个文件制作补丁,那么可以使用 git 来快速生成,因为 git 是一个局部目录的库,所以不会有多余开销。1)创建 git$ cd src$ gi
2017-07-30 22:42:23
305
转载 用U盘制作启动盘后空间变小的恢复方法
工具/原料不需任何工具,只需要输入几个命令即可。如果记不住命令就用工具吧。UD隐藏分区删除工具方法/步骤11)先把u盘插好,2)运行cmd(按住键盘左下角第二个windows键的同时按R),3)输入diskpart,回车,(此时可以再输入list disk,回车,能看到这台电脑的所有磁盘
2017-07-13 18:11:22
1971
原创 ARP
简介 1. 什么是ARP?ARP (Address Resolution Protocol) 是个地址解析协议。根据IP地址获取物理地址,是TCP/IP族的一个协议 2. 为什么要有ARP?OSI 模式把网络工作分为七层,各层之间彼此不直接打交道。协议在发生数据包时,首先要封装第三层 (IP地址)和第二层 (MAC地址)的报头, 但协议只知道目的节点的IP地址,不知道其
2017-07-05 17:52:30
728
转载 MAC地址和组播地址的转换
就以太网而言,IP组播帧都使用以0x0100.5Exx.xxxx的24位前缀开始MAC层地址。剩下24位地址由于某些原因只有这些MAC地址的一一部分(即后23位)可以被IP组播使用。因剩下的MAC地址空间的23位作为第3层IP组播地址进入第2层MAC地址的映射使用。因为所以的第3层IP组播地址必须把32位的前4位设成0x1110,剩下28位作为有意义的IP组播地址信息。这28位必须映射成可用的只有
2017-06-27 00:19:47
2784
转载 IP地址
1、先总的来看ip地址分类A类 :00000000×××——01111111××× 0.0.0.0 —— 127.255.255.255 B类 :10000000,00000000×××——10111111,11111111××× 128.0.0.0——191.255.255.255C类 :110000
2017-06-27 00:18:57
1167
原创 unicast、multicast和broadcast
unicast:单播单播:Internet上最普遍的、一对一 的传输方式 1. 我们知道,数据包在网络中传递时,就像邮件一样,数据包头含有发信人地址和收信人地址。 2. 如果两个地址在同一个子网内,可以直接根据收方地址来判断由哪台主机接收。如果在不同的子网,就要通过路由器转发到另一个子网,最终把数据包送到另一个子网的目的主机上。 3. 网络中的交换机和路由器对数据只进行转发不进行复制。单
2017-06-27 00:11:14
1581
转载 域作用符
域作用符域作用符主要用来限定变量的作用域 比如:#include#include "string.h"using namespace std;int num = 10; //全局空间int main(){ int num = 20; //栈空间 cout "当前num的值为:"<<num << endl; system("pause");
2017-04-08 11:41:15
530
原创 MAC地址
不合法MAC地址:MAC地址 什么样的MAC地址是合法的?wifi地址第1个字节的低2bit必需为0,比如:00-12-22-33-44-78(这个是合法的),03-12-22-33-44-78(是不合法的)。这两个位有特殊含义。MAC地址的第1个字节的8个BIT从低位到高位分别用BIT1~BIT8表示。 1). BIT2:0代表 Universal
2017-03-02 11:53:34
1952
转载 exit、return、_exit函数的区别
_exit:直接使进程终止运行,清除其使用的内存空间,并销毁其在内核中的各种数据结构。exit()关闭所有文件,终止正在执行的进程。 从图中可以看出,_exit 函数的作用是:直接使进程停止运行,清除其使用的内存空间,并清除其在内核的各种数据结构;exit 函数则在这些基础上做了一些小动作,在执行退出之
2017-03-01 13:47:34
454
转载 arm linux kernel 从入口到start_kernel 的代码分析
转载自:http://bbs.chinaunix.net/thread-2039668-1-1.html本文针对arm linux, 从kernel的第一条指令开始分析,一直分析到进入start_kernel()函数.我们当前以linux-2.6.19内核版本作为范例来分析,本文中所有的代码,前面都会加上行号以便于和源码进行对照,例:在文件init/main.c中:00478:
2017-02-24 09:13:18
1372
转载 platform_driver_register(),platform_device_register()区别
inux内核设备驱动分为字符设备,快设备和网络设备这三种,没错吧?在编写驱动的时候用register_chrdev(),register_blkdev(),register_netdev()来注册驱动,但是我看2.6的内核代码则包含了platform_driver_register(),platform_device_register()这样的函数来注册,有什么区别或者特别之处吗?请问在linux
2017-02-23 15:28:04
1659
转载 perror()与strerror()的应用
perror() 和 strerror() 以一种直观的方式打印出错误信息,对于调试程序和编写优秀的程序非常有用。下面是perror() 与 strerror() 的使用范例及区别:perror()原型:#include void perror(const char *s);其中,perror()的参数s 是用户提供的字符串。当调用perror()时,它输出这个字符串,后面
2017-02-17 14:58:06
289
转载 重载、覆盖、隐藏的区别
学习过C++基础课程的人,对重载函数的概念相对熟悉一些,但是对覆盖和隐藏就相对陌生了,在编程技术的学习上,你会发现一个规律,很多知识点你都知道,但是一旦用起来,就常常出错,为什么呢?笔者一直都在探索这个问题。。重载函数有哪些特性呢? 《高质量C++/C编程指南》已经清晰的列出了重载函数的特性: (1)相同的范围(在同一个类中); (2)函数名字相同;
2017-02-09 11:03:56
233
原创 wifi扩频相关知识
wifi调制时一般都说11b是cck调制,11g是OFDM。但实际上wifi有DBPSK,DQPSK,CCK,BPSK,QPSK,16QAM,64QAM这几种,802.11b 1M、2M是先用barker码扩频(1M扩展到11M),然后再用BPSK/QPSK调制,俗称DSSS802.11b 5M、11M是用CCK编码进行扩频,然后再进行BPSK/QPSK调制,俗称CCK802.
2017-02-08 16:37:26
8498
1
原创 wifi驱动的通用的软件架构
1. 分为两部分,上面为主机端驱动,下面是我们之前所说的firmware2. 其中固件部分的主要工作是:因为天线接受和发送回来的都是802.11帧的帧,而主机接受和传送出来的数据都必须是802.3的帧,所以必须由firmware来负责802.3的帧和802.11帧之间的转换,3. 当天线收到数据,并被firmware处理好后会放在一个buffer里,并产生一个中断,主机在收到中断后就去读这
2017-02-08 16:35:44
605
转载 JAVA和C++区别
Java和C++都是面向对象语言。也就是说,它们都能够实现面向对象思想(封装,继乘,多态)。而由于c++为了照顾大量的C语言使用者, 而兼容了C,使得自身仅仅成为了带类的C语言,多多少少影响了其面向对象的彻底性!JAVA则是完全的面向对象语言,它句法更清晰,规模更小,更易学。它是在对多种程序设计语言进行了深入细致研究的基础上,据弃了其他语言的不足之处,从根本上解决了c++的固有缺陷。 Jav
2017-02-08 11:43:04
170
转载 Linux下undefined reference to ‘pthread_create’问题解决
接触了Linux系统编程中的线程编程模块,可gcc sample.c(习惯把书上的sample代码写进sample.c文件中)出现“undefined reference to ‘pthread_create’”,所有关于线程的函数都会有此错误,导致无法编译通过。问题的原因:pthread不是Linux下的默认的库,也就是在链接的时候,无法找到phread库中哥函数的入口地址,于是链接
2017-02-08 10:51:59
628
转载 void main()和int main()
最近在论坛上看到有不少网友的程序中,main函数都写成void main(),而不是int main()。那么,到底哪个是正确的,或至少是推荐使用的呢?这篇文章本来是自己想写的,但有些概念不是很清楚,于是在网上搜索了一下,发现了moon网友的一篇非常好的文章,对很多模糊不清的概念都讲解的非常清楚,值得学习和借鉴,特转载过来,一起学习。全文如下: main函数的返回值大家注意了吗,也许
2017-02-07 17:04:18
1123
原创 wlan之11n速率计算
802.11n采用了MIMO多天线技术,当存在两根天线(即假如是2X2时),在每种带宽下它存在16种速率(记为MCS0-MCS15,MCS:Modulation and coding scheme)(当有3根或者4根天线都同时能够发射数据的时候,理论上应该是1根天线时的3倍或4倍)。这16种速率分别是: HT20时:(MCS0-MCS7) 6.5M、13M、19.5M、26M、39M、5
2016-08-29 21:31:14
6809
转载 wlan之802.11n原理解析
1.1 802.11n标准发展历程IEEE 802.11工作组意识到支持高吞吐将是WLAN技术发展历程的关键点,基于IEEE HTSG (High Throughput Study Group)前期的技术工作,于2003年成立了Task Group n (TGn)。n表示Next Generation,核心内容就是通过物理层和MAC层的优化来充分提高WLAN技术的吞吐。由于802.11n
2016-08-29 21:23:04
1964
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人