<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[老傅笔记]]></title><description><![CDATA[老傅笔记]]></description><link>https://laofu.ipio.cf</link><generator>RSS for Node</generator><lastBuildDate>Sat, 23 May 2026 10:15:47 GMT</lastBuildDate><atom:link href="https://laofu.ipio.cf/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[分享加密无污染DNS(DoH)]]></title><description><![CDATA[自建的加密无污染DNS，仅提供DoH地址
开源搭建方案 EasyMosdns
私人使用，仅限研究用途，不承诺稳定性
虽然已经从2019年稳定运行到现在了…
DoH地址：https://doh.apad.pro/dns-query
可以通过改变后缀，使用以下特殊节点：
| 别名后缀 | https://doh.apad.pro/cdn-querydns-query的别名后缀，可防止DoH阻断 |
| --- | --- |
| 大陆加速 | https://doh.apad.pro/cn-quer...]]></description><link>https://laofu.ipio.cf/xxhxm-dnsdoh</link><guid isPermaLink="true">https://laofu.ipio.cf/xxhxm-dnsdoh</guid><dc:creator><![CDATA[donaldfergus]]></dc:creator><pubDate>Wed, 28 Dec 2022 11:36:17 GMT</pubDate><content:encoded><![CDATA[<p>自建的加密无污染DNS，仅提供DoH地址</p>
<p>开源搭建方案 <a target="_blank" href="https://apad.pro/easymosdns/">EasyMosdns</a></p>
<p>私人使用，仅限研究用途，不承诺稳定性</p>
<p>虽然已经从2019年稳定运行到现在了…</p>
<p><strong>DoH地址：</strong><br /><a target="_blank" href="https://doh.apad.pro/dns-query"><strong>https://doh.apad.pro/dns-query</strong></a></p>
<p>可以通过改变后缀，使用以下特殊节点：</p>
<p>| 别名后缀 | <a target="_blank" href="https://doh.apad.pro/cdn-query￼dns-query的别名后缀，可防止DoH阻断">https://doh.apad.pro/cdn-query<br /><em>dns-query的别名后缀，可防止DoH阻断</em></a> |
| --- | --- |
| 大陆加速 | <a target="_blank" href="https://doh.apad.pro/cn-query￼优先查询大陆DNS，有泄漏但速度更快">https://doh.apad.pro/cn-query<br /><em>优先查询大陆DNS，有泄漏但速度更快</em></a> |
| 境外指定 | [港]<br /><a target="_blank" href="https://doh.apad.pro/hk-query￼[台]￼https://doh.apad.pro/tw-query￼[日]￼https://doh.apad.pro/jp-query￼[新]￼https://doh.apad.pro/sg-query￼[俄]￼https://doh.apad.pro/ru-query￼[美]￼https://doh.apad.pro/us-query￼海外域名使用指定国家的DNS查询￼仅建议在ECS造成绕路时指定节点">https://doh.apad.pro/hk-query<br />[台]<br />https://doh.apad.pro/tw-query<br />[日]<br />https://doh.apad.pro/jp-query<br />[新]<br />https://doh.apad.pro/sg-query<br />[俄]<br />https://doh.apad.pro/ru-query<br />[美]<br />https://doh.apad.pro/us-query<br /><em>海外域名使用指定国家的DNS查询</em><br /><em>仅建议在ECS造成绕路时指定节点</em></a> |</p>
<p>注：节点之间缓存共用会相互干扰，请勿同时使用多个节点，切换节点缓存会干扰解析结果的准确性，几分钟后自动更新</p>
<p><strong>DNS规则：</strong></p>
<p>【境内域名】使用AliDNS本地查询，部分域名使用DNSPod补充查询</p>
<p>【境外域名】使用GoogleDNS远程查询，部分节点使用指定的公共DNS远程查询</p>
<hr />
<p><strong>DNS说明：</strong></p>
<p>无污染、支持EDNS</p>
<p>IP分流远程查询境外服务器，保护隐私，防止境内DNS泄露（仅默认节点）</p>
<p>境外域名轻度拦截恶意广告，境内域名无拦截</p>
<p>智能解析分流DoH地址，境内与境外均可查询</p>
<hr />
<p><strong>DNS泄漏：</strong></p>
<p>所谓的DNS泄露国内节点，只是在IP分流时，查询了国内DNS引起，实际并不会有安全问题。当然这个DoH使用境外服务器进行IP分流，所以不会出现泄漏问题</p>
<p>可以通过以下两个网站，检测DNS分流与防止泄漏的效果：<br />[境内] <a target="_blank" href="https://nstool.netease.com/%EF%BF%BC%5B%E5%A2%83%E5%A4%96%5D">https://nstool.netease.com/<br />[境外]</a> <a target="_blank" href="https://browserleaks.com/dns">https://browserleaks.com/dns</a></p>
<p><strong>常见问题：</strong></p>
<p>[Q] 这个DNS有什么特点？</p>
<pre><code class="lang-plaintext">[A] 自建加密隧道实现远程DNS查询，而非直接用境内服务器查询境外DNS，即所有海外域名的查询在境外服务器完成，同时会自动修改用户的ECS信息，保护隐私
</code></pre>
<p>[Q] 这个DNS有记录么？</p>
<pre><code class="lang-plaintext">[A] DNS程序本身没有记录，为DoH提供http服务的程序有日志，但仅用于运维，考虑到隐私问题，所有日志会定期做不留档清理
</code></pre>
<p>[Q] 如何使用DoH呢？</p>
<pre><code class="lang-plaintext">[A] 使用问题可以加上方的DNS交流群，群里有很多乐于助人的大牛，但提问前请先学会使用Google
</code></pre>
<p>[Q] 如何通过DoT/Http3访问？</p>
<pre><code class="lang-plaintext">[A] 请加群查看置顶
</code></pre>
<p>[Q] 为什么一些客户端提示DoH性能有问题？</p>
<pre><code class="lang-plaintext">[A] 这个问题会在访问境内DoH时出现，原因是使用的CDN不支持http2，虽然我也不知道为什么这个年代了还不支持，实际上http2只有在不通过CDN直接访问源服务器时，才能体现出优化效果，因为绝大部分的CDN都是通过http1.1回源的，所以忽视就好
</code></pre>
<p>[Q] 什么情况下适合使用这个DoH的境外指定节点？</p>
<pre><code class="lang-plaintext">[A] 当客户端没有通过代理查询DNS的功能时，例如你实际在中国，代理服务器在美国，但DNS并未通过代理完成查询，此时会传递给DNS服务器中国的ECS信息，并为某域名解析出香港IP，而你又通过代理服务器访问该域名，此时[中-&gt;美-&gt;港]绕路的情况就会出现，指向美国节点，可以有效缓解该问题，获取更快的访问速度
</code></pre>
<p>[Q] 自建DNS可以使用这个DoH做上游么？</p>
<pre><code class="lang-plaintext">[A] 原则上不抵制，目前40%的查询量来自其它自建DNS，感谢各位免费DNS提供者对这个DoH的认可。只希望能做缓存降低查询量，无缓存直接转发会封禁IP或转至海外节点查询。因为之前发生过攻击，导致我的一台服务器宕机了几小时，经查证全部攻击IP均来自一些个人自建的公共DNS服务器，这些DNS服务器上游使用了我的DoH，遭受攻击时导致攻击流量也转发到了我的服务器。

推荐使用我开源的EasyMosDNS项目在服务器自建上游DNS，超时再调用我的DoH，会获得更好的体验。
</code></pre>
<p>[Q] 未来会提供收费服务么？</p>
<pre><code class="lang-plaintext">[A] 不会，因为初衷就是为了给开源项目EasyMosDNS提供测试，并不打算做公共DNS服务，结果越来越多的小伙伴用于生产环境，服务器成本一直由我个人承担，所以接受打赏用于续费服务器
</code></pre>
<h3 id="heading-6akg57qi5yyf77ya">领红包：</h3>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1700656523883/7520569d-b996-4a03-a67d-7973e3ec5b38.jpeg" alt /></p>
]]></content:encoded></item><item><title><![CDATA[营销知识汇总]]></title><description><![CDATA[MTL （Market To Lead）价值
实现以客户为中心的思考主要描述上市的产品到客户购买意向。一般而言，产品上市要尽快衔接后续的营销活动，使得客户有购买意向，或是购买线索，为此企业会进行展会、宣传、品牌推广等营销活动。然而有了购买意向和线索，客户也未必会购买整个MTL的变革与其说是流程，不如说是方法论，MTL流程不承载资金流、不承载物流，哪一步做哪一步不做是不影响运营的；LTC流程是承载资金流和物流，IPD流程是要把产品做出来，而MTL流程最终产生的输出并不是实体，但它教会了我们在市场细...]]></description><link>https://laofu.ipio.cf/mxh-yxzshz</link><guid isPermaLink="true">https://laofu.ipio.cf/mxh-yxzshz</guid><dc:creator><![CDATA[donaldfergus]]></dc:creator><pubDate>Sat, 11 Jun 2022 11:50:53 GMT</pubDate><content:encoded><![CDATA[<h1 id="heading-mtl-market-to-lead">MTL （Market To Lead）价值</h1>
<p>实现以客户为中心的思考<br />主要描述上市的产品到客户购买意向。一般而言，产品上市要尽快衔接后续的营销活动，使得客户有购买意向，或是购买线索，为此企业会进行展会、宣传、品牌推广等营销活动。然而有了购买意向和线索，客户也未必会购买<br />整个MTL的变革与其说是流程，不如说是方法论，MTL流程不承载资金流、不承载物流，哪一步做哪一步不做是不影响运营的；LTC流程是承载资金流和物流，IPD流程是要把产品做出来，而MTL流程最终产生的输出并不是实体，但它教会了我们在市场细分、在关键客户选择、关键市场选择、营销手段、营销模式、营销资料以及线索管理等方面HOW的问题，即怎么去做的问题。<br />转变思维和方法：</p>
<pre><code>管理线索、机会点；拓展项目
产品营销；单纯拼特性、功能
遵从游戏规则；遵从标准
</code></pre><p>转变为：</p>
<pre><code>创造线索、机会点；管理市场
解决方案营销；介入客户价值链
影响游戏规则；制定标准
</code></pre><p>下面是废话   </p>
<h2 id="heading-5lul6jcl5ld6zsa77ym6jcl6zsa5bm26yen">以营促销，营销并重</h2>
<p>华为请了IBM做MTL的变革，我们发现整个MTL的变革成果最适合的首先是面向企业市场，因为IBM恰好也是面向企业市场的，运营商只是他的一个行业。IBM在运营商市场里的一些做法也是可以借鉴的，但华为自己二十多年来面向运营商市场的经验更有价值，故IBM教给华为的MTL的一些流程和方法论不一定完全适合面向运营商直销。</p>
<p><strong>Marketing的价值</strong>，就是“营”的价值：即提升公司面向企业客户的品牌，促进销售线索的生成，扩大销售管道。作为企业市场面向广大的客户，我们就是要不断提升在企业客户中的品牌，不断增加和生成销售线索，使Pipeline里装的东西越来越多，通过合作伙伴（某些通过我们自己）去实现销售。</p>
<p><strong>“营”的价值</strong>恰好和企业面向企业市场、我们真正需要获得的东西非常匹配。所以在这方面企业的营销手段要转变，过去的营销手段是单一的，还是原来直销的几把斧，现在给企业带来了全方位的营销手段新模式，华为也在中国区教育行业做了试点，通过微信、微博等各种方式来实施营销的工作。</p>
<p>事实上企业的营销模式也要转变，华为原来的营销模式是分裂的，MTL的营销模式要能以客户购买的心理为主线，把所有营销活动串联起来；在客户不同购买心理阶段，要搞不同的营销活动，而且所有的营销活动要有机地连在一起。</p>
<p>在营销资料方面，过去的营销资料是以产品为导向的，老是“我有什么”、“我行”、“我就是行”，说到最后还是“我行”。客户听完后知道你能，你高深，你牛，但不知道你可以解决我的什么问题？所以营销资料也要从原来的“我行”、“我能”为基础转变为说客户的语言、说客户能听得懂的语言、说能为客户带来价值的语言，因为企业面向的企业客户基本都不是某个行业的技术专家，营销资料要做到能让他们听得懂。</p>
<p>企业如何通过多方位、多渠道来产生线索，并有一个统一的规则、统一的系统、有组织地把线索进行管理。MTL变革给企业带来了整个营销的方法论、流程和认识的质的转变，对面向企业市场、面向未来我们构筑什么样的组织、构筑什么样的能力、我们怎么去真正地提升品牌、促进销售线索的生成、扩大销售管道上，给企业业务BG带来了很好的方法论和流程。</p>
<p>企业都应该学习MTL的变革成果（包括流程和方法论），组织考试，让大家慢慢从纯销售的视角，从一个纯直销的人员转变为如何通过“营”去实现企业的目标。</p>
<p>销售的环节未来最终是通过合作伙伴实现的，企业要发展的能力首先是“营”的能力，是Marketing的能力。如果所有的领导、所有的组织都能用“营”的思维和用“营”的方式去开展工作，最终企业的品牌提升了、线索生成了、客户要买公司的产品了，渠道伙伴自然就来了，最终的销售环节就有可能实现。</p>
<h2 id="heading-mtl">MTL解决方案</h2>
<p>（下文为徐直军在2014年华为企业业务BG年度市场工作会议上的讲话）</p>
<p>【MTL解决方案思路】“如何提高市场洞察的深度和广度”，解决方案思路如下：</p>
<h3 id="heading-5rse5af6zya5rgc5zkm6k6aky77ya">洞察需求和课题：</h3>
<p>a.把MI作为一种服务，以服务对象的需求满足作为MI工作的出发点。从服务对象出发，定义MI工作场景，如面向项目的洞察服务、面向客户的洞察服务、面向细分市场的洞察服务、面向区域/国家的洞察服务、面向产业和解决方案趋势的洞察服务。</p>
<p>b.不同的服务场景，需要对应的业务领导或专家点题，以确定洞察课题。课题点不对，洞察就失去了方向。</p>
<p>c.点题要围绕客户业务全流程，包括客户的运营、维护等流程段业务。点完题后要有一个校验工具，比如勾勾表，来看点题的布局是否合理。</p>
<h3 id="heading-5rse5af5pa55rov6k665yk5bel5yw377ya">洞察方法论及工具：</h3>
<p>a.细化客户分析方法，打开客户业务全流程，建立数据模型，定义信息获取方式和渠道（如进机房、上站点、去街边柜、蹲营业厅、体验客户业务等）；无线、固网现代化、视频MET等都已开发出了需要收集的数据模型，其他BU及MET可以学习。</p>
<p>b.尽可能把方法论变成IT固化下来，通过洞察方法的工具化来帮助一线提升洞察能力；这就好比和体检一样，有了体检表和体检仪器，没学过医学的高中生，即使没有医生的帮助，也能自助完成体检。</p>
<h3 id="heading-5a6a5lmj5lia5yqh6kee5yiz77ya">定义业务规则：</h3>
<p>a.运营商市场的洞察，是专职MI和客户接触点所有人员共同完成的。定义各角色间的权责关系，如谁来点题、谁负责洞察、谁提供数据、谁来使用、谁来评价等，形成完整的洞察队形；并基于该规则，牵引各方力出一孔，共同做好洞察。</p>
<p>b.参考百度文库建立MI资产使用机制，有贡献（洞察数据和信息），才可以享有（洞察成果）。</p>
<p>少些高大上的“趋势”、“愿景”、“新概念”，多些场景化的实践经验教训的总结和案例，客户知道了Why和What后，重心要回到回答How</p>
<p>a.“场景化”、“案例化”和“深挖纵深”是机关和一线各MSSD营销方向改变的关键词。每个细分市场对应解决方案的场景是有限的，一个一个列出来，要解决客户什么问题，再通过对应案例深度分析，回答如何解决，哪怕一个场景就聚焦一个案例，深度打开，越细越好。我们的“商业故事会”很好，要不断打进纵深，越深越好。</p>
<p>b.和客户交流“大视频”，兄弟们讲四川电信的经验，都在谈“012”，但多是表象，只知道成功，但成功了什么，为什么成功，理解五花八门，一旦客户问及业务布放、运营运维问题细节，往往答不上来，当客户提出“我这里情况不一样…”，无论一线或机关，没有答案。</p>
<p>【MTL解决方案思路】“场景化有深度的客户解决方案营销要素”，解决方案思路如下：</p>
<p>a.<strong>营销要素开发分工</strong>：机关负责全球典型场景；地区部负责区域场景；代表处负责客户化。大家要理解机关和地区部开发的资料不能直接用来解决客户的问题（是巨人的肩膀），代表处要站在巨人的肩膀上承担最终客户化的责任。</p>
<p>b.<strong>资料场景化</strong>：梳理出营销内容架构、资料开发方法论及评价标准，资料的好坏不由直接主管评价，而由一线的使用方进行。按一线作战场景（峰会、workshop、客户体验等）对资料进行IT呈现，方便一线查找。资料不是在家里写出来的，要在不同场景下，抓关键营销标杆项目，输出典型案例，通过资产收割来输出场景化的营销资产。</p>
<p>c.<strong>资料客户化</strong>：机关要提供方法、工具、案例、专家，支持一线完成营销资料客户化。比如一线要准备一场workshop或者峰会的材料，机关要把类似案例材料总结上网供一线参考，要提供专家协助一线完成客户化。</p>
<p>d.<strong>理念及解决方案概念包装的业务规则</strong>：理念要保持稳定，起码5年左右吧，要不然客户会发疯的。但解决方案概念包装可按场景发生变化但数量要受限，以使传播有效。所有的理念和概念包装要遵循每年决策通过的营销框架，经过统一审批。要加强营销框架流程的执行审视。</p>
<h3 id="heading-5aac5l2v5pyj5pwi5lik5bic5bm25psv5pkr5a6i5oi35zwg5lia5oiq5yqf77yf">如何有效上市并支撑客户商业成功？</h3>
<p>a.少些新产品/新解决方案炒作期就上市的头脑发热，少些“领导者”、“无人区”的盲目乐观，多些深入学习、独立思考和对不确定性的谨慎和敬畏，多些对对手的深入分析。我们必须承担控制新产品/解决方案上市节奏的责任，在一片喧嚣和热炒中保持冷静，独立判断，不跟风，不盲从。</p>
<p>b.我们倾公司之力实现突破B国U运营商，十年后，我司100%独家，客户收入的一半以上都给了华为，自己却沦落为B国经营最差的运营商；S国S运营商花几千万买了华为的TV平台，几年下来只发展了6万用户。我们是否理解客户的失望与愤怒？是否有解决方案？……</p>
<p>【MTL解决方案思路】“明确上市策略并帮助客户商业成功”，解决方案思路如下：</p>
<p>a.上市策略及节奏：MSP（营销计划）是作战计划书，要确定目标、上市策略、价值主张及执行计划。目前还有很多区域/机关对MSP的决策评审不重视，要加强MSP的决策评审，强化对新产品/解决方案上市节奏的决策评审。要根据IPD的产品状态，优化IPD、MTL、LTC对于GA前产品的早期销售、早期签单的决策细则。</p>
<p>b.帮助客户商业成功：从帮客户商业成功的角度出发，深入分析客户的端到端业务流程，想清楚客户要什么、华为如何提供解决方案并牵引研发及BG负责的各项能力（如BNC、解决方案架构设计、商业生态等）；在上市时要考虑如何支撑运营商面向最终用户Go To Market，这其实对一线的业务能力提出了更高要求。优化现有上市流程相关模板和指导书，纳入帮客户商业成功的内容。</p>
<p>c.快速上市：云、软件、服务、解决方案场景的上市，本质上是产品+能力（工具、方法、专家等）能否快速解决客户问题、满足客户诉求。推动P&amp;S及BG按迭代方式快速推出版本及解决方案，同时能力在一线能快速布署及被掌握，要不然只能同时交付几个项目。</p>
<p>【MTL解决方案思路】“整合营销活动，保证效果”，解决方案思路如下：</p>
<p>a.控制营销活动的数量：营销活动可按场景分为三类：公司级活动（如巴展）展现思想领导力（标准化内容），未来可借助数字营销的方式进行客户覆盖，减少大型活动数量；地区部级活动围绕本区域解决方案场景开展（场景化内容），相似场景客户都可以参加；面向单个客户群的活动解决客户具体问题（客户化内容），从而牵引出线索和机会。</p>
<p>同时要严格执行MTL流程，所有公司级活动要按照营销框架统一规划、预算集中管控、集成执行。考核营销活动的标准不是数量，而是市场的成功。极端情况下，即使不做营销活动，市场也能成功是营销的最高境界。</p>
<p>b.加强面向单个客户群的小活动：形式主要有峰会、workshop、体验云等，关键点是如何把客户化做好。客户化主要是一线的责任，但机关需要提供支持（流程/方法、知识、案例、工具、专家）。</p>
<p>一线要充分理解客户的场景、问题和诉求，在机关提供的能力支持下开发出能打动客户的营销要素（价值主张、体验、方案等），并在与客户共同研讨中提出解决客户问题的方案。同时要优化现有营销活动流程，把样板点、峰会、体验、workshop的流程/工具/方法开发出来，从机制上帮助一线做好营销活动。</p>
<p>c.思想领导力：华为的ROADS是站在最终用户的角度提出来的理念，和Intel inside是一个道理。华为要树立思想领导力，一定要研究最终用户的需求并提出观点，对准运营商数字化转型，这样才能引领客户。</p>
<p>【MTL解决方案思路】“做好工具，支撑营销和销售能力提升”，解决方案思路如下：</p>
<p>a.对准作战场景，确定一线能力需求：结合东南亚的实践，一线的业务场景可分为机会洞察、战略峰会、方案专题交流、价值主张开发、发展生态等，针对这些场景需求开发工具（如客户洞察工具、峰会策划实施工具、价值主张开发工具等）。</p>
<p>b.工具上IT平台：对准作战场景，预先做好工具的打包（如峰会工具包包括洞察工具、案例库、体验云等）上架陈列，同时一线可根据自己的场景诉求选用更多的工具进行组合。</p>
<p>c.一线能力提升：知识/工具类似于药材和药方，一线要会用这些工具，开出“处方”解决客户的问题。比如体验云，不是简单地让客户看一下，而是对准客户诉求去设计体验云中的内容和体验过程。</p>
<p>开发对准山头项目的赋能Program，固化成流程和方法，在项目前、项目中以训战的形式提升“客户洞察、价值主张开发、峰会策划、体验营销、解决方案构建”等能力。主管和专家要承担起对这些能力进行业务coach的责任。</p>
<h1 id="heading-fabe">FABE销售法</h1>
<h2 id="heading-f">F代表特征</h2>
<p>F代表特征(Features)：产品的特质、特性等最基本功能；以及它是如何用来满足我们的各种需要的。例如从产品名称、产地、材料、工艺定位、特性等等方面深刻去挖掘这个产品的内在属性，找到差异点。特性，毫无疑问就是要自己品牌所独有的。<br />每一个产品都有其功能，否则就没有了存在的意义，这一点应是毋庸置疑的。对一个产品的常规功能，许多推销人员也都有一定的认识。但需要特别提醒的是：要深刻发掘自身产品的潜质，努力去找到竞争对手和其他推销人员忽略的、没想到的特性。当你给了顾客一个“情理之中，意料之外”的感觉时，下一步的工作就很容易展开了。</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1654948387705/7BIW5ZYKl.png" alt="image.png" /></p>
<h2 id="heading-a">A代表优点</h2>
<p>A代表由这特征所产生的优点(Advantages)：即(F)所列的商品特性究竟发挥了什么功能？是要向顾客证明“购买的理由”：同类产品相比较，列出比较优势；或者列出这个产品独特的地方。可以直接，间接去阐述。例如：更管用、更高档、更温馨、更保险、更…   </p>
<h2 id="heading-b">B代表利益</h2>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1654948401362/zD8HAK_DT.png" alt="image.png" />
B代表这一优点能带给顾客的利益(Benefits)：即(A)商品的优势带给顾客的好处。利益推销已成为推销的主流理念，一切以顾客利益为中心，通过强调顾客得到的利益、好处激发顾客的购买欲望。这个实际上是右脑销售法则时候特别强调的，用众多的形象词语来帮助消费者虚拟体验这个产品。   </p>
<h2 id="heading-e">E代表证据</h2>
<p>E代表证据(Evidence)：包括技术报告、顾客来信、报刊文章、照片、示范等，通过现场演示，相关证明文件，品牌效应来印证刚才的一系列介绍。所有作为“证据”的材料都应该具有足够的客观性、权威性、可靠性和可见证性。   </p>
<h2 id="heading-5oc757ut">总结</h2>
<p>FABE法简单地说，就是在找出顾客最感兴趣的各种特征后，分析这一特征所产生的优点，找出这一优点能够带给顾客的利益，最后提出证据，通过这四个关键环节的销售模式，解答消费诉求，证实该产品确能给顾客带来这些利益，极为巧妙的处理好顾客关心的问题，从而顺利实现产品的销售诉求。</p>
]]></content:encoded></item><item><title><![CDATA[面向对象是怎么一回事]]></title><description><![CDATA[三大基本特征和五大基本原则
前言面向对象的三个特征：封装、继承、多态。那么面向对象是怎么体现这三个特征呢？关于五大基本原则，这是我找到的对新手（如我）来说还是比较容易理解的表述。
面向对象的三大基本特征
1. 封装
封装，就是将客观事物抽象为逻辑实体，实体的属性和功能相结合，形成一个有机的整体。并对实体的属性和功能实现进行访问控制，向信任的实体开放，对不信任的实体隐藏。，通过开放的外部接口即可访问，无需知道功能如何实现。
也就是说，封装主要有以下目的：

可隐藏实体实现的细节。
提高安全性，设定...]]></description><link>https://laofu.ipio.cf/mxh-mxdxszmyhs</link><guid isPermaLink="true">https://laofu.ipio.cf/mxh-mxdxszmyhs</guid><dc:creator><![CDATA[donaldfergus]]></dc:creator><pubDate>Thu, 09 Jun 2022 05:01:12 GMT</pubDate><content:encoded><![CDATA[<p><strong>三大基本特征和五大基本原则</strong></p>
<p>前言<br />面向对象的三个特征：<strong>封装、继承、多态</strong>。那么面向对象是怎么体现这三个特征呢？<br />关于五大基本原则，这是我找到的对新手（如我）来说还是比较容易理解的表述。</p>
<h1 id="heading-6z2i5zcr5a56lgh55qe5lij5asn5z65pys54m55b6b">面向对象的三大基本特征</h1>
<h2 id="heading-1">1. 封装</h2>
<p>封装，就是将客观事物抽象为逻辑实体，实体的属性和功能相结合，形成一个有机的整体。并对实体的属性和功能实现进行访问控制，向信任的实体开放，对不信任的实体隐藏。，通过开放的外部接口即可访问，无需知道功能如何实现。</p>
<p>也就是说，封装主要有以下目的：</p>
<ul>
<li>可隐藏实体实现的细节。</li>
<li>提高安全性，设定访问控制，只允许具有特定权限的使用者调用。</li>
<li>简化编程，调用方无需知道功能是怎么实现的，即可调用。</li>
</ul>
<p>举个栗子，X怎么跟别人介绍他的女朋友？</p>
<pre><code>我的女朋友{  
    属性：  
        姓名;  
        (体重等信息就没必要跟别人说了，隐藏起来)  
    行为：  
        吃饭;  
        (其他的别人也不需要知道，隐藏起来)  
}
</code></pre><p>X只需要跟别人说他女朋友一些公开的属性就行了，其他的可以选择隐藏。</p>
<p>如果别人想约X跟X女朋友出来一起吃个饭，只需要向X发出邀请，而无需知道X是怎么跟X女朋友商量的。</p>
<h2 id="heading-2">2. 继承</h2>
<p><strong>继承</strong>，在继承机制下形成有层级的类，<strong>使得低层级的类可以延用高层级类的特征和方法</strong>。继承的实现方式有两种：实现继承、接口继承。</p>
<p><strong>实现继承：</strong>直接使用基类公开的属性和方法，无需额外编码。</p>
<p><strong>接口继承：</strong>仅使用接口公开的属性和方法名称，需要子类实现。</p>
<p>也就是说，继承有以下目的：</p>
<ul>
<li>复用代码，减少类的冗余代码，减少开发工作量。</li>
<li>使得类与类之间产生关系，为多态的实现打下基础。</li>
</ul>
<p>举个栗子，怎么样做到年收千万上亿？继承家产就很棒。</p>
<pre><code>X爸{  
    属性：  
        股票;  
        (现金和银行存款作为养老资产，隐藏起来)  
    行为：  
        管理公司;  
}
</code></pre><p>X爸不想努力了，把公司交给X，自己的现金和银行存款已经够养老了。     </p>
<pre><code>X 继承 X爸{  
    属性：  
        股票;  
        (自己的现金和银行存款，隐藏起来)  
    行为：  
        管理公司;  
}
</code></pre><h2 id="heading-3">3. 多态</h2>
<p>多态，是指一个<strong>类的同名方法，在不同情况下的实现细节不同</strong>。多态机制实现<strong>不同的内部实现结构共用同一个外部接口</strong>。</p>
<p>也就是说，多态有以下目的：</p>
<ul>
<li>一个外部接口可被多个同类使用。</li>
<li>不同对象调用同个方法，可有不同实现。</li>
</ul>
<p>举个栗子，拥有千万资产的X想跟女朋友结婚了。</p>
<pre><code>娶亲{  
    行为：  
        领证{挑个黄道吉日去领证};  
        摆酒{宴请各路亲戚三顿饭};  
}
</code></pre><p>X不想像父辈那样专门挑个日子去领证，也不想请一堆不认识的亲戚吃饭。跟未婚妻商量之后，决定这么做。</p>
<pre><code>X娶亲 继承 娶亲{  
    行为：  
        领证{跟未婚妻饭后散步，顺便领证};  
        摆酒{仅仅是宴请亲人和两人各自最好的几个朋友};  
}
</code></pre><p>当别人在讨论X是怎么娶亲的时候，可以通过娶亲这个父类，来指向X娶亲子类，这样就可以知道X是怎么娶亲了。</p>
<p>从上述可以看出，多态实现的三个必要条件是：继承、重写（子类继承父类后，对继承的方法重新定义）、父类应用指向子类对象。所以，多态的实现是基于继承的。</p>
<h1 id="heading-6z2i5zcr5a56lgh55qe5lqu5asn5z65pys5y6f5yiz">面向对象的五大基本原则</h1>
<h2 id="heading-1-srp">1. 单一职责原则（SRP）</h2>
<blockquote>
<p>其核心思想为：一个类，最好只做一件事，只有一个引起它的变化。
一个类，最好有且仅有一个引起它变化的原因。</p>
</blockquote>
<p>举个栗子，职员类里包括了普通员工、经理、老板，那类中势必需要用if else来区分判断，而且无论是这三种职员的需求发生变化，都会影响到整个职员类。</p>
<p>按照“单一职责原则”，将普通员工、经理、老板分别建一个类，既不用if else加以区分，也不会在修改某个职员类别的时候影响另一个。</p>
<h2 id="heading-2-ocp">2. 开放封闭原则（OCP）</h2>
<blockquote>
<p>其核心思想是：软件实体应该是可扩展的，而不可修改的。</p>
</blockquote>
<p>一个类，可以扩展（添加属性和功能），但是不要修改已经写好的属性和方法。</p>
<blockquote>
<p>实现开开放封闭原则的核心思想就是对抽象编程，而不对具体编程，因为抽象相对稳定。</p>
</blockquote>
<p>打个简单的比方，X的大舅二舅都是他舅，是有血缘关系的舅舅，如果突然冒出来一个跟他有血缘关系的三舅，那也是他舅舅。同时也不能改变他大舅和二舅的亲缘关系。</p>
<h2 id="heading-3lsp">3.里氏替换原则（LSP)</h2>
<blockquote>
<p>其核心思想是：子类必须能够替换其基类。
类A是类B的父类，那么在进行调用的时候，类A可以引用类B，但是反过来不行。</p>
</blockquote>
<p>其实可以粗糙地理解为，类A就是对外提供一个接口，具体的实现在类B中。</p>
<blockquote>
<p>实现的方法是面向接口编程：将公共部分抽象为基类接口或抽象类，通过Extract Abstract Class，在子类中通过覆写父类的方法实现新的方式支持同样的职责。   </p>
</blockquote>
<p>也就是说，其实里氏替换原则是继承和多态的综合体现。</p>
<h2 id="heading-4-dip">4. 依赖倒置原则（DIP)</h2>
<blockquote>
<p>其核心思想是：依赖于抽象。具体而言就是高层模块不依赖于底层模块，二者都同依赖于抽象；抽象不依赖于具体，具体依赖于抽象。</p>
</blockquote>
<p>在对客观事物抽象成逻辑实体时，可以先思考，同类事物的共性是什么，将这个共性作为这类事物的“高层模块”，若干不同的客观事物作为“底层模块”在依赖”高层“之后，对共性进行特定描述。</p>
<p>举个栗子，苹果跟西瓜都是水果，水果的共同属性是水分、糖分。在这里，”水果“作为高层模块，其属性可以在描述“苹果”和“西瓜”的时候使用，所以“苹果”“西瓜”在此是“底层模块”。</p>
<h2 id="heading-5">5. 接口隔离原则</h2>
<blockquote>
<p>其核心思想是：使用多个小的专门的接口，而不要使用一个大的总接口。</p>
</blockquote>
<p>接口中定义属性和需要子类实现的方法，实现类必须完全实现接口的所有方法、属性。为什么要接口隔离呢？目的有二：</p>
<ul>
<li>避免引用接口的类，需要实现其实用不到的接口方法、属性。</li>
<li>避免当接口修改的时候，有一连串的实现类需要更改。</li>
</ul>
<blockquote>
<p>分离的手段主要有以下两种：1、委托分离，通过增加一个新的类型来委托客户的请求，隔离客户和接口的直接依赖，但是会增加系统的开销。2、多重继承分离，通过接口多继承来实现客户的需求，这种方式是较好的。</p>
</blockquote>
<ul>
<li>委托分离，不直接使用原先的接口，可以用另外增加一个新的接口或类来实现需求。</li>
<li>多重继承分离，JDK源码、Spring框架使用了这种方式，后续的JDK源码解析系列会提及，好奇的朋友可以查看集合类的结构。</li>
</ul>
<p>--END--</p>
]]></content:encoded></item><item><title><![CDATA[什么是dns ？]]></title><description><![CDATA[域名系统 (DNS) 将人类可读的域名 (例如，laofu.ipio.cf) 转换为机器可读的 IP 地址 (例如，172.67.143.172)。
DNS 基础知识
Internet 上的所有计算机，从您的智能手机或笔记本电脑到可提供大量零售网站内容的服务器，均通过使用编号寻找另一方并相互通信。这些编号称为 IP 地址。当您打开 Web 浏览器并前往一个网站时，您不必记住和输入长编号。而是输入域名（如 example.com），然后在正确的位置结束。
Amazon Route 53 等 DNS...]]></description><link>https://laofu.ipio.cf/xxhxm-dns</link><guid isPermaLink="true">https://laofu.ipio.cf/xxhxm-dns</guid><dc:creator><![CDATA[donaldfergus]]></dc:creator><pubDate>Sun, 05 Jun 2022 13:50:25 GMT</pubDate><content:encoded><![CDATA[<p>域名系统 (DNS) 将人类可读的域名 (例如，laofu.ipio.cf) 转换为机器可读的 IP 地址 (例如，172.67.143.172)。</p>
<h2 id="heading-dns">DNS 基础知识</h2>
<p>Internet 上的所有计算机，从您的智能手机或笔记本电脑到可提供大量零售网站内容的服务器，均通过使用编号寻找另一方并相互通信。这些编号称为 <strong>IP 地址</strong>。当您打开 Web 浏览器并前往一个网站时，您不必记住和输入长编号。而是输入<strong>域名</strong>（如 example.com），然后在正确的位置结束。</p>
<p>Amazon Route 53 等 DNS 服务是一种全球分布式服务，它将人类可读的名称 (如 www.example.com) 转换为数字 IP 地址 (如 192.0.2.1)，供计算机用于相互连接。Internet 的 DNS 系统的工作原理和电话簿相似，都是管理名称和数字之间的映射关系。DNS 服务器将名称请求转换为 IP 地址，对终端用户在 Web 浏览器中输入域名时所访问的服务器进行控制。这些请求称为<strong>查询</strong>。</p>
<h2 id="heading-dns">DNS 服务的类型</h2>
<p><strong>授权型 DNS：</strong>一种授权型 DNS 服务提供一种更新机制，供开发人员用于管理其公有 DNS 名称。然后，它响应 DNS 查询，将域名转换为 IP 地址，以便计算机可以互相通信。授权型 DNS 对域有最终授权且负责提供递归型 DNS 服务器对 IP 地址信息的响应。Amazon Route 53 是一种授权型 DNS 系统。</p>
<p><strong>递归型 DNS：</strong>客户端通常不会对授权型 DNS 服务直接进行查询。而是通常连接到称为解析程序的其他类型 DNS 服务，或递归型 DNS服务。递归型 DNS 服务就像是旅馆的门童：尽管没有任何自身的 DNS 记录，但是可充当代表您获得 DNS 信息的中间程序。如果递归型 DNS 拥有已缓存或存储一段时间的 DNS 参考，那么它会通过提供源或 IP 信息来响应 DNS 查询。如果没有，则它会将查询传递到一个或多个授权型 DNS 服务器以查找信息。</p>
<h2 id="heading-dns-web">DNS 如何将流量路由到您的 Web 应用程序？</h2>
<p>下图概述了递归型和授权型 DNS 服务如何协同工作以将终端用户路由到您的网站或应用程序。</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1654436604716/E7yUZQWhr.png" alt="IMG" /></p>
<ol>
<li>用户打开 Web 浏览器，在地址栏中输入 www.example.com，然后按 Enter 键。</li>
<li>www.example.com 的请求被路由到 DNS 解析程序，这一般由用户的互联网服务提供商 (ISP) 进行管理，例如有线 Internet 服务提供商、DSL 宽带提供商或公司网络。</li>
<li>ISP 的 DNS 解析程序将 www.example.com 的请求转发到 DNS 根名称服务器。</li>
<li>ISP 的 DNS 解析程序再次转发 www.example.com 的请求，这次转发到 .com 域的一个 TLD 名称服务器。.com 域的名称服务器使用与 example.com 域相关的四个 Amazon Route 53 名称服务器的名称来响应该请求。</li>
<li>ISP 的 DNS 解析程序选择一个 Amazon Route 53 名称服务器，并将 www.example.com 的请求转发到该名称服务器。</li>
<li>Amazon Route 53 名称服务器在 example.com 托管区域中查找 www.example.com 记录，获得相关值，例如，Web 服务器的 IP 地址 (192.0.2.44)，并将 IP 地址返回至 DNS 解析程序。</li>
<li>ISP 的 DNS 解析程序最终获得用户需要的 IP 地址。解析程序将此值返回至 Web 浏览器。DNS 解析程序还会将 example.com 的 IP 地址缓存 (存储) 您指定的时长，以便它能够在下次有人浏览 example.com 时更快地作出响应。有关更多信息，请参阅存活期 (TTL)。</li>
<li>Web 浏览器将 www.example.com 的请求发送到从 DNS 解析程序中获得的 IP 地址。这是您的内容所处位置，例如，在 Amazon EC2 实例中或配置为网站端点的 Amazon S3 存储桶中运行的 Web 服务器。</li>
<li>192.0.2.44 上的 Web 服务器或其他资源将 www.example.com 的 Web 页面返回到 Web 浏览器，且 Web 浏览器会显示该页面。</li>
</ol>
<h2 id="heading-dns">国内公共 DNS</h2>
<h3 id="heading-dns">腾讯云 DNS</h3>
<p>Public DNS+ 是 DNSPod 推出的公共域名解析服务，DNSPod 曾是中国第一大DNS解析服务提供商，现在 DNSPod 已经被腾讯云收购，因此也叫做腾讯公共 DNS 服务。腾讯 DNS 可以为用户提供更加快速、准确、稳定的递归解析服务，且不会对任何域名进行恶意劫持。</p>
<pre><code><span class="hljs-selector-tag">IPv4</span> <span class="hljs-selector-tag">DNS</span> 地址：119<span class="hljs-selector-class">.29</span><span class="hljs-selector-class">.29</span><span class="hljs-selector-class">.29</span>
</code></pre><p>服务地址：https://www.dnspod.cn/Products/Public.DNS</p>
<h3 id="heading-dns">阿里云公共 DNS</h3>
<p>由阿里云提供的公共DNS服务。阿里云拥有全球数百台服务器组成的集群，具有充足的带宽资源；其自研高性能DNS系统和清洗中心，保障系统稳定和安全。BGP anycast技术，让您访问最近的DNS集群；动态缓存技术，加速解析响应。阿里云公共 DNS具有稳定，快速，智能的优势。</p>
<pre><code><span class="hljs-attribute">IPv4</span> DNS 地址：<span class="hljs-number">223.5.5.5</span> / <span class="hljs-number">223.6.6.6</span>
<span class="hljs-attribute">IPv6</span> DNS 地址：<span class="hljs-number">2400</span>:<span class="hljs-number">3200</span>::<span class="hljs-number">1</span> / <span class="hljs-number">2400</span>:<span class="hljs-number">3200</span>:baba::<span class="hljs-number">1</span>
</code></pre><p>服务地址：https://alidns.com/</p>
<h3 id="heading-dns">百度公共 DNS</h3>
<p>由百度推出的公共DNS的服务，依托百度强大技术，具有云防护，无劫持，更精准三大优势。</p>
<ul>
<li>云防护：病毒、木马、钓鱼网站一网拦截，百度云防护实时守护您的访问安全</li>
<li>无劫持：无恶意跳转，无强制广告，百度公共DNS让您的每一次访问都畅通无阻</li>
<li>更精准：遍布全国的递归出口、智能解析，所有的努力只为让CDN定位更精准，让您的每一次访问都更高效</li>
</ul>
<pre><code><span class="hljs-selector-tag">IPv4</span> <span class="hljs-selector-tag">DNS</span> 地址：180<span class="hljs-selector-class">.76</span><span class="hljs-selector-class">.76</span><span class="hljs-selector-class">.76</span>
<span class="hljs-selector-tag">IPv6</span> <span class="hljs-selector-tag">DNS</span> 地址：2400<span class="hljs-selector-pseudo">:da00</span><span class="hljs-selector-pseudo">::6666</span>
</code></pre><p>服务地址：https://dudns.baidu.com/intro/publicdns</p>
<h3 id="heading-114-dns">114 DNS</h3>
<p>114 DNS 源自南京信风 2010 年为中国电信及中国联通两个大省约 2000 万宽带用户提供备份服务的超大型 DNS 系统，同时提供公众 DNS 解析服务及权威 DNS 解析备份服务，114DNS 将为中国的互联网及电子商务提供可靠的基础安全保障。114DNS 为国内云安全DNS服务先行者，114DNS 平台由多个基础电信运营商与南京信风共建共享，但由南京信风提供技术支持以确保服务的优质高效。</p>
<pre><code><span class="hljs-attribute">IPv4</span> DNS 地址：<span class="hljs-number">114.114.114.114</span> / <span class="hljs-number">114.114.115.115</span>
</code></pre><p>服务地址：http://www.114dns.com/</p>
<h3 id="heading-onedns">OneDNS</h3>
<p>OneDNS是北京微步在线科技有限公司旗下产品，为防止DNS解析服务被滥用，OneDNS个人版对来自每个IP地址的解析请求量做了限制，其解析服务分为拦截版，纯净版，家庭版三种。拦截版含有恶意网站拦截、广告过滤等功能；纯净版则不对访问网站进行任何过滤拦截，直接返回其真实的响应结果。</p>
<pre><code>拦截版 <span class="hljs-selector-tag">IPv4</span> <span class="hljs-selector-tag">DNS</span> 地址：117<span class="hljs-selector-class">.50</span><span class="hljs-selector-class">.11</span><span class="hljs-selector-class">.11</span>    52<span class="hljs-selector-class">.80</span><span class="hljs-selector-class">.66</span><span class="hljs-selector-class">.66</span>
纯净版 <span class="hljs-selector-tag">IPv4</span> <span class="hljs-selector-tag">DNS</span> 地址：117<span class="hljs-selector-class">.50</span><span class="hljs-selector-class">.10</span><span class="hljs-selector-class">.10</span>    52<span class="hljs-selector-class">.80</span><span class="hljs-selector-class">.52</span><span class="hljs-selector-class">.52</span>
家庭版 <span class="hljs-selector-tag">IPv4</span> <span class="hljs-selector-tag">DNS</span> 地址：117<span class="hljs-selector-class">.50</span><span class="hljs-selector-class">.60</span><span class="hljs-selector-class">.30</span>    52<span class="hljs-selector-class">.80</span><span class="hljs-selector-class">.60</span><span class="hljs-selector-class">.30</span>
</code></pre><p>服务地址：https://www.onedns.net</p>
<h2 id="heading-dns">国外DNS 服务</h2>
<h3 id="heading-dns">谷歌公共 DNS</h3>
<p>谷是最早推出免费DNS服务的平台。谷歌DNS它们易于记忆，并且每个人都可以使用。谷歌DNS的主要优势来自他们作为一家公司的声誉。谷歌每年收入极多，有能力提供最稳定和更有弹性的DNS服务器。这个DNS服务器的唯一问题是它们存储有关您的运营的信息，如果美国政府决定需要这些信息，它们可以与第三方共享，Google通常被认为是最好的DNS服务器。</p>
<pre><code><span class="hljs-attribute">IPv4</span> DNS 地址：<span class="hljs-number">8.8.8.8</span> / <span class="hljs-number">8.8.4.4</span>
</code></pre><p>服务地址：https://developers.google.com/speed/public-dns</p>
<h3 id="heading-cloudflare-dns">Cloudflare DNS</h3>
<p>cloudflare 是一家国外的 CDN 加速服务商。2018 年的 4 月 1 日愚人节，Cloudflare 宣布推出 1.1.1.1 公共 DNS 服务。如今两年过去了，其已经成为了仅次于 Google 的全球第二大公共 DNS 解析器。cloudflare DNS目标互联网上速度最快且高度关注隐私保护的消费级 DNS 服务</p>
<pre><code><span class="hljs-selector-tag">IPv4</span> <span class="hljs-selector-tag">DNS</span> 地址：1<span class="hljs-selector-class">.1</span><span class="hljs-selector-class">.1</span><span class="hljs-selector-class">.1</span> 和 1<span class="hljs-selector-class">.0</span><span class="hljs-selector-class">.0</span><span class="hljs-selector-class">.1</span>
<span class="hljs-selector-tag">IPv6</span> <span class="hljs-selector-tag">DNS</span> 地址：2606<span class="hljs-selector-pseudo">:4700</span><span class="hljs-selector-pseudo">:4700</span><span class="hljs-selector-pseudo">::1111</span> 和 2606<span class="hljs-selector-pseudo">:4700</span><span class="hljs-selector-pseudo">:4700</span><span class="hljs-selector-pseudo">::1001</span>
</code></pre><p>服务地址：https://developers.google.com/speed/public-dns</p>
<h3 id="heading-opendns">OpenDNS</h3>
<p>OpenDNS 是一个免费的域名解析服务提供商（DNS），并具备反钓鱼、内容控制软件等功能。2015年6月30日，思科系统公司宣布收购OpenDNS。OpenDNS为个人和商业提供DNS方案，用户可以自行选择使用OpenDNS的服务或者使用当地ISP提供的DNS服务。</p>
<pre><code><span class="hljs-attribute">IPv4</span> DNS 地址：<span class="hljs-number">208.67.222.222</span> / <span class="hljs-number">208.67.220.220</span>
<span class="hljs-attribute">IPv4</span> DNS 地址：<span class="hljs-number">208.67.222.220</span> / <span class="hljs-number">208.67.220.222</span>
<span class="hljs-attribute">IPv6</span> DNS 地址：<span class="hljs-number">2620</span>:<span class="hljs-number">119</span>:<span class="hljs-number">35</span>::<span class="hljs-number">35</span> / <span class="hljs-number">2620</span>:<span class="hljs-number">119</span>:<span class="hljs-number">53</span>::<span class="hljs-number">53</span>
</code></pre><p>服务地址：https://www.opendns.com/</p>
<p>总结：对于国内用户推荐大家使用腾讯云 阿里云的公共 DNS，作为云服务器大厂，公共DNS算是基础服务，势必有不错的保证。国外用户选Cloudflare的公共DNS服务，在速度和隐私方面都做的很好。</p>
<p>--END--</p>
]]></content:encoded></item><item><title><![CDATA[IPv6应用背景]]></title><description><![CDATA[什么是互联网协议？
IP 是 Internet 协议，是过去 40 年来发展起来的一套标准化的通信机制。IP 以计算机代码的形式存在于任何需要连接到 Internet 的设备、服务或系统中，任何 IP 的实现都需要符合其标准才能正确可靠地工作。
顾名思义，IP 是互联网的核心。事实上，它的具体特征是当今互联网成功的核心。特别是，IP 至少直接实现了 Internet 的以下三个基本特征：

全局性：在互联网上任意一对不同位置（IP 地址）的任意一对设备之间交换数据的能力
中立性：应用程序和内容与...]]></description><link>https://laofu.ipio.cf/xxhxm-ipv6</link><guid isPermaLink="true">https://laofu.ipio.cf/xxhxm-ipv6</guid><dc:creator><![CDATA[donaldfergus]]></dc:creator><pubDate>Thu, 02 Jun 2022 01:05:11 GMT</pubDate><content:encoded><![CDATA[<h1 id="heading-5lua5lmi5piv5lqs6igu572r5y2p6k6u77yf">什么是互联网协议？</h1>
<p>IP 是 Internet 协议，是过去 40 年来发展起来的一套标准化的通信机制。IP 以计算机代码的形式存在于任何需要连接到 Internet 的设备、服务或系统中，任何 IP 的实现都需要符合其标准才能正确可靠地工作。</p>
<p>顾名思义，IP 是互联网的核心。事实上，它的具体特征是当今互联网成功的核心。特别是，IP 至少直接实现了 Internet 的以下三个基本特征：</p>
<ul>
<li>全局性：在互联网上任意一对不同位置（IP 地址）的任意一对设备之间交换数据的能力</li>
<li>中立性：应用程序和内容与互联网基础设施（“IP 层”）的分离</li>
<li>开放性：技术、内容和服务提供商的最低准入门槛，他们可以自由访问 IP 标准规范。</li>
</ul>
<h1 id="heading-ipv4">什么是 IPv4？</h1>
<p>Internet 协议的第 4 版从 1983 年 1 月 1 日开始使用。从那时起的 30 年里，IPv4 一直被用来构建我们所知道的 Internet，而 IPv4 的特性在许多方面定义了 Internet，包括限制了它的成长。</p>
<p>IPv4 使用的寻址机制涉及固定长度的 32 位（二进制数字）网络地址格式，最多可提供 2^32 个（约 40 亿个）唯一地址。这种地址格式规定了可以直接连接到互联网的设备数量的绝对限制，并且与 IPv4 本身密不可分。在最初设计时，这种架构似乎足以满足所有可预见的用途。然而，在今天的互联网上，IPv4 地址空间已经不够大了。这推动了其继任者 IPv6 的采用，如下所述。</p>
<h1 id="heading-ipv4">IPv4有多“大”？</h1>
<p>IPv4 地址空间的有限大小受 32 位地址格式的限制，就像 8 位格式限制最多 100,000,000 个唯一电话号码一样。</p>
<p>虽然这种严格的架构限制可能看起来是短视的，但重要的是要记住，当时许多其他网络协议正在开发中，包括政府认可的“OSI”系统，而且当时 IPv4 似乎很可能会在其地址空间耗尽之前被替换。</p>
<p><strong>IPv4 空间的大小通常被报告为 40 亿 (2<sup>32</sup>) 个地址，但由于在协议中大约 14% 被指定用于特殊目的（包括“私有地址”，如下所述），因此大约有 37 亿个唯一地址可用于在互联网上使用。</strong></p>
<p>由于种种原因，IPv4地址空间的利用率永远无法达到100%；在实践中，50% 可能更现实。但是据APNIC统计，截止到2022年5月30日，APNIC尚未分配的IPv4地址数量为2958592个，占总资源池大小的0.3%。目前保留的IPv4地址数量为1683456个，占总资源池大小的0.2%。已分配数量为887334144个，占总资源池大小的99.5%。</p>
<h1 id="heading-ipv4">IPv4 管理史</h1>
<p>Internet 需要整个网络的 IP 地址，并且这些地址必须唯一地分配给每个连接的设备。此外，地址必须“分层”分配，也就是说，在对应于 Internet 网络拓扑的块中，以及在这些块内分配给较小的子网络和基础设施。为了系统地管理和跟踪整个地址分发过程，互联网一直需要某种形式的“注册”机制。</p>
<p>在早期（1980 年代中期），互联网被认为是一种学术和实验活动，从长远来看不太可能有用。在 1980 年代，只有一个 IP 地址注册机构（“中央注册机构”）位于美国洛杉矶；它以一系列名称演变，包括“NIC”（网络信息中心）、InterNIC，最后是 IANA（Internet Assigned Numbers Authority，互联网号码分配机构）。然而，在短短几年内，互联网的发展超出了预期，它的许多机制，包括地址注册系统，都需要适应这种增长。</p>
<p>到 1990 年代初，显然需要一种新的方法来处理这种中央登记安排。互联网标准机构，然后是 IETF（Internet Engineering Task Force，互联网工程任务组），通过其“RFC”（Request for Comments，征求意见）流程决定注册功能应该区域化，以允许管理功能的分配和更谨慎的管理有限的 IPv4 地址空间。</p>
<p>在随后的几年中，地区互联网地址注册管理机构 (Regional Internet address Registries，RIR)在多个地点建立，顺序如下：</p>
<ul>
<li>RIPE NCC (1992)，服务于欧洲以及非洲和中亚的部分地区，</li>
<li>APNIC (1993)，服务于亚太地区，</li>
<li>ARIN (1997) ，一个独特的注册机构，负责美洲和非洲部分地区，</li>
<li>Lacnic (2001)，负责拉丁美洲和加勒比地区的大部分地区，</li>
<li>AFRINIC (2005)，负责非洲地区。</li>
</ul>
<p>随着每个 RIR 的建立，它承担了对其指定区域的责任，要么来自 IANA，要么来自已履行该职能的现有 RIR。自 1992 年以来，这些不断发展的组织（IANA 和 RIR）通过社区定义的政策、程序和问责机制共同承担了全球 IPv4 地址空间管理的责任，这些政策、程序和责任机制已经完善并记录在案。</p>
<p>重要的是，就 Internet 增长和稳定性而言，成功的 IP 地址管理需要的不仅仅是成功的注册功能。IP 地址空间必须以与 Internet 的物理拓扑相对应的分层方式分布，因为它由许多单独的、独立的 IP 网络组成。每个网络运营商，无论大小，都必须根据寻址社区共同制定的政策，证明需要负责的 RIR 进行分配。在这种分层分布模式下，那些无法证明这种需求的人总是可以从他们自己的互联网服务提供商那里获得所需的地址。</p>
<h1 id="heading-pv4">Pv4地址分配</h1>
<p>2011 年 2 月，当最后一个可用的 IPv4 地址空间块最终分配给 RIR 时，IPv4 地址空间的全球分布如下：</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1654131720193/__Xc7HEZy.png" alt="微信图片_20220602090130.png" />
值得注意的是，“中央注册”部分占整个 IPv4 空间的 35% 左右。这被称为“历史”或“遗留”地址空间，它是在 RIR 系统之前通过慷慨且相对非正式的分配程序分配的，没有预料到互联网的成功。中央注册中心迅速耗尽 IPv4 地址空间是建立 RIR 系统的驱动力之一。</p>
<p>然而，自 1992 年以来，互联网总增长已占其当前用户人口的 99% 以上。这表明了当前分配系统的成功，但也表明中央注册地址空间可以被今天的标准视为“未充分利用”。</p>
<h1 id="heading-4occ6ygx55wz4ocd5zyw5z2a56m66ze0">“遗留”地址空间</h1>
<p>除了承担分配和注册 IP 地址的责任外，每个 RIR 还负责管理每个地区的旧地址空间。在大多数地区，出于行政和过渡原因，早期的管理政策可能已经区分了遗留地址和“当前”地址。然而，这些政策趋于趋同，因此在大多数情况下，遗留空间和当前空间之间不再存在任何实际区别。这是与 IP 地址转移相关的一个重要问题，下文将对此进行讨论。</p>
<h1 id="heading-ipv4">IPv4地址耗尽</h1>
<p>IPv4 地址空间从 IANA 到 RIR 的最终分配（2011 年 2 月）仅代表 IPv4 耗尽过程中的一个阶段。这一事件给各个 RIR 留下了不同大小的 IPv4 池，但并未立即改变它们从这些池中的分配机制。然而，根据各自的政策，每个地区都根据情况进行了一系列政策调整（由社区政策制定过程确定）。</p>
<p>以 APNIC 为例，其剩余的常规 IPv4 地址库存在 2011 年 4 月用尽，当时它达到了 IPv4 的“最后 /8”块（相当于大约 1600 万个地址）。此时，一个预先确定的政策生效，实施了一个商定的配给系统，允许每个客户组织从剩余的地址池中只接收一个“/22”块（1024 个地址）。这种方法与其他 RIR 同意的方法类似，为新进入者提供少量 IPv4 供应，预计供应将持续超过 IPv6 过渡所需的时间（至少十年）。</p>
<p>在整个 Internet 中，IPv4 的枯竭涉及一组正在进行的过程，而不是单一的全球或区域事件。事实上，由于 IP 地址管理和使用的完全分散的性质，从来没有任何期望或可能出现其他结果。</p>
<h1 id="heading-ipv4">注册表、路由和IPv4转移</h1>
<p>IP 地址注册表的作用是记录给定地址块的授权持有者；即对其使用负责的一方。然而，无论是否经过地址持有者的许可，注册中心本身都不能严格阻止任何一方使用给定的区块。</p>
<p>然而在实践中，地址块只能由互联网上的任何一方在获得他人许可的情况下使用；具体来说，一个 ISP 被要求通过将其地址块“路由”到 Internet 上来提供与该方的连接。被要求路由给定地址块的 ISP 有义务识别请求者并仅在其身份与注册记录一致的情况下提供服务。也就是说，在某些情况下可能不会发生这种情况，如下所示：</p>
<p><strong>“抢注”</strong>是指未经授权使用未分配的地址块，因此未在任何注册表中注册。</p>
<p><strong>“劫持”</strong>是指未经授权使用分配给另一方的地址块。如果地址块正在使用中，成功的劫持将导致地址空间的其他（可能是合法的）用户的服务和连接中断。</p>
<p><strong>“黑市转移”</strong>发生在注册持有人与另一方之间就该方临时或永久使用的地址块达成私人协议时。</p>
<p>此处列出的所有三种情况的替代方案是“注册转让”，这是指通过正常注册程序更改注册记录的合法过程。这是正常注册活动的一部分，在组织合并或收购以及其他管理变更的情况下。然而，直到最近，注册政策还禁止其他形式的地址转移，例如独立于注册过程的私人协议（例如购买或出售地址空间的协议）。</p>
<h1 id="heading-ipv4">IPv4 转移历史</h1>
<p>在可用的 IPv4 供应耗尽之前，在独立各方之间转移 IPv4 地址块的动机很少。那些需要地址空间的人能够通过定义明确的 RIR 程序获得它，而那些拥有未使用空间的人则不得不将其归还给 RIR（尽管这种情况很少发生）。</p>
<p>此外，RIR 政策通过禁止以这种方式“接收”的块的注册来阻止地址块的自由转移。因此，虽然在没有注册机构参与的情况下可能会发生“黑市转移”，但接收方将面临路由此类地址空间的困难，以及被 RIR “回收”的风险。</p>
<p>另一方面，任何对黑市空间的成功利用都会对网络安全和工程造成不利影响，因为地址用户无法通过地址注册表轻松识别。如果这种使用变得广泛，IP 地址注册的完整性和价值将被严重削弱，进而对互联网的稳定性和安全性产生负面影响。</p>
<h1 id="heading-ipv6">IPv6</h1>
<p>Internet 的成功在其整个历史中越来越明显，在 1990 年代，IPv4 地址空间显然不足以支持 Internet 的无限增长。</p>
<p>重要的是，通过使用一系列可以延长地址空间生命周期的技术，互联网有可能继续使用 IPv4 增长，这些功能已经在部署。但这样一来，互联网将不可避免地逐渐失去前文所述的全球性、中立性和开放性的特征。IPv6 提供了在互联网继续发展到遥远的未来时保留这些基本功能的方法。</p>
<h1 id="heading-ipv6">IPv6 地址管理</h1>
<p>随着 IPv6 协议的采用，管理 IPv6 地址空间的角色被委托给 RIR，在同一个区域化管理系统下。这一决定反映了 IPv6 寻址与 IPv4 具有相同架构约束的现实，需要相同的基于分层的管理方法；以及 IPv6 没有任何特征的事实表明了一种不同的方法。</p>
<h1 id="heading-ipv6">IPv6 有多大？</h1>
<p>IPv6 地址空间的大小可以通过多种方式描述和报告，但就单个地址而言，128 位的地址大小提供了 2<sup>128 </sup>个不同的值，等于 3.4 × 10<sup>38</sup>，或总共 340 万亿个地址。</p>
<p>然而实际上，IPv6 的可寻址单元是“子网”，它容纳了 64 位的 IPv6 地址字段。IPv6 Internet 能够寻址 2<sup>64 </sup>(1.8 x 10<sup>18</sup>) 个子网，每个子网可能包含几个或多个设备。即使每个子网只有一台设备，总体利用率为0.1%，在遥远的未来，一个拥有 100 万亿台设备（1000亿人每人1000台）的互联网将消耗 10<sup>17</sup>个子网，仅占整个 IPv6 空间的5%。</p>
<h1 id="heading-5ps5bqc6kgm5yqo">政府行动</h1>
<p>向 IPv6 的过渡必须是所有 Internet 利益相关者的关键目标。在实践中，由于缺乏对投资的短期激励，这已被证明是一个难以实现的目标，这在竞争激烈的互联网环境中很难证明是合理的。</p>
<p>由于这些原因，政府的积极干预可能是合理的，不仅是为了国家利益和竞争力，也是为了互联网本身的健康。虽然本文的目的不是在该领域提供全面的指导，但政府和监管机构可以考虑采取以下措施，以协助在其管辖范围内部署 IPv6：</p>
<ul>
<li>采购：所有政府采购和承包都应对 ICT 产品和服务提出 IPv6 合规要求。</li>
<li>实施：所有政府在线和互联网相关的 ICT 服务应支持通过 IPv6 访问。</li>
<li>标准：技术和功能要求在表达与 Internet 相关的要求时应参考特定标准 (RFC)。</li>
<li>认证：政府可以建立认证机制，或承认现有的认证机构，将特定产品认定为“IPv6 就绪”。</li>
<li>激励措施：可以考虑以税收减免的形式提供财务激励措施，或向在规定时间范围内采取具体过渡步骤的人提供其他援助。</li>
<li>能力建设：可以鼓励培训提供商和咨询公司向政府和/或行业成员提供合适的 IPv6 相关服务。</li>
<li>监测：政府可能会寻求直接或间接的数据来源，这有助于监测工业和其他部门在实现 IPv6 目标方面的进展。</li>
<li>领导力：政府可以通过媒体、活动、竞赛、奖励和其他机制促进 IPv6 活动。</li>
</ul>
<p>--END--</p>
]]></content:encoded></item><item><title><![CDATA[信息安全等保2.0]]></title><description><![CDATA[等保2.0的变化
“要重点保护基础信息网络和关系国家安全、经济命脉、社会稳定等方面的重要信息系统”，这个定义是网络安全法中的“关键信息基础设施”。所以说，等级保护的核心从未改变。但在互联网高速发展的环境下，新的系统形态、新型应用模式、新型服务方式、重要资料及数据的保护都成为等级保护的内容。这囊括了大型互联网企业、基础网络、重要信息系统、网站、大数据中心、云计算平台、物联网系统、移动互联网、工业控制系统、公众服务平台等。
在2.0时代之前，等级保护包括5个规定动作，即定级、备案、建设整改、等级测评...]]></description><link>https://laofu.ipio.cf/xxhxm-db2</link><guid isPermaLink="true">https://laofu.ipio.cf/xxhxm-db2</guid><dc:creator><![CDATA[donaldfergus]]></dc:creator><pubDate>Wed, 01 Jun 2022 13:22:19 GMT</pubDate><content:encoded><![CDATA[<h2 id="heading-20">等保2.0的变化</h2>
<p>“要重点保护基础信息网络和关系国家安全、经济命脉、社会稳定等方面的重要信息系统”，这个定义是网络安全法中的“关键信息基础设施”。所以说，等级保护的核心从未改变。但在互联网高速发展的环境下，新的系统形态、新型应用模式、新型服务方式、重要资料及数据的保护都成为等级保护的内容。这囊括了大型互联网企业、基础网络、重要信息系统、网站、大数据中心、云计算平台、物联网系统、移动互联网、工业控制系统、公众服务平台等。</p>
<p>在2.0时代之前，等级保护包括5个规定动作，即定级、备案、建设整改、等级测评和监督检查。那么在 2.0 时代，等保的内涵将更加精准化。风险评估、安全监测、通报预警、案事件调查、数据防护、灾难备份、应急处置、自主可控、供应链安全、效果评价、综治考核等这些与网络安全密切相关的措施都将全部纳入等级保护制度并加以实施。</p>
<p>2.0时代，主管部门将继续制定出台一系列政策法规和技术标准，形成运转顺畅的工作机制，在现有体系基础上，建立完善等级保护政策体系、标准体系、测评体系、技术体系、服务体系、关键技术研究体系、教育训练体系等。等级保护也将作为核心，围绕它来构建起安全监测、通报预警、快速处置、态势感知、安全防范、精确打击等为一体的国家关键信息基础设施安全保卫体系。</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1654085559506/0VgGzTdKO.png" alt="image.png" />
图：网络安全等级架构</p>
<p>因此，等保2.0是从“信息安全等级保护制度”到“网络安全等级保护制度”的变更，这不仅从信息安全扩大到网络安全，更从国家制度变更为国家法律，这将为逐步健全国家网络安全提供有力保障及支撑作用。</p>
<h2 id="heading-1">1名称变化</h2>
<p>《中华人民共和国网络安全法》明确规定“国家实行网络安全等级保护制度“，相关法律条文和标准也需保持一致性，“等保2.0”将原标准的“信息系统安全等级保护”改为“网络安全等级保护”，例如《信息系统安全等级保护基本要求》改为《网络安全等级保护基本要求》。</p>
<h2 id="heading-2">2法律依据</h2>
<p>《网络安全法》颁布实施，等级保护制度确定为网络安全领域的基本制度，法定制度。核心法律依据和主要制定依据的相关效力位阶：</p>
<div class="hn-table">
<table>
<thead>
<tr>
<td></td><td>等保1.0</td><td>等保2.0</td></tr>
</thead>
<tbody>
<tr>
<td>核心法律依据及效力位阶</td><td>《信息安全等级保护管理办法》（规章）</td><td>《网络安全等级保护条例》《网络安全法》（行政法规、法律）</td></tr>
<tr>
<td>核心法律依据的主要定制依据及效力位阶</td><td>《计算机信息系统安全保护条例》（行政法规）</td><td>《网络安全法》《保守国家秘密法》（法律）</td></tr>
</tbody>
</table>
</div><h2 id="heading-3">3保护对象变化</h2>
<p>等保1.0定义等级保护对象为：信息安全等级保护工作直接作用的具体信息和信息系统。随着云计算平台、物联网、工业控制系统等新形态的等级保护对象不断涌现，原定义内涵局限性日益显现。</p>
<p>等保2.0定义等级保护对象为：定级对象随信息技术发展变化，由信息系统变更为网络，保护对象全覆盖，领域全覆盖。包括基础信息网络、云计算平台/系统、大数据应用/平台/资源、物联网、工业控制系统和采用移动互联技术的系统等。</p>
<h2 id="heading-4">4等级评定</h2>
<p>等保2.0沿用了传统等级保护的“5个等级”。在覆盖范围上，等保2.0将等级保护对象从信息系统扩展到网络基础设施、云计算平台、大数据平台、物联网等。在定级流程方面，自主定级成为过去式，等保2.0要求系统定级必须经过专家评审和主管部门审核，才能到公安机关备案，整体定级更加严格。测评周期方面，等保2.0要求三级以上系统每年开展一次测评，修改了原先四级系统每半年进行一次等保测评的要求。测评结果则要求达到75分以上才算基本符合。</p>
<p>同时根据受害客体对象进行等级评定，等保2.0加入了网络划分：</p>
<table>
<tr>
    <td>受侵害的客体</td>
    <td> 等保1.0 </td>
    <td></td>
    <td></td>
    <td>等保2.0</td>
</tr>
<tr>
    <td>受侵害的客体</td>
    <td>一般损害</td>
    <td>严重损害</td>
    <td>特别严重损害</td>
    <td>一般损害</td>
    <td>严重损害</td>
    <td>特别严重损害</td>
</tr>
<tr>
    <td>公民、法人和其他组织合法权益</td>
    <td>第一级</td>
    <td>第二级</td>
    <td>第三级</td>
    <td>一般网络-第一级</td>
    <td>一般网络-第二级</td>
    <td>重要网络-第三级</td>
</tr>
<tr>
    <td>社会秩序、公共利益</td>
    <td>第二级</td>
    <td>第三级</td>
    <td>第四级</td>
    <td>一般网络-第二级</td>
    <td>重要网络-第三级</td>
    <td>特别重要网络-第四级</td>
</tr>
<tr>
    <td>国家安全</td>
   <td>第三级</td>
    <td>第四级</td>
    <td>第五级</td>
    <td>重要网络-第三级</td>
    <td>特别重要网络-第四级</td>
    <td>极其重要网络-第五级</td>
</tr>
</table>

<h2 id="heading-5">5要求变化</h2>
<p>从定级备案等五个规范性动作到进一步强化具体安全保护措施的落实，保护要求不断增强。技术标准分为《基本要求》《测评要求》《安全设计技术要求》2.0国家标准，增加新技术新应用安全保护要求。等保2.0通过对原有标准的重新合并整合后有所缩减，以三级为例，管理要求和技术要求内容和数量的变化：</p>
<table>
<tr>
    <td>-</td>
    <td>-</td>
    <td>等保1.0</td>
    <td>-</td>
    <td>等保2.0</td>

</tr>
<tr>
    <td>-</td>
    <td>-</td>
    <td>安全要求</td>
    <td>要求数量（三级为例）</td>
    <td>安全要求</td>
    <td>要求数量（三级为例）</td>
</tr>
<tr>
    <td>通用要求</td>
    <td>管理要求</td>
    <td>安全管理制度</td>
    <td>11</td>
    <td>安全策略和管理制度</td>
    <td>7</td>
</tr>
<tr>
    <td>-</td>
    <td>-</td>
    <td>安全管理机构</td>
    <td>36</td>
    <td><strong>安全管理机构和人员</strong></td>
    <td><strong>26</strong></td>
</tr>
<tr>
        <td>-</td>
    <td>-</td>
<td>人员安全管理</td>
    <td>36</td>
    <td>安全管理机构和人员</td>
    <td>26</td>
</tr>
<tr>
    <td>-</td>
    <td>-</td>
    <td>系统建设管理</td>
    <td>45</td>
    <td>安全建设管理</td>
    <td>34</td>
</tr>
<tr>
    <td>-</td>
    <td>-</td>
    <td>系统运维管理</td>
    <td>62</td>
    <td>安全运维管理</td>
    <td>49</td>
</tr>
<tr>
    <td>通用要求</td>
    <td>技术要求</td>
    <td>物理要求</td>
    <td>32</td>
    <td>物理和环境安全</td>
    <td>22</td>
</tr>
<tr>
    <td>-</td>
    <td>-</td>
    <td>网络要求</td>
    <td>33</td>
    <td>网络和通信安全</td>
    <td>33</td>
</tr>
<tr>
    <td>-</td>
    <td>-</td>
    <td>主机安全</td>
    <td>33</td>
    <td>设备和计算安全</td>
    <td>26</td>
</tr>
<tr>
    <td>-</td>
    <td>-</td>
    <td>应用安全</td>
    <td>39</td>
    <td><strong>应用和数据安全</strong></td>
    <td><strong>35</strong></td>
</tr>
<tr>
    <td>-</td>
    <td>-</td>
    <td>数据安全</td>
    <td>39</td>
    <td>应用和数据安全</td>
    <td>35</td>
</tr>
</table>

<h2 id="heading-6">6内容变化</h2>
<p>等保1.0：只有安全要求</p>
<p>等保2.0：变为安全通用要求和安全扩展要求</p>
<p>等保2.0安全通用要求针对共性化保护需求提出，等级保护对象无论以何种形式出现，必须根据安全保护等级实现相应级别的安全通用要求——属于必选；安全扩展要求针对个性化保护需求提出，需要根据安全保护等级和使用的特定技术或特定的应用场景选择性实现安全扩展要求——根据需要选。</p>
<p>安全通用要求安全层面的差异：</p>
<div class="hn-table">
<table>
<thead>
<tr>
<td>等保1.0安全层面</td><td>等保2.0安全层面</td></tr>
</thead>
<tbody>
<tr>
<td>物理安全</td><td>安全物理环境</td></tr>
<tr>
<td>网络安全</td><td>安全通信网络</td></tr>
<tr>
<td>主机安全</td><td>安全区域边界</td></tr>
<tr>
<td>应用安全</td><td>安全计算环境</td></tr>
<tr>
<td>数据安全及备份恢复</td><td>安全管理中心</td></tr>
<tr>
<td>安全管理制度</td><td>安全管理制度</td></tr>
<tr>
<td>安全管理机构</td><td>安全管理机构</td></tr>
<tr>
<td>人员安全管理</td><td>安全管理人员</td></tr>
<tr>
<td>系统建设管理</td><td>安全建设管理</td></tr>
<tr>
<td>系统运维管理</td><td>安全运维管理</td></tr>
</tbody>
</table>
</div><p>等保2.0针对云计算、移动互联、物联网和工业控制系统提出了安全扩展要求：</p>
<h2 id="heading-61">6.1云计算</h2>
<p>云计算安全扩展要求针对云计算的特点提出特殊保护要求。云计算环境主要增加的内容包括“基础设施的位置”、“虚拟化安全保护”、“镜像和快照保护”、“云服务商选择”和“云计算环境管理”等方面。</p>
<h2 id="heading-62">6.2移动互联</h2>
<p>移动互联安全扩展要求针对移动互联环境主要增加的内容包括“无线接入点的物理位置”、“移动终端管控”、“移动应用管控”、“移动应用软件采购”和“移动应用软件开发”等方面。</p>
<h2 id="heading-63">6.3物联网</h2>
<p>物联网安全扩展要求针对物联网的特点提出特殊保护要求。对物联网环境主要增加的内容包括“感知节点的物理防护”、“感知节点设备安全”、“感知网关节点设备安全”、“感知节点的管理”和“数据融合处理”等方面。</p>
<h2 id="heading-64">6.4工业控制系统</h2>
<p>工业控制系统安全扩展要求针对工业控制系统的特点提出特殊保护要求。对工业控制系统主要增加的内容包括“室外控制设备防护”、“工业控制系统网络架构安全”、“拨号使用控制”、“无线使用控制”和“控制设备安全”等方面。</p>
<h2 id="heading-7">7控制措施分类结构变化</h2>
<p>以基本要求为例，充分体现一个中心，三重防御的思想。</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1654088053964/Irw1C-aKi.png" alt="image.png" /></p>
<h2 id="heading-20">等保2.0第三级要求</h2>
<p>不同级别的等级保护对象应具备的基本安全保护能力是不同的，而等保2.0第三级是国内相关企业中出现最多的安全等级，这主要要求等保对象应能够在统一安全策略下防护免受来自外部有组织的团体、拥有较为丰富资源的威胁源发起的恶意攻击、较为严重的自然灾难，以及其他相当危害程度的威胁所造成的主要资源损害，能够及时发现、监测攻击行为和处置安全事件，在自身遭到损害后，能够较快恢复绝大部分功能。</p>
<p>同时在等保测评要求中明确表示，在安全计算环境中，无论测评指标应对的是身份鉴别、访问控制、安全审计、入侵防范、恶意代码防范，还是可信验证、数据完整性、数据保密性、剩余信息保护、个人信息保护等内容，测评对象都可能包括终端和服务器等设备中的操作系统（包括宿主机和虚拟机操作系统）、网络设备（包括虚拟网络设备）、安全设备（包括虚拟安全设备）、移动终端、移动终端管理系统、移动终端管理客户端、感知节点设备、网关节点设备、控制设备、业务应用系统、数据库系统、中间件和系统管理软件及系统设计文档等。</p>
<p>由于业务目标的不同、使用技术的不同、应用场景的不同等因素，不同的等级保护对象会以不同的形态出现，表现形式可能称之为基础信息网络、信息系统(包含采用移动互联等技术的系统)、云计算平台/系统、大数据平台/系统、物联网、工业控制系统等。形态不同的等级保护对象面临的威胁有所不同，安全保护需求也会有所差异。为了便于实现对不同级别的和不同形态的等级保护对象的共性化和个性化保护，等级保护要求分为安全通用要求和安全扩展要求。</p>
<p>安全通用要求针对共性化保护需求提出，等级保护对象无论以何种形式出现，应根据安全保护等级实现相应级别的安全通用要求；安全扩展要求针对个性化保护需求提出，需要根据安全保护等级和使用的特定技术或特定的应用场景选择性实现安全扩展要求。安全通用要求和安全扩展要求共同构成了对等级保护对象的安全要求。</p>
<p>因此，瑞星公司将在安全通用要求和安全扩展要求方面对等保2.0第三级进行详细解读。</p>
<p>等保2.0第三级安全要求结构：</p>
<p></p><table><p></p>
<p><tr>
    <td>安全通信要求</td>
    <td>云计算安全扩展要求</td>
    <td>移动互联安全扩展要求</td>
    <td>物联网安全扩展要求</td>
    <td>工业控制系统安全扩展要求</td>
</tr></p>
<p><tr>
    <td>安全物理环境</td>
    <td>安全物理环境</td>
    <td>安全物理环境</td>
    <td>安全物理环境</td>
    <td>安全物理环境</td>
</tr></p>
<p><tr>
    <td>安全通信网络</td>
    <td>安全通信网络</td>
    <td>---</td>
    <td>---</td>
    <td>安全通信网络</td>
</tr></p>
<p><tr>
    <td>安全区域边界</td>
    <td>安全区域边界</td>
    <td>安全区域边界</td>
    <td>安全区域边界</td>
    <td>安全区域边界</td>
</tr></p>
<p><tr>
    <td>安全计算环境</td>
    <td>安全计算环境</td>
    <td>安全计算环境</td>
    <td>安全计算环境</td>
    <td>安全计算环境</td>
</tr></p>
<p><tr>
    <td>安全管理中心</td>
    <td>安全管理中心</td>
    <td>---</td>
    <td>---</td>
    <td>---</td>
</tr></p>
<p><tr>
    <td>安全管理制度</td>
    <td>---</td>
    <td>---</td>
    <td>---</td>
    <td>---</td>
</tr></p>
<p><tr>
    <td>安全管理机构</td>
    <td>---</td>
    <td>---</td>
    <td>---</td>
    <td>---</td>
</tr></p>
<p><tr>
    <td>安全管理人员</td>
    <td>---</td>
    <td>---</td>
    <td>---</td>
    <td>---</td>
    <td>---</td>
</tr></p>
<p><tr>
    <td>安全建设管理</td>
    <td>安全建设管理</td>
    <td>安全建设管理</td>
    <td>---</td>
    <td>安全建设管理</td>
</tr></p>
<p><tr>
    <td>安全运维管理</td>
    <td>安全运维管理</td>
    <td>安全运维管理</td>
    <td>安全运维管理</td>
    <td>---</td>
</tr>
</p></table><p></p>
<h2 id="heading-1">1基本要求</h2>
<p>在安全通用要求中，瑞星针对安全通信网络、安全区域边界、安全计算环境和安全管理中心这几点进行详细分析：</p>
<h2 id="heading-11">1.1安全通信网络</h2>
<p>包括网络架构、通信传输和可信验证。要求保证网络各个部分的带宽满足业务高峰期需要，并提供通信线路、关键网络设备和关键计算设备的硬件冗余，保证系统的可用性，同时应采用密码技术保证通信过程中数据的保密性。</p>
<h2 id="heading-12">1.2安全区域边界</h2>
<p>包括边界防护、访问控制、入侵防范、恶意代码和垃圾邮件防范、安全审计和可信验证。要求能够对非授权设备私自联到内部网络和内部用户非授权联到外部网络的行为进行检查或限制，并限制无线网络的使用，保证无线网络通过受控的边界设备接入内部网络。</p>
<p>同时，还应在关键网络节点处检测、防止或限制从外部或内部发起的网络攻击行为，并采取技术措施对网络攻击特别是新型网络攻击行为的分析，当检测到攻击行为时，记录攻击源IP、攻击类型、攻击目标、攻击时间，在发生严重入侵事件时应提供报警。</p>
<p>此外，还应在关键网络节点处对恶意代码、垃圾邮件进行检测、清除和防护，并持续维护防护机制的升级和更新，对远程访问的用户行为、访问互联网的用户行为等单独进行行为审计和数据分析。</p>
<h2 id="heading-13">1.3安全计算环境</h2>
<p>包括身份鉴别、访问控制、安全审计、入侵防范、恶意代码防范、可信验证、数据完整性、数据保密性、数据备份恢复、剩余信息保护和个人信息保护。其中重点应能够检测到对重要节点进行入侵的行为，并在发生严重入侵事件时提供报警，并采用免受恶意代码攻击的技术措施或主动免疫可信验证机制及时识别入侵和病毒行为，并将其有效阻断。</p>
<p>同时，应采用校验技术或密码技术保证重要数据在传输和存储过程中的完整性，包括但不限于鉴别数据、重要业务数据、重要审计数据、重要配置数据、重要视频数据和重要个人信息等，保证存有敏感数据的存储空间被释放或重新分配前得到完全清除。</p>
<h2 id="heading-14">1.4安全管理中心</h2>
<p>包括系统管理、审计管理、安全管理和集中管理。要求对安全管理员进行身份鉴别，只允许其通过特定的命令或操作界面进行安全管理操作，并对这些操作进行审计，并划分出特定的管理区域，对分布在网络中的安全设备或安全组件进行管控，对网络链路、安全设备、网络设备和服务器等的运行状况进行集中监测。同时对分散在各个设备上的审计数据进行收集汇总和集中分析，并保证审计记录的留存时间符合法律法规要求，对安全策略、恶意代码、补丁升级等安全相关事项进行集中管理，能对网络中发生的各类安全事件进行识别、报警和分析。</p>
<h2 id="heading-2">2扩展要求</h2>
<p>安全扩展要求包括云计算安全、移动互联安全、物联网安全和工业控制系统安全这四点，其中包括安全物理环境、安全区域边界、安全计算环境、安全管理中心、安全建设管理、安全运维管理等内容。</p>
<h2 id="heading-21">2.1云计算安全扩展要求</h2>
<p>包括网络架构、入侵防范、数据完整性和保密性、数据备份恢复、集中管控等内容都是该要求重点，要求应具有根据云服务客户业务需求自主设置安全策略的能力,包括定义访问路径、选择安全组件、配置安全策略；应提供开放接口或开放性安全服务，允许云服务客户接入第三方安全产品或在云计算平台选择第三方安全服务，并在检测到网络攻击行为、异常流量情况时进行告警，支持云服务客户部署密钥管理解决方案，保证云服务客户自行实现数据的加解密过程。</p>
<h2 id="heading-22">2.2移动互联安全扩展要求</h2>
<p>其中访问控制、入侵防范、移动终端管控为重点要求，需要等保对象的无线接入设备应开启接入认证功能，并支持采用认证服务器认证或国家密码管理机构批准的密码模块进行认证，同时应能够阻断非授权无线接入设备或非授权移动终端，具有软件白名单功能，应能根据白名单控制应用软件安装、运行。</p>
<h2 id="heading-23">2.3物联网安全扩展要求</h2>
<p>在感知节点设备安全和网关节点设备安全等方面有重要提示，要求保证只有授权的用户可以对感知节点设备上的软件应用进行配置或变更，且具有对其连接的网关节点设备(包括读卡器)和其他感知节点设备(包括路由节点)进行身份标识和鉴别的能力，同时具备对合法连接设备(包括终端节点、路由节点、数据处理中心)进行标识和鉴别的能力，授权用户应能够在设备使用过程中对关键密钥和关键配置参数进行在线更新。</p>
<h2 id="heading-24">2.4工业控制系统安全扩展要求</h2>
<p>将拨号使用控制、无线使用控制和控制设备安全划为重点，要求拨号服务器和客户端均应使用经安全加固的操作系统,并采取数字证书认证、传输加密和访问控制等措施，同时应对无线通信釆取传输加密的安全措施，实现传输报文的机密性保护，且应关闭或拆除控制设备的软盘驱动、光盘驱动、USB接口、串行口或多余网口等，确需保留的应通过相关的技术措施实施严格的监控管理，保证控制设备在上线前经过安全性检测,避免控制设备固件中存在恶意代码程序。</p>
<h2 id="heading-3">3技术要求</h2>
<p>技术要求在开展网络安全等级保护工作的过程中起到了非常重要的作用，被广泛应用于指导各个行业和领域开展网络安全等级保护建设整改等工作，等保2.0中的技术要求在原有标准基础上针对共性安全保护目标提出通用的安全设计技术要求，针对云计算、移动互联、物联网、工业控制和大数据等新技术、新应用领域的特殊安全保护目标提出特殊的安全设计技术要求。</p>
<p>第三级系统安全保护环境的目标是按照《计算机信息系统安全保护等级划分准则》对第三级系统的安全保护要求，在第二级系统安全保护环境的基础上，通过实现基于安全策略模型和标记的强制访问控制以及增强系统的审计机制，使系统具有在统一安全策略管控下具有保护敏感资源的能力，并保障基础计算资源和应用程序可信，确保关键执行环节可信。</p>
<p>第三级系统安全保护环境的设计通过第三级的安全计算环境、安全区域边界、安全通信网络以及安全管理中心的设计加以实现。计算节点都应基于可信跟实现开机到操作系统启动，再到应用程序启动的可信验证，并在应用程序的关键执行环节对其执行环境进行可信验证，主动抵御病毒入侵行为，并将验证结果形成审计记录，送至管理中心。</p>
<h2 id="heading-31">3.1通用安全</h2>
<p>着重突出了系统安全审计、用户数据完整性保护、可信验证、入侵检测和恶意代码防范，确保对特定安全事件进行报警，确保审计记录不被破坏或非授权访问，在用户数据受到破坏时能对重要数据进行恢复，同时通过主动免疫可信计算检验机制及时识别入侵和病毒行为,并将其有效阻断。</p>
<h1 id="heading-32">3.2云安全</h1>
<p>对入侵防范、数据保密性保护和虚拟化安全进行重点提示，应支持对云租户进行行为监控，对云租户发起的恶意攻击或恶意对外连接进行检测和告警，并提供重要业务数据加密服务，保证虚拟机在迁移过程中重要数据的保密性，监控物理机、宿主机、虚拟机的运行状态，应禁止通过互联网直接访问云计算平台物理网络，提供开放接口允许接入可信的第三方安全产品。</p>
<h2 id="heading-33">3.3移动互联安全</h2>
<p>在技术要求方面突出了标记和强制访问控制、应用管控和数据保密性保护等，应确保用户或进程对移动终端系统资源的最小使用权限，根据安全策略,控制移动终端接入访问外设，同时具有软件白名单功能，能根据白名单控制应用软件安装、运行，并实现对扩展存储设备的加密功能，确保数据存储的安全，通过对连接到通信网络的设备进行可信检验,确保接入通信网络的设备真实可信,防止设备的非法接入。</p>
<h2 id="heading-34">3.4物联网系统安全</h2>
<p>包括感知层设备身份鉴别和感知层设备访问控制，应采用密码技术支持的鉴别机制实现感知层网关与感知设备之间的双向身份鉴别，并采取措施对感知设备组成的组进行组认证以减少网络拥塞，同时感知设备进行更新配置时，根据安全策略对用户进行权限检查，同时能够对物联网通信内容进行过滤，对通信报文进行合规检査，根据协议特性，设置相对应控制机制。</p>
<h2 id="heading-35">3.5工业控制系统安全</h2>
<p>对工控设备安全审计和设备数据完整性保护有重点要求，应防止暴露本区域工控通信协议端点设备的用户名和登录密码，采用过滤变换技术隐藏用户名和登录密码等关键信息、将该端点设备单独分区过滤及其他具有相应防护功能的一种或一种以上组合机制进行防护，同时应采用物理保护机制，实现现场总线网络数据传输保密性保护。</p>
<h2 id="heading-36">3.6安全管理中心</h2>
<p>包括系统管理、安全管理和审计管理。要求通过安全管理员对系统中的主体、客体进行统一标记，对安全管理员进行身份鉴别并进行审计。</p>
<p>在进行云计算平台安全设计时，云计算安全管理应具有对攻击行为回溯分析以及对网络安全事件进行预测和预警的能力；应具有对网络安全态势进行感知、预测和预判的能力。</p>
<p>在进行物联网系统安全设计时，应通过安全管理员对系统中所使用的密钥进行统一管理,包括密钥的生成、分发、更新、存储、备份、销毁等。</p>
<p>在进行工业控制系统安全设计时，应通过安全管理员对工业控制系统设备的可用性和安全性进行实时监控，可以对监控指标设置告警阈值，触发告警并记录。应通过安全管理员在安全管理中心呈现设备间的访问关系，及时发现未定义的信息通讯行为以及识别重要业务操作指令级的异常。</p>
<p>--END--</p>
]]></content:encoded></item><item><title><![CDATA[信息安全等级保护]]></title><description><![CDATA[信息安全等级保护，是对信息和信息载体按照重要性等级分级别进行保护的一种工作，在中国、美国等很多国家都存在的一种信息安全领域的工作。在中国，信息安全等级保护广义上为涉及到该工作的标准、产品、系统、信息等均依据等级保护思想的安全工作；狭义上一般指信息系统安全等级保护。
工作内容
信息安全等级保护工作包括定级、备案、安全建设和整改、信息安全等级测评、信息安全检查五个阶段。信息系统安全等级测评是验证信息系统是否满足相应安全保护等级的评估过程。信息安全等级保护要求不同安全等级的信息系统应具有不同的安全保护...]]></description><link>https://laofu.ipio.cf/xxhxm-xxaqdjbh</link><guid isPermaLink="true">https://laofu.ipio.cf/xxhxm-xxaqdjbh</guid><dc:creator><![CDATA[donaldfergus]]></dc:creator><pubDate>Tue, 31 May 2022 06:51:39 GMT</pubDate><content:encoded><![CDATA[<p>信息安全等级保护，是对信息和信息载体按照重要性等级分级别进行保护的一种工作，在中国、美国等很多国家都存在的一种信息安全领域的工作。<br />在中国，信息安全等级保护广义上为涉及到该工作的标准、产品、系统、信息等均依据等级保护思想的安全工作；狭义上一般指信息系统安全等级保护。</p>
<h2 id="heading-5bel5l2c5yaf5a65">工作内容</h2>
<p>信息安全等级保护工作包括定级、备案、安全建设和整改、信息安全等级测评、信息安全检查五个阶段。<br />信息系统安全等级测评是验证信息系统是否满足相应安全保护等级的评估过程。信息安全等级保护要求不同安全等级的信息系统应具有不同的安全保护能力，一方面通过在安全技术和安全管理上选用与安全等级相适应的安全控制来实现；另一方面分布在信息系统中的安全技术和安全管理上不同的安全控制，通过连接、交互、依赖、协调、协同等相互关联关系，共同作用于信息系统的安全功能，使信息系统的整体安全功能与信息系统的结构以及安全控制间、层面间和区域间的相互关联关系密切相关。因此，信息系统安全等级测评在安全控制测评的基础上，还要包括系统整体测评。</p>
<h2 id="heading-562j57qn5yis5yig">等级划分</h2>
<p>《信息安全等级保护管理办法》规定，国家信息安全等级保护坚持自主定级、自主保护的原则。信息系统的安全保护等级应当根据信息系统在国家安全、经济建设、社会生活中的重要程度，信息系统遭到破坏后对国家安全、社会秩序、公共利益以及公民、法人和其他组织的合法权益的危害程度等因素确定。<br />信息系统的安全保护等级分为以下五级，一至五级等级逐级增高：<br />第一级，信息系统受到破坏后，会对公民、法人和其他组织的合法权益造成损害，<strong>但不损害国家安全、社会秩序和公共利益</strong>。第一级信息系统运营、使用单位应当依据国家有关管理规范和技术标准进行保护。<br />第二级，信息系统受到破坏后，会对公民、法人和其他组织的合法权益产生严重损害，<strong>或者对社会秩序和公共利益造成损害，但不损害国家安全</strong>。国家信息安全监管部门对该级信息系统安全等级保护工作进行指导。<br />第三级，信息系统受到破坏后，会对社会秩序和公共利益造成严重损害，或者<strong>对国家安全造成损害</strong>。国家信息安全监管部门对该级信息系统安全等级保护工作进行监督、检查。<br />第四级，信息系统受到破坏后，会对社会秩序和公共利益造成特别严重损害，或者<strong>对国家安全造成严重损害</strong>。国家信息安全监管部门对该级信息系统安全等级保护工作进行强制监督、检查。<br />第五级，信息系统受到破坏后，<strong>会对国家安全造成特别严重损害</strong>。国家信息安全监管部门对该级信息系统安全等级保护工作进行专门监督、检查。     </p>
<p></p><table><p></p>
<p><tr>
    <td>受侵害的客体</td>
    <td>对客体的侵害程度</td>
</tr></p>
<p><tr>
    <td>受侵害的客体</td>
    <td><strong>一般损害</strong></td>
    <td><strong>严重损害</strong></td>
    <td><strong>特别严重损害</strong></td>
</tr></p>
<p><tr>
    <td>公民、法人和其他组织合法权益</td>
    <td>第一级</td>
    <td>第二级</td>
    <td>第三级</td>
</tr></p>
<p><tr>
    <td>社会秩序、公共利益</td>
    <td>第二级</td>
    <td>第三级</td>
    <td>第四级</td>
</tr></p>
<p><tr>
    <td>国家安全</td>
   <td>第三级</td>
    <td>第四级</td>
    <td>第五级</td>
</tr>
</p></table><p></p>
<h2 id="heading-5a6e5pa95y6f5yiz">实施原则</h2>
<p>根据《信息系统安全等级保护实施指南》精神，明确了以下基本原则：<br /><strong>自主保护原则：</strong>信息系统运营、使用单位及其主管部门按照国家相关法规和标准，自主确定信息系统的安全保护等级，自行组织实施安全保护。<br /><strong>重点保护原则：</strong>根据信息系统的重要程度、业务特点，通过划分不同安全保护等级的信息系统，实现不同强度的安全保护，集中资源优先保护涉及核心业务或关键信息资产的信息系统。<br /><strong>同步建设原则：</strong>信息系统在新建、改建、扩建时应当同步规划和设计安全方案，投入一定比例的资金建设信息安全设施，保障信息安全与信息化建设相适应。<br /><strong>动态调整原则：</strong>要跟踪信息系统的变化情况，调整安全保护措施。由于信息系统的应用类型、范围等条件的变化及其他原因，安全保护等级需要变更的，应当根据等级保护的管理规范和技术标准的要求，重新确定信息系统的安全保护等级，根据信息系统安全保护等级的调整情况，重新实施安全保护。     </p>
<h2 id="heading-5ps562w5qch5yeg">政策标准</h2>
<p><strong>政策法规</strong>   </p>
<ul>
<li>中华人民共和国计算机信息系统安全保护条例（1994年国务院147号令）    </li>
<li>（“第九条 计算机信息系统实行安全等级保护。安全等级的划分标准和安全等级保护的具体办法，由公安部会同有关部门制定”）    </li>
<li>计算机信息系统安全保护等级划分准则（GB 17859-1999）    </li>
<li>（“第一级：用户自主保护级；第二级：系统审计保护级；第三级：安全标记保护级；第四级：结构化保护级；第五级：访问验证保护级”）    </li>
<li>国家信息化领导小组关于加强信息安全保障工作的意见 （中办发[2003]27号）    </li>
<li>关于信息安全等级保护工作的实施意见 （公通字[2004]66号）    </li>
<li>信息安全等级保护管理办法（公通字[2007]43号）    </li>
<li>关于开展全国重要信息系统安全等级保护定级工作的通知 （公信安[2007]861号）    </li>
<li>关于开展信息安全等级保护安全建设整改工作的指导意见 （公信安[2009]1429号）    </li>
<li>中华人民共和国网络安全法（2017年6月1日实施）</li>
</ul>
<p><strong>地方及行业范例</strong></p>
<ul>
<li>关于加强国家电子政务工程建设项目信息安全风险评估工作的通知 （发改高技[2008]2071号）</li>
<li>关于进一步推进中央企业信息安全等级保护工作的通知</li>
<li>水利网络与信息安全体系建设基本技术要求 （2010年3月）</li>
<li>证券期货业信息系统安全等级保护基本要求(试行) （JR/T 0060-2010）</li>
<li>山西省计算机信息系统安全保护条例（2009年1月）广东省计算机信息系统安全保护条例（2008年4月）</li>
<li>宁夏回族自治区计算机信息系统安全保护条例（2009年10月）</li>
<li>徐州市计算机信息系统安全保护条例（2009年1月）</li>
</ul>
<h2 id="heading-5qch5yeg6kee6iyd">标准规范</h2>
<p><strong>十三大重要标准</strong>    </p>
<ul>
<li>计算机信息系统安全等级保护划分准则 （GB 17859-1999） （基础类标准）</li>
<li>信息系统安全等级保护实施指南 （GB/T 25058-2010） （基础类标准）</li>
<li>信息系统安全保护等级定级指南 （GB/T 22240-2008） （应用类定级标准）</li>
<li>信息系统安全等级保护基本要求 （GB/T 22239-2008） （应用类建设标准）</li>
<li>信息系统通用安全技术要求 （GB/T 20271-2006） （应用类建设标准）</li>
<li>信息系统等级保护安全设计技术要求 （GB/T 25070-2010） （应用类建设标准）</li>
<li>信息系统安全等级保护测评要求 （GB/T 28448-2012）（应用类测评标准）</li>
<li>信息系统安全等级保护测评过程指南 （GB/T 28449-2012）（应用类测评标准）</li>
<li>信息系统安全管理要求 （GB/T 20269-2006） （应用类管理标准）</li>
<li>信息系统安全工程管理要求 （GB/T 20282-2006） （应用类管理标准）</li>
<li>信息安全技术网络安全等级保护基本要求（GB/T 22239-2019）（基础类标准）</li>
<li>信息安全技术网络安全等级保护安全设计技术要求（GB/T 25070-2019）（应用类建设标准）</li>
<li>信息安全技术网络安全等级保护测评要求（GB/T 28448-2019）（应用类测评标准）</li>
</ul>
<p><strong>其它相关标准</strong>    </p>
<ul>
<li>GB/T 21052-2007 信息安全技术 信息系统物理安全技术要求</li>
<li>GB/T 20270-2006 信息安全技术 网络基础安全技术要求</li>
<li>GB/T 20271-2006 信息安全技术 信息系统通用安全技术要求</li>
<li>GB/T 20272-2006 信息安全技术 操作系统安全技术要求</li>
<li>GB/T 20273-2006 信息安全技术 数据库管理系统安全技术要求</li>
<li>GB/T 20984-2007 信息安全技术 信息安全风险评估规范</li>
<li>GB/T 20985-2007 信息安全技术 信息安全事件管理指南</li>
<li>GB/Z 20986-2007 信息安全技术 信息安全事件分类分级指南</li>
<li>GB/T 20988-2007 信息安全技术 信息系统灾难恢复规范</li>
</ul>
<p>--END--</p>
]]></content:encoded></item><item><title><![CDATA[Hadoop大数据处理框架简介]]></title><description><![CDATA[Hadoop 是一个处理、存储和分析海量的分布式、非结构化数据的开源框架。最初由 Yahoo 的工程师 Doug Cutting 和 Mike Cafarella 在 2005 年合作开发。后来，Hadoop 被贡献给了 Apache 基金会，成为 Apache 基金会的开源项目。
Hadoop 系统简介
Hadoop 是一种分析和处理大数据的软件平台，是一个用 Java 语言实现的 Apache 的开源软件框架，在大量计算机组成的集群中实现了对海量数据的分布式计算。
Hadoop 采用 Map...]]></description><link>https://laofu.ipio.cf/cloud-hadoop</link><guid isPermaLink="true">https://laofu.ipio.cf/cloud-hadoop</guid><dc:creator><![CDATA[donaldfergus]]></dc:creator><pubDate>Mon, 30 May 2022 01:01:57 GMT</pubDate><content:encoded><![CDATA[<p>Hadoop 是一个处理、存储和分析海量的分布式、非结构化数据的开源框架。最初由 Yahoo 的工程师 Doug Cutting 和 Mike Cafarella 在 2005 年合作开发。后来，Hadoop 被贡献给了 Apache 基金会，成为 Apache 基金会的开源项目。</p>
<h2 id="heading-hadoop">Hadoop 系统简介</h2>
<p>Hadoop 是一种分析和处理大数据的软件平台，是一个用 Java 语言实现的 Apache 的开源软件框架，在大量计算机组成的集群中实现了对海量数据的分布式计算。</p>
<p>Hadoop 采用 MapReduce 分布式计算框架，根据 GFS 原理开发了 HDFS（分布式文件系统），并根据 BigTable 原理开发了 HBase 数据存储系统。</p>
<p>Hadoop 和 Google 内部使用的分布式计算系统原理相同，其开源特性使其成为分布式计算系统的事实上的国际标准。</p>
<p>Yahoo、Facebook、Amazon，以及国内的百度、阿里巴巴等众多互联网公司都以 Hadoop 为基础搭建了自己的分布式计算系统。</p>
<p>Hadoop 是一个基础框架，允许用简单的编程模型在计算机集群上对大型数据集进行分布式处理。它的设计规模从单一服务器到数千台机器，每个服务器都能提供本地计算和存储功能，框架本身提供的是计算机集群高可用的服务，不依靠硬件来提供高可用性。</p>
<p>用户可以在不了解分布式底层细节的情况下，轻松地在 Hadoop 上开发和运行处理海量数据的应用程序。低成本、高可靠、高扩展、高有效、高容错等特性让 hadoop 成为最流行的大数据分析系统。</p>
<h2 id="heading-hadoop">Hadoop 生态圈</h2>
<p>Hadoop 是一个由 Apache 基金会开发的大数据分布式系统基础架构。用户可以在不了解分布式底层细节的情况下，轻松地在 Hadoop 上开发和运行处理大规模数据的分布式程序，充分利用集群的威力高速运算和存储。</p>
<p>Hadoop 是一个数据管理系统，作为数据分析的核心，汇集了结构化和非结构化的数据，这些数据分布在传统的企业数据栈的每一层。</p>
<p>Hadoop 也是一个大规模并行处理框架，拥有超级计算能力，定位于推动企业级应用的执行。</p>
<p>Hadoop 又是一个幵源社区，主要为解决大数据的问题提供工具和软件。</p>
<p>虽然 Hadoop 提供了很多功能，但仍然应该把它归类为由多个组件组成的 Hadoop 生态圈，这些组件包括数据存储、数据集成、数擔处理和其他进行数据分析的专门工具。</p>
<p>下图展示了 Hadoop 的生态系统，主要由 HDFS、MapReduce， HBase， Zookeeper， Pig、 Hive 等核心组件构成，另外还包括 Sqoop、Flume 等框架，用来与其他企业系统融合。同时， Hadoop 生态系统也在不断增长，它新增了 Mdhout、Ambari 等内容，以提供更新功能。</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1653872206058/-iQ_e-eyJ.png" alt="image.png" />
Hadoop 生态圈包括以下主要组件。</p>
<h3 id="heading-1hdfs">1）HDFS</h3>
<p>一个提供高可用的获取应用数据的分布式文件系统。</p>
<h3 id="heading-2mapreduce">2）MapReduce</h3>
<p>一个并行处理大数据集的编程模型。</p>
<h3 id="heading-3hbase">3）HBase</h3>
<p>一个可扩展的分布式数据库，支持大表的结构化数据存储。是一个建立在 HDFS 之上的，面向列的 NoSQL 数据库，用于快速读/写大量数据。</p>
<h3 id="heading-4hive">4）Hive</h3>
<p>一个建立在 Hadoop 上的数据仓库基础构架。它提供了一系列的工具；可以用来进行数据提取转化加载（ETL），这是一种可以存储、查询和分析存储在 Hadoop 中的大规模数据的机制。</p>
<p>Hive 定义了简单的类 SQL 查询语言，称为 HQL，它允许不熟悉 MapReduce 的开发人员也能编写数据查询语句，然后这些语句被翻译为 Hadoop 上面的 MapReduce 任务。</p>
<h3 id="heading-5mahout">5）Mahout</h3>
<p>可扩展的机器学习和数据挖掘库。它提供的 MapReduce 包含很多实现方法，包括聚类算法、回归测试、统计建模。</p>
<h3 id="heading-6pig">6）Pig</h3>
<p>一个支持并行计算的高级的数据流语言和执行框架。它是 MapReduce 编程的复杂性的抽象。Pig 平台包括运行环境和用于分析 Hadoop 数据集的脚本语言（PigLatin）。其编译器将 PigLatin 翻译成 MapReduce 程序序列。</p>
<h3 id="heading-7zookeeper">7）Zookeeper</h3>
<p>—个应用于分布式应用的高性能的协调服务。它是一个为分布式应用提供一致性服务的软件，提供的功能包括配置维护、域名服务、分布式同步、组服务等。</p>
<h3 id="heading-8amban">8）Amban</h3>
<p>一个基于 Web 的工具，用来供应、管理和监测 Hadoop 集群，包括支持 HDFS、MapReduceAHive、HCatalog、HBase、ZooKeeperAOozie、Pig 和 Sqoop 。</p>
<p>Ambari 也提供了一个可视的仪表盘来查看集群的健康状态，并且能够使用户可视化地查看 MapReduce、Pig 和 Hive 应用来诊断其性能特征。</p>
<p>Hadoop 的生态圈还包括以下几个框架，用来与其他企业融合。</p>
<h3 id="heading-1sqoop">1）Sqoop</h3>
<p>一个连接工具，用于在关系数据库、数据仓库和 Hadoop 之间转移数据。Sqoop 利用数据库技术描述架构，进行数据的导入/导出；利用 MapReduce 实现并行化运行和容错技术。</p>
<h3 id="heading-2flume">2）Flume</h3>
<p>提供了分布式、可靠、高效的服务，用于收集、汇总大数据，并将单台计算机的大量数据转移到 HDFS。它基于一个简单而灵活的架构，并提供了数据流的流。它利用简单的可扩展的数据模型，将企业中多台计算机上的数据转移到 Hadoop。</p>
<h2 id="heading-hadoop">Hadoop版本演进</h2>
<p>当前 Hadoop 有两大版本：Hadoop 1.0 和 Hadoop 2.0，下图所示。Hadoop 1.0 被称为第一代 Hadoop，由 HDFS 和 MapReduce 组成。</p>
<p>HDFS 由一个 NameNode 和多个 DataNode 组成，MapReduce 由一个 JobTracker 和多个 TaskTracker 组成。</p>
<p>Hadoop 1.0 对应的 Hadoop 版本为0.20.x、0.21.x、 0.22.x 和 Hadoop 1.x。其中，0.20.x 是比较稳定的版本，它最后演化为 1.x，变成稳定版本。0.21.x 和 0.22.x 则增加了 NameNode HA 等新特性。</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1653872312474/Yj02pinIj.png" alt="image.png" />
Hadoop 2.0 被称为第二代 Hadoop，是为克服 Hadoop 1.0 中 HDFS 和 MapReduce 存在的各种问题而提出的，对应的 Hadoop 版本为 0.23.x 和 2.x。</p>
<p>针对 Hadoop 1.0 中 NameNode HA 不支持自动切换且切换时间过长的风险，Hadoop2.0 提出了基于共享存储的 HA 方式，该方式支持失败自动切换切回。</p>
<p>针对 Hadoop 1.0 中的单 NameNode 制约 HDFS 扩展性的问题，Hadoop 2.0 提出了 HDFS Federation 机制，它允许多个 NameNode 各自分管不同的命名空间，进而实现数据访问隔离和集群横向扩展。</p>
<p>针对 Hadoop 1.0 中的 MapReduce 在扩展性和多框架支持方面的不足，Hadoop 2.0 提出了全新的资源管理框架 YARN，它将 JobTracker 中的资源管理和作业控制功能分开，分别由组件 ResourceManager 和 ApplicationMaster 实现。</p>
<p>其中，ResourceManager 负责所有应用程序的资源分配，而 ApplicationMaster 仅负责管理一个应用程序。相比于 Hadoop 1.0，Hadoop 2.0 框架具有更好的扩展性、可用性、可靠性、向后兼容性和更高的资源利用率，Hadoop 2.0 还能支持除 MapReduce 计算框架以外的更多的计算框架，Hadoop2.0 是目前业界主流使用的 Hadoop 版本。</p>
<h2 id="heading-hadoop">Hadoop 发行版本</h2>
<p>虽然 Hadoop 是开源的 Apache 项目，但是在 Hadoop 行业，仍然出现了大量的新兴公司，它们以帮助人们更方便地使用 Hadoop 为目标。这些企业大多将 Hadoop 发行版进行打包、改进，以确保所有的软件一起工作。</p>
<p>Hadoop 的发行版除了社区的 Apache Hadoop 外，Cloudera、Hortonworks、MapR、EMC、IBM、INTEL、华为等都提供了自己的商业版本。商业版本主要是提供专业的技术支持，这对一些大型企业尤其重要。每个发行版都有自己的一些特点，本节就 3 个主要的发行版本做简单介绍。</p>
<p>2008 年成立的 Cloudera 是最早将 Hadoop 商用的公司，它为合作伙伴提供 Hadoop 的商用解决方案，主要包括支持、咨询服务和培训。Cloudera 的产品主要为 CDH、Cloudera Manager 和 Cloudera Support。CDH 是 Cloudem 的 Hadoop 发行版本，完全开源，比 Hadoop 在兼容性、安全性、稳定性上有所增强。</p>
<p>Cloudera Manager 是集群的软件分发及管理监控平台，可以在几个小时內部署好一个 Hadoop 集群，并对集群的结点及服务进行实时监控。Cloudera Support 即是对 Hadoop 的技术支持。</p>
<p>2011 年成立的 Hortonworks 是 Yahoo 与硅谷风投公司 Benchmark Capital 合资组建的公司。公司成立之初吸纳了大约 25 名至 30 名专门研究 Hadoop 的 Yahoo 工程师，上述工程师均在 2005 年开始协助 Yahoo 开发 Hadoop，这些工程师贡献了 Hadoop 80% 的代码。</p>
<p>Hortonworks的主打产品是Hortonworks DataPlatform（HDP），也同样是 100% 开源的产品。HDP 除了常见的项目外，还包含了一款开源的安装和管理系统（Amban）。</p>
<p>Cloudera 和 Hortonworks 均是通过不断提交代码来完善 Hadoop 的，而 2009 年成立的 MapR 公司在 Hadoop 领域显得有些特立独行，它提供了一款独特的发行版本。</p>
<p>MapR 认为 Hadoop 的代码只是参考，可以基于 Hadoop 提供的 API 来实现自己的需求。这种方法使得 MapR 做出了很大的创新，特别是在 HDFS 和 HBase 方面，MapR 让这两个基本的 Hadoop 的存储机制更加可靠、更加高性能。</p>
<p>MapR 还推出了高速网络文件系统（NFS）来访问 HDFS，从而大大简化了一些企业级应用的集成。</p>
<p>MapR 用新架构重写 HDFS，同时在 API 级别，和目前的 Hadoop 发行版本保持兼容。MapR 构建了一个 HDFS 的私有替代品，比开源版本快 3 倍，自带快照功能，而且支持无 NameNode 单点故障。</p>
<p>MapR 版本不再需要单独的 NameNode 机器，元数据分散在集群中，类似数据默认存储 3 份，不再需要用 NAS 来协助 NameNode 做元数据备份，提高了机器使用率。</p>
<p>MapR 还有一个重要的特点是可以使用 NFS 直接访问 HDFS，提供了与原有应用的兼容性。MapR 的镜像功能很适合做数据备份，而且支持跨数据中心的镜像。</p>
]]></content:encoded></item><item><title><![CDATA[云计算-计算机集群]]></title><description><![CDATA[计算机集群（英语：computer cluster）是一组松散或紧密连接在一起工作的计算机。由于这些计算机协同工作，在许多方面它们可以被视为单个系统。与网格计算机不同，计算机集群将每个节点设置为执行相同的任务，由软件控制和调度。集群的组件通常通过快速局域网相互连接，每个节点（用作服务器的计算机）运行自己的操作系统实例。在大多数情况下，所有节点使用相同的硬件和相同的操作系统，尽管在某些设置中（例如使用OSCAR），可以在每台计算机或不同的硬件上使用不同的操作系统。部署集群通常是为了提高单台计算机的...]]></description><link>https://laofu.ipio.cf/cloud01</link><guid isPermaLink="true">https://laofu.ipio.cf/cloud01</guid><dc:creator><![CDATA[donaldfergus]]></dc:creator><pubDate>Sat, 28 May 2022 12:08:06 GMT</pubDate><content:encoded><![CDATA[<p>计算机集群（英语：computer cluster）是一组松散或紧密连接在一起工作的计算机。由于这些计算机协同工作，在许多方面它们可以被视为单个系统。与网格计算机不同，计算机集群将每个节点设置为执行相同的任务，由软件控制和调度。<br />集群的组件通常通过快速局域网相互连接，每个节点（用作服务器的计算机）运行自己的操作系统实例。在大多数情况下，所有节点使用相同的硬件和相同的操作系统，尽管在某些设置中（例如使用OSCAR），可以在每台计算机或不同的硬件上使用不同的操作系统。<br />部署集群通常是为了提高单台计算机的性能和可用性，而集群也通常比速度或可用性相当的单台计算机的成本效益要高。<br />计算机集群的出现是许多计算趋势汇聚的结果，这些趋势包括低成本微处理器、高速网络以及用于高性能分布式计算软件的广泛使用。集群使用和部署广泛，从小型企业集群到世界上最快超级电脑（如IBM的Sequoia）。 在集群出现之前，人们采用具有模块冗余的单元容错主机；但是，集群的前期成本较低，网络结构速度提高，这助推了人们采用集群这种方式。与高可靠性的大型机集群相比，扩展成本更低，但也增加了错误处理的复杂性，因为在集群中错误模式对于运行的程序是不透明的。</p>
<h2 id="heading-5z65pys5qac5b1">基本概念</h2>
<p>为了通过组合低成本的商用现成计算机，来获得更大的计算能力和更好的可靠性，人们研究提出了各种架构和配置。<br />计算机集群方法通常通过快速局域网连接许多现成的计算节点（例如用作服务器的个人计算机）。 计算节点的活动由“集群中间件”协调，集群中间件是一个位于节点之上的软件层，让用户可以将集群视为一个整体的内聚计算单元（例如通过单系统映像概念）。<br />计算机集群依赖于一种集中管理方法，该方法把节点用作协调的共享服务器。它不同于其他方法（比如对等计算或网格计算），后者也使用许多节点，但具有更多的分布式特性。<br />计算机集群可能是一个简单的两节点系统，只连接两台个人电脑，也可能是一台速度非常快的超级计算机。构建集群的基本方法是贝奥武夫机群，它可以使用少量个人计算机构建，以产生与传统高性能计算相比经济划算的替代方案。一个展示概念可行性的早期项目是133节点的Stone Soupercomputer。 开发人员使用Linux、并行虚拟机工具包和消息传递接口库以相对较低的成本实现高性能。<br />尽管一个集群可能仅由几台通过简单网络连接的个人计算机组成，但集群架构也可用于实现非常高的性能水平。TOP500组织每半年公布的500台最快超级计算机的名单通常包括许多集群，例如，2011年世界上最快的机器是“京”，它有分布存储器和集群架构。</p>
<h2 id="heading-5y6g5yy">历史</h2>
<p>Greg Pfister指出，集群最初不是由特定的供应商发明的，而是由无法在一台计算机上完成所有工作或需要备份的客户发明的。 他估计计算机集群发明于20世纪60年代。 作为并行工作的一种方式，集群计算的正式工程基础可以说是由IBM的吉恩·阿姆达尔发明的，因为他在1967年出版了被认为是关于并行处理的开创性论文：阿姆达尔定律。<br />早期计算机集群的历史或多或少直接与早期网络的历史有关，因为网络发展的主要动机之一是连接计算资源，创建真正的计算机集群。<br />第一个被设计成集群的生产系统是20世纪60年代中期的Burroughs B5700，它允许多达四台计算机（每个计算机都有一个或两个处理器）紧密连接到一个公共磁盘存储系统，以平衡工作负载。与标准的多处理器系统不同，每台计算机都可以在不中断整体运行的情况下重新启动。<br />第一个商业松散耦合的集群产品是Datapoint公司的“附加资源计算机”（Attached Resource Computer，ARC）系统，该系统于1977年开发，使用ARCNET作为集群接口。直到迪吉多电脑公司在1984年为VAX/VMS操作系统（现在称为OpenVMS）发布了VAXcluster产品，集群才真正开始。ARC和VAX集群产品不仅支持并行计算，还支持共享文件系统和外部设备。其目的是提供并行处理的优势，同时保持数据的可靠性和唯一性。另外两个值得注意的早期商业集群是Tandem Computers（大约1994年出现的高可用性产品）和IBM S/390 Parallel Sysplex（也在大约1994年出现，主要用于商业用途）。<br />同时，当商业网络使用计算机集群在计算机外部的并行性时，超级计算机开始在计算机内部中使用它们。继CDC 6600在1964年获取成功之后，Cray 1也于1976年成功发布，并通过向量处理引入了内部并行性。 虽然早期的超级计算机不使用集群而是使用了共享内存，但一些速度最快的超级计算机（如京）最终依赖于集群架构。    </p>
<h2 id="heading-6zug576k55qe5bge5ocn">集群的属性</h2>
<p>可以根据不同目的配置计算机集群，从一般用途的业务需求（如Web服务支持），到计算密集型的科学计算。在这两种情况下，集群都可以使用高可用性方法。请注意，下面描述的属性并不是排他的，“计算机集群”也可以使用高可用性方法等等。<br />“负载均衡”集群是集群节点共享计算工作负载，以提供更好的总体性能的配置。例如，Web服务器集群可以将不同的查询分配给不同的节点，因此总体响应时间将得到优化。 然而，负载平衡的方法可能在不同的应用程序之间有很大的不同，例如，用于科学计算的高性能集群的平衡负载算法与Web服务器集群不同，Web服务器集群可能只是使用一种简单的循环方法，将每个新请求分配到不同节点。<br />计算机集群用于计算密集型目的，而不是处理面向IO的操作（如Web服务或数据库）。例如，计算机集群可能支持车祸或天气的计算模拟。非常紧密耦合的计算机集群被设计用于可能接近“超级计算”的工作。<br />“高可用性集群”提高了集群方法的可用性。它们通过拥有冗余节点来运行，当系统组件出现故障时，这些节点将用于提供服务。高可用性集群实现试图使用集群组件的冗余来消除单点故障。许多操作系统都有高可用性集群的商业实现。Linux-HA项目是Linux操作系统常用的一个自由软件HA包。    </p>
<h2 id="heading-5lyy54k5">优点</h2>
<p>集群的设计主要考虑性能，但实际使用中还涉及许多其他因素，包括容错（能够容许系统继续使用故障节点）能力、可扩展性、高性能、不需要频繁运行维护程序、资源集成（如RAID）和集中管理。集群的优点包括在发生灾难时启用数据恢复、提供并行数据处理和高计算能力。<br />在可伸缩性方面，集群提供了水平添加节点的能力。这意味着可以向集群中添加更多的计算机，以提高其性能、冗余和容错。与在集群中扩展单个节点相比，添加节点是一个既节省成本，又可以使集群获得更高的性能的解决方案。计算机集群的这一大特性允许大量性能较低的计算机执行较大的计算负载。<br />向集群添加新节点时，可靠性也会增加，这是因为进行维护的时候不需要停下整个集群，只需停下单个节点维护，集群的其余节点承担该节点的负载即可。<br />如果集群包含大量的计算机，那么可以使用分布式文件系统和RAID，这两种方法可以大大提高集群的可靠性和速度。    </p>
<h2 id="heading-6k66k6h5lio6ywn572u">设计与配置</h2>
<p>设计集群的问题之一是各个节点之间的耦合程度。例如，单个计算机作业可能需要节点之间的频繁通信：这意味着集群共享一个专用网络，位置密集，可能有同类节点。另一个极端是计算机作业使用一个或几个节点，并且需要很少或没有节点间通信，接近网格计算。<br />在贝奥武夫机群中，应用程序从不会看到计算节点（也叫“从属计算机”），只与“主计算机”交互，而“主计算机”是处理从属计算机的调度和管理的特定计算机。 在典型的实现中，主计算机具有两个网络接口，一个用于为从属设备与专用贝奥武夫网络通信，另一个用于组织的通用网络。从属计算机通常有同一操作系统、本地内存和磁盘空间的它们自己的版本。但是，专用从属网络还可以有大型共享文件服务器，该服务器存储全局持久数据，从属设备可以根据需要访问这些数据。<br />一个特殊用途的144节点DEGIMA集群被调整为使用多步行并行树码运行天体物理N体仿真，而不是通用的科学计算。<br />由于每一代游戏机的计算能力不断增强，一种新的用途出现了，它们被重新用于高性能计算（HPC）集群。游戏机集群的例子有索尼PlayStation集群和微软Xbox集群。另一个消费类游戏产品的例子是Nvidia Tesla个人超级计算机工作站，它使用多个图形加速处理器芯片。除了游戏机，也可以使用高端显卡。使用显卡进行网格计算比使用CPU更经济，尽管不太精确。但是，当使用双精度值时，它们变得像CPU一样精确，并且成本更低。<br />计算机集群历来在使用相同操作系统的独立物理计算机上运行。随着虚拟化技术的出现，集群节点可以在具有不同操作系统的独立物理计算机上运行，这些操作系统上面绘制了一个虚拟层，使之看起来相似。 当进行维护时，集群还可以在各种配置上进行虚拟化。一个示例实现是Xen作为Linux-HA的虚拟化管理器。    </p>
<h2 id="heading-5pww5o2u5ywx5lqr5lio6yca5lh">数据共享与通信</h2>
<h3 id="heading-5pww5o2u5ywx5lqr">数据共享</h3>
<p>随着计算机集群在20世纪80年代的出现，超级计算机也应运而生。早期的超级计算机依赖于共享内存，这是当时这三类计算机的区别之一。迄今为止，集群通常不使用物理共享内存，而许多超级计算机体系结构也放弃了这一点。<br />不过，在现代计算机集群中，集群文件系统的使用是必不可少的。例如IBM通用并行文件系统、Microsoft的集群共享卷或Oracle集群文件系统。    </p>
<h3 id="heading-5rai5ogv5lyg6ycs5lio6yca5lh">消息传递与通信</h3>
<p>用于集群节点间通信的两种广泛使用的方法是MPI（消息传递接口）和PVM（并行虚拟机）。<br />早在1989年MPI出现之前，PVM就在橡树岭国家实验室问世了。PVM必须直接安装在每个集群节点上，并提供一组软件库，将节点描绘成一个“并行虚拟机”。PVM为消息传递、任务和资源管理以及故障通知提供了一个运行时环境。PVM可以由用C、C++或Fortran等语言编写的用户程序使用。<br />20世纪90年代初，在40个组织的讨论中产生了MPI。最初的努力得到了ARPA和国家科学基金会的支持。MPI的设计没有重新开始，而是利用了当时商业系统中可用的各种特性。MPI规范催生了具体的实现。MPI实现通常使用TCP/IP和套接字连接。 MPI现在是一种广泛使用的通信模型，它使并行程序能够用C、Fortran、Python等语言编写。因此，与提供具体实现的PVM不同，MPI是已经在诸如MPICH和Open MPI的系统中实现的规范。    </p>
<h2 id="heading-6zug576k566h55cg">集群管理</h2>
<p>使用计算机集群服务器的挑战之一是管理它的成本，如果集群有N个节点，有时可能高达管理N个独立机器的成本。在某些情况下，这为管理成本较低的共享内存架构提供了一个优势。 由于便于管理，这也使得虚拟机非常流行。    </p>
<h3 id="heading-5lu75yqh6lcd5bqm">任务调度</h3>
<p>当大型多用户集群需要访问大量数据时，任务调度就成为一个挑战。在具有复杂应用环境的异构CPU-GPU集群中，每项作业的性能取决于底层集群的特性。因此，将任务映射到CPU内核和GPU设备有巨大的挑战。 这是一个正在进行的研究领域；结合和扩展MapReduce和Hadoop的算法已经被提出和研究。<br />节点故障管理
当集群中的一个节点出现故障时，可以使用诸如“fencing”（隔离）之类的策略来保持系统的其余部分可操作。Fencing是在节点出现故障时隔离节点或保护共享资源的过程。有两类隔离方法；一类禁用节点本身，另一类禁用对资源（如共享磁盘）的访问。<br />STONITH方法（Shoot The Other Node In The Head）是说禁用或关闭可疑的节点。例如，电源fencing使用电源控制器来关闭无法操作的节点。<br /><strong>资源fencing</strong>方法不允许在不关闭节点电源的情况下访问资源。这可能包括通过SCSI3持久保留fencing，禁用光纤通道端口的光纤通道fencing，或禁用GNBD服务器访问的GNBD fencing。   </p>
<h2 id="heading-6l2v5lu25bya5yr5zkm566h55cg">软件开发和管理</h2>
<h3 id="heading-5bm26kgm57yw56il">并行编程</h3>
<p>负载平衡集群（如Web服务器）使用集群架构来支持大量用户，通常每个用户请求都被路由到一个特定的节点，实现无需多节点协作的任务并行，因为系统的主要目标是让用户快速访问共享数据。然而，为少数用户执行复杂计算的"计算机集群"需要利用集群的并行处理能力，在多个节点之间划分"相同的计算"。<br />程序的自动并行化仍然是一个技术挑战，但是并行编程模型可以通过在不同的处理器上同时执行程序的不同部分来实现更高程度的并行性。    </p>
<h3 id="heading-6lcd6kv5zkm55ur5o6n">调试和监控</h3>
<p>在集群上开发和调试并行程序需要并行语言原语以及合适的工具，例如高性能调试论坛（HPDF）所讨论的那些工具，HPD规范就是这样产生的。 像TotalView这样的工具是为了在使用MPI或PVM进行消息传递的计算机集群上调试并行实现而开发的。<br />Berkeley NOW（Network of Workstations）系统收集集群数据并将其存储在数据库中，而在印度开发的PARMON系统允许对大型集群进行可视化观察和管理。<br />当一个节点在长时间的多节点计算中失败时，可以使用应用程序检查点来恢复给定的系统状态。 这在大型集群中是必不可少的，因为随着节点数量的增加，在繁重的计算负载下节点失败的可能性也会增加。检查点可以将系统恢复到稳定状态，这样处理就可以在不重新计算结果的情况下继续进行。    </p>
<h2 id="heading-5lia5lqb5a6e546w">一些实现</h2>
<p>GNU/Linux世界提供了各种集群软件；对于应用程序集群，有distcc和MPICH。Linux Virtual Server, Linux-HA等基于导向器的集群，允许传入的服务请求分布在多个集群节点上。MOSIX、LinuxPMI、Kerrighed、OpenSSI都是集成到内核中的成熟集群，它们可在同类节点之间自动进行进程迁移。OpenSSI、openMosix和Kerrighed是单系统映像实现。<br />基于Windows Server平台的Microsoft Windows计算机聚类Server 2003为高性能计算提供了诸如Job Scheduler、MSMPI库和管理工具。<br />gLite是E-sciencE网格计划（EGEE）创建的一组中间件技术。<br />slurm还用于调度和管理一些最大的超级计算机集群（参见top500列表）。</p>
<h2 id="heading-5yw25luw5pa55rov">其他方法</h2>
<p>尽管大多数计算机集群都是永久性的，但是人们已经尝试用快闪计算来为特定的计算构建短期集群。不过，更大规模的志愿计算系统（如基于BOINC的系统）的追随者更多。    </p>
<h2 id="heading-5yc6keb">参见</h2>
<p><strong>基本概念</strong>    </p>
<ul>
<li>集群文件系统</li>
<li>心跳专用网络</li>
<li>高可用性集群</li>
<li>单系统映像</li>
<li>对称多处理</li>
</ul>
<p><strong>具体系统</strong>    </p>
<ul>
<li>DEGIMA (computer cluster)</li>
<li>京 (超级计算机)</li>
<li>微软集群服务器</li>
<li>红帽集群包</li>
<li>Rocks集群发行版</li>
<li>Solaris集群</li>
<li>Veritas集群服务器</li>
</ul>
<p><strong>分布式计算</strong>    </p>
<ul>
<li>分布式计算</li>
<li>分布式文件系统</li>
<li>分布式操作系统</li>
<li>分布式共享存储处理机</li>
</ul>
<p><strong>计算工厂</strong></p>
<ul>
<li>编译工厂</li>
<li>着色农场</li>
<li>服务器农场</li>
</ul>
<p>--END--</p>
]]></content:encoded></item><item><title><![CDATA[Linux防火墙——IPtables]]></title><description><![CDATA[一、防火墙简介
防火墙定义：是通过有机结合各类用于安全管理与筛选的软件和硬件设备，帮助计算机网络于其内、外网之间构建一道相对隔绝的保护屏障，以保护用户资料与信息安全性的一种技术。防火墙发展应用：最早是ipfwadm和ipchains（Redhat7.0）， 其次是iptables，Centos7开始后friewalld迅速发展，对iptables进行了 改良，目前还是iptables用的比较多。防火墙的布防位置：   
前提：架构部署在web与企业服务相连的部分(网站最前端上联口交换机前)。串联...]]></description><link>https://laofu.ipio.cf/linux-iptables</link><guid isPermaLink="true">https://laofu.ipio.cf/linux-iptables</guid><dc:creator><![CDATA[donaldfergus]]></dc:creator><pubDate>Sat, 28 May 2022 10:57:39 GMT</pubDate><content:encoded><![CDATA[<h1 id="heading-5lia44cb6ziy54gr5akz566a5lul">一、防火墙简介</h1>
<p><strong>防火墙定义：</strong>是通过有机结合各类用于安全管理与筛选的软件和硬件设备，帮助计算机网络于其内、外网之间构建一道相对隔绝的保护屏障，以保护用户资料与信息安全性的一种技术。<br /><strong>防火墙发展应用：</strong>最早是ipfwadm和ipchains（Redhat7.0）， 其次是iptables，Centos7开始后friewalld迅速发展，对iptables进行了 改良，目前还是iptables用的比较多。<br /><strong>防火墙的布防位置：   </strong>
<strong>前提：</strong>架构部署在web与企业服务相连的部分(网站最前端上联口交换机前)。<br /><strong>串联部署：</strong>最佳 的存放部署，防护性强，但如果防火墙出问题后，整个企业服务就会受影响。<br /><strong>旁路部署：</strong>综合最好的存放部署方式 ，不会因防火墙出问题而导致整个企业服务受影响，但防护相对串联部署较薄弱。   </p>
<h1 id="heading-iptables">二、IPtables介绍</h1>
<p><strong>IPtables是什么</strong><br /><strong>官网解释：</strong>iptables是用户空间命令行程序，用于配置 Linux 2.4.x 及更高版本的包过滤规则集。它面向系统管理员，由于网络地址转换也是从包过滤规则集配置的，iptables的包装还包括ip6tables。ip6tables用于配置 IPv6 包过滤器。<br /><strong>理解：</strong>是Linux下自带的开源的一款免费的基于包过滤的防火墙工具，可以对流入、流出、流经服务器的数据包进行精细的控制。目前Iptables主要工作在OSI七层的二、三四层（不编译的情况下），如果重新编译内核，Iptables也可以支持7层控制(squid代理+iptables)进行7层过滤。    </p>
<h1 id="heading-iptables">三、iptables的结构：</h1>
<p><strong>iptables由上而下，由Tables，Chains，Rules组成。</strong></p>
<h2 id="heading-iptablestableschains">㈠、iptables的表tables与链chains</h2>
<p>iptables有Filter, NAT, Mangle, Raw四种内建表：   </p>
<h3 id="heading-1-filter">1. Filter表</h3>
<ul>
<li>Filter是iptables的默认表，它有以下三种内建链(chains)：</li>
<li><strong>INPUT链</strong> – 处理来自外部的数据。</li>
<li><strong>OUTPUT链</strong> – 处理向外发送的数据。</li>
<li><strong>FORWARD链</strong> – 将数据转发到本机的其他网卡设备上。</li>
</ul>
<h3 id="heading-2-nat">2. NAT表</h3>
<p>NAT表有三种内建链：<br /><strong>PREROUTING链</strong> – 处理刚到达本机并在路由转发前的数据包。它会转换数据包中的目标IP地址（destination ip address），通常用于DNAT(destination NAT)。<br /><strong>POSTROUTING链</strong> – 处理即将离开本机的数据包。它会转换数据包中的源IP地址（source ip address），通常用于SNAT（source NAT）。<br /><strong>OUTPUT链</strong> – 处理本机产生的数据包。    </p>
<h3 id="heading-3-mangle">3. Mangle表</h3>
<p>Mangle表用于指定如何处理数据包。它能改变TCP头中的QoS位。Mangle表具有5个内建链（chains）：</p>
<ul>
<li><strong>PREROUTING</strong></li>
<li><strong>OUTPUT</strong></li>
<li><strong>FORWARD</strong></li>
<li><strong>INPUT</strong></li>
<li><strong>POSTROUTING</strong></li>
</ul>
<h3 id="heading-4-raw">4. Raw表</h3>
<p>Raw表用于处理异常，它具有2个内建链：<br />PREROUTING chain<br />OUTPUT chain   </p>
<h2 id="heading-iptables-rules">㈡、IPTABLES 规则(Rules)</h2>
<p><strong>规则的关键知识点：</strong><br />Rules包括一个条件和一个目标(target)<br />如果满足条件，就执行目标(target)中的规则或者特定值。<br />如果不满足条件，就判断下一条Rules。    </p>
<p><strong>目标值（Target Values）</strong><br />在target里指定的特殊值：<br />ACCEPT – 允许防火墙接收数据包<br />DROP – 防火墙丢弃包<br />QUEUE – 防火墙将数据包移交到用户空间<br />RETURN – 防火墙停止执行当前链中的后续Rules，并返回到调用链(the calling chain)中。<br /><strong>查看各表中的规则命令   </strong></p>
<pre><code># iptables -t <span class="hljs-keyword">filter</span> <span class="hljs-comment">--list</span>
</code></pre><p><strong>查看mangle表：</strong></p>
<pre><code><span class="hljs-comment"># iptables -t mangle --list</span>
</code></pre><p><strong>查看NAT表：</strong></p>
<pre><code><span class="hljs-comment"># iptables -t nat --list</span>
</code></pre><p><strong>查看RAW表：</strong></p>
<pre><code><span class="hljs-comment"># iptables -t raw --list</span>
</code></pre><p>以下例子表明在filter表的input链, forward链, output链中存在规则：</p>
<pre><code><span class="hljs-comment"># iptables --list</span>
<span class="hljs-string">Chain</span> <span class="hljs-string">INPUT</span> <span class="hljs-string">(policy</span> <span class="hljs-string">ACCEPT)</span>
<span class="hljs-string">num</span>  <span class="hljs-string">target</span>     <span class="hljs-string">prot</span> <span class="hljs-string">opt</span> <span class="hljs-string">source</span>               <span class="hljs-string">destination</span>
<span class="hljs-number">1</span>    <span class="hljs-string">RH-Firewall-1-INPUT</span>  <span class="hljs-string">all</span>  <span class="hljs-string">--</span>  <span class="hljs-number">0.0</span><span class="hljs-number">.0</span><span class="hljs-number">.0</span><span class="hljs-string">/0</span>            <span class="hljs-number">0.0</span><span class="hljs-number">.0</span><span class="hljs-number">.0</span><span class="hljs-string">/0</span>

<span class="hljs-string">Chain</span> <span class="hljs-string">FORWARD</span> <span class="hljs-string">(policy</span> <span class="hljs-string">ACCEPT)</span>
<span class="hljs-string">num</span>  <span class="hljs-string">target</span>     <span class="hljs-string">prot</span> <span class="hljs-string">opt</span> <span class="hljs-string">source</span>               <span class="hljs-string">destination</span>
<span class="hljs-number">1</span>    <span class="hljs-string">RH-Firewall-1-INPUT</span>  <span class="hljs-string">all</span>  <span class="hljs-string">--</span>  <span class="hljs-number">0.0</span><span class="hljs-number">.0</span><span class="hljs-number">.0</span><span class="hljs-string">/0</span>            <span class="hljs-number">0.0</span><span class="hljs-number">.0</span><span class="hljs-number">.0</span><span class="hljs-string">/0</span>

<span class="hljs-string">Chain</span> <span class="hljs-string">OUTPUT</span> <span class="hljs-string">(policy</span> <span class="hljs-string">ACCEPT)</span>
<span class="hljs-string">num</span>  <span class="hljs-string">target</span>     <span class="hljs-string">prot</span> <span class="hljs-string">opt</span> <span class="hljs-string">source</span>               <span class="hljs-string">destination</span>

<span class="hljs-string">Chain</span> <span class="hljs-string">RH-Firewall-1-INPUT</span> <span class="hljs-string">(2</span> <span class="hljs-string">references)</span>
<span class="hljs-string">num</span>  <span class="hljs-string">target</span>     <span class="hljs-string">prot</span> <span class="hljs-string">opt</span> <span class="hljs-string">source</span>               <span class="hljs-string">destination</span>
<span class="hljs-number">1</span>    <span class="hljs-string">ACCEPT</span>     <span class="hljs-string">all</span>  <span class="hljs-string">--</span>  <span class="hljs-number">0.0</span><span class="hljs-number">.0</span><span class="hljs-number">.0</span><span class="hljs-string">/0</span>            <span class="hljs-number">0.0</span><span class="hljs-number">.0</span><span class="hljs-number">.0</span><span class="hljs-string">/0</span>
<span class="hljs-number">2</span>    <span class="hljs-string">ACCEPT</span>     <span class="hljs-string">icmp</span> <span class="hljs-string">--</span>  <span class="hljs-number">0.0</span><span class="hljs-number">.0</span><span class="hljs-number">.0</span><span class="hljs-string">/0</span>            <span class="hljs-number">0.0</span><span class="hljs-number">.0</span><span class="hljs-number">.0</span><span class="hljs-string">/0</span>           <span class="hljs-string">icmp</span> <span class="hljs-string">type</span> <span class="hljs-number">255</span>
<span class="hljs-number">3</span>    <span class="hljs-string">ACCEPT</span>     <span class="hljs-string">esp</span>  <span class="hljs-string">--</span>  <span class="hljs-number">0.0</span><span class="hljs-number">.0</span><span class="hljs-number">.0</span><span class="hljs-string">/0</span>            <span class="hljs-number">0.0</span><span class="hljs-number">.0</span><span class="hljs-number">.0</span><span class="hljs-string">/0</span>
<span class="hljs-number">4</span>    <span class="hljs-string">ACCEPT</span>     <span class="hljs-string">ah</span>   <span class="hljs-string">--</span>  <span class="hljs-number">0.0</span><span class="hljs-number">.0</span><span class="hljs-number">.0</span><span class="hljs-string">/0</span>            <span class="hljs-number">0.0</span><span class="hljs-number">.0</span><span class="hljs-number">.0</span><span class="hljs-string">/0</span>
<span class="hljs-number">5</span>    <span class="hljs-string">ACCEPT</span>     <span class="hljs-string">udp</span>  <span class="hljs-string">--</span>  <span class="hljs-number">0.0</span><span class="hljs-number">.0</span><span class="hljs-number">.0</span><span class="hljs-string">/0</span>            <span class="hljs-number">224.0</span><span class="hljs-number">.0</span><span class="hljs-number">.251</span>         <span class="hljs-string">udp</span> <span class="hljs-string">dpt:5353</span>
<span class="hljs-number">6</span>    <span class="hljs-string">ACCEPT</span>     <span class="hljs-string">udp</span>  <span class="hljs-string">--</span>  <span class="hljs-number">0.0</span><span class="hljs-number">.0</span><span class="hljs-number">.0</span><span class="hljs-string">/0</span>            <span class="hljs-number">0.0</span><span class="hljs-number">.0</span><span class="hljs-number">.0</span><span class="hljs-string">/0</span>           <span class="hljs-string">udp</span> <span class="hljs-string">dpt:631</span>
<span class="hljs-number">7</span>    <span class="hljs-string">ACCEPT</span>     <span class="hljs-string">tcp</span>  <span class="hljs-string">--</span>  <span class="hljs-number">0.0</span><span class="hljs-number">.0</span><span class="hljs-number">.0</span><span class="hljs-string">/0</span>            <span class="hljs-number">0.0</span><span class="hljs-number">.0</span><span class="hljs-number">.0</span><span class="hljs-string">/0</span>           <span class="hljs-string">tcp</span> <span class="hljs-string">dpt:631</span>
<span class="hljs-number">8</span>    <span class="hljs-string">ACCEPT</span>     <span class="hljs-string">all</span>  <span class="hljs-string">--</span>  <span class="hljs-number">0.0</span><span class="hljs-number">.0</span><span class="hljs-number">.0</span><span class="hljs-string">/0</span>            <span class="hljs-number">0.0</span><span class="hljs-number">.0</span><span class="hljs-number">.0</span><span class="hljs-string">/0</span>           <span class="hljs-string">state</span> <span class="hljs-string">RELATED,ESTABLISHED</span>
<span class="hljs-number">9</span>    <span class="hljs-string">ACCEPT</span>     <span class="hljs-string">tcp</span>  <span class="hljs-string">--</span>  <span class="hljs-number">0.0</span><span class="hljs-number">.0</span><span class="hljs-number">.0</span><span class="hljs-string">/0</span>            <span class="hljs-number">0.0</span><span class="hljs-number">.0</span><span class="hljs-number">.0</span><span class="hljs-string">/0</span>           <span class="hljs-string">state</span> <span class="hljs-string">NEW</span> <span class="hljs-string">tcp</span> <span class="hljs-string">dpt:22</span>
<span class="hljs-number">10</span>   <span class="hljs-string">REJECT</span>     <span class="hljs-string">all</span>  <span class="hljs-string">--</span>  <span class="hljs-number">0.0</span><span class="hljs-number">.0</span><span class="hljs-number">.0</span><span class="hljs-string">/0</span>            <span class="hljs-number">0.0</span><span class="hljs-number">.0</span><span class="hljs-number">.0</span><span class="hljs-string">/0</span>           <span class="hljs-string">reject-with</span> <span class="hljs-string">icmp-host-prohibited</span>
</code></pre><p>以上输出包含下列字段：   </p>
<ul>
<li>num – 指定链中的规则编号</li>
<li>target – 前面提到的target的特殊值prot – 协议：tcp, udp, icmp等source – 数据包的源IP地址destination – 数据包的目标IP地址</li>
</ul>
<h2 id="heading-iptables">㈢、清空所有iptables规则</h2>
<p>在配置iptables之前，你通常需要用iptables --list命令或者iptables-save命令查看有无现存规则，因为有时需要删除现有的iptables规则：</p>
<pre><code>iptables <span class="hljs-operator">-</span><span class="hljs-operator">-</span>flush
或者
iptables <span class="hljs-operator">-</span>F
</code></pre><p>下面命令是清除iptables nat表规则。</p>
<pre><code>iptables <span class="hljs-operator">-</span>t nat <span class="hljs-operator">-</span>F
</code></pre><h2 id="heading-44ij44cb5rc45lmf55sf5pwi">㈣、永久生效</h2>
<p>当你删除、添加规则后，这些更改并不能永久生效，这些规则很有可能在系统重启后恢复原样。如下配置让配置永久生效。</p>
<pre><code><span class="hljs-comment"># 保存iptables规则</span>
service iptables save

<span class="hljs-comment"># 重启iptables服务</span>
service iptables <span class="hljs-keyword">stop</span>
service iptables <span class="hljs-keyword">start</span>
</code></pre><p>查看当前规则：</p>
<pre><code>cat  <span class="hljs-operator">/</span>etc<span class="hljs-operator">/</span>sysconfig<span class="hljs-operator">/</span>iptables
</code></pre><h2 id="heading-iptables">㈤、追加iptables规则</h2>
<p>可以使用iptables -A命令追加新规则，其中-A表示Append。因此，新的规则将追加到链尾。
一般而言，最后一条规则用于丢弃(DROP)所有数据包。如果你已经有这样的规则了，并且使用-A参数添加新规则，那么就是无用功。</p>
<h3 id="heading-1">1.语法</h3>
<pre><code>iptables <span class="hljs-operator">-</span>A chain firewall<span class="hljs-operator">-</span>rule
</code></pre><ul>
<li>-A chain – 指定要追加规则的链</li>
<li>firewall-rule – 具体的规则参数</li>
</ul>
<h3 id="heading-2">2.描述规则的基本参数</h3>
<p>以下这些规则参数用于描述数据包的协议、源地址、目的地址、允许经过的网络接口，以及如何处理这些数据包。这些描述是对规则的基本描述。</p>
<pre><code><span class="hljs-operator">-</span>p 协议（protocol）
  指定规则的协议，如tcp, udp, icmp等，可以使用all来指定所有协议。
  如果不指定<span class="hljs-operator">-</span>p参数，则默认是all值。这并不明智，请总是明确指定协议名称。
  可以使用协议名(如tcp)，或者是协议值（比如<span class="hljs-number">6</span>代表tcp）来指定协议。映射关系请查看<span class="hljs-operator">/</span>etc<span class="hljs-operator">/</span>protocols
  还可以使用–protocol参数代替<span class="hljs-operator">-</span>p参数
<span class="hljs-operator">-</span>s 源地址（source）
  指定数据包的源地址
  参数可以使IP地址、网络地址、主机名
  例如：<span class="hljs-operator">-</span>s <span class="hljs-number">192.168</span><span class="hljs-number">.1</span><span class="hljs-number">.101</span>指定IP地址
  例如：<span class="hljs-operator">-</span>s <span class="hljs-number">192.168</span><span class="hljs-number">.1</span><span class="hljs-number">.10</span><span class="hljs-operator">/</span><span class="hljs-number">24</span>指定网络地址
  如果不指定<span class="hljs-operator">-</span>s参数，就代表所有地址
  还可以使用–src或者–source
<span class="hljs-operator">-</span>d 目的地址（destination）
  指定目的地址
  参数和<span class="hljs-operator">-</span>s相同
  还可以使用–dst或者–destination
<span class="hljs-operator">-</span>j 执行目标（jump to target）
  <span class="hljs-operator">-</span>j代表”jump to target”
  <span class="hljs-operator">-</span>j指定了当与规则(Rule)匹配时如何处理数据包
  可能的值是ACCEPT, DROP, QUEUE, RETURN
  还可以指定其他链（Chain）作为目标
<span class="hljs-operator">-</span>i 输入接口（input <span class="hljs-class"><span class="hljs-keyword">interface</span>）
  -<span class="hljs-title">i</span>代表输入接口(<span class="hljs-params">input <span class="hljs-keyword">interface</span></span>)
  -<span class="hljs-title">i</span>指定了要处理来自哪个接口的数据包
    这些数据包即将进入<span class="hljs-title">INPUT</span>, <span class="hljs-title">FORWARD</span>, <span class="hljs-title">PREROUTE</span>链
  例如：-<span class="hljs-title">i</span> <span class="hljs-title">eth0</span>指定了要处理经由<span class="hljs-title">eth0</span>进入的数据包
  如果不指定-<span class="hljs-title">i</span>参数，那么将处理进入所有接口的数据包
  如果出现! -<span class="hljs-title">i</span> <span class="hljs-title">eth0</span>，那么将处理所有经由<span class="hljs-title">eth0</span>以外的接口进入的数据包
  如果出现-<span class="hljs-title">i</span> <span class="hljs-title">eth</span>+，那么将处理所有经由<span class="hljs-title">eth</span>开头的接口进入的数据包
  还可以使用–<span class="hljs-title">in</span>-<span class="hljs-title"><span class="hljs-keyword">interface</span></span>参数
-<span class="hljs-title">o</span> 输出（<span class="hljs-title">out</span> <span class="hljs-title"><span class="hljs-keyword">interface</span></span>）
  -<span class="hljs-title">o</span>代表”<span class="hljs-title">output</span> <span class="hljs-title"><span class="hljs-keyword">interface</span></span>”
  -<span class="hljs-title">o</span>指定了数据包由哪个接口输出
  这些数据包即将进入<span class="hljs-title">FORWARD</span>, <span class="hljs-title">OUTPUT</span>, <span class="hljs-title">POSTROUTING</span>链
  如果不指定-<span class="hljs-title">o</span>选项，那么系统上的所有接口都可以作为输出接口
  如果出现! -<span class="hljs-title">o</span> <span class="hljs-title">eth0</span>，那么将从<span class="hljs-title">eth0</span>以外的接口输出
  如果出现-<span class="hljs-title">i</span> <span class="hljs-title">eth</span>+，那么将仅从<span class="hljs-title">eth</span>开头的接口输出
  还可以使用–<span class="hljs-title">out</span>-<span class="hljs-title"><span class="hljs-keyword">interface</span></span>参数</span>
</code></pre><h3 id="heading-3">3.描述规则的扩展参数</h3>
<p>对规则有了一个基本描述之后，有时候我们还希望指定端口、TCP标志、ICMP类型等内容。</p>
<pre><code>–sport 源端口（source port）针对 <span class="hljs-operator">-</span>p tcp 或者 <span class="hljs-operator">-</span>p udp
  缺省情况下，将匹配所有端口
  可以指定端口号或者端口名称，例如”–sport <span class="hljs-number">22</span>″与”–sport ssh”。
  <span class="hljs-operator">/</span>etc<span class="hljs-operator">/</span>services文件描述了上述映射关系。
  从性能上讲，使用端口号更好
  使用冒号可以匹配端口范围，如”–sport <span class="hljs-number">22</span>:<span class="hljs-number">100</span>″
  还可以使用”–source<span class="hljs-operator">-</span>port”
–<span class="hljs-operator">-</span>dport 目的端口（destination port）针对<span class="hljs-operator">-</span>p tcp 或者 <span class="hljs-operator">-</span>p udp
  参数和–sport类似
  还可以使用”–destination<span class="hljs-operator">-</span>port”
<span class="hljs-operator">-</span>–tcp<span class="hljs-operator">-</span>flags TCP标志 针对<span class="hljs-operator">-</span>p tcp
  可以指定由逗号分隔的多个参数
  有效值可以是：SYN, ACK, FIN, RST, URG, PSH
  可以使用ALL或者NONE
<span class="hljs-operator">-</span>–icmp<span class="hljs-operator">-</span><span class="hljs-keyword">type</span> ICMP类型 针对<span class="hljs-operator">-</span>p icmp
  –icmp<span class="hljs-operator">-</span><span class="hljs-keyword">type</span> <span class="hljs-number">0</span> 表示Echo Reply
  –icmp<span class="hljs-operator">-</span><span class="hljs-keyword">type</span> <span class="hljs-number">8</span> 表示Echo
</code></pre><h3 id="heading-4ssh">4.追加规则的完整实例：仅允许SSH服务</h3>
<p>本例实现的规则将仅允许SSH数据包通过本地计算机，其他一切连接（包括ping）都将被拒绝。</p>
<pre><code><span class="hljs-comment"># 1.清空所有iptables规则</span>
<span class="hljs-attribute">iptables</span> -F

<span class="hljs-comment"># 2.接收目标端口为22的数据包</span>
<span class="hljs-attribute">iptables</span> -A INPUT -i eth<span class="hljs-number">0</span> -p tcp --dport <span class="hljs-number">22</span> -j ACCEPT

<span class="hljs-comment"># 3.拒绝所有其他数据包</span>
<span class="hljs-attribute">iptables</span> -A INPUT -j DROP
</code></pre><h2 id="heading-44il44cb5pu05ps56buy6k6k562w55wl">㈥、更改默认策略</h2>
<p>上例的例子仅对接收的数据包过滤，而对于要发送出去的数据包却没有任何限制。本节主要介绍如何更改链策略，以改变链的行为。</p>
<h3 id="heading-1">1. 默认链策略</h3>
<p>/!\警告：请勿在远程连接的服务器、虚拟机上测试！
当我们使用-L选项验证当前规则是发现，所有的链旁边都有policy ACCEPT标注，这表明当前链的默认策略为ACCEPT：</p>
<pre><code><span class="hljs-comment"># iptables -L</span>
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     tcp  <span class="hljs-comment">--  anywhere             anywhere            tcp dpt:ssh</span>
<span class="hljs-keyword">DROP</span>       <span class="hljs-keyword">all</span>  <span class="hljs-comment">--  anywhere             anywhere            </span>

<span class="hljs-keyword">Chain</span> FORWARD (<span class="hljs-keyword">policy</span> <span class="hljs-keyword">ACCEPT</span>)
target     prot opt <span class="hljs-keyword">source</span>               destination         

<span class="hljs-keyword">Chain</span> <span class="hljs-keyword">OUTPUT</span> (<span class="hljs-keyword">policy</span> <span class="hljs-keyword">ACCEPT</span>)
target     prot opt <span class="hljs-keyword">source</span>               destination
</code></pre><p>这种情况下，如果没有明确添加DROP规则，那么默认情况下将采用ACCEPT策略进行过滤。除非：<br /><strong>a)为以上三个链单独添加DROP规则：</strong></p>
<pre><code>iptables <span class="hljs-operator">-</span>A INPUT <span class="hljs-operator">-</span>j DROP
iptables <span class="hljs-operator">-</span>A OUTPUT <span class="hljs-operator">-</span>j DROP
iptables <span class="hljs-operator">-</span>A FORWARD <span class="hljs-operator">-</span>j DROP
</code></pre><p><strong>b)更改默认策略：</strong></p>
<pre><code>iptables -P <span class="hljs-keyword">INPUT</span> <span class="hljs-keyword">DROP</span>
iptables -P OUTPUT <span class="hljs-keyword">DROP</span>
iptables -P FORWARD <span class="hljs-keyword">DROP</span>
</code></pre><p>糟糕！！如果你严格按照上一节的例子配置了iptables，并且现在使用的是SSH进行连接的，那么会话恐怕已经被迫终止了！<br />为什么呢？因为我们已经把OUTPUT链策略更改为DROP了。此时虽然服务器能接收数据，但是无法发送数据：</p>
<pre><code><span class="hljs-comment"># iptables -L</span>
Chain INPUT (policy <span class="hljs-keyword">DROP</span>)
target     prot opt <span class="hljs-keyword">source</span>               destination
<span class="hljs-keyword">ACCEPT</span>     tcp  <span class="hljs-comment">--  anywhere             anywhere            tcp dpt:ssh</span>
<span class="hljs-keyword">DROP</span>       <span class="hljs-keyword">all</span>  <span class="hljs-comment">--  anywhere             anywhere            </span>

<span class="hljs-keyword">Chain</span> FORWARD (<span class="hljs-keyword">policy</span> <span class="hljs-keyword">DROP</span>)
target     prot opt <span class="hljs-keyword">source</span>               destination         

<span class="hljs-keyword">Chain</span> <span class="hljs-keyword">OUTPUT</span> (<span class="hljs-keyword">policy</span> <span class="hljs-keyword">DROP</span>)
target     prot opt <span class="hljs-keyword">source</span>               destination
</code></pre><h2 id="heading-44im44cb6ywn572u5bqu55so56il5bqp6kee5yiz">㈦、配置应用程序规则</h2>
<p>尽管5.4节已经介绍了如何初步限制除SSH以外的其他连接，但是那是在链默认策略为ACCEPT的情况下实现的，并且没有对输出数据包进行限制。本节在上一节基础上，以SSH和HTTP所使用的端口为例，教大家如何在默认链策略为DROP的情况下，进行防火墙设置。在这里，我们将引进一种新的参数-m state，并检查数据包的状态字段。</p>
<h3 id="heading-1ssh">1.SSH</h3>
<pre><code><span class="hljs-comment"># 1.允许接收远程主机的SSH请求</span>
iptables -A INPUT -i eth<span class="hljs-number">0</span> -p tcp --dport <span class="hljs-number">22</span> -<span class="hljs-keyword">m</span> <span class="hljs-keyword">state</span> --<span class="hljs-keyword">state</span> NEW,ESTABLISHED -j ACCEPT

<span class="hljs-comment"># 2.允许发送本地主机的SSH响应</span>
iptables -A OUTPUT -o eth<span class="hljs-number">0</span> -p tcp --sport <span class="hljs-number">22</span> -<span class="hljs-keyword">m</span> <span class="hljs-keyword">state</span> --<span class="hljs-keyword">state</span> ESTABLISHED -j ACCEPT
</code></pre><ul>
<li><ul>
<li>state: 启用状态匹配模块（state matching module）</li>
</ul>
</li>
<li>–-state: 状态匹配模块的参数。当SSH客户端第一个数据包到达服务器时，状态字段为NEW；建立连接后数据包的状态字段都是ESTABLISHED</li>
<li>–sport 22: sshd监听22端口，同时也通过该端口和客户端建立连接、传送数据。因此对于SSH服务器而言，源端口就是22</li>
<li>–dport 22: ssh客户端程序可以从本机的随机端口与SSH服务器的22端口建立连接。因此对于SSH客户端而言，目的端口就是22</li>
</ul>
<p>如果服务器也需要使用SSH连接其他远程主机，则还需要增加以下配置：</p>
<pre><code><span class="hljs-comment"># 1.送出的数据包目的端口为22</span>
iptables -A OUTPUT -o eth<span class="hljs-number">0</span> -p tcp --dport <span class="hljs-number">22</span> -<span class="hljs-keyword">m</span> <span class="hljs-keyword">state</span> --<span class="hljs-keyword">state</span> NEW,ESTABLISHED -j ACCEPT

<span class="hljs-comment"># 2.接收的数据包源端口为22</span>
iptables -A INPUT -i eth<span class="hljs-number">0</span> -p tcp --sport <span class="hljs-number">22</span> -<span class="hljs-keyword">m</span> <span class="hljs-keyword">state</span> --<span class="hljs-keyword">state</span> ESTABLISHED -j ACCEPT
</code></pre><h3 id="heading-2http">2.HTTP</h3>
<p>HTTP的配置与SSH类似：</p>
<pre><code><span class="hljs-comment"># 1.允许接收远程主机的HTTP请求</span>
iptables -A INPUT -i eth<span class="hljs-number">0</span> -p tcp --dport <span class="hljs-number">80</span> -<span class="hljs-keyword">m</span> <span class="hljs-keyword">state</span> --<span class="hljs-keyword">state</span> NEW,ESTABLISHED -j ACCEPT

<span class="hljs-comment"># 1.允许发送本地主机的HTTP响应</span>
iptables -A OUTPUT -o eth<span class="hljs-number">0</span> -p tcp --sport <span class="hljs-number">80</span> -<span class="hljs-keyword">m</span> <span class="hljs-keyword">state</span> --<span class="hljs-keyword">state</span> ESTABLISHED -j ACCEPT
</code></pre><h3 id="heading-3">3.完整的配置</h3>
<pre><code><span class="hljs-comment"># 1.删除现有规则</span>
iptables -F

<span class="hljs-comment"># 2.配置默认链策略</span>
iptables -P INPUT <span class="hljs-keyword">DROP</span>
iptables -P FORWARD <span class="hljs-keyword">DROP</span>
iptables -P <span class="hljs-keyword">OUTPUT</span> <span class="hljs-keyword">DROP</span>

<span class="hljs-comment"># 3.允许远程主机进行SSH连接</span>
iptables -A <span class="hljs-keyword">INPUT</span> -i eth0 -p tcp <span class="hljs-comment">--dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT</span>
iptables -A <span class="hljs-keyword">OUTPUT</span> -o eth0 -p tcp <span class="hljs-comment">--sport 22 -m state --state ESTABLISHED -j ACCEPT</span>

<span class="hljs-comment"># 4.允许本地主机进行SSH连接</span>
iptables -A <span class="hljs-keyword">OUTPUT</span> -o eth0 -p tcp <span class="hljs-comment">--dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT</span>
iptables -A <span class="hljs-keyword">INPUT</span> -i eth0 -p tcp <span class="hljs-comment">--sport 22 -m state --state ESTABLISHED -j ACCEPT</span>

<span class="hljs-comment"># 5.允许HTTP请求</span>
iptables -A <span class="hljs-keyword">INPUT</span> -i eth0 -p tcp <span class="hljs-comment">--dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT</span>
iptables -A <span class="hljs-keyword">OUTPUT</span> -o eth0 -p tcp <span class="hljs-comment">--sport 80 -m state --state ESTABLISHED -j ACCEPT</span>
</code></pre><p>配置转发端口示例</p>
<pre><code>iptables <span class="hljs-operator">-</span>t nat <span class="hljs-operator">-</span>I PREROUTING <span class="hljs-operator">-</span>p tcp <span class="hljs-operator">-</span><span class="hljs-operator">-</span>dport <span class="hljs-number">3389</span> <span class="hljs-operator">-</span>j DNAT <span class="hljs-operator">-</span><span class="hljs-operator">-</span>to <span class="hljs-number">38</span>.X25.X.X02 
iptables <span class="hljs-operator">-</span>t nat <span class="hljs-operator">-</span>I POSTROUTING <span class="hljs-operator">-</span>p tcp <span class="hljs-operator">-</span><span class="hljs-operator">-</span>dport <span class="hljs-number">3389</span> <span class="hljs-operator">-</span>j MASQUERADE
</code></pre><p><strong>NAT规则实战举例：</strong><br /><strong>需求</strong><br />把本地的mysql 3306端口映射出去变成63306，外面连接的语句是</p>
<pre><code>mysql <span class="hljs-operator">-</span>uroot <span class="hljs-operator">-</span>p<span class="hljs-string">'password'</span> <span class="hljs-operator">-</span>h xxxxx <span class="hljs-operator">-</span>P <span class="hljs-number">63306</span>
</code></pre><p>注：当访问63306的时候，会自动去请求3306，然后返回数据。<br /><strong>实现</strong><br />先允许数据包转发</p>
<pre><code>echo <span class="hljs-number">1</span> <span class="hljs-operator">&gt;</span><span class="hljs-operator">/</span>proc<span class="hljs-operator">/</span>sys<span class="hljs-operator">/</span>net<span class="hljs-operator">/</span>ipv4<span class="hljs-operator">/</span>ip_forward
sysctl <span class="hljs-operator">-</span>w net.ipv4.conf.eth0.route_localnet=<span class="hljs-number">1</span>
sysctl <span class="hljs-operator">-</span>w net.ipv4.conf.default.route_localnet=<span class="hljs-number">1</span>
</code></pre><p><strong>nat规则</strong></p>
<pre><code>iptables <span class="hljs-operator">-</span>t nat <span class="hljs-operator">-</span>A PREROUTING <span class="hljs-operator">-</span>p tcp <span class="hljs-operator">-</span>m tcp <span class="hljs-operator">-</span><span class="hljs-operator">-</span>dport <span class="hljs-number">63306</span> <span class="hljs-operator">-</span>j DNAT <span class="hljs-operator">-</span><span class="hljs-operator">-</span>to<span class="hljs-operator">-</span>destination <span class="hljs-number">127.0</span><span class="hljs-number">.0</span><span class="hljs-number">.1</span>:<span class="hljs-number">3306</span>
iptables <span class="hljs-operator">-</span>t nat <span class="hljs-operator">-</span>A POSTROUTING <span class="hljs-operator">-</span>p tcp <span class="hljs-operator">-</span>m tcp <span class="hljs-operator">-</span><span class="hljs-operator">-</span>dport <span class="hljs-number">63306</span> <span class="hljs-operator">-</span>j SNAT <span class="hljs-operator">-</span><span class="hljs-operator">-</span>to<span class="hljs-operator">-</span>source <span class="hljs-number">127.0</span><span class="hljs-number">.0</span><span class="hljs-number">.1</span>
</code></pre><p>注：这是允许所有外来的IP访问，慎用。    </p>
<p><strong>我们来做个ip限制，限制单个来源IP</strong></p>
<pre><code>iptables <span class="hljs-operator">-</span>t nat <span class="hljs-operator">-</span>R PREROUTING <span class="hljs-number">4</span> <span class="hljs-operator">-</span>s <span class="hljs-number">192.168</span><span class="hljs-number">.40</span><span class="hljs-number">.154</span> <span class="hljs-operator">-</span>p tcp <span class="hljs-operator">-</span>m tcp <span class="hljs-operator">-</span><span class="hljs-operator">-</span>dport <span class="hljs-number">63306</span> <span class="hljs-operator">-</span>j DNAT <span class="hljs-operator">-</span><span class="hljs-operator">-</span>to<span class="hljs-operator">-</span>destination <span class="hljs-number">127.0</span><span class="hljs-number">.0</span><span class="hljs-number">.1</span>:<span class="hljs-number">3306</span>
iptables <span class="hljs-operator">-</span>t nat <span class="hljs-operator">-</span>R POSTROUTING <span class="hljs-number">4</span> <span class="hljs-operator">-</span>s <span class="hljs-number">192.168</span><span class="hljs-number">.40</span><span class="hljs-number">.154</span> <span class="hljs-operator">-</span>p tcp <span class="hljs-operator">-</span>m tcp <span class="hljs-operator">-</span><span class="hljs-operator">-</span>dport <span class="hljs-number">63306</span> <span class="hljs-operator">-</span>j SNAT <span class="hljs-operator">-</span><span class="hljs-operator">-</span>to<span class="hljs-operator">-</span>source <span class="hljs-number">127.0</span><span class="hljs-number">.0</span><span class="hljs-number">.1</span>
</code></pre><p>注：这是只给外网的192.168.40.154连接， 其他的都连不上，修改规则(4代表编号, --line-number可查看对应编号, -s 指定来源IP)。<br /><strong>查看nat规则</strong></p>
<pre><code>iptables <span class="hljs-operator">-</span>L <span class="hljs-operator">-</span>t nat <span class="hljs-operator">-</span><span class="hljs-operator">-</span>line<span class="hljs-operator">-</span>number
</code></pre><p><strong>删除nat规则</strong></p>
<pre><code>iptables <span class="hljs-operator">-</span>t nat <span class="hljs-operator">-</span>D POSTROUTING <span class="hljs-number">1</span>
<span class="hljs-operator">-</span>A 追加规则<span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">&gt;</span>iptables <span class="hljs-operator">-</span>A INPUT
<span class="hljs-operator">-</span>D 删除规则<span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">&gt;</span>iptables <span class="hljs-operator">-</span>D INPUT <span class="hljs-number">1</span>(编号)
<span class="hljs-operator">-</span>R 修改规则<span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">&gt;</span>iptables <span class="hljs-operator">-</span>R INPUT <span class="hljs-number">1</span> <span class="hljs-operator">-</span>s <span class="hljs-number">192.168</span><span class="hljs-number">.12</span><span class="hljs-number">.0</span> <span class="hljs-operator">-</span>j DROP 取代现行规则，顺序不变(<span class="hljs-number">1</span>是位置)
<span class="hljs-operator">-</span>I 插入规则<span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">&gt;</span>iptables <span class="hljs-operator">-</span>I INPUT <span class="hljs-number">1</span> <span class="hljs-operator">-</span><span class="hljs-operator">-</span>dport <span class="hljs-number">80</span> <span class="hljs-operator">-</span>j ACCEPT 插入一条规则，原本位置上的规则将会往后移动一个顺位
<span class="hljs-operator">-</span>L 查看规则<span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">&gt;</span>iptables <span class="hljs-operator">-</span>L INPUT 列出规则链中的所有规则
<span class="hljs-operator">-</span>N 新的规则<span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">&gt;</span>iptables <span class="hljs-operator">-</span>N allowed 定义新的规则
</code></pre><p>--END--</p>
]]></content:encoded></item><item><title><![CDATA[Crontab  定时任务]]></title><description><![CDATA[Crontab 使用
格式
crontab [ -u user ] { -l | -r | -e }  
说明：
crontab 是用来让使用者在固定时间或固定间隔执行程序之用，换句话说，也就是类似使用者的时程表。-u user 是指设定指定 user 的时程表，这个前提是你必须要有其权限(比如说是 root)才能够指定他人的时程表。如果不使用 -u user 的话，就是表示设定自己的时程表。  
参数说明：
-e : 执行文字编辑器来设定时程表，内定的文字编辑器是 VI，如果你想用别的文字编辑...]]></description><link>https://laofu.ipio.cf/linux-crontab</link><guid isPermaLink="true">https://laofu.ipio.cf/linux-crontab</guid><dc:creator><![CDATA[donaldfergus]]></dc:creator><pubDate>Sat, 28 May 2022 10:20:27 GMT</pubDate><content:encoded><![CDATA[<h1 id="heading-crontab">Crontab 使用</h1>
<h2 id="heading-5qc85byp">格式</h2>
<p>crontab [ -u user ] { -l | -r | -e }  </p>
<h3 id="heading-6k05pio77ya">说明：</h3>
<p>crontab 是用来让使用者在固定时间或固定间隔执行程序之用，换句话说，也就是类似使用者的时程表。<br />-u user 是指设定指定 user 的时程表，这个前提是你必须要有其权限(比如说是 root)才能够指定他人的时程表。如果不使用 -u user 的话，就是表示设定自己的时程表。  </p>
<h3 id="heading-5yc5pww6k05pio77ya">参数说明：</h3>
<p>-e : 执行文字编辑器来设定时程表，内定的文字编辑器是 VI，如果你想用别的文字编辑器，则请先设定 VISUAL 环境变数来指定使用那个文字编辑器(比如说 setenv VISUAL joe)<br />-r : 删除目前的时程表<br />-l : 列出目前的时程表  </p>
<h2 id="heading-5a6a5pe2">定时</h2>
<p>m h d M w program  </p>
<h3 id="heading-5a6a5pe26k6h566x5bel5yw3">定时计算工具</h3>
<p><a target="_blank" href="https://www.matools.com/crontab/">Matools</a>  </p>
<h3 id="heading-5a6e5l6l">实例</h3>
<p>0 <em>/2 </em> <em> </em> /sbin/service httpd restart  意思是每两个小时重启一次apache  </p>
<p>50 7 <em> </em> * /sbin/service sshd start  意思是每天7：50开启ssh服务  </p>
<p>50 22 <em> </em> * /sbin/service sshd stop  意思是每天22：50关闭ssh服务  </p>
<p>0 0 1,15 <em> </em> fsck /home  每月1号和15号检查/home 磁盘  </p>
<p>1 <em> </em> <em> </em> /home/bruce/backup  每小时的第一分执行 /home/bruce/backup这个文件  </p>
<p>00 03 <em> </em> 1-5 find /home "<em>.xxx" -mtime +4 -exec rm {} \;  每周一至周五3点钟，在目录/home中，查找文件名为</em>.xxx的文件，并删除4天前的文件。 </p>
<p>30 6 <em>/10 </em> * ls  意思是每月的1、11、21、31日是的6：30执行一次ls命令  </p>
<p>20 03 <em> </em> * . /etc/profile;/bin/sh /var/www/runoob/test.sh &gt; /dev/null 2&gt;&amp;1  </p>
]]></content:encoded></item><item><title><![CDATA[vim超实用指南]]></title><description><![CDATA[vim是一个Unix文本编辑器，它以快速高效而闻名，是在终端中运行的小应用程序（当然也有图形界面），它最主要的特点是完全可以通过键盘控制，而不需要菜单栏或鼠标。
例如，将文本插入到文件中，按i键并输入。浏览文本或输入命令，在键盘上按Esc，然后按下对应的任何键或组合键。对于大多数人来说，是一种非常不寻常的文本编辑方式，但这是基于Linux环境工作的开发者编辑配置文件、更改脚本、编写代码等操作的主流方式。
本文将介绍一些必要的基本命令，以供大家很快很容易地掌握vim编辑器。建议初学者在使用中进行学...]]></description><link>https://laofu.ipio.cf/linux-vim</link><guid isPermaLink="true">https://laofu.ipio.cf/linux-vim</guid><dc:creator><![CDATA[donaldfergus]]></dc:creator><pubDate>Fri, 27 May 2022 13:50:32 GMT</pubDate><content:encoded><![CDATA[<p>vim是一个Unix文本编辑器，它以快速高效而闻名，是在终端中运行的小应用程序（当然也有图形界面），它最主要的特点是完全可以通过键盘控制，而不需要菜单栏或鼠标。</p>
<p>例如，将文本插入到文件中，按i键并输入。浏览文本或输入命令，在键盘上按Esc，然后按下对应的任何键或组合键。对于大多数人来说，是一种非常不寻常的文本编辑方式，但这是基于Linux环境工作的开发者编辑配置文件、更改脚本、编写代码等操作的主流方式。
本文将介绍一些必要的基本命令，以供大家很快很容易地掌握vim编辑器。建议初学者在使用中进行学习，而不是只看不动手。不实战操作，那你可能很快忘记这些命令。</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1653658300149/GC6EC2hrk.jpeg" alt="d8e0137324b5ce8481bf2dc089ab0a89_239604967_1_20220217084356538.jpeg" /></p>
<p><strong>使用vim打开文件后，一般会用到三种模式：命令模式（command mode）、输入模式（insert mode）和底行命令模式（last line mode）</strong>。<br />刚启动vim时，默认进入命令模式。这时候，我们敲打键盘的字母会被识别为不同的命令。如方向键<strong>h、j、k、l</strong>；输入键<strong>i、a、o，</strong>切换到输入模式；冒号键:，切换到底行命令模式。<br />进入输入模式，可以任意的码入字母、符号，按<strong>esc</strong>键退出到命令模式。<br />在底行命令模式，可以输入单个或者多个命令，按<strong>enter</strong>键结束运行。   </p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1653658628609/ZG1AbVx2q.png" alt="image.png" /></p>
<p>1、vim的进入和退出：vi、vim、:q、:q!、:wq
在terminal中直接敲vi或vim打开文本
:q 退出文件
:q! 强制退出文件，丢弃你所做的任何改动
:wq 保存修改，然后退出文件</p>
<p>2、移动光标：h、j、k、l键
h左移、l右移、j下移、k上移，熟练使用hjkl键，习惯之后我们能很快地在屏幕四处移动光标。</p>
<p>3、插入、删除和撤销：i、A、x、u键、ctrl r
在command模式下：按下i键可以进入insert模式，在光标后插入文字，输入完成按esc键（A键，光标移动到本行末输入）；按下x键可以删除光标所在位置的字符；按下u键可以撤销操作，回到上一步。ctrl r撤销掉撤销命令。
按下esc键会回到command模式或者撤销一个不想输入或部分完整的命令。
4、删除类命令：dw、d$、dd
dw 从光标处删除至一个单词的末尾
d$ 从光标处删除至本行末尾
dd 删除光标所在行</p>
<p>5、在动作前输入数字会使操作重复那么多次
3dd 执行三次光标所在行，即往下删除三行
2w   使光标向前移动两个单词
0      移动到光标的行首</p>
<p>6、关于定位和文件状态
gg                  跳到文件第一行
G / shift g   跳到文件最后一行
ctrl g           显示当前编辑文件名和文件中光标位置
gf                     进入光标所在位置路径的文件</p>
<p>7、关于搜索命令
/   加上字符串可以用于在当前文件中查找该字符串
？用于反向查找
例如：/error &lt;回车&gt; 即可在文件中查找error
n键向下继续搜索，N键或shift n键向上继续搜索（shift 小写=大写）</p>
<p>8、替换命令
:s/old/new/g    g是全局进行匹配
多种操作需要多加学习应用</p>
<p>9、在vim内执行外部命令
输入 :! 然后输入外部命令即可执行该外部命令
所有的 : 命令都必须以敲回车键结束</p>
<p>10、使用操作符y复制文本，使用p粘贴文本
配合可视模式使用
多行操作是经常会用到的，切记！</p>
<p>11、set设置一些选项
:set xxx 可以设置 xxx 选项。一些有用的选项如下：
'ic' 'ignorecase'       查找时忽略字母大小写
'is' 'incsearch'          查找短语时显示部分匹配
'hls' 'hlsearch'          高亮显示所有的匹配短语</p>
<p>12、获取在线系统帮助
如下三种方法：</p>
<ul>
<li>按下  键 (如果键盘上有的话)</li>
<li>按下  键 (如果键盘上有的话)</li>
<li>输入  :help &lt;回车&gt;</li>
</ul>
<p>13、启用更多的vim的特性
Vim 的功能特性要比 Vi 多得多，但其中大部分都缺省没有启用。为了使用更多的特性，需要创建一个 vimrc 文件。</p>
<ol>
<li><p>开始编辑 vimrc 文件，具体命令取决于所用的操作系统：
:edit ~/.vimrc               这是 Unix 系统所使用的命令
:edit $VIM/_vimrc       这是 MS-Windows 系统所使用的命令</p>
</li>
<li><p>接着读取 vimrc 示例文件的内容：
:r $VIMRUNTIME/vimrc_example.vim</p>
</li>
<li><p>保存文件，命令为：
:write</p>
<p>下次启动 Vim 时，编辑器就会有了语法高亮的功能。
可以把喜欢的各种设置添加到这个 vimrc 文件中。
要了解更多信息请输入 :help vimrc-intro</p>
</li>
</ol>
<p>14、使用键进行命令行补全
补全对于许多命令都有效，当输入: 命令时，tab键可以匹配补全。</p>
<p>15、vim自带了一个教程说明，我们可以直接输入vimtutor，打开教程做相应的练习即可。</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1653658757341/D2MDaJ_cG.png" alt="image.png" />
全局
:h[elp] 关键字 - 打开关键字帮助</p>
<p>:sav[eas] 文件名 - 另存为</p>
<p>:clo[se] - 关闭当前窗口</p>
<p>:ter[minal] - 打开一个shell窗口</p>
<p>K - 打开光标所在单词的man页面</p>
<p>移动光标
h - 左移光标</p>
<p>j - 下移光标</p>
<p>k - 上移光标</p>
<p>l - 右移光标</p>
<p>H - 移动到当前页面顶部</p>
<p>M - 移动到当前页面中间</p>
<p>L - 移动到当前页面底部</p>
<p>w - 移动到下个单词开头</p>
<p>W - 移动到下个单词开头(单词含标点)</p>
<p>e - 移动到下个单词结尾</p>
<p>E - 移动到下个单词结尾(单词含标点)</p>
<p>b - 移动到上个单词开头</p>
<p>B - 移动到上个单词开头(单词含标点)</p>
<p>ge - 移动到上个单词结尾</p>
<p>gE - 移动到上个单词结尾(单词含标点)</p>
<p>% - 跳转到配对的符号(默认支持的配对符号组:: '()', '{}', '[]' - 在vim中使用 :h matchpairs 获得更多信息)</p>
<p>0 - 移动到行首</p>
<p>^ - 移动到行首的非空白符</p>
<p>$ - 移动到行尾</p>
<p>g_ - 移动到行内最后一个非空白符</p>
<p>gg - 移动到文件第一行</p>
<p>G - 移动到文件最后一行</p>
<p>5gg or 5G - 移动到第五行</p>
<p>gd - 跳转到局部定义</p>
<p>gD - 跳转到全局定义</p>
<p>fx - 移动到字符 x 下次出现的位置</p>
<p>tx - 移动到字符 x 下次出现的位置的前一个字符</p>
<p>Fx - 移动到字符 x 上次出现的位置</p>
<p>Tx - 移动到字符 x 上次出现的位置的后一个字符</p>
<p>; - 重复之前的f、t、F、T操作</p>
<p>, - 反向重复之前的f、t、F、T操作</p>
<p>} - 移动到下一个段落 (当编辑代码时则为函数／代码块)</p>
<p>{ - 移动到上一个段落 (当编辑代码时则为函数／代码块)</p>
<p>zz - 移动屏幕使光标居中</p>
<p>Ctrl   e - 向下移动屏幕一行(保持光标不动)</p>
<p>Ctrl   y - 向上移动屏幕一行(保持光标不动)</p>
<p>Ctrl   b - 向上滚动一屏</p>
<p>Ctrl   f - 向下滚动一屏</p>
<p>Ctrl   d - 向下滚动半屏</p>
<p>Ctrl   u - 向上滚动半屏</p>
<p>插入模式 - 插入/追加文本
i - 从光标前开始插入字符</p>
<p>I - 从行首开始插入字符</p>
<p>a - 从光标后开始插入字符</p>
<p>A - 从行尾开始插入字符</p>
<p>o - 在当前行之下另起一行, 开始插入字符</p>
<p>O - 在当前行之上另起一行, 开始插入字符</p>
<p>ea - 从当前单词末尾开始插入</p>
<p>Ctrl   h - 在插入模式下，删除光标前的字符</p>
<p>Ctrl   w - 在插入模式下，删除光标前的单词</p>
<p>Ctrl   j - 在插入模式下，另起一行</p>
<p>Ctrl   t - 在插入模式下，向右缩进，宽度由 shiftwidth 控制</p>
<p>Ctrl   d - 在插入模式下，向左缩进，宽度由 shiftwidth 控制</p>
<p>Ctrl   n - 在插入模式下，在光标之前插入自动补全的下一个匹配项</p>
<p>Ctrl   p - 在插入模式下，在光标之前插入自动补全的上一个匹配项</p>
<p>Ctrl   rx - 插入寄存器 x 的内容</p>
<p>Ctrl ox - 暂时进入正常模式以发出一个正常模式命令 x。</p>
<p>Esc - 退出插入模式</p>
<p>编辑文本
r - 替换当前字符</p>
<p>R - 在 ESC 按下之前，替换多个字符</p>
<p>J - 将下一行合并到当前行, 并在两部分文本之间插入一个空格</p>
<p>gJ - 将下一行合并到当前行, 两部分文本之间不含空格</p>
<p>gwip - 重新调整段落</p>
<p>g~ - switch case up to motion</p>
<p>gu - 小写操作修饰符</p>
<p>gU - 大写操作修饰符</p>
<p>cc - 将光标所在的行删除, 然后进入插入模式</p>
<p>C - 将光标处到行尾删除, 然后进入插入模式</p>
<p>c$ - 将光标处到行尾删除, 然后进入插入模式</p>
<p>ciw - 将光标所在的单词删除, 然后进入插入模式</p>
<p>cw or ce - 从光标位置开始, 修改单词</p>
<p>s - 删除当前字符, 然后进入插入模式</p>
<p>S - 清空当前行, 然后进入插入模式 (同cc)</p>
<p>xp - 当前字符后移</p>
<p>u - 撤销</p>
<p>U - 撤销上一次的改动行的操作</p>
<p>Ctrl r - 重做（取消撤销）</p>
<p>. - 再次执行上个命令</p>
<p>选择文本（可视化模式）
v - 进入可视化模式, 移动光标高亮选择,  然后可以对选择的文本执行命令</p>
<p>V - 进入可视化模式(行粒度选择)</p>
<p>o - 切换光标到选择区开头/结尾</p>
<p>Ctrl   v - 进入可视化模式(矩阵选择)</p>
<p>O - 切换光标到选择区的角</p>
<p>aw - 选择当前单词</p>
<p>ab - 选择被 () 包裹的区域(含括号)</p>
<p>aB - 选择被 {} 包裹的区域(含花括号)</p>
<p>at - 选择被 &lt;&gt; 标签包裹的区域(含&lt;&gt;标签)</p>
<p>ib - 选择被 () 包裹的区域(不含括号)</p>
<p>iB - 选择被 {} 包裹的区域(不含花括号)</p>
<p>it - 选择被 &lt;&gt; 标签包裹的区域(不含&lt;&gt;标签)</p>
<p>Esc - 退出可视化模式</p>
<p>可视化模式命令</p>
<blockquote>
<ul>
<li>向右缩进</li>
</ul>
</blockquote>
<p>&lt; - 向左缩进</p>
<p>y - 复制</p>
<p>d - 剪切</p>
<p>~ - 大小写切换</p>
<p>u - 将选中文本转换为小写</p>
<p>U - 将选中文本转换为大写</p>
<p>剪切, 复制, 粘贴
yy - 复制当前行</p>
<p>2yy - 复制 2 行</p>
<p>yw - 复制当前单词</p>
<p>yiw - 复制光标处的单词</p>
<p>yaw - 复制光标处的单词及其前后的空格</p>
<p>y$ - 复制, 从光标位置到行末</p>
<p>p - 在光标后粘贴</p>
<p>P - 在光标前粘贴</p>
<p>dd - 剪切当前行</p>
<p>2dd - 剪切 2 行</p>
<p>dw - 剪切当前单词</p>
<p>diw - 删除光标处的单词</p>
<p>daw - 删除光标处的单词及其前后的空格</p>
<p>D - 剪切, 从光标位置到行末</p>
<p>d$ - 剪切, 从光标位置到行末 (同<kbd>D</kbd>)</p>
<p>x - 剪切当前字符</p>
<p>文字缩进</p>
<blockquote>
<blockquote>
<ul>
<li>将当前行向右缩进，宽度由 shiftwidth 控制</li>
</ul>
</blockquote>
</blockquote>
<p>&lt;&lt; - 将当前行向左缩进，宽度由 shiftwidth 控制</p>
<blockquote>
<p>% - 向右缩进 () 或 {} 内的区域 (光标需置于括号上)</p>
<p>ib - 向右缩进 () 内的区域</p>
<p>at - 向右缩进 &lt;&gt; 标签内的区域</p>
</blockquote>
<p>3== - 自动缩进 3 行</p>
<p>=% - 自动缩进 () 或 {} 内的区域 (光标需置于括号上)</p>
<p>=iB - 自动缩进 {} 内的区域 (光标需置于括号上)</p>
<p>gg=G - 自动缩进整个缓冲区</p>
<p>]p - 粘贴并调整缩进至当前行</p>
<p>退出
:w - 保存</p>
<p>:w !sudo tee % - 使用 sudo 保存当前文件</p>
<p>:wq or :x or ZZ - 保存并退出</p>
<p>:q - 退出(修改未保存时警告)</p>
<p>:q! or ZQ - 不保存强制退出</p>
<p>:wqa - 保存所有标签页并全部退出</p>
<p>查找/替换
/pattern - 查找<kbd>pattern</kbd></p>
<p>?pattern - 向上查找<kbd>pattern</kbd></p>
<p>n - 查找下一个</p>
<p>N - 查找上一个</p>
<p>:%s/old/new/g - 替换全部</p>
<p>:%s/old/new/gc - (逐个)替换</p>
<p>:noh[lsearch] - 移除搜索结果的高亮显示</p>
<p>多文件搜索
:vim[grep] /pattern/{<code>{file}</code>} - 在多个文件中搜索 <kbd>pattern</kbd></p>
<p>:cn[ext] - 移动至下一个</p>
<p>:cp[revious] - 移动至上一个</p>
<p>:cope[n] - 打开搜索结果列表</p>
<p>标签
:tabnew or :tabnew {page.words.file} - 在新标签中打开文件</p>
<p>Ctrl   wT - 将窗口变成标签</p>
<p>gt or :tabn[ext] - 切换到下一个标签</p>
<p>gT or :tabp[revious] - 切换到上一个标签</p>
<p>#gt - 切换到第<kbd>#</kbd> 个标签</p>
<p>:tabm[ove] # - 移动标签到第<kbd>#</kbd> 位(下标从 0 开始)</p>
<p>:tabc[lose] - 关闭当前标签</p>
<p>:tabo[nly] - 关闭其他标签</p>
<p>:tabdo command - 在所有标签中执行命令 </p>
<p>多文件编辑
:e[dit] 文件名 - 新建缓冲区打开 filename</p>
<p>:bn[ext] - 切换到下个缓冲区</p>
<p>:bp[revious] - 切换到上个缓冲区</p>
<p>:bd[elete] - 关闭缓冲区</p>
<p>:ls or :buffers - 列出所有打开的缓冲区</p>
<p>:sp[lit] 文件名 - 新建缓冲区打开 filename 并水平分割窗口</p>
<p>:vs[plit] 文件名 - 新缓冲区打开 filename 并垂直分割窗口</p>
<p>:vert[ical] ba[ll] - edit all buffers as vertical windows</p>
<p>:tab ba[ll] - edit all buffers as tabs</p>
<p>Ctrl   ws - 水平分割窗口</p>
<p>Ctrl   wv - 垂直分割窗口</p>
<p>Ctrl   ww - 在窗口间切换</p>
<p>Ctrl   wq - 关闭窗口</p>
<p>Ctrl   wx - 将窗口切换到下一个窗口</p>
<p>Ctrl   w= - 使所有窗口的高度和宽度相等</p>
<p>Ctrl   wh - 切换到左侧窗口</p>
<p>Ctrl   wl - 切换到右侧窗口</p>
<p>Ctrl   wj - 切换到下侧窗口</p>
<p>Ctrl   wk - 切换到上侧窗口</p>
<p>Ctrl   wH - 使游标所在视窗全高并移至最左 (最左垂直视窗)</p>
<p>Ctrl   wL - 使游标所在视窗全高并移至最右 (最右垂直视窗)</p>
<p>Ctrl   wJ - 使游标所在视窗全宽并移至最下 (最下水平视窗)</p>
<p>Ctrl   wK - 使游标所在视窗全宽并移至最上 (最上水平视窗)</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1653659157702/QlDRo4Bo-.png" alt="bae55.png" /></p>
]]></content:encoded></item><item><title><![CDATA[Linux tmux命令：一个窗口操作多个会话]]></title><description><![CDATA[为大家介绍一位新朋友——tmux。有人会问，tmux 这个名字看着很酷，怎么取的这个名字呢？其实 tmux 是两个单词的缩写，即“Terminal MultipleXer”，意思是“终端复用器”。原来这是一个很没创意的名字，只是英文缩写看着很酷罢了，哈哈！tmux 是一个可以让人们通过一个窗口操作多个会话的工具，对于经常操作 Linux 系统的同学来说，绝对是一款提升工作效率的利器，一会儿我们就会感受到它的强大和灵活。让我们来看看 tmux 的芳容，如图 1 所示。

tmux 能帮我们解决什么...]]></description><link>https://laofu.ipio.cf/linux-tmux</link><guid isPermaLink="true">https://laofu.ipio.cf/linux-tmux</guid><dc:creator><![CDATA[donaldfergus]]></dc:creator><pubDate>Fri, 27 May 2022 13:06:22 GMT</pubDate><content:encoded><![CDATA[<p>为大家介绍一位新朋友——tmux。有人会问，tmux 这个名字看着很酷，怎么取的这个名字呢？其实 tmux 是两个单词的缩写，即“Terminal MultipleXer”，意思是“终端复用器”。原来这是一个很没创意的名字，只是英文缩写看着很酷罢了，哈哈！<br />tmux 是一个可以让人们通过一个窗口操作多个会话的工具，对于经常操作 Linux 系统的同学来说，绝对是一款提升工作效率的利器，一会儿我们就会感受到它的强大和灵活。<br />让我们来看看 tmux 的芳容，如图 1 所示。</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1653655428031/M_rXmB5Gh.png" alt="image.png" /></p>
<h2 id="heading-tmux">tmux 能帮我们解决什么问题呢</h2>
<p>凡是互联网行业的从业者，无论是做运维的同学，还是做开发的同学，一般都是在自己的工作电脑上安装远程连接工具（如 iTerm、putty、XShell、SecureCRT 等），远程登录到公司服务器上，进行具体的操作，而其中一些操作的耗时会很长。<br />在这期间，一旦我们的远程连接工具所在的工作电脑出现断网或断电的情况，那么很多耗时较长的操作就会因此中断，这是所有运维、开发同学都很头疼的一个问题。下面，我们就先给大家列出一些典型的痛点。<br /><strong>痛点一：大数据传输的漫长一夜</strong><br />相信做过 Linux 服务运维的同学，都用 scp 进行过服务器间的大文件网络传输。一般这需要很长的时间，这期间，如果工作电脑出现断网或者断电的情况，则会导致远程连接工具无法与服务器通信，从而使得它所控制的数据传输也因此中断。</p>
<p>情景再现：</p>
<pre><code>localhost:<span class="hljs-operator">~</span> roc$ ls <span class="hljs-operator">-</span>hl
total <span class="hljs-number">36419584</span>
<span class="hljs-operator">-</span>rw<span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span>  <span class="hljs-number">1</span> roc  staff    17G  <span class="hljs-number">1</span> <span class="hljs-number">20</span> <span class="hljs-number">11</span>:06 win7.vdi

localhost:<span class="hljs-operator">~</span> roc$ scp <span class="hljs-operator">-</span>P <span class="hljs-number">22000</span> win7.vdi roc@roclinux.cn:<span class="hljs-operator">/</span>home<span class="hljs-operator">/</span>roc<span class="hljs-operator">/</span>win7.vdi    
<span class="hljs-number">0</span><span class="hljs-operator">%</span> 7296KB <span class="hljs-number">800</span>.3KB/s <span class="hljs-number">6</span>:<span class="hljs-number">19</span>:05
</code></pre><p>一个 17GB 的大文件，刚刚开始传输，预估耗时 6 小时 19 分钟，谁能保证中间不出现关机和断电的情况呢。<br />有些同学说可以用 nohup 来解决啊，是的，这是一个办法，可是使用 nohup 的问题在于如果同时传输的任务众多，则最后你自己可能都分不清哪个任务对应哪个传输了，何况 nohup 还会留下 nohup.out 这么一个临时文件在那里。<br />还有同学说，即使中断了，也可以断点续传啊。可惜的是，scp 并不支持断点续传。如果改用 rsync 倒是可以，可惜 rsync 参数用起来很是复杂，谁能保证每位运维工程师都能熟练掌握那么多复杂的参数呢？这个时候，请试一试 tmux 吧！   </p>
<p><strong>痛点二：正在编译却被拉去开会</strong><br />和大文件数据传输情况类似，一些大型的开发项目的代码编译过程，往往也需要很长的时间，短则几分钟，长则一通宵。对于一通宵的编译来说，这要是中间出现断网断电，那就相当悲剧了。整个项目进展就又要向后推迟至少一天。这个时候，我们向你推荐 tmux！</p>
<p><strong>痛点三：多个窗口切换到晕</strong><br />作为运维工程师，一定有过在众多窗口间切换，查看各种服务器上的信息和状态的情况，这个时候，如果没有一款好用的窗口管理软件，过不了多久，你就会晕头转向了。就像图 2 所示的这种情况。</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1653657380042/X9x7TXWWt.png" alt="image.png" />
这个时候，tmux 可以帮到你！   </p>
<p><strong>痛点四：一屏显示多窗口之殇</strong>
有时候为了进行多文件内容对比，如果没有一款很好用的分屏管理工具，那么我们只好创建多个终端，然后手动调整它们的大小和位置。<br />其实并不需要这么麻烦，tmux 可以帮助我们轻松分屏！   </p>
<h2 id="heading-tmux">安装tmux</h2>
<p>如果你的服务器的系统是 redhat、centos 或 fedora，那么安装会很简单：</p>
<pre><code><span class="hljs-section">[root@roclinux ~]</span><span class="hljs-comment"># yum install tmux</span>
</code></pre><p>tmux 依赖于 libevent 库和 ncurses 库，所以如果你的系统中原本没有这两个库的话，yum 会在安装时自动一并安装上。<br />如果你的服务器的系统是 ubuntu，那么安装也很简单：</p>
<pre><code>[<span class="hljs-symbol">root@</span>roclinux ~]# apt-<span class="hljs-keyword">get</span> install tmux
</code></pre><p>如果你的服务器的系统是 OS X Server，仍然是一条命令搞定：   </p>
<pre><code>$ brew install tmux
</code></pre><p>brew 是苹果系统中常用的包管理工具，如果你的 OS X Server 提示你没有 brew 命令的话，则要事先安装这个包管理工具：</p>
<pre><code>$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/ <span class="hljs-keyword">install</span>/<span class="hljs-keyword">master</span>/<span class="hljs-keyword">install</span>)<span class="hljs-string">"</span>
</code></pre><p>什么，你的系统没有 ruby？好吧。请自行百度，先老老实实地安装 ruby 吧。</p>
<h2 id="heading-tmux">tmux 入门四板斧</h2>
<p><strong>1.启动 tmux</strong><br />首先，我们使用远程登录工具，登录到远程服务器上，然后执行下面的命令：</p>
<pre><code><span class="hljs-section">[root@roclinux ~]</span><span class="hljs-comment"># tmux new -s roclinux</span>
</code></pre><p>-s是 session 的缩写，顾名思义，我们启动了一个全新的 tmux 会话（tmux session），并且把这个会话起名叫作 roclinux。这时，映入大家眼帘的就是 tmux 环境了，如图所示。</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1653656110815/VFpC5FzOJ.png" alt="image.png" />
tmux 环境和之前的环境没有什么不同，因此所有的操作与原来一样就好了。    </p>
<p><strong>2.再创建一个新的窗口</strong><br />在创建会话的同时，tmux 会在会话中创建一个窗口（tmux window），就是上图中的 1：vim*。
好了，我们试着再创建一个窗口：</p>
<ul>
<li>第一步：按 Ctrl+B 组合键，然后松开。</li>
<li>第二步：再单独按一下 c 键。
看！最底部是不是出现了一个 2：bash，如图所示。</li>
</ul>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1653656421876/0ZH1jjsdm.png" alt="image.png" />
这说明，我们在 tmux session 中又创建了一个窗口。<br />细心的同学可能会提出一个问题，为什么刚才星号（<em>）是在 1：vim 后面，而现在却到了 2：bash 后面呢？<br />这是个好问题，星号（</em>）在这里表示的是“当前处于活跃状态的窗口”，也就是哪个窗口现在处于可操作状态，星号（*）就在哪个窗口的后面。这回知道了吧。    </p>
<p><strong>3.在窗口间切换</strong><br />既然，我们在 roclinux 这个 session 中已经有了两个窗口，那么如果想在两个窗口间进行切换，应该怎么操作呢？<br />很简单，假如我们要切换到 0：bash 这个窗口，步骤如下：   </p>
<ul>
<li>第一步：按 Ctrl-B 组合键，然后松开。</li>
<li>第二步：按数字 0 键。<br />看，我们刚才说的星号（*）是不是已经悄悄移动到 0：bash 的后面啦。同理，在按下 Ctrl+B 组合键后，按相应数字键，就可以切换到相应的窗口了。就是这么简单！    </li>
</ul>
<p><strong>4.退出会话，还能再回来</strong><br />现在，我们切换到 1：vim，运行一个命令：</p>
<pre><code><span class="hljs-section">[root@roclinux ~]</span><span class="hljs-comment"># watch -n 2 free</span>
</code></pre><p>这个命令会每隔 2 秒钟更新一次内存使用状态，如果不输入 Ctrl+C，则永远不会退出。<br />假如这时候你要带着办公电脑去开会，你的电脑要断网，又不想中断服务器上正在执行的 watch 命令，怎么办呢？<br />哈哈，tmux 正好可以派上用场，方法是这样的：   </p>
<ul>
<li>第一步：输入组合键 Ctrl+B，然后松开。</li>
<li>第二步：输入字母 d。<br />看，tmux 环境消失了！眼前只有一行提示 [detached]：<pre><code><span class="hljs-section">[root@roclinux ~]</span><span class="hljs-comment"># tmux new -s roclinux</span>
<span class="hljs-section">[detached]</span>
</code></pre></li>
</ul>
<p>这表示，我们已经切断了办公电脑和刚才那个 tmux 之间的桥梁。现在如果你要外出，可以放心地关闭你的电脑了。<br />当你回到家后，打开电脑，连接到你的那台远程服务器，然后执行一个神奇的命令：</p>
<pre><code>[<span class="hljs-string">root@roclinux</span> <span class="hljs-string">~</span>]<span class="hljs-comment"># tmux ls</span>
<span class="hljs-attr">roclinux:</span> <span class="hljs-number">2</span> <span class="hljs-string">windows</span> <span class="hljs-string">(created</span> <span class="hljs-string">Fri</span> <span class="hljs-string">Jan</span> <span class="hljs-number">22</span> <span class="hljs-number">16</span><span class="hljs-string">:30:13</span> <span class="hljs-number">2016</span><span class="hljs-string">)</span> [<span class="hljs-string">130x36</span>]
[<span class="hljs-string">root@roclinux</span> <span class="hljs-string">~</span>]<span class="hljs-comment"># tmux a -t roclinux</span>
</code></pre><p>看，我们又回到了刚才的状态，那个查看内存使用状态的 watch 命令，在那里乖乖地运行着。这就是 tmux 的神奇之处，它可以让远端服务器的命令，脱离用户自己的电脑来执行，还可以随时召唤回来，继续进行操作和查看。<br />好了，至此，你已经掌握了最最基本的 tmux 使用方法了。当然，tmux 还有很多更高级的用法，等待着你去发现！</p>
<p>--END--</p>
]]></content:encoded></item><item><title><![CDATA[---数据分析师---]]></title><description><![CDATA[🔸决策树算法原理
决策树

一个树形的结构
内部节点上选用一个属性进行分裂（决策节点）
每个分叉都是分裂的一个部分
叶子节点表示一个分布
节点的子节点个数跟算法相关

决策树原理

决策树的输入
一组带有类别标签的样本（训练集）


决策树的构造
采用自上而下的递归构造


决策树的输出
一棵二叉或多叉树


决策树的测试评估
一组带有类别标记的样本（测试集）



生成决策树示意

决策树等价于一组关联规则

用IF-THEN这种形式来表现规则
每个叶子节点都创建一条规则
每个分割都成为一个...]]></description><link>https://laofu.ipio.cf/sjfxs10</link><guid isPermaLink="true">https://laofu.ipio.cf/sjfxs10</guid><dc:creator><![CDATA[donaldfergus]]></dc:creator><pubDate>Fri, 27 May 2022 08:07:44 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1653637277732/Vo1T6w3Ec.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h1 id="heading-8juuowgsetluagkeeulazlewoneqhg">🔸决策树算法原理</h1>
<h2 id="heading-5yaz562w5qcr">决策树</h2>
<ul>
<li>一个树形的结构</li>
<li>内部节点上选用一个属性进行分裂（决策节点）</li>
<li>每个分叉都是分裂的一个部分</li>
<li>叶子节点表示一个分布</li>
<li>节点的子节点个数跟算法相关</li>
</ul>
<h2 id="heading-5yaz562w5qcr5y6f55cg">决策树原理</h2>
<ul>
<li><strong>决策树的输入</strong><ul>
<li>一组带有类别标签的样本（训练集）</li>
</ul>
</li>
<li><strong>决策树的构造</strong><ul>
<li>采用自上而下的递归构造</li>
</ul>
</li>
<li><strong>决策树的输出</strong><ul>
<li>一棵二叉或多叉树</li>
</ul>
</li>
<li><strong>决策树的测试评估</strong><ul>
<li>一组带有类别标记的样本（测试集）</li>
</ul>
</li>
</ul>
<h2 id="heading-55sf5oiq5yaz562w5qcr56s65osp">生成决策树示意</h2>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1653637561665/Pan6Qq9m0.png" alt="image.png" /></p>
<h2 id="heading-5yaz562w5qcr562j5lu35lqo5lia57ue5ywz6igu6kee5yiz">决策树等价于一组关联规则</h2>
<ul>
<li>用IF-THEN这种形式来表现规则</li>
<li>每个叶子节点都创建一条规则</li>
<li>每个分割都成为一个规则中的一个条件</li>
<li>叶子节点中的类别就是THEN的内容</li>
<li>规则对于人来说更容易理解</li>
<li>例子<ul>
<li>IF age = "青年" AND 学生 = "否"  THEN buys_computer = "不买"</li>
<li>IF age = "青年" AND 学生 = "是"  THEN buys_computer = "买"</li>
<li>IF age = "中年"    THEN buys_computer = "不买"</li>
<li>IF age = "老年" AND 信誉 = "优"  THEN buys_computer = "不买"</li>
<li>IF age = "老年" AND 信誉 = "良"  THEN buys_computer = "买"<h2 id="heading-5yaz562w5qcr5yig57g755qe54m554k5">决策树分类的特点</h2>
</li>
</ul>
</li>
<li><strong>优点</strong><ul>
<li>容易生成可以理解的规则</li>
<li>计算量相对来说不大</li>
<li>可以处理离散和连续字段</li>
<li>可以清晰显示那些字段比较重要</li>
</ul>
</li>
<li><strong>缺点</strong><ul>
<li>对连续性的字段难以预测</li>
<li>类别太多的时候，错误的可能性会加大</li>
<li>一般情况下，标签属性的个数有限</li>
</ul>
</li>
</ul>
<h1 id="heading-8juuowgsetluagkewjquaenq">🔸决策树剪枝</h1>
<h2 id="heading-5yaz562w5qcr6kee5qih6lak5asn5pwi5p6c6lak5aw95zcx77yf">决策树规模越大效果越好吗？</h2>
<ul>
<li>不对，一般情况下，树越小则树的预测能力越强。要构造尽可能小的决策树，关键在于选择恰当的逻辑判断或属性。</li>
<li>另外，过于茂盛的树可能导致过拟合（OVERFITTING），即对训练数据的完全拟合反而不具有很好的预测性能。<h2 id="heading-5yaz562w5qcr55qe5ymq5p6d">决策树的剪枝</h2>
</li>
<li><strong>剪枝技术</strong><ul>
<li>是一种克服噪声的技术，同时它也能使树得到简化而变得更容易理解。</li>
</ul>
</li>
<li><strong>剪枝的类型</strong><ul>
<li>前剪枝（forward pruning）在生成树的同时进行剪枝。</li>
<li>后剪枝（backward pruning）先生成决策树，然后从树叶逐步向根的方向剪枝。</li>
</ul>
</li>
<li><strong>剪枝注意事项</strong><ul>
<li>对于小树或稀疏数据，防止过渡剪枝</li>
</ul>
</li>
</ul>
<p>--END--</p>
]]></content:encoded></item><item><title><![CDATA[---数据分析师---]]></title><description><![CDATA[分类原理

分类

基于训练集形成一个模型，训练集中的类标签是已知的
使用该模型对新的数据进行分类
预测分类标签必须是离散值
分类模型：分类器、分类函数、分类规则


典型应用

客户流失分析
信用评级
目标营销
欺诈分析
医疗诊断



分类的两个步骤
 建模、预测原始数据 -> (1、训练集；2、测试集) -> 训练集建模 -> 测试集放入模型预测 -> 检验模型

常用分类算法

决策树（C5.0\CART\CHAID\QUEST）
神经网络
K最近邻
支持向量机SVM
贝叶斯网络
LOG...]]></description><link>https://laofu.ipio.cf/sjfxs09</link><guid isPermaLink="true">https://laofu.ipio.cf/sjfxs09</guid><dc:creator><![CDATA[donaldfergus]]></dc:creator><pubDate>Fri, 27 May 2022 07:36:43 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1653637050912/AV7z1KYjK.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2 id="heading-5yig57g75y6f55cg">分类原理</h2>
<ul>
<li><p><strong>分类</strong></p>
<ul>
<li>基于训练集形成一个模型，训练集中的类标签是已知的</li>
<li>使用该模型对新的数据进行分类</li>
<li>预测分类标签必须是离散值</li>
<li>分类模型：分类器、分类函数、分类规则</li>
</ul>
</li>
<li><p><strong>典型应用</strong></p>
<ul>
<li>客户流失分析</li>
<li>信用评级</li>
<li>目标营销</li>
<li>欺诈分析</li>
<li>医疗诊断</li>
</ul>
</li>
</ul>
<h2 id="heading-5yig57g755qe5lik5liq5q2l6aqk">分类的两个步骤</h2>
<p> <strong>建模、预测</strong><br />原始数据 -&gt; (1、训练集；2、测试集) -&gt; 训练集建模 -&gt; 测试集放入模型预测 -&gt; 检验模型</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1653636690096/qZWTdj2DH.png" alt="image.png" /></p>
<h2 id="heading-kirluljnlkjliibnsbvnrpfms5uqkg"><strong>常用分类算法</strong></h2>
<ul>
<li>决策树（C5.0\CART\CHAID\QUEST）</li>
<li>神经网络</li>
<li>K最近邻</li>
<li>支持向量机SVM</li>
<li>贝叶斯网络</li>
<li>LOGISTIC 回归</li>
<li>判别分析</li>
<li>随机森林</li>
<li>。。。。。。</li>
</ul>
<p>--END--</p>
]]></content:encoded></item><item><title><![CDATA[---数据分析师---]]></title><description><![CDATA[🔸时间序列原理
时间序列及其应用

时间序列（TIME SERIES）挖掘是数据挖掘中的一个重要研究分支，有着广泛的应用价值
近年来，时间序列挖掘在宏观的经济预测、市场营销、客流量分析、太阳黑子数、月降水量、河流流量、股票价格等众多领域得到应用。事实上，社会、科学、经济、技术等领域中广泛存在着大量的时间序列数据有待进一步的分析和处理。
时间序列数据挖掘通过研究信息的时间特性，深入洞悉事物进化的机制，是获得知识的有效途径。

时间序列分析

时间序列亦称为动态数列或时间数列（TIME SERIE...]]></description><link>https://laofu.ipio.cf/sjfxs08</link><guid isPermaLink="true">https://laofu.ipio.cf/sjfxs08</guid><dc:creator><![CDATA[donaldfergus]]></dc:creator><pubDate>Fri, 27 May 2022 07:17:01 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1653635776698/H58OYxWCB.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h1 id="heading-8juuoaxtumxtow6jwilwoneqhg">🔸时间序列原理</h1>
<h2 id="heading-kirml7bpl7tluolijflj4rlhbbluptnlkgqkg"><strong>时间序列及其应用</strong></h2>
<ul>
<li>时间序列（TIME SERIES）挖掘是数据挖掘中的一个重要研究分支，有着广泛的应用价值</li>
<li>近年来，时间序列挖掘在宏观的经济预测、市场营销、客流量分析、太阳黑子数、月降水量、河流流量、股票价格等众多领域得到应用。事实上，社会、科学、经济、技术等领域中广泛存在着大量的时间序列数据有待进一步的分析和处理。</li>
<li>时间序列数据挖掘通过研究信息的时间特性，深入洞悉事物进化的机制，是获得知识的有效途径。</li>
</ul>
<h2 id="heading-kirml7bpl7tluolijfliibmnpaqkg"><strong>时间序列分析</strong></h2>
<ul>
<li><strong>时间序列亦称为动态数列或时间数列（TIME SERIES），就是把反映某一现象的同一指标在不同时间上的取值，按时间的先后顺序排列形成的数列。</strong></li>
<li><strong>分析时间序列的目的</strong></li>
<li>描述事物在过去时间的状态</li>
<li>分析事物发展变化的规律</li>
<li>对事物的发展变化趋势进行预测</li>
</ul>
<h2 id="heading-5pe26ze05bqp5yix56s65l6l">时间序列示例</h2>
<ul>
<li><strong>GDP即国内生产总值，它是对一国（地区）经济在核算期内所有常住单位生产的最终产品总量的度量，常常被看成反映一个国家（地区）经济状况的重要指标。本列给出1998-2021年GDP数据时间序列图</strong>
<img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1653634749838/qHmkcwbpC.png" alt="43cc164dc7976335d23b717b21079281_report-image_id=ff76073316a247f08b18722ca8808292&amp;start=null&amp;end=2021.png" /></li>
</ul>
<h1 id="heading-8juuow4uoeuqoaxtumxtow6jwilaooeweiw">🔸常用时间序列模型</h1>
<h2 id="heading-5pe26ze05bqp5yix55qe5p6e5oiq6kab57sg">时间序列的构成要素</h2>
<h3 id="heading-kirplbmnjotovlirvvjrnurmgkfotovlirjgihpnz7nurmgkfotovlir8qkg"><strong>长期趋势：线性趋势、非线性趋势</strong></h3>
<ul>
<li><strong>线性趋势：</strong>移动平均法、移动中位数法、线性模型法</li>
<li><strong>非线性趋势：</strong>二次曲线、指数曲线、修正指数曲线、Gompertz曲线、Logistic曲线</li>
</ul>
<p><strong>季节变动：</strong>按月（季）平均法、趋势剔除法</p>
<p><strong>循环波动：</strong>剩余法</p>
<p><strong>不规则波动</strong></p>
<h2 id="heading-5pe26ze05bqp5yix55qe5pww5a2m5qih5z6l">时间序列的数学模型</h2>
<ul>
<li><p><strong>设T<sub>t</sub>表示长期趋势，S<sub>t</sub>表示季节变动趋势，C<sub>t</sub>表示循环变动趋势，R<sub>t</sub>表示随机干扰项，Y<sub>t</sub>是观测目标的观测记录。则常见的确定性时间序列模型有以下几种：</strong></p>
</li>
<li><p><strong>加法模型：y<sub>t</sub> = T<sub>t</sub> + S<sub>t</sub> + C<sub>t</sub> + R<sub>t</sub></strong></p>
<ul>
<li><strong>各个影响因素对时间序列的影响是可加的，并且是互相独立的。</strong></li>
</ul>
</li>
<li><p><strong>乘法模型：y<sub>t</sub> = T<sub>t</sub> <em> S<sub>t</sub> </em> C<sub>t</sub> * R<sub>t</sub></strong></p>
<ul>
<li><strong>各个影响因素对时间序列的影响是互相不独立的。</strong></li>
</ul>
</li>
<li><p><em>*混合模型：y<sub>t</sub> = T<sub>t</sub> </em> S<sub>t</sub> + C<sub>t</sub> <em> R<sub>t</sub>  或  y<sub>t</sub> = T<sub>t</sub> + S<sub>t</sub> </em> C<sub>t</sub> <em> R<sub>t</sub></em></p>
</li>
</ul>
<h2 id="heading-5bi455so5qih5z6l6ycj5oup">常用模型选择</h2>
<ul>
<li><strong>绘制原始数据的时间散点图，分不同情况选择不同模型</strong><ul>
<li>平滑、线性趋势：选指数平滑法中的线性趋势模型，如Holts</li>
<li>平滑、季节性：选指数平滑法中的季节模型，如Winters</li>
<li>不稳定、季节性或受多变量影响：ARIMA</li>
<li>不确定那种模型好：专家模型</li>
</ul>
</li>
</ul>
<p>--END--</p>
]]></content:encoded></item><item><title><![CDATA[Linux 是什么 ？]]></title><description><![CDATA[Linux，全称GNU/Linux，是一种免费使用和自由传播的类UNIX操作系统，其内核由林纳斯·本纳第克特·托瓦兹于1991年10月5日首次发布，它主要受到Minix和Unix思想的启发，是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想，是一个性能稳定的多用户网络操作系统。Linux有上百种不同的发行版，如基于社区开发的debian、archlinu...]]></description><link>https://laofu.ipio.cf/linux</link><guid isPermaLink="true">https://laofu.ipio.cf/linux</guid><dc:creator><![CDATA[donaldfergus]]></dc:creator><pubDate>Fri, 27 May 2022 04:42:25 GMT</pubDate><content:encoded><![CDATA[<ul>
<li><strong>Linux</strong>，全称GNU/Linux，是一种免费使用和自由传播的类UNIX操作系统，其内核由林纳斯·本纳第克特·托瓦兹于1991年10月5日首次发布，它主要受到Minix和Unix思想的启发，是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想，是一个性能稳定的多用户网络操作系统。Linux有上百种不同的发行版，如基于社区开发的debian、archlinux，和基于商业开发的Red Hat Enterprise Linux、SUSE、Oracle Linux等。</li>
</ul>
<h2 id="heading-kirlj5hlszxljobnqisqkg"><strong>发展历程</strong></h2>
<ul>
<li>Linux操作系统的诞生、发展和成长过程始终依赖着五个重要支柱：Unix操作系统、MINIX操作系统、GNU计划、POSIX标准和Internet网络。</li>
<li>20世纪80年代，计算机硬件的性能不断提高，PC的市场不断扩大，当时可供计算机选用的操作系统主要有Unix、DOS和iOS这几种。Unix价格昂贵，不能运行于PC；DOS显得简陋，且源代码被软件厂商严格保密；MacOS是一种专门用于苹果计算机的操作系统。此时，计算机科学领域迫切需要一个更加完善、强大、廉价和完全开放的操作系统。由于供教学使用的典型操作系统很少，因此当时在荷兰当教授的美国人AndrewS.Tanenbaum编写了一个操作系统，名为MINIX，为了向学生讲述操作系统内部工作原理。MINIX虽然很好，但只是一个用于教学目的的简单操作系统，而不是一个强有力的实用操作系统，然而最大的好处就是公开源代码。全世界学计算机的学生都通过钻研MINIX源代码来了解电脑里运行的MINIX操作系统，芬兰赫尔辛基大学大学二年级的学生Linus Torvalds就是其中一个，在吸收了MINIX精华的基础上，Linus于1991年写出了属于自己的Linux操作系统，版本为Linux0.01，是Linux时代开始的标志。他利用Unix的核心，去除繁杂的核心程序，改写成适用于一般计算机的x86系统，并放在网络上供大家下载，1994年推出完整的核心Version1.0，至此，Linux逐渐成为功能完善、稳定的操作系统，并被广泛使用。</li>
<li>2021年6月，根据Linux 5.14刚刚进入合并队列的char-misc-next提交，Linux 5.14正式移除了RAW驱动。</li>
</ul>
<h2 id="heading-kirnibnngrkqkg"><strong>特点</strong></h2>
<ul>
<li>Linux，全称GNU/Linux，是一套免费使用和自由传播的类Unix操作系统，是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。伴随着互联网的发展，Linux得到了来自全世界软件爱好者、组织、公司的支持。它除了在服务器方面保持着强劲的发展势头以外，在个人电脑、嵌入式系统上都有着长足的进步。使用者不仅可以直观地获取该操作系统的实现机制，而且可以根据自身的需要来修改完善Linux，使其最大化地适应用户的需要。</li>
<li>Linux不仅系统性能稳定，而且是开源软件。其核心防火墙组件性能高效、配置简单，保证了系统的安全。在很多企业网络中，为了追求速度和安全，Linux不仅仅是被网络运维人员当作服务器使用，甚至当作网络防火墙，这是Linux的一大亮点。</li>
<li>Linux具有开放源码、没有版权、技术社区用户多等特点，开放源码使得用户可以自由裁剪，灵活性高，功能强大，成本低。尤其系统中内嵌网络协议栈，经过适当的配置就可实现路由器的功能。这些特点使得Linux成为开发路由交换设备的理想开发平台。</li>
</ul>
<h2 id="heading-kirkulvopohnibnmgkcqkg"><strong>主要特性</strong></h2>
<h3 id="heading-5z65pys5ocd5ooz">基本思想</h3>
<p>Linux的基本思想有两点：第一，一切都是文件；第二，每个文件都有确定的用途。其中第一条详细来讲就是系统中的所有都归结为一个文件，包括命令、硬件和软件设备、操作系统、进程等等对于操作系统内核而言，都被视为拥有各自特性或类型的文件。至于说Linux是基于Unix的，很大程度上也是因为这两者的基本思想十分相近。</p>
<h3 id="heading-5a6m5ywo5ywn6ls5">完全免费</h3>
<p>Linux是一款免费的操作系统，用户可以通过网络或其他途径免费获得，并可以任意修改其源代码。这是其他的操作系统所做不到的。正是由于这一点，来自全世界的无数程序员参与了Linux的修改、编写工作，程序员可以根据自己的兴趣和灵感对其进行改变，这让Linux吸收了无数程序员的精华，不断壮大。</p>
<h3 id="heading-posix10">完全兼容POSIX1.0标准</h3>
<p>这使得可以在Linux下通过相应的模拟器运行常见的DOS、Windows的程序。这为用户从Windows转到Linux奠定了基础。许多用户在考虑使用Linux时，就想到以前在Windows下常见的程序是否能正常运行，这一点就消除了他们的疑虑。</p>
<h3 id="heading-5asa55so5oi344cb5asa5lu75yqh">多用户、多任务</h3>
<p>Linux支持多用户，各个用户对于自己的文件设备有自己特殊的权利，保证了各用户之间互不影响。多任务则是现代电脑最主要的一个特点，Linux可以使多个程序同时并独立地运行。</p>
<h3 id="heading-6imv5aw955qe55wm6z2i">良好的界面</h3>
<p>Linux同时具有字符界面和图形界面。在字符界面用户可以通过键盘输入相应的指令来进行操作。它同时也提供了类似Windows图形界面的X-Window系统，用户可以使用鼠标对其进行操作。在X-Window环境中就和在Windows中相似，可以说是一个Linux版的Windows。</p>
<h3 id="heading-5psv5oyb5asa56en5bmz5yw">支持多种平台</h3>
<p>Linux可以运行在多种硬件平台上，如具有x86、680x0、SPARC、Alpha等处理器的平台。此外Linux还是一种嵌入式操作系统，可以运行在掌上电脑、机顶盒或游戏机上。2001年1月份发布的Linux 2.4版内核已经能够完全支持Intel64位芯片架构。同时Linux也支持多处理器技术。多个处理器同时工作，使系统性能大大提高。</p>
<h3 id="heading-5lyy54k5">优点</h3>
<ol>
<li>Linux由众多微内核组成，其源代码完全开源；</li>
<li>Linux继承了Unix的特性，具有非常强大的网络功能，其支持所有的因特网协议，包括TCP/IPv4、TCP/IPv6和链路层拓扑程序等，且可以利用Unix的网络特性开发出新的协议栈；</li>
<li>Linux系统工具链完整，简单操作就可以配置出合适的开发环境，可以简化开发过程，减少开发中仿真工具的障碍，使系统具有较强的移植性；</li>
</ol>
<h2 id="heading-57o757uf5yqf6io9">系统功能</h2>
<h3 id="heading-57o757uf5yaf5qc455qe6lev55sx6l2s5yr">系统内核的路由转发</h3>
<ul>
<li><strong>Linux</strong>操作系统嵌入了TCP/IP协议栈，协议软件具有路由转发功能。路由转发依赖作为路由器的主机中安装多块网卡，当某一块网卡接收到数据包后，系统内核会根据数据包的目的IP地址，查询路由表，然后根据查询结果将数据包发送到另外一块网卡，最后通过此网卡把数据包发送出去。此主机的处理过程就是路由器完成的核心功能。</li>
<li>通过修改Linux系统内核参数ip_forward的方式实现路由功能，系统使用sysctl命令配置与显示在/proc/sys目录中的内核参数。首先在命令行输入：cat /proc/sys/net/ipv4/ip_forwad，检查Linux内核是不是开启IP转发功能。如果结果为1，表明路由转发功能已经开启；如果结果为0，表明没有开启。出于安全考虑，Linux内核默认是禁止数据包路由转发的。在linux系统中，有临时和永久两种方法启用转发功能。
-<strong> 临时启用：</strong>此种方法只对当前会话起作用，系统重启后不再启用。临时开启的命令格式：sysctl–wnet.ipv4.ip_forward=1。</li>
<li><strong>永久启用：</strong>此种永久性的启用IP转发功能，通过更改配置文件/etc/sysctl.conf中的语句行“net.ipv4.ip_forward=0”，修改为“net.ipv4.ip_forward=1”，保存配置文件后执行命令sysctl–p/etc/sysctl.conf，配置便立即启用。<h3 id="heading-5bya5yr5bel5yw3">开发工具</h3>
<strong>Linux</strong>已经成为工作、娱乐和个人生活等多个领域的支柱，人们已经越来越离不开它。在Linux的帮助下，技术的变革速度超出了人们的想象，Linux开发的速度也以指数规模增长。因此，越来越多的开发者也不断地加入开源和学习Linux开发的潮流当中。在这个过程之中，合适的工具是必不可少的，可喜的是，随着Linux的发展，大量适用于Linux的开发工具也不断成熟。  <h3 id="heading-5a655zmo">容器</h3>
放眼现实，如今已经是容器的时代了。容器既极其容易部署，又可以方便地构建开发环境。如果针对的是特定的平台的开发，将开发流程所需要的各种工具都创建到容器映像中是一种很好的方法，只要使用这一个容器映像，就能够快速启动大量运行所需服务的实例。 <h3 id="heading-54mi5pys5o6n5yi25bel5yw3">版本控制工具</h3>
如果正在开发一个大型项目，又或者参与团队开发，版本控制工具是必不可少的，它可以用于记录代码变更、提交代码以及合并代码。如果没有这样的工具，项目几乎无法妥善管理。 <h3 id="heading-5pah5pys57yw6l6r5zmo">文本编辑器</h3>
如果没有文本编辑器，在Linux上开发将会变得异常艰难。当然，文本编辑器之间孰优孰劣，具体还是要取决于开发者的需求。 <h3 id="heading-6zug5oiq5bya5yr546v5akd">集成开发环境</h3>
集成开发环境（Integrated Development Environment，IDE） 是包含一整套全面的工具、可以实现一站式功能的开发环境。 <h3 id="heading-5pah5pys5qu6l6d5bel5yw3">文本比较工具</h3>
有时候会需要比较两个文件的内容来找到它们之间的不同之处，它们可能是同一文件的两个不同副本（例如有一个经过编译，而另一个没有）。这种情况下，肯定不想要凭借肉眼来找出差异，而是想要使用像Med这样的工具。<h3 id="heading-linux">嵌入式Linux</h3>
</li>
<li>对Linux进行适当的修改和删减，并且能够在嵌入式系统上使用的系统，就是嵌入式Linux操作系统。具有如下的特点： </li>
<li>Linux系统是完全开放、免费的。正是开放性，它才能和其他系统互相兼容，进而实现信息的互联。而且它可以任意修改源代码，这是其他系统所不具备的。</li>
<li>Linux操作系统的显著优势是多用户和多任务。保证了多个用户使用互不影响；多任务独立开后，互不干扰，使得效率方面大大提高，可以充分把性能发挥出来。</li>
<li>设备是独立的。只要安装驱动程序，在驱动程序的支持和帮助下，任何用户都可以像使用文件一样，对任意设备进行使用和操作，这使得人们完全不用考虑设备存在的具体形式。<h3 id="heading-linux">Linux服务器</h3>
<strong>Linux</strong>服务器是设计出来进行业务处理应用的，在网络和计算机系统当中有广泛的应用，可以提供数据库管理和网络服务等内容，是一种性能非常高的和开源的服务器，在我国的计算机系统的客户端当中，有很多采用的就是Linux系统，其使用的范围非常广泛，用户体验反应较好。但是对于一些希望计算机应用性能比较高的单位而言，windows系统需要经常进行资源整合和碎片化管理，系统在配置的时候经常需要重新启动，这就无法避免产生停机的问题。同时，由于Linux系统的处理能力非常强悍，具备不可比拟的稳定性特征，因而Linux系统就不用经常进行重启，Linux系统的变化可以在配置的过程中实现，所以Linux服务器出现故障的概率比较小，所以很多企业组织在计算机配置的过程中经常使用Linux系统，从而降低服务器发生崩溃的可能性，很多企业在配置Linux系统的时候，都是通过减少服务器的故障发生率，实现企业业务的高效运转。 </li>
</ul>
<h2 id="heading-5l255so6k05pio">使用说明</h2>
<h3 id="heading-5bi455so5zg95luk5yk5oqa5ben">常用命令及技巧</h3>
<ol>
<li>date：打印或者设置系统的日期和时间</li>
<li>stty-a：可以查看或者打印控制字符（Ctrl-C、Ctrl-D、Ctrl-Z等）</li>
<li>passwd：用passwd-h查看</li>
<li>login、 logout ： shell的登录和注销命令</li>
<li>more，less，head tail：显示或部分显示文件内容</li>
<li>lp/lpstat/cancel，lpr/lpq/lprm：打印文件</li>
<li>chmod u+x：更改文件权限</li>
<li>rm -fr dir：删除非空目录</li>
<li>cp -R dir：拷贝目录</li>
<li>fg jobid：可以将一个后台进程放到前台</li>
<li>kill的作用：send a signal to a process、eg：kill-9发送的是SIG_KILL信号，具体发送什么信号可以通过man kill查看、</li>
<li>ps的用法，ps-e或ps-o pid，ppid，session，tpgid，comm（其中session显示的sessionid，tpgid显示前台进程组id，comm显示命令名称）</li>
<li>ip a 查看ip地址信息的命令</li>
<li>zcat /proc/config.gz &gt; config 到内核配置文件</li>
</ol>
<h3 id="heading-5a6j5ywo6zqq5okj5yk5yqg5zu65o6q5pa9">安全隐患及加固措施</h3>
<p><strong>用户账户以及登录安全</strong></p>
<ul>
<li>删除多余用户和用户组。Linux是多用户操作系统，存在很多种不一样的角色系统账号，当安装完成操作系统之后，系统会默认为未添加许用户组及用户，若是部分用户或是用户组不需要，应当立即删除它们，否则黑客很有可能利用这些账号，对服务器实施攻击。具体保留哪些账号，可以依据服务器的用途来决定。</li>
<li>关闭不需要的系统服务。操作系统安装完成之后，其会在安装的过程当中，会自主的启动各种类型的服务程序内容，对于长时间运行的服务器而言，其运行的服务程序越多，则系统的安全性就越低。所以，用户或是用户组就需要将一些应用不到的服务程序进行关闭，这对提升系统的安全性能，有着极大的帮助。</li>
<li>密码安全策略。在Linux之下，远程的登录系统具备两种认证的形式：即密钥与密码认证。其中，密钥认证的形式，主要是将公钥储存在远程的服务器之上，私钥存储在本地。当进行系统登陆的时候，再通过本地的私钥，以及远程的服务器公钥，进行配对认证的操作，若是认证的匹配度一致，则用户便能够畅通无阻的登录系统。此类认证的方式，并不会受到暴力破解的威胁。与此同时，只需要确保本地私钥的安全，使其不会被黑客所盗取即可，攻击者便不能够通过此类认证方式登陆到系统中。所以，推荐使用密钥方式进行系统登陆。</li>
<li>有效应用su、sudo命令。su命令的作用的是对用户进行切换。当管理员登录到系统之后，使用su命令切换到超级用户角色来执行一些需要超级权限的命令。但是由于超级用户的权限过大，同时，需要管理人员知道超级用户密码，因此su命令具有很严重的管理风险。</li>
<li>sudo命令允许系统赋予普通用户一些超级权限，并且不需普通用户切换到超级用户。因此，在管理上应当细化权限分配机制，使用sudo命令为每一位管理员服务其特定的管理权限。  </li>
</ul>
<p><strong>远程访问及登陆认证安全</strong><br />远程登录应用SSH登陆方式。telnet是一类存在安全隐患的登录认证服务，其在网络之上利用明文传输内容，黑客很容易通过截获telnet数据包，获得用户的登陆口令。并且telnet服务程序的安全验证方式存在较大的安全隐患，使其成为黑客攻击的目标。SSH服务则会将数据进行加密传输，能够防止DNS欺骗以及IP欺骗，并且传输的数据是经过压缩，在一定程度上保证了服务器远程连接的安全。  </p>
<p><strong>文件系统安全</strong>  </p>
<ul>
<li>加固系统重要文件。在Linux系统中，如果黑客取得超级权限，那么他在操作系统里面就不会再有任何的限制地做任何事情。在这种情况下，一个加固的文件系统将会是保护系统安全的最后一道防线。管理员可通过chattr命令锁定系统一些重要文件或目录。</li>
<li>文件权限检查与修改。如果操作系统当中的重要文件的权限设置不合理，则会对操作系统的安全性，产生最为直接的影响。所以，系统的运行维护人员需要及时的察觉到权限配置不合理的文件和目录，并及时修正，以防安全事件发生。</li>
<li>安全设定/tmp、/var/tmp、/dev/shm。在该操作系统当中，其用于存放临时文件的目录，主要有两个，分别为/tmp与/var/tmp。它们有个共同特点，就是所有的用户可读可写和执行，这样就对系统产生了安全隐患。针对这两个目录进行设置，不允许这两个目录下执行应用程序。</li>
</ul>
<p><strong>系统软件安全</strong><br />绝大多数的服务器遭受攻击是因为系统软件或者应用程序有重大漏洞。黑客通过这些漏洞，可以轻松地侵入服务器。管理员应定期检查并修复漏洞。最常见的做法是升级软件，将软件保持在最新版本状态。这样就可以在一定程度上降低系统被入侵的可能性。</p>
]]></content:encoded></item><item><title><![CDATA[---数据分析师---]]></title><description><![CDATA[异常点分析原理

异常点：与数据的其他部分不同的数据对象
一个人的噪音是另一个人的信号
电信欺诈分析、信用卡欺诈探测、收入极高或极低的客户分区、医疗分析
异常点分析内容
在给定的数据集合中定义什么样的数据为不一致的
找到一个有效的方法来挖掘异常点
统计学方法
基于距离的方法



异常点的检测

异常点分析的三个阶段：
第一，聚类，即根据“亲疏程度”将样本点聚成若干类
第二，计算，即在第一个阶段聚类的基础上，依据距离，计算所有样本点的异常性测度指标
第三，诊断，即在第二个阶段异常性测度指标的基础...]]></description><link>https://laofu.ipio.cf/sjfxs06</link><guid isPermaLink="true">https://laofu.ipio.cf/sjfxs06</guid><dc:creator><![CDATA[donaldfergus]]></dc:creator><pubDate>Fri, 27 May 2022 02:57:06 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1653620154859/Xg39lT-vH.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2 id="heading-kirlvilluljngrnliibmnpdljpnkiyqkg"><strong>异常点分析原理</strong></h2>
<ul>
<li><strong>异常点：与数据的其他部分不同的数据对象</strong></li>
<li><strong>一个人的噪音是另一个人的信号</strong></li>
<li><strong>电信欺诈分析、信用卡欺诈探测、收入极高或极低的客户分区、医疗分析</strong></li>
<li><strong>异常点分析内容</strong><ul>
<li>在给定的数据集合中定义什么样的数据为不一致的</li>
<li>找到一个有效的方法来挖掘异常点</li>
<li>统计学方法</li>
<li>基于距离的方法</li>
</ul>
</li>
</ul>
<h2 id="heading-kirlvilluljngrnnmotmo4dmtysqkg"><strong>异常点的检测</strong></h2>
<ul>
<li><strong>异常点分析的三个阶段：</strong><ul>
<li>第一，聚类，即根据“亲疏程度”将样本点聚成若干类</li>
<li>第二，计算，即在第一个阶段聚类的基础上，依据距离，计算所有样本点的异常性测度指标</li>
<li>第三，诊断，即在第二个阶段异常性测度指标的基础上，确定最终的异常点，并分析导致样本异常的原因，即分析异常点在那个变量方向上呈现异常</li>
</ul>
</li>
</ul>
]]></content:encoded></item><item><title><![CDATA[---数据分析师---]]></title><description><![CDATA[🔸聚类分析概述
聚类及其典型应用
聚类分析以相似性为基础，在一个聚类中的模式之间比不在同一个聚类中的模式之间具有更多的相似性

聚类应考虑多维度
传统细分纬度：客户价值（ARPU）、地域新的细分纬度：客户生命周期的五个阶段、多维度的数据（大数据）
聚类分析的核心：物以类聚

聚类分析的特点
不指定分类依据、无指导/无监督学习


典型应用
作为一个独立的分析工具，用于了解数据的分布
图片检索：图片内容相似度
图片分割：图片像素相似度
网页聚类：文本内容相似度
社交网络聚类：（被）关注人群、兴趣...]]></description><link>https://laofu.ipio.cf/ls0t5pww5o2u5yig5p6q5biils0t-2</link><guid isPermaLink="true">https://laofu.ipio.cf/ls0t5pww5o2u5yig5p6q5biils0t-2</guid><dc:creator><![CDATA[donaldfergus]]></dc:creator><pubDate>Thu, 26 May 2022 13:04:16 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1653570531121/RVdmk8qgL.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h1 id="heading-8juuoibmuexuwihuaekoamguisa">🔸聚类分析概述</h1>
<h2 id="heading-kirogzrnsbvlj4rlhbblhbjlnovluptnlkgqkg"><strong>聚类及其典型应用</strong></h2>
<p><strong>聚类分析以相似性为基础，在一个聚类中的模式之间比不在同一个聚类中的模式之间具有更多的相似性</strong></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1653568944080/4A8uqZY7h.png" alt="Untitled.png" /></p>
<h2 id="heading-kirogzrnsbvluptogipomzhlpjrnu7tluqyqkg"><strong>聚类应考虑多维度</strong></h2>
<p><strong>传统细分纬度：</strong>客户价值（ARPU）、地域<br /><strong>新的细分纬度：</strong>客户生命周期的五个阶段、多维度的数据（大数据）</p>
<h2 id="heading-kirogzrnsbvliibmnpdnmotmoljlv4pvvjrnianku6xnsbvogzoqkg"><strong>聚类分析的核心：物以类聚</strong></h2>
<ul>
<li><strong>聚类分析的特点</strong><ul>
<li>不指定分类依据、无指导/无监督学习</li>
</ul>
</li>
<li><strong>典型应用</strong><ul>
<li>作为一个独立的分析工具，用于了解数据的分布</li>
<li>图片检索：图片内容相似度</li>
<li>图片分割：图片像素相似度</li>
<li>网页聚类：文本内容相似度</li>
<li>社交网络聚类：（被）关注人群、兴趣</li>
<li>电商用户聚类：点击/加车/购买商品、行为序列</li>
<li>作为其他算法的一个数据预处理步骤<h2 id="heading-kirogzrnsbvorrdov4for4tliktmoiflh4yqkg"><strong>聚类记过评判标准</strong></h2>
</li>
</ul>
</li>
<li><strong>如何评价聚类结果</strong><ul>
<li>同一个聚类中，对象之间具有尽可能大的相似性</li>
<li>不同聚类的对象之间具有尽可能大的相异性<h2 id="heading-kirot53nprvnmotluqbph48qkg"><strong>距离的度量</strong></h2>
</li>
</ul>
</li>
<li><strong>二元变量之间的距离：</strong><ul>
<li>简单匹配系数（simple matching coefficient）</li>
<li>杰卡德相似系数（Jaccard similarity coefficient）<h2 id="heading-kirov57nu63lj5jph4kuyvpl7tnmotot53nprvvvjoqkg"><strong>连续变量之间的距离：</strong></h2>
</li>
<li>欧几里得距离(Euclidean Distance)</li>
<li>曼哈顿距离（Manhattan Distance）</li>
<li>闵可夫斯基距离(Minkowski Distance)</li>
<li>切比雪夫距离（Chebyshev Distance）<h2 id="heading-kirlkjhph4kuyvpl7tot53nprvvvjoqkg"><strong>向量之间距离：</strong></h2>
</li>
<li>余弦相似度</li>
</ul>
</li>
</ul>
<h1 id="heading-k">🔸K-均值算法</h1>
<h2 id="heading-k"><strong>聚类经典算法：K-均值算法原理</strong></h2>
<ul>
<li><strong>给定K，算法处理流程如下：</strong></li>
<li>随机的把所有对象分配到K个非空簇中</li>
<li>计算每个簇的平均值，并用该平均值代表相应的簇</li>
<li>将每个对象根据其与各个簇中心的距离，重新分配到与它最近的簇中</li>
<li>回到第二步，直到不再有新的分配发生<h2 id="heading-kirkvjjlir8qkg"><strong>优势</strong></h2>
</li>
<li>算法简单</li>
<li>执行和收敛过程相对较快，是一种常见的聚类算法<h2 id="heading-kirlsydpmzdmgkcqkg"><strong>局限性</strong></h2>
</li>
<li>必须事先知道聚类数</li>
<li>算法要求簇是密集的、簇和簇之间的差异比较大</li>
<li>数据集的平均值的计算必须有适当的定义</li>
<li>对于某些孤立数据和“噪声”点敏感<h2 id="heading-kirlhbbku5bogzrnsbvnrpfms5uqkg"><strong>其他聚类算法</strong></h2>
</li>
<li>两步聚类法</li>
<li>KOHONEN网络</li>
<li><strong>聚类分析注意事项</strong></li>
<li>要排除异常点影响</li>
<li>选用的变量应该能反映对象特征</li>
<li>不同对象差异较大</li>
<li>使用的变量和目标相关性要高</li>
<li>变量之间相关性较低</li>
<li>尽量减少二元值或离散值</li>
</ul>
]]></content:encoded></item><item><title><![CDATA[---数据分析师---]]></title><description><![CDATA[序列挖掘产生的背景

奶瓶  ->  婴儿车  ->  书包
买房  ->  装修  ->  家具

序列概述

目的：从所收集到的众多序列中，找到事务发展的前后关联性，进而推断其后续的发生可能
研究对象：事务序列，简称序列





会员卡号时间1时间2时间3时间4



1香肠，花生米饮料啤酒-

2饮料啤酒香肠-

3面包饮料香肠，啤酒-

4花生米饮料啤酒香肠

5啤酒香肠，花生米面包-

6花生米面包--


< center>序列的时间点上不一定连续，允许间隔< /center>
序...]]></description><link>https://laofu.ipio.cf/sjfx4</link><guid isPermaLink="true">https://laofu.ipio.cf/sjfx4</guid><dc:creator><![CDATA[donaldfergus]]></dc:creator><pubDate>Thu, 26 May 2022 12:32:34 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1653568337240/w862PHJy4.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2 id="heading-kirluolijfmjjbmjpjkuqfnljnmotog4zmma8qkg"><strong>序列挖掘产生的背景</strong></h2>
<blockquote>
<p>奶瓶  -&gt;  婴儿车  -&gt;  书包
买房  -&gt;  装修  -&gt;  家具</p>
</blockquote>
<h2 id="heading-kirluolijfmpolov7aqkg"><strong>序列概述</strong></h2>
<ul>
<li><strong>目的：从所收集到的众多序列中，找到事务发展的前后关联性，进而推断其后续的发生可能</strong></li>
<li><strong>研究对象：事务序列，简称序列</strong></li>
</ul>
<div class="hn-table">
<table>
<thead>
<tr>
<td>会员卡号</td><td>时间1</td><td>时间2</td><td>时间3</td><td>时间4</td></tr>
</thead>
<tbody>
<tr>
<td>1</td><td>香肠，花生米</td><td>饮料</td><td>啤酒</td><td>-</td></tr>
<tr>
<td>2</td><td>饮料</td><td>啤酒</td><td>香肠</td><td>-</td></tr>
<tr>
<td>3</td><td>面包</td><td>饮料</td><td>香肠，啤酒</td><td>-</td></tr>
<tr>
<td>4</td><td>花生米</td><td>饮料</td><td>啤酒</td><td>香肠</td></tr>
<tr>
<td>5</td><td>啤酒</td><td>香肠，花生米</td><td>面包</td><td>-</td></tr>
<tr>
<td>6</td><td>花生米</td><td>面包</td><td>-</td><td>-</td></tr>
</tbody>
</table>
</div><p>&lt; center&gt;<strong>序列的时间点上不一定连续，允许间隔</strong>&lt; /center&gt;</p>
<h2 id="heading-kirluolijfop4tlijnnmotmlkmjihluqblkoznva7kv6hluqyqkg"><strong>序列规则的支持度和置信度</strong></h2>
<ul>
<li><strong>支持度：</strong><ul>
<li>C（香肠，花生米）&gt; C（饮料）⇒ C （啤酒）的支持度 1/6 = 0.17</li>
<li>C（饮料）⇒ C （啤酒）的支持度4/6 = 0.67</li>
</ul>
</li>
<li><strong>置信度：</strong><ul>
<li>C（香肠）⇒ C （饮料）的置信度1/5 = 0.2</li>
<li>C（饮料）⇒ C （香肠）的置信度3/4 = 0.75</li>
</ul>
</li>
</ul>
<div class="hn-table">
<table>
<thead>
<tr>
<td>会员卡号</td><td>时间1</td><td>时间2</td><td>时间3</td><td>时间4</td></tr>
</thead>
<tbody>
<tr>
<td>1</td><td>香肠，花生米</td><td>饮料</td><td>啤酒</td><td>-</td></tr>
<tr>
<td>2</td><td>饮料</td><td>啤酒</td><td>香肠</td><td>-</td></tr>
<tr>
<td>3</td><td>面包</td><td>饮料</td><td>香肠，啤酒</td><td>-</td></tr>
<tr>
<td>4</td><td>花生米</td><td>饮料</td><td>啤酒</td><td>香肠</td></tr>
<tr>
<td>5</td><td>啤酒</td><td>香肠，花生米</td><td>面包</td><td>-</td></tr>
<tr>
<td>6</td><td>花生米</td><td>面包</td><td>-</td><td>-</td></tr>
</tbody>
</table>
</div><p>--END--</p>
]]></content:encoded></item></channel></rss>