地址

以太网(局域网)交换机工作原理

*爱你&永不变心* 提交于 2020-03-18 15:42:36
  交换机可以起到扩展局域网的作用,交换机的每个接口直接与一个单台主机或另一个以太网交换机相连,它一般都工作在全双工方式。交换机的接口处有存储器,能在输出端口繁忙时把到来的帧进行缓存,在线路空闲时转发出去。同时它是一种即插即用设备,其内部维护着一个帧交换表,这个帧交换表通过自学习算法自动地逐渐建立起来。 交换机帧交换表自学习建立过程:      刚开始时,交换机里面的交换表为空。假设此时PC6给PC13发送一个帧,该帧从接口1进入交换机,交换机收到该帧后,先查找交换表,如果找到对应的接口对应项目就直接转发该帧,没有查到应从哪个接口转发这个帧就进行如下的过程。接着,交换机把这个帧的源地址PC6的MAC地址和接口1写入交换表中,并向除接口1以外的所有接口广播这个帧。PC5和PC14收到这个帧后,由于目的地址不对,于是丢弃这个帧,PC13的地址和MAC帧中的目的地址相同,PC13收下这个帧,此时交换机把PC13的MAC地址和接口2写入交换表。有时交换机的接口会更换主机,或者主机会更换网卡(网络适配器),这就需要更改交换机交换表中的项目,为此,在交换表中的每个项目都设有一定的有效时间,过期的项目会被自动删除。 交换机和路由器的区别:   1.集线器、交换机都是做端口扩展的,就是扩大局域网(通常都是以太网)的接入点,也就是能让局域网可以连进来更多的电脑。路由器是用来做网间连接

内存保护机制及绕过方法——通过覆盖部分地址绕过ASLR

一个人想着一个人 提交于 2020-03-18 06:11:40
ASLR保护机制 ASLR简介 微软在Windows Vista、2008 server、Windows 7、Windows 8等系统的发布中, 开始将ASLR作为内置的系统保护机制运行, 将系统映像的基址设置到1/256的random slot上, 同时将各个线程的堆栈和堆进行随机化。这需要程序和系统的双重支持, 但是程序的支持并不是一定的。可以使用如下注册表选项来使用或禁用 ASLR 之于所有的程序映像: Edit HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\ and add a new key called “ MoveImages” (DWORD)。 该键的可能取值如下: 0 :永远不进行基于内存的映像基址随机化, 基地址的选择始终以可执行文件的PE头部指定的基址为准; -1 :随机化所有的可以重定位的程序映像, 无论它们是否在PE头部指定了IMAGE_DLL_CHARACTERISTICS_DYNAMIC_BASE标记。 也可以在编写程序时使用/dynamicbase链接器选项来确定编写的程序是否使用该保护机制。微软从Visual Studio 2005开始加入了/dynamicbase链接选项, 选择该链接选项的程序会在生成的PE头中设置IMAGE_DLL

计算机网络

送分小仙女□ 提交于 2020-03-17 01:23:17
某厂面试归来,发现自己落伍了!>>> 数据链路层概述 基本概念 数据发送模型: 数据链路层的信道类型: 点对点信道:这种信道使用一对一的点对点通信方式。 广播信道。这种信道使用一对多的广播通信方式,因此过程比较复杂。广播信道上连接的主机很多,因此必须使用专用的共享信道协议来协调这些主机的数据发送。 链路和数据链路: 链路(link):是一条点到点的物理线路段,中间没有任何其他的点, 一条链路只是一条通路的一个组成部分 。 数据链路(data link):除了物理线路外,还必须有通信协议来控制这些数据的传输。若把实现这些协议的硬件和软件加到链路上,就构成了数据链路。 现最常用的方法是使用适配器(即网卡)来实现这些协议的硬件和 软件。 一般的适配器都包括了数据链路层和物理层这两层的功能。 帧: 数据链路层传送的是帧 数据链路层就像一个数字管道 常常在两个对等的数据链路层之间画出一个数字管道,而在这条数字管道上传输的数据单位是帧。 要解决的三个基本问题 封装成帧 封装成帧就是在一段数据的前后分别添加首部和尾部,然后就构成了一个帧,用以确定帧的界限。 首部和尾部的一个重要作用就是进行帧定界。 如果发送端发送时出现故障,接收端没收到完整的头和尾,就会将帧丢掉 透明传输 若传输的数据是ASCI I码中“可打印字符(共95个)”集时,一切正常。 若传输的数据不是仅由“可打印字符”组成时

2.内存寻址

自闭症网瘾萝莉.ら 提交于 2020-03-16 08:09:19
内存地址 三种内存地址:1)逻辑地址(机器指令中操作数或指令的地址) 分段单元 2)线性地址(虚拟地址) 分页单元 3)物理地址(用于内存芯片级内存单元寻址 多CPU时,共享同一内存,RAM芯片由独立的CPU并发访问; 由内存仲裁器保证RAM的读写的串行执行 Linux中的分段 80X86才使用分段(把程序划分为逻辑相关的实体),Linux更喜欢使用分页(当所有进程使用相同的段Register值时,它们共享同样的一组线性地址,这样内存管理简单; RISC对分段的支持有限.). 两者都划分进程的物理地址空间:分段可以给每一个进程分配不同的线性地址空间,而分页可以把同一线性地址空间映射到不同的物理空间. 段选择符由宏__USER/KERNEL_CS/DS定义.对内核代码寻址,吧__KERNEL_CS宏产生的值装入cs寄存器即可.这样执行指令时,只需指定逻辑地址的偏移部分,段选择符已经隐含在寄存器内. 所有段(内核/用户的数据/代码段)的Base=oX0000000,即逻辑地址(的偏移量字段值)=线性地址(的值).所有进程使用相同的逻辑地址. 每个CPU一个GDT,会插入未使用的项使得经常一起访问的描述符能够处于同一32字节的硬件Cache中; 大多数用户态APP不适用局部描述符表,所以定义了一个缺省的LDT供进程共享,同时进程可以创建自己的LDT. 硬件中的分页

(网络层: 二 ) 网络层提供的服务(基于无连接的服务)

断了今生、忘了曾经 提交于 2020-03-15 17:49:58
网络层提供了端到端的通信 , 所以两台计算机想要进行通信就必须具有网络层地址(逻辑地址) 不同网络之间的计算机互相通信过程中涉及到的组要角色有: (1)源计算机 (2)路由器 (3) 目的计算机 要实现通信的目的,每个角色的网络层都需要提供相应的服务 一 : 源计算机网络层提供的服务 源计算机上的网络层提供四种服务: 1 分组化处理, 2 查找下一跳的逻辑地址, 3 查找下一跳的物理地址, 4 对数据进行必要的分片处理. 网络层接收来自上层的几个信息: 数据,数据长度,逻辑目的地址,协议ID(网络层使用协议的标识号),以及服务类型.网络层对这些信息进行处理后生成了一组数据包片,以及下一跳的MAC地址,并将他们一起交付给数据链路层. 1 分组化处理 网络层将来自上层的数据封装到一个数据报中(即为数据添加一个首部). 其中包含了该分组的逻辑源地址和源目的地址,分片相关的一些信息,请求了此服务的协议的ID,数据长度,在加上一些可能的选项.还包括一个只计算该数据包首部的检验和. (注意: 上层协议仅提供了逻辑目的地址,而逻辑源地址来自网络层本身) 2 查找下一跳的逻辑地址 准备还的数据包包含了该分组的源地址和目的地址.这个数据包可能需要途径多个网络才能到达终点.如果源计算机和目的计算机不在同一个网络上,那么数据包就应当交给下一个路由器.数据报中没有关于下一跳的任何线索

虚拟继承解决二义性及数据冗余的原理

橙三吉。 提交于 2020-03-14 12:30:34
虚拟继承的原理 虚拟继承解决数据冗余和二义性的奥秘就在于,它在继承之后并不会创造出两个基类成员给派生类各自继承,而是在派生类中记录两个偏移量,大小为从派生类中继承的基类成员的地址到真正的基类成员地址,而这个真正的成员,被放在最后一次继承的派生类(D类)的末尾。 如图所示,在不使用虚拟继承的前提下,各个类定义定义变量后我们可以看看他们各自所处的地址如下: 可以看出,A,B类继承的m_n处于不同的地址,是两个成员。而使用虚拟继承后他们所处地址的内容变成了如下: 可以看出,原本为值‘3’和‘4’的地方变成了两个偏移量,而我们调取这两个偏移量之后可以看到如下: e8 d2 f5 00 :12(H) ac cb f5 00 :20(H) 而我们发现,从起始位置到下面04的位置(D类中的末尾),偏移字节正好是12和20。 其实, 这里是通过B和C的两个指针,指向一张表,这两个指针叫做虚基表指针,这两个表叫虚基表,虚基表中存的偏移量,通过偏移量可以找到下面的A。 Ps:并不是所有派生类共用一分虚基表,每个派生类都有自己的表; 来源: 51CTO 作者: wx5cb188ffabeef 链接: https://blog.51cto.com/14289397/2478237

计算机网络MAC地址

梦想与她 提交于 2020-03-11 13:21:51
简介   谈起MAC地址,不得不说一下IP地址。IP地址工作在 TCP/IP 参考模型的第三层网络层。IP地址专注于网络层,将数据包从一个网络转发到另外一个网络;而MAC地址专注于数据链路层,将一个数据帧从一个节点传送到相同链路的另一个节点。定位网络中的计算机的位置,最常用的有 域名地址 、 Ip地址 、 MAC地址 三种方式,它们分别对应于OSI模型中的 应用层 、 网络层 、 数据链接层 。通常IP地址是不断变化的,而MAC地址是计算机的物理网卡唯一对应的地址,好比每个人都有唯一对应的身份证号码一样具有唯一性。 MAC地址的定义   MAC(Media Access Control,介质访问控制)地址,也叫硬件地址,长度是48比特(6字节),由16进制的数字组成,分为前24位和后24位:    前24位叫做组织唯一标志符 (Organizationally Unique Identifier,即OUI),是由IEEE的注册管理机构给不同厂家分配的代码,区分了不同的厂家。 后24位是由厂家自己分配的 ,称为扩展标识符。同一个厂家生产的网卡中MAC地址后24位是不同的。    MAC地址对应于OSI参考模型的第二层数据链路层,工作在数据链路层的交换机维护着计算机MAC地址和自身端口的数据库,交换机根据收到的数据帧中的“目的MAC地址”字段来转发数据帧。 MAC地址的作用  

流媒体服务器可以解决哪些直播系统存在的问题?

佐手、 提交于 2020-03-11 12:15:30
流媒体服务器就是把视频设备(如大锅信号、有线信号、DVD,VCD,摄像机,监控头等)的视频信号采集到服务器,供网络访问。能够像Web服务器发布HTML文件一样发布流媒体文件和从摄像机、视频采集卡等设备传来的实况流,从而用户可以使用视频播放器收看这些媒体文件。 流媒体服务器可以把连续的音频和视频信息压缩后​‌‌放到网络服务器上,用户边下载边观看,而不必等待整个文件下载完毕;通过网络播放流媒体文件时,文件本身不会在本地磁盘中存储,这样就节省了大量的磁盘空间开销。 基于流媒体技术的优越性,流媒体服务器广泛应用于视频点播、视频会议、远程教育、远程医疗和在线直播系统中,并解决了各个系统所存在的一些问题: (1)直播流格式不统一简洁化操作,可将本地UDP、RTP等直播流,转变成M3U8的地址,不改变视频原有的清晰度。视频输入播放器的格式可能是多样的,而通过流媒体中转系统,可以将所有的视频格式转换成播放器都支持的M3U8,解决播放格式不统一问题。 (2)能够对视频地址加密,防盗链对于经过流媒体中转系统的直播流地址,可以实现加密,加密后的视频配合点量播放器播放,防止视频源被盗。 (3)直播流的管理支持对需要管理操作的电视直播流频道地址的手动处理,包括添加删除。 (4)组播地址转变为单播地址该系统可实现将局域网直播流组播地址,转化为对外的单播地址,解决组播跨网段的问题,同时实现对其加密。 (5

Modbus

流过昼夜 提交于 2020-03-11 12:12:35
Modbus协议简介 Modbus(RTU / ASCII / TCP)是一种串行通信协议,是Modicon(莫迪康)公司于1979年,为使用可编程逻辑控制器(PLC)而发表的 Modbus协议的详细规格是公开的,只定义了通讯协议而没有规定物理层如通讯介质 Modbus是工业领域通信协议的业界标准,并且现在是工业电子设备之间相当常用的通讯方式 Modbus比其他通信协议使用的更广泛的主要原因有: 【1】公开发表并且无版税要求 【2】相对容易的工业网络部署 【3】对供应商来说,修改移动原生的位元或字节没有很多限制 Modbus功能码简介 代码 功能 寄存器PLC地址 位操作/字操作 操作数量 01H 读线圈状态 00001-09999 位操作 单个或多个 02H 读离散输入状态 10001-19999 位操作 单个或多个 03H 读保持寄存器 40001-49999 字操作 单个或多个 04H 读输入寄存器 30001-39999 字操作 单个或多个 05H 写单个线圈 00001-09999 位操作 单个 06H 写单个保持寄存器 40001-49999 字操作 单个 0FH 写多个线圈 00001-09999 位操作 多个 10H 写多个保持寄存器 40001-49999 字操作 多个 功能码可以分为位操作和字操作两类。位操作的最小单位为BIT,字操作的最小单位为两个字节

127.0.0.1 和 0.0.0.0 地址的区别

喜你入骨 提交于 2020-03-11 02:43:08
在服务器中,0.0.0.0 指的是本机上的所有IPV4地址 如果一个主机有两个IP地址,192.168.1.1 和 10.1.2.1,并且该主机上的一个服务监听的地址是0.0.0.0,那么通过两个ip地址都能够访问该服务。 127.0.0.1:回环地址 该地址指电脑本身,主要预留测试本机的TCP/IP协议是否正常。只要使用这个地址发送数据,则数据包不会出现在网络传输过程中。 127.0.0.1属于{127,}集合中的一个,而所有网络号为127的地址都被称之为回环地址,所以 回环地址!=127.0.0.1 ,它们是包含关系,即 回环地址包含127.0.0.1 。 回环地址:所有发往该类地址的数据包都应该被loop back。 用途: * 回环测试,通过使用ping 127.0.0.1 测试某台机器上的网络设备,操作系统或者TCP/IP实现是否工作正常。 * DDos攻击防御:网站收到DDos攻击之后,将域名A记录到127.0.0.1,即让攻击者自己攻击自己。 * 大部分Web容器测试的时候绑定的本机地址。 可以理解为本机有三块网卡,一块网卡叫做 loopback(这是一块虚拟网卡),另外一块网卡叫做 ethernet (有线网卡),另外一块网卡叫做 wlan(无线网卡)。 本机 IP 是真实网卡的 IP,具体来说有线无线各有一个,而 127.0.0.1 是那块叫做 loopback