家庭网络布局设计

家庭网络布局设计 网络拓扑图 router0为运营商光猫。两个无线路由器均开启路由功能。 Mercury为全千兆路由,三个千兆口,Wan口与Lan口自动选择 TP为全百兆路由,一个Wan,三个Lan口 光猫自带一个千兆口,三个百兆口。 需求分析 香橙派服务器包含NAS系统,实现全屋路由器覆盖区域均能访问服务器服务。但普联路由器无配置静态路由选项,无法访问水星路由下的香橙派服务器。目标实现普联路由器能访问服务器。 方案分析 静态路由 静态路由配置是多路由连接时实现不同网段访问的最简单的配置选项,通过配置普联路由的静态路由,将需要访问水星路由下服务器网段添加到静态路由表中,但是由于普联路由器不支持静态路由,此法行不通。 DMZ服务 百度百科解释为: DMZ是为了解决安装防火墙后外部网络的访问用户不能访问内部网络服务器的问题,而设立的一个非安全系统与安全系统之间的缓冲区。该缓冲区位于企业内部网络和外部网络之间的小网络区域内。在这个小网络区域内可以放置一些必须公开的服务器设施,如企业Web服务器、FTP服务器和论坛等。另一方面,通过这样一个DMZ区域,更加有效地保护了内部网络。因为这种网络部署,比起一般的防火墙方案,对来自外网的攻击者来说又多了一道关卡。 更加通俗的解释为:DMZ是一个服务,可以将局域网网中的某些服务暴露到广域网。在通过路由器拨号连接互联网的网络中,开启DMZ会将某些服务之间暴露到公网中。在上述网络拓扑图中,开启Mercury路由的DMZ服务,将OrangePi的IP地址设置为DMZ暴露地址。这样OrangePI就暴露在Router0的子网下,在TP-Link下的设备,由于NAT转换的存在可以访问Router0的子网设备,也就是Mercury路由器,由于开启了DMZ服务,这样我们直接访问Mercury的IP地址等同于 直接访问OrangePi服务器。同时可以发现DMZ服务会将整个服务器暴露到上级网络,所以当需要暴露到公网时,请对DMZ主机做防火墙。 虚拟服务器 虚拟服务器与DMZ有一定相似之处,他们都是为了将服务映射到广域网,DMZ服务会将整个设备映射到广域网,但是虚拟服务器可以只用单独映射端口,比如我有一个Samba文件共享服务器,我将在路由上对内网服务器445端口进行映射,这样广域网设备可以直接连接到内网的Samba服务 路由桥接 网络拓扑图中,将TP-LINK路由器的lan口连接到Mercury的lan口,wan口不连接,这样TP-Link路由就桥接到了Mercury的子网,所有连接到该路由器的设备都属于Mercury的子网,这样TP-LINK的设备均能访问Mercury的服务器。

January 3, 2023 · 1 min · 20 words · ecturing

深入理解计算机系统

第一章计算机系统漫游 第一部分 程序结构与执行 第二章 信息的表示与处理 二进制 十进制 十六进制互转 低转高:用短除法反复短除高进制取余 高转低:用高进制的幂乘以每个高进制数字 字数据大小 每台计算机都有字长,指明指针数据的标称大小(normal size),虚拟地址以字来编码,对于$\omega$位的机器虚拟地址范围为:0~$2^{\omega}-1$,程序最多访问$2^{\omega}$个字节 32位机器虚拟地址限长为$2^{32}$字节=$2^{32}/2^{30}$=$2^{2}$=4Gb,32位操作系统最多只能使用4Gb的内存 寻址和字节顺序 小端法 最低有效字节在最前面 大端法 最高有效字节在最前面 整数表示 原码,补码,反码 机器数:一个数在计算机中的二进制表示形式, 叫做这个数的机器数。机器数是带符号的,在计算机用一个数的最高位存放符号, 正数为0, 负数为1。 真值:因为第一位是符号位,所以机器数的形式值就不等于真正的数值。例如上面的有符号数 10000011,其最高位1代表负,其真正数值是 -3 而不是形式值131(10000011转换成十进制等于131)。所以,为区别起见,将带符号位的机器数对应的真正数值称为机器数的真值。 原码就是符号位加上真值的绝对值, 即用第一位表示符号, 其余位表示值. 比如如果是8位二进制: [+1]原 = 0000 0001 [-1]原 = 1000 0001 反码的表示方法是: 正数的反码是其本身 负数的反码是在其原码的基础上, 符号位不变,其余各个位取反. [+1] = [00000001]原 = [00000001]反 [-1] = [10000001]原 = [11111110]反 补码的表示方法是: 正数的补码就是其本身 负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后+1. (即在反码的基础上+1) [+1] = [00000001]原 = [00000001]反 = [00000001]补 [-1] = [10000001]原 = [11111110]反 = [11111111]补...

November 16, 2022 · 2 min · 318 words · ecturing

Java多线程

Java 多线程 一.线程实现 线程的三种实现 继承Thread类 不推荐使用继承Thread类,应为java只能单继承,如果要继承其他类则无法实现 1 2 3 4 5 6 7 8 9 public class ThreadTest extends Thread{ public static void main(String[] args) { new ThreadTest().start(); } @Override public void run() { System.out.println("fuck you"); } } 实现Runnable接口 推荐使用Runnable接口,实现Runnable接口可以继承其他类,避免局限性 1 2 3 4 5 6 7 8 9 public class RunnableTest implements Runnable{ public static void main(String[] args) { new Thread(new RunnableTest()).start(); } @Override public void run() { System.out.println("hello you"); } } 实现Callable接口...

November 3, 2021 · 2 min · 262 words · ecturing