坏世界研究:作为第一哲学的政治哲学|200

导言 如果不能改变世界就改变世界观

  • 📌 如果一个世界足够好以至于人人都能够满意,那么几乎所有的哲学问题就都不存在了。好世界没有什么需要想的。只要具备人人自私和资源稀缺这样两个条件,世界就是个坏的世界。很不幸,人类世界所具备的缺点远不止这两点。人性自私和资源稀缺这两个条件对于包括哲学在内的各种人文社会科学都是必要的,这两者导致了人类生活所有值得思考和言说的悲欢故事和成败历史

    • ⏱ 2025-08-03 00:36:00
  • 📌 为什么不能去抢、去偷、去杀人放火?如果被告知因为人应该遵守伦理规范,这是一个浅薄轻浮的回答,甚至是谎言。真正的原因是“他人不同意”。他人的力量和可能的反抗是人们放弃去偷去抢的最终原因。假如把他人杀掉,那么自己也可能被杀掉,而且,杀人并不能使自己的生活变得有意义。他人是个最大的悖论:他人一方面是每个人利益的限制,另一方面又是每个人生活全部意义的来源,无论痛苦还是幸福,无论成功还是失败,一切都与他人有关,因此每个人都绝对需要他人。

    • ⏱ 2025-08-03 00:37:29
  • 📌 人类生活是复杂多变的,如果不是自相矛盾,反而是奇怪的,因此,每种道理本身必须是无矛盾的,各种道理之间又必定是互相矛盾的,这正是我要达到的思想效果。按照不同问题的特定情况而变换立场,类似于“无法之法”,就是无立场之法。书中讨论了多种政治问题以及多种重要观点,主要试图指出,伟大的哲学家们能够提出各种永远值得思考的理论,但没有一种理论能够彻底摆平政治问题。从无立场的思想去看,没有完美的政治,只有动态正确的政治

    • ⏱ 2025-08-03 00:39:04
  • 📌 我仍然坚持认为,如果一本书对人没有用处,那是罪过。我希望这本书比马基雅维利的书更有用,马基雅维利只教人坏,我试图揭示如何对付坏世界。

    • ⏱ 2025-08-03 00:39:31

5 治与乱

  • 📌 其实历史上大多数皇帝都是腐败昏庸的,这不稀奇,腐败政权长期衰而不亡是常见事实,而那些腐败政权最后崩溃往往还是因为外部入侵、自然灾害、宫廷政变或者地方叛乱之类偶然情况,主要并非因为腐败本身。
    • ⏱ 2025-08-02 23:52:36

5.2 政治的伦理学转向

  • 📌 儒家试图以普遍人情作为礼的根据,这是一个天才的想法。如果一种人情“人皆有之”,并且人皆同意此种人情可以普遍推广,就是普遍人情。如果礼以普遍人情为根据而设计出来的,就应该对于所有人都是可共度的。儒家选择家庭作为人情的基地,这一选择颇为得当,因为家庭是与个人利益最为密切一致而又超越了个人利益的最小社会单位

    • ⏱ 2025-08-02 23:56:22
  • 📌 非暴力的礼教虽然比法治温和,但令人绝望。人们一旦反对礼教选择自由,就等于放弃了生活所必需的利益,那样就无法生存了,因此只好自愿屈服。礼教的本质是反自由。

    • ⏱ 2025-08-02 23:59:32
  • 📌 更严重的是,礼教只尊重名分地位,而不尊重人的卓越德性,无形中鼓励了一种奇特的现象:在损人不利己的情况下,人们仍然喜欢伤害他人,因为有能力伤害他人是地位和权力的证明,这是一种变态的快感。

    • ⏱ 2025-08-03 00:00:17
  • 📌 事实上使道德榜样失去号召力而导致社会整体道德水平的下降。儒家思想的自相矛盾是由儒家没有充分理解政治造成的,它在继承周思想时把政治和伦理混为一谈。在周思想中,政治与伦理是有分别的。周之分封优先了亲亲关系,这可以理解,没有人会把既得利益拱手相让。但周在政治治理上强调德治,以无私治亲、任贤使能、养民利民为首要任务,以公正治理去弥补起始的偏私分配,这显示出周公们清楚的政治意识。亲亲与任贤本来可以没有矛盾,亲亲的有效领域是生活关系,而任贤的有效领域是政治管理。当儒家把伦理与政治混为一谈,也就平白制造了自相矛盾。德与利无法统一,这对于儒家是个釜底抽薪的打击。一种意识形态或主流话语高扬什么价值,这不说明问题,重要的是实际生效的社会奖励,即做什么样的事情和怎样做事情能够获得什么样的收益。假如主流话语认为道德光荣而缺德可耻,可是在实践中缺德更能获利,那么等于证明了缺德才光荣,道德榜样变成了摆设。所以,政治的关键问题是,是否存在某种制度安排,使得人们好德胜过好利?答案只能是:除非一种制度使得有德是获利的必要条件,否则善就没有诱惑力。

    • ⏱ 2025-08-03 00:01:37

5.3 无为之治的自然主义

  • 📌 儒家的一切重要原则都来自家庭模式。老子也同意家庭和亲亲的重要性,但他认为儒家的解释是糊涂的。亲情乃人之常情,是人的情感的自然倾向,并不需要把这种自然情感规范化为伦理制度,因为那种情感关系本来就已经存在,而不是不在。显然,只有当自然情感被破坏,变得不再自然,或有或无,时有时无,由无条件的自然情感变成了有条件的合作关系,才需要把失去的或变态的自然情感强化为伦理制度或道德律令,以期通过克己复礼的行为重新修身复性。老子相信,亲情关系是自然的,自然的东西是绝对基本的,不需要解释,而假如自然情感被破坏了,那么人为制度再好也好不到哪里去,对自然情感的修复只是一种虚伪的形式和做法(人为即伪),因此,修复自然情感是徒劳的,虚伪的做法终究不可能产生真诚的情感,否则就人人都有真诚情感了

    • ⏱ 2025-08-03 00:02:53
  • 📌 老子是深有远见的,事实上后来儒家思想统治中国近两千年却没有能够使社会罪恶明显减少,甚至反而增加了普遍的虚伪,因此,儒家社会不但没有回到圣王社会,反而离圣王社会越来越远。老子的思考虽然深刻,至少在理论上是这样,但他对仁义

    • ⏱ 2025-08-03 00:03:14
  • 📌 老子只强调了人的自然需要,却忽视了人的社会化需要。社会化需要虽然不能“实其腹”,却能造就优势社会地位,能够用来支配和统治他人,这种安全需要和成就感甚至具有更大的诱惑力。即使老子方案可以减少社会冲突,它所规定的生活未免太过简陋、贫乏和艰苦,尤其是缺乏精神生活,它把人的智力活动降到了不能再低的程度,很难想象人们会真的喜欢这样内容贫乏的生活。老子幸福地想象着:“小国寡民。使有什伯之器而不用。使民重死而不远徙。虽有舟舆无所乘之。虽有甲兵无所陈之。使民复结绳而用之。甘其食、美其服、安其居、乐其俗。邻国相望,鸡犬之声相闻。民至老死不相往来”[插图]。这虽有些和平安详的诗意,但看上去更像是一个闭塞的简陋社会,这样的社会与其说是个善治社会,还不如说是尚未进入政治的社会,并非消灭了冲突,而是冲突尚未展开。基于此种想象,老子推出了一个对后世思想有很大影响的“无为之治”理论,看上去像是一个原始版的“最小政府”理论。老子曰:“道常无为,而无不为。侯王若能守之,万物将自化

    • ⏱ 2025-08-03 00:04:12

5.4 法治与制度的可信性

  • 📌 比如鲁国士兵贪生怕死因此总是败北,这是因为士兵担心自己死了老父无人养,孔子认为这是孝德,于是推荐这样的人当官,结果鲁国就越来越衰弱了。法家发现,公利对人人有利,因此公有利于私,而私利不仅于公不利,而且对任何他人都不利,因此,以私废公的儒家伦理是严重的政治错误,而只有法才能够发展公利并且保护每个人的私利,因为法是无私的普遍有效制度,就像天地和自然规律是无私的。

    • ⏱ 2025-08-03 00:21:49
  • 📌 事实上很少有人喜欢公正的游戏规则,除了少数能力超强的人,大多数人恐怕更希望有一个袒护自己的不公正社会,因此能够以最小成本获得最大收益,一本万利甚至无本万利。这一点或许多少可以解释为什么人们更倾向于用人唯亲、论资排辈、结党营私的儒家社会,而不喜欢纪律严明、刻薄寡恩、赏罚有准的法家社会。人绝没有那么容易被法律和纪律所规训,法家迷信法律足以规训人类行为,这几乎把人看成可驯服的动物。这是一切强硬派专制主义的共同错误认识

    • ⏱ 2025-08-03 00:21:54

5.5 反政治的政治

  • 📌 与罗马型的帝国不同,中华帝国并不是一个武力扩张型帝国,这既是因为推崇“德化”观念,也因其军事力量并不非常强大,即使近邻国家愿意归化帝国,帝国在大多数时期未必能够提供稳定有效的保护。中华帝国的有限军力以及和平主义传统观念决定了它基本上是一个自卫反击型的帝国,很少有罗马式的主动扩张行为,历史上几次比较大的领土扩张都是因为游牧民族对帝国的军事挑战失败,战败的外族瓦解远遁而失去大片领地。

    • ⏱ 2025-08-03 00:09:48
  • 📌 中华帝国在很长时间里维持了某些方面文化优势(绝非所有方面),但其故步自封的文化慢慢失去了创造力,当帝国在外部挑战下崩溃的时候,人们终于发现,衰亡的不仅是帝国,而且是文化。

    • ⏱ 2025-08-03 00:10:26
  • 📌 那么中华帝国为什么能够持续达两千年?儒家喜欢的解释是,尽管多历磨难战乱,但由于中华帝国具有优越文化,因此得以长期存在。这类解释完全找错了原因,甚至颠倒真相,其背后仍然是文化优越论的幻觉。先秦文化虽然辉煌,但帝国时期的文化由于失去了创造性而很少有什么思想创新,也没有发展出科学。由于故步自封,帝国甚至不懂得如何正确处理与周边国家的国际关系。儒家自认中国文化优势在于社会道德水平高,这一点其实缺乏实证,即使确实道德高,也与帝国的长期持续毫无关系。帝国统治的成功另有原因,这就是帝国发明的反政治的统治

    • ⏱ 2025-08-03 00:22:17
  • 📌 因为君主制远远不足以完全管理庞大社会,它无法深入社会基层,甚至不足以控制统治阶级,各个实力集团都可以利用家族或部族的凝聚力而质疑和挑战最高权力,皇帝不得不始终应对各个实力集团的挑

    • ⏱ 2025-08-03 00:11:20
  • 📌 战。于是,皇帝必须建立一种能够瓦解任何政治集团的凝聚力的制度。专政不仅需要集权,更需要能够把权力下达渗透到基层,这就需要创造一种只属于并且服从于皇权的社会组织,其组织密度足以控制整个社会,其力量足以解构民间政治集团,这个组织就是官僚体系。集权专制制度的有效性是通过官僚制度去实现的,没有官僚制度,专政必定是无效率的

    • ⏱ 2025-08-03 00:11:34
  • 📌 政治变统治的意义就在于回避了政治的原则性难题,特别是政治正当性、政治责任以及政治理想等等问题。当政治被假定为无问题时,就只剩下统治的稳定性和效率等等“技术性”问题了,于是对于帝国的统治来说,唯一问题就是如何维持统治。这就是反政治,即以统治去替代政治从而否定政治。

    • ⏱ 2025-08-03 00:24:18
  • 📌 中华帝国作为一种统治制度是非常成功的,它有效地管理了社会,维持了稳定秩序,但它作为一种政治却很失败,这一失败虽是慢性的,但却严重,失败的政治对于一个社会来说是釜底抽薪的错误。反政治的制度抑制了创造性的思想方式,破坏了人们对公利公德的责任意识,推行了一种反对卓越人性的生活方式,形成了精神软弱压抑的文化。由官僚主导的社会和文化更有利于发展懦弱、自私、虚伪、阴暗、阴毒的病态人性,而不利于发展正大光明、勇敢无私、坦诚真挚的健康人性。中国的现代启蒙论者

    • ⏱ 2025-08-03 00:12:30
  • 📌 经常抱怨说,贫弱中国是由不良政治所导致的,这一理解并不准确,真正的问题是,中华帝国的统治是反政治而不是不良政治。没有政治,这才是帝国最大的政治失败。这一反政治的状况,黄宗羲称为“无法”,即没有政治正当性也没有政治理想,所谓“三代以上有法,三代以下无法”,三代之法“未尝为一己而立也”,而后世帝王“唯恐其祚命之不长也,子孙之不能保有也,思患于未然以为之法。然则其所谓法者,一家之法,而非天下之法也。

    • ⏱ 2025-08-03 00:23:03
  • 📌 秦汉以来的国家制度变成“为统治而统治”,只追求有效的统治方式,而不考虑统治正当性和政治理想,完全遗忘了统治是为了政治,而政治是为了天下利益、国家利益和万民利益。
    如果一种统治是反政治的,社会是无政治的,就必定拒绝反思统治的正当性。当一种统治是不容反思的,政治就终结了。为了拒绝政治反思就必定消除一切具有创造性和力量感的精神和思想,因此形成压抑的文化和病态人性。政治关心的不是个人欲望和情感,而是共同的命运、理想和事业,政治思维超越了个人私利而使公共物品具有优先价值和意义,从而使思想具有公共精神

    • ⏱ 2025-08-03 00:23:14
  • 📌 人民也就很少关注公共事物,一切“身外之物”,无论天下、国家、公德、公利、人类命运甚至他人的死活,都与己无关。即使文人集团也很少有人关心天下公利,专注于个人情感表达的文人文化就是没有政治思维的一个典型表现。作为文化代表的文人尚且如此,民众就更容易浑浑噩噩,麻木不仁,没有公共意识,只求自己苟延残喘而无视社会危机或国家兴亡,更别提他人之苦难。人们漠视公共事业只求私利的结果是,在巨大危难来临之时无人能够避免灭顶之灾,这并非天数所致的命运性悲剧,而是人人自私而集体自掘坟墓的报应性惨剧。尽管总有一些仁人志士,但这些例外无法改变社会总体状况。无政治的文化破坏了人们对身外公共事业的关心和责任,这就是反政治的根本危害所在。

    • ⏱ 2025-08-03 00:25:04
  • 📌 历史上无论是权贵政变还是农民起义,都是希望轮到自己当皇帝,根本没有人反对专制制度,而是人人想成为专制制度的受益者。一家一姓的政权更迭根本不是政治革命,而只是利益拼搏事件

    • ⏱ 2025-08-03 00:16:00
  • 📌 革命的政治性消失了,政权更迭的理由就成为一个混乱问题,人们从来也没有真正说清楚到底什么是“正统”。通常把“全有天下,号令海内”看做是正统的标准,可是人们又往往试图把秦隋王莽以及元清排除在正统之外,于是只好寻求政治之外的伦理或文化的标准去进行解释,比如阴谋篡权或蛮夷入侵就算是“得位不正”。按照这样的标准,元与清固然不正,晋与宋也成问题(司马昭之心固然路人皆知,陈桥兵变也恐怕不算正当行为),甚至唐太宗和明成祖也很可疑,这样就剩不下什么了,也就形不成什么正统了。关于正统的理由如此混乱,皆因人们不好意思诚实地承认帝国的政权变更已经与政治正当性毫无关系,而仅仅遵循了成王败寇原则

    • ⏱ 2025-08-03 00:16:45
  • 📌 正因为政治制度缺失而只有统治制度,这一严重的制度不健全必然一方面生产大量暴君昏君,另一方面生产大量贪官奸臣,这是非常匹配的互动关系。皇帝为了证明皇权是最高权力,就往往滥用暴力,因为暴力是权力的最清晰、最可信、最直接的最后证明;另一方面,在暴力上官僚无法与皇帝竞争,于是就以欺骗和诱骗去对抗皇权。双方的策略都非常得当,都是有利于自己利益最大化的策略。于是,政治博弈退化为行政博弈。权谋游戏虽然显示了高水平的智力,但精神水平极低,几乎没有任何精神性的意义,毫无理想追求,道德和美学的价值都退化到趋近于零,只剩下单纯的无耻斗争。秦汉以来中国历史所记载的“政治斗争”其实都没有什么政治意义,只是一些荒谬、残酷、变态、阴毒的宫廷斗争、朝廷斗争以及地方与中央的斗争,都是为权力而权力、为利益而利益的单纯比赛。

    • ⏱ 2025-08-03 00:17:44
  • 📌 尽管皇帝拥有最后的生杀大权,好像掌握了终极主动权,但皇帝终究不得不依靠官僚集团去执行统治,否则什么事情也做不了,于是实际上是被动方。而且,对官僚集团的斗争一旦太过分,就等于是统治上的自杀行为,类似伤害自己的耳目和四肢。只要皇帝对官僚集团的斗争足够强有力,就会导致统治失效和失败,因为官僚集团不再与皇帝合作,官僚们将离心离德乃至众叛亲离。因此,允许官僚腐败弄权是使得官僚愿意与皇帝合作的重要条件。另外,皇帝以暴力作为斗争手段,官僚们很容易根据“形势”而避其锋芒,而官僚所采取的欺骗和诱骗策略则具有良好隐蔽性,很难被揭穿,即使能够揭穿,收集信息的成本显然太高,而且还是需要通过官僚去完成这项工作,这又将再度受骗。因此,皇帝在与官僚集团的竞争中有着天然劣势,除非出现才智过人的英主,其不可思议的权术和阴谋甚至超过官僚,才可能取得短暂的胜利。

    • ⏱ 2025-08-03 00:18:32
  • 📌 官僚集团总能够成功地把官僚利益的最大化推进到人民所能够忍受的临界线,而中国人民一向能忍,所以帝国政权往往长时间垂而不死。荒谬的是,官僚集团所以能够保持其“绝上下通”的优势地位,是因为官僚统治一旦形成就别无选择,它是国家唯一的垄断性管理集团,不存在市场竞争,不会破产,无论是皇帝还是人民,即使对它所提供的管理服务感到忍无可忍,也不可能到别处寻求管理服务,因为官僚是唯一的“此处”,没有什么“别处”可求。官僚集团非常类似于唯一的垄断企业,它超越了市场竞争和制约,人们别无选择。皇帝急了无非是杀掉换掉少数官僚,但对于整个局面是杯水车薪;人民急了无非发动暴乱,所谓官逼民反,即使成功也无济于事,人们早已告别了政治思维,起义成功无非是换了政府,换另一些人来做与过去一样糟糕的事情。

    • ⏱ 2025-08-03 12:51:39
  • 📌 中华帝国的另一重要发明是与官僚制度密切相配合的科举制。当代不少人盛赞科举制,但是,其得其失,仍需进一步分析。科举制是一个非常精明的制度发明,它给智力比较优越的人提供了一条做官谋利的直通道。官僚制度决定了做官最能够谋利,因此,做官是中华帝国社会里大多数人心中的最高价值,于是,科举制有效地使统治集团与智力精英集团形成稳定的政治同盟,从而保证了统治的稳定性。对于任何统治来说,智力精英都是最危险的潜在反叛力量,因为他们更有能力制造新的政治理念和话语,有能力进行强大的宣传煽动,也有更强的组织能力去发动各种可能的变乱,总之,智力精英构成了一切社会变数的根源,因此,如果统治集团不能与智力精英集团形成政治同盟,那将是非常危险的事情。就智力精英集团中的大多数人来说,除了智力比较优越,其道德水平并不优于大多数普通人,甚至更低也未可知。科举制开辟了直通“黄金屋”和“颜如玉”的“人上人”之路,利用人性弱点而成功摆平了智力精英集团,堪称创造了统治集团与智力精英集团之政治联盟典范。中华帝国能够维持长期统治,主要与官僚制度和科举制度这两项制度发明有关:官僚制摆平了民众,科举制摆平了智力精英

    • ⏱ 2025-08-03 00:27:07

7.2 权利为本颠覆了什么?

  • 📌 自由总是个人的一相情愿,但是权利——可能的自由——却需要他人的同意,或者说社会的同意。假如得不到他人或社会的同意,就没有人能够拥有权利。自由属于主体,而权利则只能在主体间被定义,权利不可能超越人际关系而被确定。一个人可以野花花想象他想要的各种权利,却无法通过想象而使权利生效,在他人同意之前,想了也白想。

    • ⏱ 2025-08-14 10:25:59
  • 📌 人性如此,于是难免出现各种权利的“权界”矛盾和冲突,产生大量有争议的问题,从税收、福利、教育、民主、平等、言论、战争、反战到隐私、吸毒、同性恋、堕胎、安乐死、克隆、基因、动物保护、环境保护,如此等等无数问题。人们把代表各自利益的私心和偏见都说成是普遍价值,重新回到了人人都有意见的政治广场,把权利政治变成了伪善和谎言的政治。

    • ⏱ 2025-08-14 10:26:50
  • 📌 正如麦金泰尔在分析了关于战争、堕胎和教育问题的典型争论之后发现的,此类争论在现代社会没完没了,无法解决,因为此类争论的论证总是“互相匹敌的”,而不同观点所以总是互相匹敌,是因为现代颠覆了传统价值标准而又没有本事创造新的普遍价值标准。缺乏普遍一致的价值标准等于没有标准。权利虽是通用概念,但人们的权利理由却不可通约。权利虽是保证自由的王牌,但权利又是特殊利益或特权的借口,这是价值标准缺失所导致的权利悖论。

    • ⏱ 2025-08-04 10:14:04
  • 📌 假如一种权利没有相应的义务,它就不再是权利,而变成了特权;假如一种义务没有相应权利,它就不再是义务,而变成了奴役。

    • ⏱ 2025-08-04 10:14:38

读书笔记

本书评论

我们需要对 “ 毒品 “(Drug of Abuse)进行一个科学的定义。根据《中华人民共和国禁毒法》以及国际公约(如联合国 1961 年《麻醉品单一公约》),毒品是指因具有依赖性潜力、能使人形成瘾癖的,受到国家专门法律管制的麻醉药品和精神药品。

其核心特征包括:

  • 精神活性 (Psychoactivity): 能够影响人的中枢神经系统,改变情绪、认知、意识或行为。
  • 依赖性潜力 (Dependence Potential): 能够导致使用者产生强烈的、持续的用药渴求,形成心理依赖和/或生理依赖。
  • 社会危害性 (Social Harm): 滥用行为会对个人健康、家庭功能及社会秩序与安全构成威胁。
Read more »

西方哲学史

一:前苏格拉底哲学

1.米利都学派

  • 米利都学派 是前苏格拉底哲学的一个学派,被誉为是西方哲学的开创者,由古希腊学者泰勒斯创建。米利都学派开创了理性思维,试图用观测到的事实而不是用古代的希腊神话来解释世界。
  • 希腊哲学之父泰勒斯
    • 万物的本原是水
  • 著名的学生 阿那克西曼德
    • 万物的本原是无限
  • 著名的学生 阿那克西美尼
    • 万物的本原是气体
Read more »

朝鲜半岛的历史,就像一个才华横溢但身不由己的大家族,住在一个强邻环伺的 “ 巷子口 “。

这个家族(朝鲜民族)内部有自己的传统、发明和骄傲(如韩文、高丽青瓷),但它的命运总是不由自主地被巷子里的壮汉邻居(中国、日本、蒙古等)和后来搬来的世界警察(美国、苏联)深刻影响。它时而学习邻居,时而抵抗邻居,但内心深处始终想走出一条属于自己的路。

当我们在谈论 1945 年以前的历史时,” 朝鲜 “(或其旧称,如高丽、新罗)指的是整个半岛。谈论 1945 年以后时,必须明确指的是 “ 朝鲜 “ 还是 “ 韩国 “。

Read more »

整个演变史就是一部皇帝(皇权)与宰相(相权)之间长达两千年的“权力拔河赛”。理解了这条主线,你就能看懂很多历史事件背后的真正动因。

学习时,始终抓住“皇权 vs 相权”这条核心斗争线。所有制度改革,几乎都围绕这个展开。

三省六部有分权制衡的影子,但其根本目的是为了提高皇权统治的效率和安全,而不是限制皇权。所有权力最终都源于皇帝,也服务于皇帝。

Read more »

这个划分最早起源于 18 世纪末的法国大革命。在当时的法国国民议会上:激进的、支持革命、希望彻底改变旧制度(推翻君主制和贵族特权)、主张建立一个更平等、更世俗化共和国的议员们,习惯性地坐在议会场的左边。保守的、希望保留传统、维护君主和教会权威、主张温和改革或维持现状的议员们,则坐在右边 。

  • 左派更关心“大家过得好不好,公不公平”,右派更关心“我有没有权利做我想做的事,市场自不自由”。
  • 左的尽头是共产主义,右的尽头是彻底的自由放任资本主义。
Read more »

繁衍,是刻在动物身体基因里最原始的一个欲望。

萨特曾言,人类是自由的,却常常通过“自欺”来逃避责任——我们说服自己“不想”结婚生子,只是因为恐惧生活的不确定性、经济负担和社会期望的枷锁。这种麻醉是暂时的自我保护,却可能在生命的后期酿成深刻的空虚。

年轻时做出的选择,逻辑上或可自圆其说,然人生的悲剧在于,我们常在信息不完整下做出不可逆转的决定。尤其对女性而言,生育机能的不可逆转,使得她们在“醒悟”时往往已无从补救。

费孝通先生说过生育是一个 “ 损己利人 “ 的事情,我们为什么要延续生命、做一个低回报的投资?答案在于:在亲密关系中寻觅意义,将“小我”融入“大我”的体验,本身就是一种对抗虚无、赋予生命以纵深感的强大力量。

人生永远不存在完美的准备时刻,正如李安在电影饮食男女里所说 “ 人生不能像做菜,把所有的料都准备好了才下锅 “。选择结婚并非盲动,只是在不完美的烹饪过程中,才能被赋予最真实、最热烈的味道。

我们在社交媒体和生活中看到了太多的婆媳关系的矛盾,却鲜少听闻发自肺腑的和解与感恩。对儿子和丈夫的争夺,不足以解释现代婆媳矛盾的核心。真正的引爆点,往往出现在第三代——孩子的降生。

祖辈对孙辈的照看,是一种源于血脉之亲的、自愿的付出。它是一份恩情,而非一份责任。媳妇认为婆婆带孙子是理所应当,她便剥夺了这份行为的恩情属性,将其贬低为一种必须履行的服务。如果婆婆将带孙延伸为对新家庭的掌控权,她亦玷污了这份恩情的纯粹。

现代家庭悲剧的根源,恰恰在于将恩情误读为责任。每个人都宣称为了孩子好,却在这场恩责不分的混乱中,互相感到自己的付出被漠视。

丈夫永远不要去做一个裁判,而是要与妻子共同组成一个阵线。双方必须全部完成对各自原生家庭的背叛,才能真正做到婆媳关系的破局。

真正的家庭哲学,应当是一种“树状”结构 🎄:

  • 向下扎根,是责任:夫妻二人是树干,共同承担养育子女(树根向下生长)的绝对责任。这是家庭稳定的基石。
  • 向上生长,是感恩:对于父母(阳光雨露),应怀有赡养与反哺之心。当他们给予照看孙辈时,要视之为滋养,报以由衷的感激,而非理所当然地索取。

除了亚里士多德的第一性原理,我一直觉得世界上还些一个真理,使用上就像开了天眼生活。

第一美好原理:(开了天眼👀 生活 )

就是按照你期待的美好去生活,将其从一种“愿望”深化为一套“主动创造现实”的行动哲学。
我命名为:第一美好原理。

  • 主动校准自己的频率,去和那个美好的现实同频。

第一能量原理:(减少能量消耗,臣服接纳)

不要因为懊悔消耗自己的能力,而是要把能量转化为解决问题的行动。火箭启动前永远在蓄力,不是在消耗。
我命名为:第一能量原理。

  • 臣服不是放弃,是智慧中的大智慧,是在聚集流失的能量。

第一行动原理 (先完成,后完美)

错误决策是一个老师,它的任务是“教会”你,而不是“惩罚”你。错误是老师,行动是解药。
我命名为:第一行动原理。

  • 人拥有的信息永远是有限的、过时的。行动带来了思考的素材,让路径变得清晰。

 Wireshark网络分析就这么简单|200

关于作者

  • 📌 每年临近加薪的日子,他也会组织一些技术培训来提醒上司。本书的部分内容就来自这些培训资料。
    • ⏱ 2025-07-09 00:32:23

前言

  • 📌 比如你之前可能没有意识到,DNS 查询在基于 TCP 时效率有多低

    • ⏱ 2025-07-09 00:34:39
  • 📌 我们也许可以在几个小时里学会使用Wireshark软件,在几天里学会一个协议,但是思路的养成却需要经年累月的锻炼。

    • ⏱ 2025-07-09 00:35:03
  • 📌 Wireshark 是最流行的网络嗅探器之一,能在多种平台上抓取和分析网络包,比如Windows、Linux和Mac等。它的图形界面非常友好,但如果你觉得鼠标操作不够有腔调,也可以使用它的命令行形式——TShark。

    • ⏱ 2025-07-09 00:35:25
  • 📌 很显然,Wireshark 并不能帮我们变成网络新贵,但它对技术上有所追求的工程师来说,有着金钱难以衡量的价值。用它来辅助学习,可以更深入地理解网络协议;用它来排查故障,可以更快地发现问题。假如你是团队中唯一掌握 Wireshark的网络工程师,这个看家本领非常有助于你保持大牛地位。在同事们手足无措时,你可以用最快的速度摆平,然后平静地说一句:“问题解决了,我先去泡杯咖啡。”

    • ⏱ 2025-07-09 00:35:42
  • 📌 技术类知识就是这样,如果你从最简单的地方开始动手操作,接下来就如鱼得水;如果从一开始只依靠冥想,到后面就会走火入魔。

    • ⏱ 2025-07-09 00:38:53
  • 📌 容易理解是最难做到的一点。传说白居易写完一首诗,必定先请不识字的老太婆品鉴,一直要修改到老太婆听懂为止

    • ⏱ 2025-07-09 00:39:43

初试锋芒

  • 📌 服务器B通过ARP广播查询默认网关192.168.26.2的MAC地址。为什么我ping的是服务器A的IP,B却去查询默认网关的MAC地址呢?这是因为B根据自己的子网掩码,计算出A属于不同子网,跨子网通信需要默认网关的转发。而要和默认网关通信,就需要获得其MAC地址。

    • ⏱ 2025-07-09 00:45:46
  • 📌 为什么这些MAC地址的开头明明是“00:50:56”或者“00:0c:29”,Wireshark上显示出来却都是“Vmware”?这是因为 MAC 地址的前 3 个字节表示厂商。而 00:50:56 和 00:0c:29 都被分配给Vmware公司。这是全球统一的标准,所以Wireshark干脆显示出厂商名了。

    • ⏱ 2025-07-09 00:47:05
  • 📌 B回复了A的ARP请求,把自己的MAC地址告诉A。这说明 B在执行ARP回复时并不考虑子网。虽然ARP请求来自其他子网的IP,但也照样回复。

    • ⏱ 2025-07-09 00:51:27
  • 📌 B先把ping请求交给默认网关,默认网关再转发给A。而A收到请求后直接把ping回复给B,

    • ⏱ 2025-07-09 00:55:17

小试牛刀:一个简单的应用实例

  • 📌 A的3个IP显然都与B属于不同子网,那就应该走默认网关了。会不会是 A 和默认网关的通信出问题了呢?我从 A 上 ping了一下网关,结果却是通的。难道是因为网关没有把包转发出去?或者是ping请求已经被转发到B了,但ping回复在路上丢失?我感觉自己已经走进死胡同。每当到了这个时候,我就会想到最值得信赖的队友——Wireshark
    • ⏱ 2025-07-09 01:10:20

你一定会喜欢的技巧

  • 📌 在 Wireshark 上可以这样抓到包头:单击菜单栏上的 Capture–>Options,然后在弹出的窗口上定义“Limit each packet to”的值。我一般设个偏大的数字:80字节,也就是说每个包只抓前80字节。这样TCP层、网络层和数据链路层的信息都可以包括在内

    • ⏱ 2025-07-09 10:02:52
  • 📌 如果问题涉及应用层,就应该再加上应用层协议头的长度。如果你像我一样经常忘记不同协议头的长度,可以输入一个大点的值。即便设成200字节,也比1514字节小多了。

    • ⏱ 2025-07-09 10:03:10
  • 📌 用tcpdump命令抓包时可以用“-s”参数达到相同效果。比如以下命令只抓eth0上每个包的前80字节,并把结果存到/tmp/tcpdump.cap文件中。[root@server_1 /]# tcpdump -i eth0 -s 80 -w /tmp/tcpdump.cap

    • ⏱ 2025-07-09 10:03:36
  • 📌 设置Capture Filter之前务必三思,以免把有用的包也过滤掉,尤其是容易被忽略的广播包。当然有时候再怎么考虑也会失算,比如我有一次把对方的IP地址设为filter,结果一个包都没抓到。最后只能去掉filter再抓,才发现是NAT(网络地址转换)设备把对方的IP地址改掉了。

    • ⏱ 2025-07-09 10:04:32
  • 📌 一篇文章不可能涵盖所有技巧,本文就到此为止。最后要分享的,是我认为最“笨”但也是最重要的一个技巧——勤加练习。只要练到这些技巧都变成习惯,就可以算登堂入室了。

    • ⏱ 2025-07-09 10:11:22

Patrick的故事

  • 📌 我收到了他的回信。信中提到两点建议。
    · TCP 超时重传的间隔时间太长,设置一个较小的时间可以减少重传对性能的影响。
    · 该网络频繁拥塞,拥塞点大多在32KB以上。如果把发送窗口限制在32KB,就可以避免触碰拥塞点。
    • ⏱ 2025-07-09 10:12:51

从Wireshark看网络分层

  • 📌 传输层:这一层用到了TCP协议。应用层所产生的数据就是由TCP来控制传输的。点开TCP层前的“+”号,我们可以看到Seq号和Ack号等一系列信息,它们用于网络包的排序、重传、流量控制等。虽然名曰“传输层”,但它并不是把网络包从一个设备传到另一个,而只是对传输行为进行控制。真正负责设备间传输的是下面两层。TCP是非常有用的协议,也是本书的重点。

    • ⏱ 2025-07-09 22:31:30
  • 📌 现在回想起来,如果当时老师能打开Wireshark,让我们看到这些实实在在的分层,我也不会困惑那么久了(假如那天我没有逃课的话)。

    • ⏱ 2025-07-09 22:32:15
  • 📌 历史上还真存在过这种情况—TCP和IP刚发明的时候就是合在一层的,后来才拆成两层

    • ⏱ 2025-07-09 22:33:03
  • 📌 因为网络对包的大小是有限制的,其最大值称为MTU,即“最大传输单元”。大多数网络的MTU是1500字节,但也有些网络启用了巨帧(Jumbo Frame),能达到9000字节。一个8192字节的包进入巨帧网络不会有问题,但到了1500字节的网络中就会被丢弃或者切分。被丢弃意味着传输彻底失败,因为重传的包还会再一次被丢弃。而被切分则意味着传输效率降低。

    • ⏱ 2025-07-09 22:34:12
  • 📌 由于这个原因,TCP不想简单地把8192 字节的数据一口气传给网络互连层,而是根据双方的MTU决定每次传多少。知道自己的MTU容易,但对方的MTU如何获得呢?如图5所示,在TCP连接建立(三次握手)时,双方都会把自己的MSS(Maximum Segment Size)告诉对方。MSS加上TCP头和IP头的长度,就得到MTU了。

    • ⏱ 2025-07-09 22:34:34
  • 📌 假如把客户端和服务器的 MTU 互换一下,这时客户端最大能发出多少字节的包呢?答案还是1500。因为无论接受方的MTU有多大,发送方都不能发出超过自己MTU的包。我们可以得到这样的结论:发包的大小是由MTU较小的一方决定的。

    • ⏱ 2025-07-09 22:36:18

TCP的连接启蒙

  • 📌 在使用UDP的情况下,的确只用这两个包就完成了DNS查询。但在使用TCP时,要先用3个包(包号1、2、3)来建立连接。查询结束后,又用了4个包(包号7、8、9、10)来断开连接。Wireshark把这两种情况的差别完全显示出来了。我们可以从中看到连接的成本远远超过DNS查询本身,这对繁忙的DNS服务器来说无疑是巨大的压力。如果你的DNS还在使用TCP,该考虑更改了。

    • ⏱ 2025-07-09 22:39:10
  • 📌 发出的两个包Len=0,但其实是有TCP头的。头部本身携带的信息很多,所以不要以为Len=0就没意义。

    • ⏱ 2025-07-09 22:42:40
  • 📌 52号包的Seq=5129, Len=1448,所以来自接收方的53号包的Ack=5129+1448=6577,表示收到了6577之前的所有字节。理论上,接收方回复的Ack号恰好就等于发送方的下一个Seq号,

    • ⏱ 2025-07-09 22:49:55
  • 📌 · SYN:携带这个标志的包表示正在发起连接请求。因为连接是双向的,所以建立连接时,双方都要发一个SYN。

    • ⏱ 2025-07-09 22:44:57
  • 📌 · FIN:携带这个标志的包表示正在请求终止连接。因为连接是双向的,所以彻底关闭一个连接时,双方都要发一个FIN。

    • ⏱ 2025-07-09 22:45:00
  • 📌 实际环境中的 RST 往往意味着大问题。如果你在Wireshark中看到一个RST包,务必睁大眼睛好好检查。

    • ⏱ 2025-07-09 22:45:33
  • 📌 为什么要用三个包来建立连接呢,用两个不可以吗?其实也是可以的,但两个不够可靠。我们可以设想一个情况来说明这个问题:某个网络有多条路径,客户端请求建立连接的第一个包跑到一条延迟严重的路径上了,所以迟迟没有到达服务器。因此,客户端只能当作这个请求丢失了,不得不再请求一次。由于第二个请求走了正确的路径,所以很快完成工作并关闭了连接。对于客户端来说,事情似乎已经结束了。没想到它的第一个请求经过跋山涉水,还是到达了服务器。如图10所示,服务器并不知道这是一个旧的无效请求,所以按照惯例回复了

    • ⏱ 2025-07-09 22:46:46
  • 📌 假如TCP只要求两次握手,服务器上就这样建立了一个无效的连接。而在三次握手的机制下,客户端收到服务器的回复时,知道这个连接不是它想要的,所以就发一个拒绝包。服务器收到这个包后,也放弃这个连接。

    • ⏱ 2025-07-09 22:47:10

快递员的工作策略—TCP窗口

  • 📌 快递送货的策略非常浅显,几乎人人可以理解,而TCP传输大块数据的策略却很少人懂。事实上这两者的原理是相似的。

    • ⏱ 2025-07-09 22:51:42
  • 📌 TCP显然不用电瓶车送包,但它也有“往返”的需要。因为发包之后并不知道对方能否收到,要一直等到确认包到达,这样就花费了一个往返时间。假如每发一个包就停下来等确认,一个往返时间里就只能传一个包,这样的传输效率太低了。最快的方式应该是一口气把所有包发出去,然后一起确认。但现实中也存在一些限制:接收方的缓存(接收窗口)可能一下子接受不了这么多数据;网络的带宽也不一定足够大,一口气发太多会导致丢包事故。所以,发送方要知道接收方的接收窗口和网络这两个限制因素中哪一个更严格,然后在其限制范围内尽可能多发包。这个一口气能发送的数据量就是传说中的TCP发送窗口。

    • ⏱ 2025-07-09 22:52:25
  • 📌 不知道出于何种原因,TCP发送窗口的概念被广泛误解,比如,很多人会把接收窗口误认为发送窗口。我经常想在论坛上回答相关提问,却不知道该从何答起,因为有些提问本身就基于错误的概念。下面是一些经常出现的问题。

    • ⏱ 2025-07-10 00:06:10
  • 📌 这不是发送窗口,而是在向对方声明自己的接收窗口。在此例子中, 10.32.106.103向10.32.106.73声明自己的接收窗口是64093字节。10.32.106.73收到之后,就会把自己的发送窗口限制在64093字节之内

    • ⏱ 2025-07-10 00:08:11
  • 📌 假如接收方处理数据的速度跟不上接收数据的速度,缓存就会被占满,从而导致接收窗口为0。如图5的Wireshark截屏所示,89.0.0.85持续向89.0.0.210声明自己的接收窗口是win=0,所以 89.0.0.210的发送窗口就被限制为0,意味着那段时间发不出数据。

    • ⏱ 2025-07-10 00:08:37
  • 📌 图52.我如何在包里看出发送窗口的大小呢?很遗憾,没有简单的方法,有时候甚至完全没有办法。因为,当发送窗口是由接收窗口决定的时候,我们还可以通过“window size:”的值来判断。而当它由网络因素决定的时候,事情就会变得非常复杂(下篇文章将会详细介绍)。大多数时候,我们甚至不确定哪个因素在起作用,只能大概推理。以

    • ⏱ 2025-07-10 00:09:10
  • 📌 发送窗口和MSS有什么关系?发送窗口决定了一口气能发多少字节,而MSS决定了这些字节要分多少个包发完。举个例子,在发送窗口为16000字节的情况下,如果MSS是1000字节,那就需要发送16000/1000=16个包;而如果MSS等于8000,那要发送的包数就是16000/8000=2了。

    • ⏱ 2025-07-10 00:09:59
  • 📌 4.发送方在一个窗口里发出n个包,是不是就能收到n个确认包?不一定,确认包一般会少一些。由于TCP可以累积起来确认,所以当收到多个包的时候,只需要确认最后一个就可

    • ⏱ 2025-07-10 00:10:19
  • 📌 5.经常听说“TCP Window Scale”这个概念,它究竟和接收窗口有何关系?在TCP刚被发明的时候,全世界的网络带宽都很小,所以最大接收窗口被定义成 65535 字节。随着硬件的革命性进步,65535 字节已经成为性能瓶颈了,怎么样才能扩展呢?TCP 头中只给接收窗口值留了 16 bit,肯定是无法突破 65535 (216−1)的。

    • ⏱ 2025-07-10 00:10:52
  • 📌 1992年的RFC 1323中提出了一个解决方案,就是在三次握手时,把自己的Window Scale信息告知对方。由于Window Scale放在TCP头之外的Options中,所以不需要修改 TCP 头的设计。Window Scale 的作用是向对方声明一个 Shift count,我们把它作为2的指数,再乘以TCP头中定义的接收窗口,就得到真正的TCP接收窗口了。

    • ⏱ 2025-07-10 00:11:13

重传的讲究

  • 📌 阅读本文之前,务必保证心情愉快,以免产生撕书的冲动;同时准备浓缩咖啡一杯,防止看到一半睡着了。因为这部分内容是TCP中最枯燥的,但也是最有价值的

    • ⏱ 2025-07-10 00:12:47
  • 📌 前文说到,发送方的发送窗口是受接收方的接收窗口和网络影响的,其中限制得更严的因素就起决定作用。接收窗口的影响方式非常简单,只要在包里用“Win=”告知发送方就可以了。而网络的影响方式非常复杂,所以留到本文专门介绍。

    • ⏱ 2025-07-10 00:12:57
  • 📌 难道就没有一个完美的方案吗?很遗憾,还真的没有。自网络诞生数十年以来,涌现过无数绝顶聪明的工程师,就是没有一个人能解决这个问题。幸好经过几代人的努力,总算有了一个最靠谱的策略。这个策略就是在发送方维护一个虚拟的拥塞窗口,并利用各种算法使它尽可能接近真实的拥塞点。网络对发送窗口的限制,就是通过拥塞窗口实现的。

    • ⏱ 2025-07-10 00:14:27
  • 📌 如果一口气发太多数据就可能遭遇拥塞,所以发送方把拥塞窗口的初始值定得很小。RFC 的建议是 2个、3个或者4个MSS,具体视MSS的大小而定。

    • ⏱ 2025-07-10 00:14:44
  • 📌 2.如果发出去的包都得到确认,表明还没有达到拥塞点,可以增大拥塞窗口。由于这个阶段发生拥塞的概率很低,所以增速应该快一些。RFC建议的算法是每收到n个确认,可以把拥塞窗口增加n个MSS。比如发了2个包之后收到2个确认,拥塞窗口就增大到2+2=4,接下来是4+4=8,8+8=16……这个过程的增速很快,但是由于基数低,传输速度还是比较慢的,所以被称为慢启动过程。

    • ⏱ 2025-07-10 00:15:47
  • 📌 3.慢启动过程持续一段时间后,拥塞窗口达到一个较大的值。这时候传输速度比较快,触碰拥塞点的概率也大了,所以不能继续采用翻倍的慢启动算法,而是要缓慢一点。RFC 建议的算法是在每个往返时间增加 1 个 MSS。比如发了 16 个MSS之后全部被确认了,拥塞窗口就增加到16+1=17个MSS,再接下去是17+1=18, 18+1=19……这个过程称为拥塞避免

    • ⏱ 2025-07-10 00:16:12
  • 📌 从慢启动过渡到拥塞避免的临界窗口值很有讲究。如果之前发生过拥塞,就把该拥塞点作为参考

    • ⏱ 2025-07-10 00:16:22
  • 📌 据。如果从来没有拥塞过就可以取相对较大的值,比如和最大接收窗口相等。

    • ⏱ 2025-07-10 00:16:34
  • 📌 无论是慢启动还是拥塞避免阶段,拥塞窗口都在逐渐增大,理论上一定时间之后总会碰到拥塞点的。那为什么我们平时感觉不到拥塞呢?原因有很多,如下所示。· 操作系统中对接收窗口的最大设定多年没有改动,比

    • ⏱ 2025-07-10 00:17:18
  • 📌 如 Windows 在不启用“TCP window scale option”的情况下,最大接收窗口只有64KB。而近年来网络有了长足进步,很多环境的拥塞点远在64KB以上。也就是说发送窗口已经被限制在64KB了,永远触碰不到拥塞点。

    • ⏱ 2025-07-10 00:17:23
  • 📌 很多应用场景是交互式的小数据,比如网络聊天,所以也不会有拥塞的可能。

    • ⏱ 2025-07-10 00:17:32
  • 📌 拥塞之后会发生什么情况呢?对发送方来说,就是发出去的包不像往常一样得到确认了。不过收不到确认也可能是网络延迟所致,所以发送方决定等待一小段时间后再判断。假如迟迟收不到,就认定包已经丢失,只能重传了。这个过程称为超时重传

    • ⏱ 2025-07-10 00:18:19
  • 📌 RTO。RTO的取值颇有讲究,理论上需要几个公式计算出来。根据多一道公式就会丢失一半读者的原理,本文将对此只字不提,我们只需要知道存在这么一段时间就可以了。有些操作系统上提供了调节RTO大小的参数。

    • ⏱ 2025-07-10 00:18:47
  • 📌 重传之后的拥塞窗口是否需要调整呢?非常有必要,为了不给刚发生拥塞的网络雪上加霜,RFC建议把拥塞窗口降到1个MSS,然后再次进入慢启动过程

    • ⏱ 2025-07-10 00:19:06
  • 📌 不难想象,超时重传对传输性能有严重影响。原因之一是在RTO阶段不能传数据,相当于浪费了一段时间;原因之二是拥塞窗口的急剧减小,相当于接下来传得慢多了。以我的个人经验,即便是万分之一的超时重传对性能的影响也非同小可

    • ⏱ 2025-07-10 00:20:51
  • 📌 当发送方收到3个或以上重复确认(Dup Ack)时,就意识到相应的包已经丢了,从而立即重传它。这个过程称为快速重传。之所以称为快速,是因为它不像超时重传一样需要等待一段时间

    • ⏱ 2025-07-10 00:21:57
  • 📌 为什么要规定凑满3个呢?这是因为网络包有时会乱序,乱序的包一样会触发重复的 Ack,但是为了乱序而重传没有必要

    • ⏱ 2025-07-10 00:23:17
  • 📌 没有拥塞时,发送窗口越大,性能越好。所以在带宽没有限制的条件下,应该尽量增大接收窗口,比如启用Scale Option(Windows上可参考KB 224829)。

    • ⏱ 2025-07-10 00:25:09
  • 📌 如果经常发生拥塞,那限制发送窗口反而能提高性能,因为即便万分之一的重传对性能的影响都很大

    • ⏱ 2025-07-10 00:25:18
  • 📌 很多操作系统上可以通过限制接收窗口的方法来减小发送窗口,Windows上同样可以参考KB224829。· 超时重传对性能影响最大,因为它有一段时间(RTO)没有传输任何数据,而且拥塞窗口会被设成1个MSS,所以要尽量避免超时重传。· 快速重传对性能影响小一些,因为它没有等待时间,而且拥塞窗口减小的幅度没那么大

    • ⏱ 2025-07-10 00:25:37
  • 📌 丢包对极小文件的影响比大文件严重。因为读写一个小文件需要的包数很少,所以丢包时往往凑不满3个Dup Ack,只能等待超时重传了。而大文件有较大可能触发快速重传。下面的实验显示了同样的丢包率对大小文件的不同影响:图11中的test是包含很多小文件的目录,而图12的hi是一个大文件。发生丢包时前者耗时增加了7倍多,而后者只增加了不到4倍

    • ⏱ 2025-07-10 00:28:29

延迟确认与Nagle算法

  • 📌 假如把这个过程的包抓下来,会看到很多小包频繁来往于客户端和服务器之间。这种方式其实是很低效的,因为一个包的TCP头和IP头至少就40字节,而携带的数据却只有一个字符。这就像快递员开着大货车去送一个小包裹一样浪费。

    • ⏱ 2025-07-10 00:36:24
  • 📌 称为延迟确认。该策略的原理是这样的:如果收到一个包之后暂时没什么数据要发给对方,那就延迟一段时间(在Windows上默认为200毫秒)再确认。假如在这段时间里恰好有数据要发送,那确认信息和数据就可以在一个包里发出去了。第12号包就恰好符合这个策略,客户端收到11号包之后,等了41毫秒左右时我又输入一个字符。结果这个字符和对11号包的确认信息就一起装在12号包里了。延迟确认并没有直接提高性能,它只是减少了部分确认包,减轻了网络负担。有时候延迟确认反而会影响性能。微软的 KB 328890 提供了关闭延迟确认的步骤

    • ⏱ 2025-07-10 00:37:45
  • 📌 我一共输入了7个字符,但这些字符也被逐个打成小包了。能不能设计一个缓冲机制,把一个往返时间里生成的小数据收集起来,合并成一个大包呢?Nagle算法就实现了这个功能。这个算法的原理是:在发出去的数据还没有被确认之前,假如又有小数据生成,那就把小数据收集起来,凑满一个MSS或者等收到确认后再发送

    • ⏱ 2025-07-10 00:38:15
  • 📌 和延迟确认一样,Nagle 也没有直接提高性能,启用它的作用只是提高传输效率,减轻网络负担。在某些场合,比如和延迟确认一起使用时甚至会降低性能。微软也有篇KB指导如何关闭Nagle,但是一般没有这个必要,原因之一是很多软件已经默认关闭Nagle了。比如打开Putty,到“Connection”选项里可见“Disable Nagle’s algorithm”默认就是选中的

    • ⏱ 2025-07-10 00:39:01

百家争鸣

  • 📌 在过去几十年里,虽然TCP从来没有遇到过对手,不过它自己已经演化出无数分身,形成百家争鸣的局面。本文无法一一列举所有的算法,点到的也如蜻蜓点水,假如你想为自己的网络平台选取其中一种,还需要多多研究
    • ⏱ 2025-07-10 00:45:46

简单的代价—UDP

  • 📌 1.UDP不像TCP一样在乎双方MTU的大小。它拿到应用层的数据之后,直接打上UDP头就交给下一层了。那么超过MTU的时候怎么办?在这种情况下,发送方的网络层负责分片,接收方收到分片后再组装起来,这个过程会消耗资源,降低性能。图3是一个32KB的写操作,根据发送方的MTU被切成了23个分片。
    • ⏱ 2025-07-10 00:46:27

剖析CIFS协议

  • 📌 那Windows上一般使用什么共享协议呢?它就是微软维护的SMB协议,也叫Common Internet File System(CIFS)
    • ⏱ 2025-07-10 00:48:18

TCP/IP的故事

  • 📌 现在人们说到 TCP/IP 时,指的已经不止是 TCP 和 IP 两个协议,而是包括了Application Layer、Transport Layer、Internet Layer和Network AccessLayer的四层模型。TCP处于Transport Layer,而IP处于Internet Layer。鲜为人知的是,一开始这两个协议并没有分层,而是合在一起的。

    • ⏱ 2025-07-10 10:12:24
  • 📌 TCP/IP的设计非常成功。30年来,底层的带宽、延时,还有介质都发生了翻天覆地的变化,顶层也多了不少应用,但TCP/IP却安如泰山。它不但战胜了国际标准化组织的OSI七层模型,而且目前还看不到被其他方案取代的可能。第一代从事TCP/IP工作的工程师,到了退休年龄也在做着朝阳产业。

    • ⏱ 2025-07-10 10:23:05
  • 📌 最近有了一些惊人的发现:我们都知道这个七层模型是由一个小组(见图3)完成的,但大家不知道的是,这个小组有一天深夜在酒吧里谈论美国的娱乐八卦。他们把迪斯尼电影里7个小矮人的名字写在餐巾纸上,有个人开玩笑说7对于网络分层是个好数字。第二天上午在标准化委员会的会议上,他们传阅了那张餐巾纸,然后一致同意昨晚喝醉时的重大发现。那天结束时,他们又给七个层次重新起了听上去更科学的名字,于是模型就诞生了。

    • ⏱ 2025-07-10 10:24:11
  • 📌 而当时业界普遍对待OSI模型的抵触态度,更是一个有力的佐证。幸好到了今天, OSI模型几乎名存实亡了,它对我们的影响只停留在还没来得及更新的教科书上。

    • ⏱ 2025-07-10 10:24:31

一个技术男的自白

  • 📌 技术深度和广度的关系,就像登山时的高度和视野。假如你爬到半山腰就停下来眺望,就只能看到一半的视野;但如果埋头爬到山顶,一抬头便是无边的风景。
    • ⏱ 2025-07-10 10:40:13

读书笔记

本书评论

0%