有的时候看大家就一个计算机上的问题争吵是很有意思的事情,例如在Windows 12 的文章里面就有这样的回复:
实际上,在计算机领域中并不需要任何争吵或者意见相左。在很多数码爱好者津津乐道世纪第一约架的段子时,很多真正在行业里的人会嗤之以鼻。
这不就是供应链选择和产品呈现的问题吗?对峙个P啊。两个翻译相互扯淡竟然还上了热门话题。并不是酸,而是——这个世界上还是有计算机专业和电子专业的。
iN在工作的时候会遇到各个不同企业的开发团队,同时也会和这些软硬件开发团队合作做一点东西。说下自己的一个判断一个团队专业性的视角——开他们开会是不是吵架,吵的东西是什么?理想的开发团队在开会的时候是不会有任何争吵的。就技术问题吵的越凶的技术会议越不会出现一个大家期待的结果。原因在于计算机领域是有各种不同的标准已经早早的规定了一件事情应该怎么做的标准SOP,大家按照规则做事情就可以了。
上次PPPoE的部分提到了Profile的设置。在这里咱们先有必要说一下Profile到底是什么。即便是很多接触了很久计算机的人会自诩对各种软件有了解,但对于Profile还是说不清楚的。一般别人问起Profile是做什么的,会想当然的告诉他人这是“配置文件”。但是,如果profile是配置文件的话,那么Config呢?也是配置文件吗?那么ini呢?还是配置文件吗?这里面是不是就有了很多细微的区别?
按字面意思来说Profile直译过来是“轮廓”或者“画像”,更接近于咱们日常理解的翻译是“总则”。
config实际上是一个简写,代表configuration,这个才是“配置”,并且,configuration更多的代表的是构造和格局的配置。
ini则是Initialization的简写,代表初始化、预制。
这些概念在编写程序、应用系统软件和调试网络设备的时候都相当重要,在专业领域并不可以用一句“配置文件”去泛泛的描述他们自己的用途。
背景信息捯b完了,咱们进入正题:
在Router OS 的PPP功能层级中会单独的列出一个大项Profile
一个功能能得到如此的待遇,足见这个部分的重要性,而在很多其他的路由器拨号设置中是看不到Profile的,是不是Router OS有一些小题大做了呢?
而实际上,正因为有Profile,对路由器的拨号管理才能高效地进行。
今天,咱们来说说Router OS PPP拨号的时候profile的设置细节。
不过,话说在前面,由于宽带运营商的PPPoE拨号规则大多数情况下都是保密的,今天的“无用技”是真的没有什么普遍性,如果要尝试,我们需要在参数级别上自己微调,并不存在PPPoE的特性的官方文档,而且由于运营商的PPPoE规则有变动的可能性,有可能会存在一段时间后规则失效的现象。
首先是
Local AddressRemote AddressRemote IPv6 Prefix PoolDHCPv6 PD Pool这四个项目设定了最基本的自定义拨号规则,定义了路由器可以从哪个IP地址播出,上端的出口IP地址是什么,以及在IPv6的协议上可以拿到的地址前缀和地址池。
通过这个设置,你可以获得一个“伪固定IP”,在配合公网IP的设置下实际上我们可以通过PPPoE的拨号操作获得一系列的固定公网IP地址。
只是~~大家都知道运营商的规则,这件事和运营商的专线业务直接冲突,就导致了运营商大多禁用了这套规则,所以这个部分咱们也就没有必要做特别的讲解了。
其次就都和上网性能相关了:
Bridge(桥):
桥的概念相当重要!但是,虽然桥在网络中无处不在,但不同部分不同层级的桥的作用是完全不同的。
从最简单的PPPoE模型上来看,我们只需要通过一台计算机在不依靠其他设备经过光猫拨号上网。
如果我们使用一台路由器上网,那么结构就会变成这样:
在路由器中会有三个逻辑快,第一个是负责外网通讯的WAN部分,其次是路由转发功能,再然后就是内部网络LAN,这时候你就会看到第一个桥,它负责将路由器的所有LAN接口相互连接。
这样我们在内网的设备之间就可以相互的访问。
理论上LAN层面可以设置出大量的桥
桥和桥之间的设备是直接隔离开的(注意,这里的桥并不是VLAN)。
让我们把视线放在WAN一端,WAN的端口也是可以用桥来进行汇集的。
这样的话,我们就可以把发往某个具体的外网端口的数据发送到外网的一个网桥上。
这样做有什么好处?在进行外网多拨的时候,可以在桥的级别上设置规则,同时在桥的级别上完成流量调度,这多拨外网链路聚合的时候最快也是最高效的方式。路由器的包转发功能只需要将数据包扔到某个桥上,数据包就可以自动进行处理了。
同样,由于是桥,就有了桥的特性和操作方法。
Bridge Port Priority,端口优先级,这是定义出某个特定的WAN拨号端口的优先级别的,注意这里是十六进制的写法。
Bridge Path Cost,路径成本,在前面咱们的文章中带过一句路由成本,实际上,桥接的设备也是有各种时间、速度、相应和费用成本的,在桥上流转的数据也会依据最低成本为目标进行传输,因此这个部分是在同等优先级下的另一个优先选项。
Bridge Horizon,桥崖,Horizon本意是地平线的意思,这里也是字面意思。
和站在山上远眺地平线一样,定义了你的桥可以看多远。这里的“多远”实际上是指数据包在流转的过程中可以最多经过多少桥接设备被一级级的传递。你这样理解就是站得高看得远了。
Bridge Learning,学习。和很多二层设备一样,在Router OS的设计中桥是有学习功能的。链路层学习功能尤其是在桥上是相当关键和重要的,可以让网络数据迅速的找到自己应该投放的接口。通常MAC地址学习都会放置在交换机的设置中,但在WAN桥上也可以实现这一个设置,当你有多个WAN入口链接的时候Learning可以大幅度的提高网络效率。
紧接着是安全设置项目,可以在PPPoE端直接通过Profile设置包过滤防火墙机制:
这个通常iN自己是不会使用的,但是有这个功能。通过包过滤的方式进行出栈流量和入栈流量的控制,一个是安全性可以在PPPoE的过程中进行设定,同时,对流量的转发、塑形都有初步的控制能力。当然了,如果你在IP/Firewall中进行设置也是等效的。但这里的区别就是你可以通过PPPoE中的设置完成针对于不同拨号链路的控制。
再往后就是DNS Server和WINS Server等设置了,这是个性化设置,你可以在拨号过程中依据不同的Profile选择不同的DNS和WINS服务器的。这个方式灵活运用对“净化DNS”的帮助很大。
Change TCP MSS,更改TCP协议的最大报文段尺寸(Maximum Segment Size),MSS这又是一个新的概念,不过,在日后大家会比较频繁的接触。在之前我们了解到传输过程中有一个MTU(最大发送单元)的概念,不知道的翻前面文章。TCP叫做传输控制协议,在TCP的报文传递的过程中是需要强连接的。如果TCP的报文在发送的时候因为MTU被切断,这时候就会产生TCP传输错误。最大报文尺寸就是为了避免这种错误产生而设置的。通常我们在Router OS的PPPoE进程中可以通过开启Change TCP MSS来维持正确的网络传输,也可以在IP防火墙的设置中经过测量来对TCP MSS作出正确的设置:
这个部分,后期会给大家展开来讲,今天咱们的内容就涉及到基本概念。
后面Use UPnP,启用通用即插即用(Universal Plug and Play),通过这个设置,我们是可以将内网设备无缝的连接到外网的。例如很多人的Xbox、PS游戏机在联网的过程中出现的问题,大概率原因是设备在路由器上没有获得正确的端口映射。
通过启用UPnP设置项,大概率的可以修复这种问题。同时有很多人的网络设备有各种NAT需求,对UPnP的开启与关闭也是一个相当有必要的调节项目。
再往后,就是协议级别了,是不是启用IPv6,是不是启用MPLS(多协议标签交换),在传输过程中是不是压缩和加密,都是通过协议这个大项目来测试的。
例如,如果你的路由器CPU性能足够好,可以对数据包进行压缩,同时你的运营商又支持压缩功能。你可以轻易的突破运营商的带宽限制。用些许的提高一点延迟,而换来更大的数据传输速度。
限制(Limits):
这是对PPPoE会话的限制设置,分别提供了会话时间限制和空闲时间限制,同时还可以设置PPPoE拨号连接的上下行数据限制。多播的限制也是在这个选项里面。只不过叫法叫做Only One,大家理解字面意思就行了。
队列和脚本是两个大项。这个部分回头来仔细讲。尤其是脚本功能,这是Router OS的一个重点功能。可以在拨号建立的时候和拨号断开的时候依据自己的想法再操作路由器上的功能。
有一些和动态IP地址相关的功能实现是必须要通过脚本完成的。这里面就有很多非专业人士觉得很玄幻的内容在里面了。
还是回到开头咱们的话题,在计算机领域中没有什么问题是需要争吵对错和无法解释的,如果你觉得一件事很神奇,那么只是你不知道相关的选项是什么而已。而这里面提到的“选项”就是字面意思的“选项”,一个足够强大的系统,永远会给用户选择选项的权利的。但真正的学会怎么设置这些“选项”你需要知道的并不是玄学,而是原理。