地址

网络命令arp的使用和相关网络协议

泄露秘密 提交于 2019-12-05 19:50:45
arp命令用于显示本网段内其它主机IP地址和MAC的记录,也可以通过arp命令删除、添加记录。主机刚开机ARP缓存表为空,只有和本网络内其它计算机通信后才会形成记录,自动形成的记录为动态记录。 命令的参数和用法如下: (1)arp –a //显示本机缓存表中记录,可能由多个接口使用ARP,显示每个ARP表项 arp -a ip地址 //显示指定ip地址主机的MAC地址 (2) arp –s ip地址 mac地址 例如: arp –s 192.168.218.1 00-04-61-7b-dd-2b //向表中添加一条静态记录 arp –a //查看添加是否成功 (3)arp –d 192.168.218.1 //删除表中的一条记录 arp -a //查看是否删除成功 (4)用网络命令获得你本机所在网络的默认网关MAC地址 本主机默认网关为192.168.1.1,其MAC地址48-0e-ec-7c-60-89 用网络命令获得同网段其他计算机的MAC地址 ARP协议是根据IP地址获取物理地址的一个TCP/IP协议,位于网络层和数据链路层之间。 ARP协议过程: (1)当一个终端设备有IP数据包要发送时,它拿到了两个信息:自己的IP地址和IP包的目的IP地址。 (2)此终端设备查询自身的ARP表,找出目的地址的物理地址,然后将IP数据包封装成数据帧发送。若ARP表中无目的IP地址

虚拟内存

余生长醉 提交于 2019-12-05 19:49:08
虚拟内存是一种抽象,它为每个进程提供了其专有使用主内存的错觉。每个进程都具有相同的内存统一视图,称为虚拟地址空间。 在linux中,地址空间的最上部分保留给操作系统中所有进程通用的代码和数据。地址空间的下半部分保存用户进程定义的代码和数据。 每个进程看到的虚拟地址空间由许多定义明确的区域组成每个区域都有特定的用途。 - 程序代码和数据。对于所有进程,代码都从相应的固定地址开始,然后是与全局c变量相对应的数据位置。代码和数据区域直接从可执行对象文件的内容(在本例中为hello可执行文件)初始化。 - 堆。代码和数据区域紧随运行时堆之后。与代码和数据区域不同,代码和数据区域在进程开始运行之后便会固定大小,而由于调用了C标准库历程,堆在运行时会动态扩展和收缩作为malloc和free。 - 共享库。在地址空间的中间附近是一个区域,用于保存C标准库和数学库等共享库的代码和数据。共享库的概念是一个功能强大但有些困难的概念。 - 栈。用户虚拟地址空间的顶部是用编译器用来实现函数调用的用户堆栈。就像堆一样,用户堆栈在程序执行期间动态地扩展和收缩。特别是,每次我们调用函数,栈会增长。每次我们从函数返回时,它都会收缩。 - kernel虚拟内存。地址空间的顶部区域是为kernel保留的。不允许应用程序读取或写入此区域的内容或直接调用kernel代码中定义的函数。相反

Case6-ARP协议

时间秒杀一切 提交于 2019-12-05 19:47:29
  当一台主机把以太网数据帧发送到位于同一局域网的另一台主机时,是根据以太网地址来确定目的的接口的,ARP协议需要为IP地址和MAC地址这两种不同的地址形式提供对应关系。   ARP工作过程如下:   1、ARP发送一份称作ARP请求的以太网数据帧给以太网上的每一个主机。这个 过程称作广播,ARP请求数据帧包含目的主机地址的IP地址,其意思是:如果你是这个IP地址拥有 者,请回答 你的MAC地址。   2、连接到同一LAN的所有主机都接受并处理ARP广播,目的主机的ARP层收到这份广播报文后,根据目的IP地址判断出这是发送端在寻问它的MAC地址。于是发送一个单播ARP应答。这个 ARP应答包含IP地址及其MAC地址。收到ARP应答后,发送端就知道了接收端的MAC地址。   3、ARP高效运行的关键是由于每个主机都有一个ARP高速缓冲。这个高速缓存存放了最近IP地址到硬件之间的映射记录。当主机查找某个IP地址与MAC地址的对应关系时首先在本机的ARP缓存 表中查找,只有在找不到时才进行ARP广播。 来源: https://www.cnblogs.com/juewuzhiren/p/11942583.html

路由表的构成

喜夏-厌秋 提交于 2019-12-05 19:42:49
1.目的网络地址( Destination):用于标识IP包要到达的目的逻辑网络或子网地址。 2.掩码(Mask):与目的地址一起来标识目的主机或路由器所在的网段的地址。将目的地 址和网络掩码“逻辑与”后可得到目的主机或路由器所在网段的地址。 3下一跳地址( Gateway):与承载路由表的路由器相接的相邻的路由器的端口地址,有时 我们也把下一跳地址称为路由器的网关地址。 4.发送的物理端口( Interface):数据包离开本路由器去往目的地时将经过的接口。 5.路由信息的来源( Owner):表示该路由信息是怎样学习到的。路由表可以由管理员手工 建立(静态路由表);也可以由路由选择协议自动建立并维护。路由表不同的建立方式 即为路由信息的不同学习方式。 6.路由优先级( Priority):也叫管理距离,决定了来自不同路由来源的路由信息的优先权。 来源: https://www.cnblogs.com/724795211qqq/p/11942383.html

9.CPU的控制器和运算器

夙愿已清 提交于 2019-12-05 19:27:06
转:https://www.cnblogs.com/sum-41/p/11583567.html 控制器 控制器是CPU的组成部分,用于协调和控制计算机的运行,它的构成如下图所示: 下面逐一简单介绍。 程序计数器 (Program Counter) 简称PC,用来存储从内存提取的下一条指令的地址。当CPU执行一条指令时,首先需要根据PC中存放的指令地址,将指令由内存取到指令寄存器中,此过程称为“取指令”。与此同时,PC中的地址或自动加1或由转移指针给出下一条指令的地址,此后经过分析指令,执行指令,完成第一条指令的执行,而后根据PC取出第二条指令的地址,如此循环,执行每一条指令,保证程序能够连续地执行下去。 时序发生器 用于发送时序脉冲,CPU依据不同的时序脉冲有节奏地进行工作,类似于CPU的节拍器。 指令编译器 用于翻译指令及控制传输指令包含的数据。 指令寄存器 用于缓存从内存或高速缓存里取出的指令,CPU执行指令时,就可以从指令寄存器中取出相关指令来进行执行。 主存地址寄存器 保存当前CPU正要访问的内存单元的地址,通过总线跟主存通信。 主存数据寄存器 保存当前CPU正要读或写的主存数据,通过总线与主存通信。 通用寄存器 用于暂时存放或传送数据或指令。 运算器 运算器是用来进行数据运算加工的。 数据缓冲器 分为输入缓冲和输出缓冲,输入缓冲暂时存放外设送过来的数据

malloc分配到一块内存,读写操作时却发生segmentation falt的奇怪问题。

跟風遠走 提交于 2019-12-05 18:19:06
期初现象:malloc一块内存,读写操作时发生segmentation falt。一般来讲malloc倘若失败应该抛出异常,所以malloc返回一个指针后,这个指针应该都是可用的,况且是进行读操作。 所以遇到这个问题时感觉很奇怪。 继续现象:经过地址打印确认该地址是前面操作过的一个地址。说明地址不在系统保护区。 继续现象:通过地址便宜发现该地址前面便宜几位就能够访问了,说明仅有该段内存出了问题。怀疑该段内存被某些代码做了手脚。 重现现象:安卓上munmap大于1835008后面再用这块内存就会core。 测试代码: { int test_size = 1835008; std::cout<<"test_size:"<<test_size<<std::endl; char * abc = (char *)malloc(test_size); abc[1] = 'a'; std::cout<<(long long)abc<<std::endl; std::cout<<abc[1]<<std::endl; std::cout<<munmap(abc test_size)<<std::endl; std::cout<<abc[1]<<std::endl; free(abc); abc = (char *)malloc(test_size); std::cout<<(long long

NAT基本原理

落爺英雄遲暮 提交于 2019-12-05 18:14:26
公有IP地址:也叫全局地址,是指合法的IP地址,它是由NIC(网络信息中心)或者ISP(网络服务提供商)分配的地址,对外代表一个或多个内部局部地址,是全球统一的可寻 址的地址。 私有IP地址:也叫内部地址,属于非注册地址,专门为组织机构内部使用。因特网分配编号委员会(IANA)保留了3块IP地址做为私有IP地址: 10.0.0.0 ——— 10.255.255.255 172.16.0.0——— 172.16.255.255 192.168.0.0———192.168.255.255 地址池:地址池是有一些外部地址(全球唯一的IP地址)组合而成,我们称这样的一个地址集合为地址池。在内部网络的数据包通过地址转换到达外部网络时,将会在地址池中选择某个IP地址作为数据包的源IP地址,这样可以有效的利用用户的外部地址,提高访问外部网络的能力。 关于NAT NAT英文全称是“Network Address Translation”,中文意思是“网络地址转换”,它是一个IETF(Internet Engineering Task Force, Internet工程任务组)标准,允许一个整体机构以一个公用IP(Internet Protocol)地址出现在Internet上。顾名思义,它是一种把内部私有网络地址(IP地址)翻译成合法网络IP地址的技术,如下图所示。因此我们可以认为

ip地址计算

拥有回忆 提交于 2019-12-05 18:14:06
1.如何根据IP得到子网掩码 ? 以我们局域网内最多的私有IP地址为例: A类、B类、C类 A类:10.0.0.0--10.X.X.X 默认子网掩码 掩第一个字节(11111111)8个1,即 255.0.0.0 B类:172.16.0.0--172.31.X.X 默认子网掩码 255.255.0.0 C类:192.168.0.0--192.168.X.X 默认子网掩码 255.255.255.0 如电信的IP地址:202.96.135.133 属于C类地址 默认子网掩码就是24位 即 255.255.255.0 IP地址:78.55.133.124 属于C类地址 默认子网掩码 255.0.0.0 1.如何根据IP得到子网掩码 ? 以我们局域网内最多的私有IP地址为例: A类、B类、C类 A类:10.0.0.0--10.X.X.X 默认子网掩码 掩第一个字节(11111111)8个1,即 255.0.0.0 B类:172.16.0.0--172.31.X.X 默认子网掩码 255.255.0.0 C类:192.168.0.0--192.168.X.X 默认子网掩码 255.255.255.0 如电信的IP地址:202.96.135.133 属于C类地址 默认子网掩码就是24位 即 255.255.255.0 IP地址:78.55.133.124 属于C类地址 默认子网掩码 255

全球IPv4地址耗尽

穿精又带淫゛_ 提交于 2019-12-05 17:47:02
我还没学完,他就没了,他是啥呢? 2019年11月25日UTC+1 15:35时,欧洲RIPE NCC已经从可用池中的最后剩余地址进行了最终的/22 IPv4分配。现在,全球的IPv4地址已经耗尽。 全球IPv4地址耗尽 是在11月26日下午的消息,负责英国、欧洲、中东和部分中亚地区互联网资源分配的欧洲网络协调中心(RIPE NCC)近日宣布,全球所有43亿个IPv4地址已全部分配完毕,这意味着没有更多的IPv4地址可以分配给ISP(网络服务提供商)和其他大型网络基础设施提供商。   网际协议版本4(英语:Internet Protocol version 4,IPv4),又称互联网通信协议第四版,是网际协议开发过程中的第四个修订版本,也是此协议第一个被广泛部署的版本。IPv4是互联网的核心,也是使用最广泛的网际协议版本,其后继版本为IPv6,直到2011年,IANA IPv4位址完全用尽时,IPv6仍处在部署的初期。   事实上,IPv4顶级地址(top-level )在2012年就已耗尽。当时,所有IPv4地址空间已分配给全球五大区域互联网注册机构。很快,这五大区域互联网注册机构就用尽了其所拥有的IPv4地址。虽然IPv4地址耗尽,但世界各国早已开始布局IPv6。中国信息通信研究院CAICT今年9月曾发布数据称,截至今年5月,中国IPv6活跃用户数达3.11亿。其中

网络层协议

时光怂恿深爱的人放手 提交于 2019-12-05 17:38:37
网络层有四个协议:ARP协议,IP协议,ICMP协议,IGMP协议。 ARP协议为IP协议提供服务,IP协议为ICMP协议提供服务,ICMP协议为IGMP协 议提供服务。 ARP协议:将IP地址通过广播,目标Mac地址是FF-FF-FF…解析目标IP地址的Mac 地址。(局域网中)通过arp -a可以查看Mac地址。 网络执法官软件通过动态更改主机Mac地址,实现arp欺骗,使两台主机不能通讯 arp -s ip地址 Mac地址 静态绑定Mac地址,可以阻止arp欺骗,点本地连接,支 持,修复,可以清除静态Mac地址。 使用ICMP协议的命令: ping (packet Internet grope) 因特网包嗅探器。 ping 时间:查看延迟 TTL(生存时间): linux 64 Windows 128 Unix 256 每经一个路由器减1,所以通过TTL 可以粗略的判断对方的操作系统 1 2 3 ping -t 一直ping ping -l 字节大小 ping多大数据包 pathping 跟踪数据包路径, 计算丢包情况。 tracert 到站点经过的路由 来源: https://www.cnblogs.com/hjw459/p/11937632.html