地址

区间DP的学习(持续更新)

╄→гoц情女王★ 提交于 2020-01-25 13:11:45
例题: 1.Multiplication Puzzle 原题地址:http://poj.org/problem?id=1651 2.Dire Wolf 原题地址:http://acm.split.hdu.edu.cn/showproblem.php?pid=5115 3.男神的礼物 原题地址:http://acm.uestc.edu.cn/#/problem/show/1131 4.You Are the One (难) 原题地址:http://acm.split.hdu.edu.cn/showproblem.php?pid=4283 5.Coloring Brackets 原题地址:http://www.codeforces.com/contest/149/problem/D 6.柱爷的恋爱 原题地址:http://acm.uestc.edu.cn/#/problem/show/1321 区间DP主要涉及两类问题,区间最优解和区间计数。 区间最优解往往要枚举区间的分界点,分割区间,子区间的最优解合并之后就是原区间的最优解。 区间计数往往也要分割区间,但是有不遗漏不重复的要求,以上的两道题都用到了枚举左端点对应元素的技巧。 区间的分割是区间DP的重要思想 来源: https://www.cnblogs.com/pearfl/p/10733170.html

ARP(地址解析协议)

不打扰是莪最后的温柔 提交于 2020-01-25 10:13:04
目录 1. ARP 概述 2. ARP 协议工作原理 3. ARP 缓存 4. ARP 报文格式 5. 抓包分析 5.1. ARP 请求报文 5.2. ARP 应答报文 6. 免费 ARP 7. ARP 代理 8. ARP 攻击 [参考文献] 1. ARP 概述 地址解析协议 ,即 ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。 它是IPv4中网络层必不可少的协议,不过在IPv6中已不再适用,并被邻居发现协议(NDP)所替代。 主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机 ARP缓存 中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。 地址解析协议是建立在网络中各个主机互相信任的基础上的 ,网络上的主机可以自主发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记入本机ARP缓存;由此攻击者就可以向某一主机发送伪ARP应答报文,使其发送的信息无法到达预期的主机或到达错误的主机,这就构成了一个ARP欺骗。ARP命令可用于查询本机ARP缓存中IP地址和MAC地址的对应关系、添加或删除静态对应关系等。相关协议有RARP、代理ARP。 网络层使用的是 IP 地址

第二章ARP——地址解析协议

对着背影说爱祢 提交于 2020-01-25 08:41:06
本章我们要讨论的问题是只对 T C P / I P协议簇有意义的I P地址。数据链路如以太网或令牌 环网都有自己的寻址机制(常常为 48 bit地址),这是使用数据链路的任何网络层都必须遵从 的。一个网络如以太网可以同时被不同的网络层使用。例如,一组使用 T C P / I P协议的主机和 另一组使用某种P C网络软件的主机可以共享相同的电缆。 当一台主机把以太网数据帧发送到位于同一局域网上的另一台主机时,是根据 48 bit的以 太网地址来确定目的接口的。设备驱动程序从不检查 I P数据报中的目的I P地址。 地址解析为这两种不同的地址形式提供映射: 32 bit的I P 地址和数据链路层使用的任何类型的地址 1.一个例子 任何时候我们敲入下面这个形式的命令: % ftp bsdi 都会进行以下这些步骤。这些步骤的序号如图 4 - 2所示。 应用程序FTP客户端调用函数g e t h o s t b y n a m e(3)把主机名(bsdi)转换成32 bit的IP地址。这个函数在D N S(域名系统)中称作解析器,我们将在第1 4章对它进行介绍。这个转换过程或者使用DNS,或者在较小网络中使用一个静态的主机文件(/e t c / h o s t s)。 F T P客户端请求T C P用得到的I P地址建立连接。 T C P发送一个连接请求分段到远端的主机,即用上述 I

『TCP/IP详解——卷一:协议』读书笔记——11

落花浮王杯 提交于 2020-01-25 08:39:03
2013-08-23 20:00:18 第4章 ARP:地址解析协议 4.1 引言   ARP(Address Resolution Protocol,地址解析协议)是获取物理地址的一个TCP/IP协议。物理地址就是我们通常说的MAC地址。当一台主机把以太网数据帧发送到位于同一局域网上的另一台主机时,是根据48bit的以太网地址来确定目的接口的。设备驱动程序从不检验IP数据报中的目的IP地址。地址解析为这两种不同的地址形式提供映射:32bit的IP地址和数据链路层使用的任何类型的地址。ARP为IP地址到对应的硬件地址之间提供动态映射。我们之所以用动态这个词是因为这个过程是动态完成的,一般应用程序用户或系统管理员不必关心。   RARP(Reverse Address Resolution Protocol,反向地址转换协议)是被那些没有磁盘驱动器的系统使用(一般是无盘工作站或X终端),它需要系统管理员进行手工设置。我们在下一章进行讨论。 4.2 一个例子 上图是一个基本完整的通信过程,主要为了解释ARP的工作步骤。书上用 % ftp bsdi 这个命令作为示范,意思是向bsdi主机请求ftp协议链接。工作过程如下: 1. 应用程序FTP客户端调用函数gethostbyname(3)把主机名(bsdi)转换成32bit的IP地址。这个函数在DNS(域名系统)中称作解析器

prometheus监控HAProxy

回眸只為那壹抹淺笑 提交于 2020-01-25 07:28:43
从Prometheus官方网站可以看到,官方网站已经有支持对HAProxy软件的exporter,我们从官方网站下载下来进行使用,也可以通过下载HAProxy的项目地址,通过编译进行部署。 github项目地址 https://github.com/prometheus/haproxy_exporter 二进制可执行程序地址 https://prometheus.io/download/ 原理解析 通过查看源码,haproxy_exporter是对uri地址获取到的csv内容进行解析,所以需要配置HAProxy,以便暴露HAProxy的状态信息。 func ( e * Exporter ) scrape ( ch chan <- prometheus . Metric ) ( up float64 ) { e . totalScrapes . Inc ( ) body , err := e . fetch ( ) if err != nil { level . Error ( e . logger ) . Log ( "msg" , "Can't scrape HAProxy" , "err" , err ) return 0 } defer body . Close ( ) reader := csv . NewReader ( body ) reader .

C语言指针

此生再无相见时 提交于 2020-01-25 00:32:54
指针 指针 指针变量的定义语法 取地址运算符:& 间接运算符:* 空指针 void指针 malloc函数 const 常量指针 常量指针 常量指针变量 指针常量 指针与数组 通过指针变量访问数组 数组指针 指针数组 指向函数的指针(函数指针) 指针 指针 就是内存地址,指针变量就是存储地址的变量. 作用: 使用指针可提高程序的编译效率和执行速度,是程序更加简洁;通过传递指针参数,使被调用函数可向主调函数返回除正常的返回值之外的其他数据,从而达到两者之间的双向通信;还有一些任务,如动态内存分配,没有指针是无法执行的;指针还用于表示和实现各种复杂的存储结构(如链表),从而为编写出更高质量的程序奠定基础;利用指针可以直接操纵内存地址,从而可以完成和汇编语言类似的工作. c语言提供 两种指针运算符 : * 和 & . 指针变量的定义语法 指针变量的定义语法: 数据类型 * 变量名 [ = 初值 ]; 指针变量定义时,数据类型并不是指指针变量的数据类型,而是其所指目标对象的数据类型.例如: int* p ;定义 p 是指针变量,可以存储 int 型变量的地址,p 变量的类型是 int*,而不是 int.这是告诉编译器, p 变量只能存储整型变量的空间地址,不能存储其他类型空间的地址 取地址运算符:& p = &a; 表明得到整型变量 a 的地址,并把该地址存入指针变量 p 中

学习杂记十五:页面大小4KB,为什么是B不是b

为君一笑 提交于 2020-01-25 00:12:05
答案来源: https://zhidao.baidu.com/question/260315603.html 操作系统页面大小4KB 计算机操作系统中分页存储管理方式这样讲: 其中0~11位为页内地址,即每页的大小为4KB; 但是B表示的不是字节吗,不是应该用b吗?4Kb。 在后面又讲每个页面项占一个字节,一共一兆个,要占用1MB,显然这个B就是字节,是不是前边的4KB的B用错了呀,请高手指点,不懂的千万别装懂来回答,考试要用的,谢谢!!! 答: (用户一)没有用错,内存的访问一定是按字节来访问的,不会一个一个页内地址只对应一个二进制的位。所以每个页内地址其实代表的就是一个字节的存储空间。 12位的地址也就是4KB的存储空间。 (用户二)其实不用理解的太拘束,你这样来理解马上就懂了: 0~11位一共是12位,对应了多少个呢?2的12次方个,也就是4096个内存地址 然后呢,一个内存地址处存储的内容是多大呢?当然是一个字节啦,比如以下内存地址和内存内容列表: 地址 值 0x01 4B 0x02 C0 0x03 12 显然,每个内存地址所存数据的大小是一byte 这样的话,4096个内存地址就是4096*1byte=4096byte=(4*1024)byte=4kB 地址应该是存储单元的地址,8位二进制作为一个存储单元 来源: CSDN 作者: 机灵大佬婷 链接: https:/

macos brew 使用ali镜像

 ̄綄美尐妖づ 提交于 2020-01-24 22:23:14
平时我们执行 brew 命令安装软件的时候,跟以下 3 个仓库地址有关: brew.git homebrew-core.git homebrew-bottles 通过以下操作将这 3 个仓库地址全部替换为 Alibaba 提供的地址 1. 替换 / 还原 brew.git 仓库地址 替换成阿里巴巴的 brew.git 仓库地址: cd "$(brew --repo)" git remote set-url origin https://mirrors.aliyun.com/homebrew/brew.git 还原为官方提供的 brew.git 仓库地址 cd"$(brew --repo)" git remote set-url origin https://github.com/Homebrew/brew.git 2. 替换 / 还原 homebrew-core.git 仓库地址 替换成阿里巴巴的 homebrew-core.git 仓库地址: cd"$(brew --repo)/Library/Taps/homebrew/homebrew-core" git remote set-url origin https://mirrors.aliyun.com/homebrew/homebrew-core.git 还原为官方提供的 homebrew-core.git 仓库地址 cd"$

通过图轻松了解各种协议

半腔热情 提交于 2020-01-24 20:05:12
了解各种协议 参考自《图解HTTP》 目录: 各种协议与HTTP协议的关系 TCP/IP协议族 IP协议 TCP协议 DNS服务 各种协议与HTTP协议的关系 TCP/IP协议族 TCP/IP协议族按层次分别分为: 应用层 , 传输层 , 网络层 , 数据链路层 发送端从应用层走,接收端则从链路层走,每经过一层必定打上一个该层所属的首部信息,反向则每经过一层时把对应的头部消去。这种把数据信息包装起来的方法叫做 封装 IP协议 负责传输的IP协议:位于网络层,把各种数据包传送给对方,保证确实送到对法那里至少需要IP地址和MAC地址。 IP地址指明节点被分配的地址,MAC地址是指网卡所属的固定地址。IP地址可以和MAC地址进行配对。IP地址可变换,MAC地址基本不会改变。 IP的通信依赖MAC地址,在网络上,通信的双发在同一局域网内情况很少的,通常是进过多台计算机和网络设备中转才能连接到对方,而在进行中转时,会利用下一站中转设备的MAC地址来搜索下一个中转目标。这时,会采用ARP协议。 ARP协议是一种用以解析地址的协议,根据通信方的IP地址就可以反查出对应的MAC地址 。 TCP协议 TCP传输层,提供可靠的字节流服务。字节流服务指为了方便传输,将大数据分割成以报文段为单位的数据包进行管理。而可靠传输服务指,能够把数据准确可靠地传给对方,TCP协议采用三次握手策略

内存管理

柔情痞子 提交于 2020-01-24 20:02:59
  在Intel 80x86体系结构中,Linux内核的内存管理程序采用了分页管理机制.利用页目录和页表结构处理内核中其他部分代码对内存的申请和释放操作.内存的管理是以内存页面为单位进行的,一个内存页面是指在地址连续的4KB内存.通过也目录项和页表项,可以寻址和管理指定页面的使用情况.   在Intel 80x86 CPU中,程序在寻址过程中使用的是由段和偏移值构成的地址.该地址并不能直接用来寻址物理内存地址,因为被称为 虚拟地址 .为了能寻址物理内存,就需要一种地址转换机制将虚拟地址映射或转换到物理内存中,这种地址转换机制就是内存管理的主要功能之一.内存管理的另外一个重要功能就是内存的值保护机制.虚拟地址通过段管理机制首先变换成一种中间地址形式–CPU32位的线性地址,然后使用内存管理机制将此线性地址映射到物理地址.   在Intel 80x86的系统中,内存管理是通过 页目录表 和 内存页表 所组成的二级表进行.    其中页目录表和页表的结构是一样的,表项结构也相同的.页目录表中的每个表项4B用来寻址一个页表,而每个页表项4B用来指定一页物理内存页面.因此,当指定了一个页目录项和一个页表项,我们就可以唯一确定所对应的物理内存页.页目录表占用一页内存,因此最多可以寻址1024个页表.而每个页表也同样占用一页内存,因此以页表可以寻址最多1024个物理内存页面.这样在80386中