TCP IP協議中5行每行4位元組,怎麼理解?

時間 2021-06-02 17:48:24

1樓:只能修改一次

」TCP首部最小為20位元組「,這一句就是字面意思,首部有20個位元組。

」這20位元組分為5行,每行4個位元組也就是32個位。「,這只是為了更方便的讓讀者直觀的看到這20個位元組是什麼,包含哪些內容,每一段內容在這20位元組的什麼位置。實際上是沒有什麼5行,每行4位元組這樣的東西。

你可以把這張圖轉成如下的位元組流(回覆可能有自動換行,請自行腦補成1行)

[源埠號(2位元組)][目標埠號(2位元組)][32位序列號(4位元組)][32位確認號(4位元組)][首部長度(4位)][保留(6位)][URG(1位)][ACK(1位)][PSH(1位)][RST(1位)][SYN(1位)][FIN(1位)][視窗大小(2位元組)][校驗和(2位元組)][緊急指標(2位元組)]

2樓:徐志斌

如果你是程式設計師,看到4個位元組32位應該很容易理解的啊。32位不就是CPU的資料匯流排嗎?一行就說明要一次cpu time,當然現在都是64位了,你也可以重新排。

3樓:左若塵

你沒有理解計算機的定址方式。一般計算機是不會按照位元定址的,一般是按照字(word)定址或者是雙字定址。簡單的理解就是需要知道哪一段的二進位制代表了什麼意思,這個就找成了這樣排布的原因。

4樓:

首先你沒有搞明白什麼是二進位制什麼是位元組什麼是字串,其實乙個英文本元要佔乙個位元組,,在ASCII對照表中90就是大寫字元"Z",你可能注意到了ASCII對照表最大是255(十六進製制FF)因為乙個位元組只有8bit,8bit最大能表示的數就是11111111,當然網路中不是所有位元組都是字元像tcp協議中的四個位元組的ip位址比如255.255.255.

255這四個位元組僅僅只是表示數字,你也可以去ASCII表裡去找它們的對應字元但得到的只是無意義的亂碼而已(不過可能有些位元組可能剛好在ASCII的可顯字元區)。當然你也不能乙個乙個位元組的處理因為tcp中的很多資訊是跨位元組的比如6位指標位資訊(它和前面的保留位後兩位共享乙個位元組),這時候你需要用二進位制位運算來取出指標位

5樓:王賽

你說的很對,就是為了方便看才這樣畫。就是一串bit流,刻意畫成這樣,沒有任何深意。但是協議頭看多了,你就會發現經常有刻意地8bit對齊,也就是乙個octbyte。

6樓:mikawudi

資料到bit層面上看是0101這樣的二進位制.....但是不是字串......這個大概是你的語病,5行4位元組....

5*4*20 =160撒,對應0-159沒問題....確實是因為編輯方便所以摺疊了

如何學習 TCP IP 協議?

猿馬 可以看看這篇文章作為補充,TCP半連線佇列和全連線隊,https www. Fengzh Lynch 最近為了學習網路程式設計,結合別人的經驗之談,買了Tcp ip 詳解卷一,重點看Tcp的部分17 24章,然後其他部分大略看一遍。這一步完成以後,我覺得就可以裝個wireshark軟體來抓包 ...

TCP IP協議到底在講什麼?

可樂 Hey,where are you?1 Hey,i m here,at 192.168.1.1。2 Yeah,i m ready,at 192.168.1.2。3 Then they can communicate with each other freely. shyguy 如果你要寫封信給...

怎樣算得上熟悉 TCP IP 協議程式設計?

猿馬 可以看看這篇文章,TCP半連線佇列和全連線隊,https www. 陳禮 tcp ip的協議基本框架,協議功能和埠,基礎知識,基本命令列。這是了解。熟悉能編寫基於tcp ip的程式,了解select,epoll,iocp模型,以及活動視窗類似的概念,以及使用熟練使用常用的抓包工具,比如大白鯊工...