1、傳送是雙向的,即傳送方有傳送視窗,接收視窗,擁塞視窗,接收方也有自己的傳送視窗,接收視窗,擁塞視窗。
2、有三個視窗的概念,即傳送視窗,接收視窗,擁塞視窗。只有接收視窗在資料報格式欄位中有定義,裡面的值表示可以接收的視窗大小,位元組表示。
3、傳送視窗、接收視窗概念上不是滑動視窗,滑動視窗是一種協議演算法,傳送視窗、接收視窗用的就是這種演算法。
4、傳送快取--需要傳送的資料量佇列;
接收快取--可接收待處理的佇列資料,此快取資料是要被上層協議處理的,處理完後才空出快取;
傳送視窗--傳送端一次性可以傳送的資料量,但不一定要乙個包發完,可以分多個包傳送;
接收視窗--接收端還可以接收多少資料,注意,收到資料傳送應答後,視窗不一定向前移,而是要上層協議對這資料處理完後才會前移;
擁塞視窗--是傳送端根據自己估計的網路擁塞程度而設定的視窗值,是來自傳送端的流量控制。
5、接收視窗總大小是會變化的,接收端根據其目前的接收快取大小所許諾的最新的視窗值,是來自接收端的流量控制。
6、傳送視窗、擁塞視窗是不帶在資料報格式欄位中,而是根據接收對方返過來的接收視窗值來計算處理的。
7、發生超時重傳的話,擁塞視窗就會變小,而傳送視窗的值就取擁塞視窗和接收視窗的最小值。
8、傳送方自己維護一對seq和ack號,接收方也維護自己的一對seq和ack號,是全雙工模式。
9、傳送方發出乙個資料報中,seq表示這個包傳送的第乙個位元組編號,ack表示它想接收到的下乙個資料報第乙個位元組的編號。
10、seq編號是按1遞增的。
11、ack確認可以累加確認。
12、wireshark軟體可以自動診斷出重傳包,應答丟失包,接收視窗滿等功能,推薦的抓包工具。
13、校驗和:用於檢驗資料準確性的,演算法比較簡單,把各字段值累加後取反,校驗時就是反向過程。有多種報文帶有校驗和字段,ip報文只校驗ip報文頭,tcp、udp報文則校驗報文頭和資料,這樣的話,就相當於各個欄位都有校驗到了。
TCP協議的一些要點知識
1 傳送是雙向的,即傳送方有傳送視窗,接收視窗,擁塞視窗,接收方也有自己的傳送視窗,接收視窗,擁塞視窗。2 有三個視窗的概念,即傳送視窗,接收視窗,擁塞視窗。只有接收視窗在資料報格式欄位中有定義,裡面的值表示可以接收的視窗大小,位元組表示。3 傳送視窗 接收視窗概念上不是滑動視窗,滑動視窗是一種協議...
C 一些要點
1.傳指標時,我們可以通過指標來修改它在外部所指向的內容。但如果要修改外部指標所指向的物件是不可能的。例如傳遞外部指標到函式內來分配空間,必須傳遞指標的指標或指標的引用。2.char carry 10 編譯器會將其後所有的東西都置0 3.函式返回值為const時,返回的東西付給乙個型別相同的標示後其...
js一些要點
js中 undefined null true false null false false undefined false undefined null false true 任意物件 返回右邊的任意物件 關於js立即執行函式 function function aa 這樣不會執行並且丟擲異常 f...