《计算机网络自顶向下》笔记之应用层

直接看的英文版,因为看到豆瓣上评价中文翻译一塌糊涂。原书写的真是好,也很好理解,再加上之前看过了那套计算机网络的视频教程,感觉对看这本书还是有很大帮助的。

这段日子经常向周边的同事安利这两个资料,然而没一个理我的,一起学互相讨论岂不更香?无奈,只好独自真香了。。。(顺便感叹一下,狗血剧诚不欺我,以后还是自己玩吧)

这篇笔记主要是记录第二章应用层的协议学习,方便日后查阅(第一章直接跳过)。

顺便再感叹一下,之前和邦邦老师讨论前端拆项目的可行性,再一次被邦邦老师的知识之渊博,见解之深刻所折服。虽然现在是写前端,但计算机的知识都是共通的,打好基础才是王道啊,好好学习!

7.11补:感觉继续这种笔记没有什么意义。。。所以不再写了。。。还能加快下进度。。。这一篇已经写完的就留下来好了,算是对之前教程的补充。

阅读全文〉

《计算机网络概论》学习笔记整理之Transport Layer

这篇笔记主要是关于传输层的记录,包括两种协议:UDP和TCP。分为下面四部分:

  1. Introduce how to convert host-to-host packet delivery service to process-to-process communication channel
  2. UDP for unreliable transmission service
  3. TCP for reliable transmission service
    1. 3-way handshaking connection establishment
    2. TCP connection state diagram
    3. TCP timeout value calculation
    4. TCP retransmission scenaries
    5. TCP fast retransmission
  4. TCP congestion control
    1. AIMD(Additive Increase Multiplecative Decrease)
    2. Slow start
    3. 3-duplicate ACKs(packet lose)
    4. Timeout
阅读全文〉

《计算机网络概论》学习笔记整理之Internet working

这篇笔记主要是关于IP协议的,内容超级多,其中subnet mask和CIDR的关系或是区别感觉不是很明白,但不予深究,仅把理解的记下来,日后碰到再说。

本篇主要包含下面内容:

  1. router的作用:用来建立大规模的异质网络
  2. IP(Internet Protocol)的作用是用于整个网络中的node和router的沟通使用,有两个特点:
    1. Connectionless model for data deliverying
    2. Best-effort(Unreliable Service),由于网络中的不可靠因素导致,不可靠因素包括:
      1. packets lost
      2. packets out of order during deliverying
      3. duplicate copies of a packet
      4. packets delay for a long time
  3. router:最重要的工作是routing table lookup
  4. IP subnetting
    1. subnet mask
    2. subnet number
  5. classless Inter-Domain Routing(CIDR)
    1. 合并路由表(routes aggregated to reduce routing table size)
    2. prefix and prefix length
      1. 192.4.16/21 表示8个class c网络
      2. 192.4.16/22 表示4个class c网络
  6. DHCP
  7. ICMP
  8. Distance Vector(routing protocol),RIP(Routing Information Protocol)使用这种方法
  9. Link State(routing protocol),OSPF(Open Shortest Path First)使用了这种方法
阅读全文〉

《计算机网络概论》学习笔记整理之Reliable Transmission

这篇笔记主要记录:

  1. 提供可靠传输的两种技术

    1. Acknowledgements
    2. Timeout
  2. Stop-and-Wait Protocol

    这种协议能提供可靠传输,但是效能堪忧:

    1. 有且仅有一个封包在外传输
    2. 可能会收到重复封包
  3. Sliding Window Protocol

    这种协议能提供可靠传输,且效能很好

    1. 每一个封包上都会添加一个sequence number,滑动窗口的工作方式建立在这个序号的基础上
    2. 同时可有多个封包在外传输(keeping pipefull)
    3. sender(window的滑动时机)
      1. Sending Window Size(SWS) = delay * bandwidth
      2. Last Acknowledgement Received(LAR)
      3. Last Frame Sent(LFS)
    4. Receiver(window的滑动时机)
      1. Receiving Window Size(RWS) = 1 or SWS
      2. Largest Acceptable Frame(LAF)
      3. Last Frame Received(LFR)
  4. SWS和RWS可以不相等

  5. 如果RWS = SWS,最好让SWS < (MaxSeqNum + 1) / 2,否则,receiver可能会收到重复封包

  6. Acknowledgement机制的实现方式视具体实现而定,常用的有:

    1. NAK
    2. Cumulative acknowledgement
  7. Sliding Window protocol 提供了三个特性

    1. 提供可靠传输
    2. Perserve order,虽然在传输过程是无序的,但是往上一层协议送的时候是有序的
    3. 流量控制,receiver determines the RWS
阅读全文〉