2017年9月11日星期一

Network


 



  Network






  • 网络基本功系列:细说网络那些事儿
  • https://github.com/alex/what-happens-when#dns-lookup 浏览器如何访问google
  • Proxy Digest Authentication?
  • Why TChannel?
    • Why not HTTP? HTTP connections are uni-directional, can only be used for one concurrent request, and are built for delivering web pages with cache hints. HTTP tightly couples encoding and transport concerns (the path implies both the procedure name and sometimes even parts of the request body), having a single, header namespace with variable widths. It is not ideal for RPC, but it's fantastic for web pages.
    • HTTP2:
    • HTTP2 vs WebSocket
      • WebSocket is bidirectional; HTTP2 is client/server + server push
    • TChannel: RPC, multiplexing, bi-directional message passing, fast forwarding, work shedding with deadlines, cancellation, speculative execution, and communicates more clearly about when and when not to retry.
  • Improve Web Speed: client -> DNS resolver -> DNS -> DNS resolver -> client --req--> Web server
    • Speed = DNS latency + Request latency. Which DNS has lowest latency? Can't measure directly because of DNS resolver delegates the name resolution. Solution: create a special hostname to resolve (avoid cache), latency = server access time - special hostname resolve time

DNS resolvers


DNS客户端设置使用的DNS服务器(8.8.4.4)一般都是递归服务器,它负责全权处理客户端的DNS查询请求,直到返回最终结果。而DNS服务器之间一般采用迭代查询方式

  1. clear DNS cache sudo killall -HUP mDNSResponder
  2. check DNS client: sudo lsof -i -P | grep LISTEN
  3. http://whoismydns.com/Index.html
  4. dig @127.0.0.1 -p 53 google.com +tcp +trace





TCP

  • Connection Reset: the peer rejects it with an RST to let you know it isn't listening.
  • send() returns only means transmitted through interface

Load Balancer

课外加强阅读

GFW


2017年9月7日星期四

哥德尔、艾舍尔、巴赫

哥德尔不完备定理


  • 2条定理
  • 希尔伯特计划这个计划的主要目标,是为全部的数学提供一个安全的理论基础。具体地,这个基础应该包括:
    • 所有数学的形式化。意思是,所有数学应该用一种统一的严格形式化的语言,并且按照一套严格的规则来使用。
    • 完备性。我们必须证明以下命题:在形式化之后,数学里所有的真命题都可以被证明(根据上述规则)。
    • 相容性。我们必须证明:运用这一套形式化和它的规则,不可能推导出矛盾。
    • 保守性。我们需要证明:如果某个关于“实际物”的结论用到了“假想物”(如不可数集合)来证明,那么不用“假想物”的话我们依然可以证明同样的结论。
    • 确定性。应该有一个算法,来确定每一个形式化的命题是真命题还是假命题
  • 希尔伯特第二问题,是希尔伯特的23个问题之一,即关于一个公理系统相容性的问题,也就是判定一个公理系统内的所命题是彼此相容矛盾的,希尔伯特希望能以严谨的方式来证明任意公理系统内命题的相容性。