了解TCP與UDP(二) - daniel-qa/Network GitHub Wiki

了解TCP與UDP(二)

  • TCP 有一個檢查位元,來確保封包沒有被異動
  • 傳送速度太快速,可以告訴對方傳慢一點

  • 連線導向

    要先建立 TCP 連線,才會上面那些可以控制的功能

  • Windows Size

Windows Size = 1 時,代表一次只傳一個封包

當網路通暢時,設為1太沒效率,Windows Size 改設為3,一次傳3個封包,再回應一個 ACK

  • 在 Packet 5 有 lost 時,會再自動重傳一次,並回應 ACK 7

每一次的 TCP 連線,一定有來源 IP,來源 Port, 目的 IP,目的 Port

可以用 netstat -n 來查看目前電腦的 TCP 連線

因為連線已建立,可以用 netstat -n 查看所有連線,會看到連到 213,21 port 這台 FTP Server 的連線

mo 一條連線,一定會有來源IP,來源 Port; port 會使用 1024後的 random port; 目的 ip 212, 目是 port 21, 就是我要連它的 FTP

假如有一個 Web Server 80 port, 有三個 Client 端來連線, Random Port,是有可能重覆的

  • 一台電腦,開三個瀏覽器

  • TCP 連線,SYN,SYN-ACK,ACK

透過這三個封包,協調好連線的設定條件,我們再開始連線

序號,回應序號,Windows szie

有3個步驟,3個封包

  • TCP 中斷連線

傳輸完畢,要中斷連線,必須要先跟對方說,對方說OK,對方也跟我說要中斷連線,我回Ok, 才樣子雙方才會中斷連線

UPD不需要做這些動作,所以 UDP 傳輸速度比較快