TCP implements

功能描述

TCP主要是做一些transport layer的事情,提供兩個終端上的程式傳輸資料。包含,建立連線的流程,傳輸的機制,流量控制等等!

相關的Code Files.

tcp.h: 跟TCP相關的定義。 在include/net/ 和 include/linux/ 目錄下

tcp.c: 處理sockets的TCP layer interface


tcp_ipv4.c: 包含TCP/IPv4的標準. 包括congestion control framework.

tcp_timer.c: 跟timer管理相關的介面。


tcp_input.c: 處理 incoming packets,最大的codes。包含recovery state machine.

tcp_output.c: 處理 sending packets,次大的codes。同時也包含一些方法回應給congestion control framework.


tcp_cong.c: 是congestion control’s核心framework。支援插入式的TCP congestion control algo.實做(預設 implementation of New Reno logic.

tcp_[algorithm].c: 實做不同的演算法規定congestion control logic. Example: tcp_vegas.c, tcp_cubic.c (btw 我們也能自己做)

相關terms

  • MSS:Maximum Segment Size(MTU-40(header))
  • MTU:Maximum Transport Unit
  • RTT:Round-Trip Times,封包來回一次的時間
  • RTO:Retransmission timeout,重傳的timeout限制時間

[optional]

  • ECN:Explicit Congestion Notification
  • BDP:Bandwidth Delay Product是指在傳送過程中在網路傳輸中的packet

results matching ""

    No results matching ""