資料在網路上移動時,不是整個檔案抱在一起出門。
比較像被切成一包一包,沿路送到目的地,再由對方組回去。
這一包一包的東西,可以先叫它 Packet(封包)。
如果繼續用房子的比喻,封包很像包裹。
包裹外面要寫收件人、寄件人、地址、運送資訊。
裡面才是真正要送的東西。
網路封包也有類似概念。
常見會聽到兩個詞:
Header(標頭)
它放的是協定運作需要的資訊。像是來源、目的地、Port、序號、旗標等等。
Payload(負載)
它比較像真正被載著走的內容。
不過這裡有一個很容易卡住的地方。
Payload 不是永遠指「人看得懂的內容」。
因為網路協定是一層包一層。
大概可以想成:
Ethernet
└── IP
└── TCP
└── TLS
└── HTTP
對 Ethernet 來說,裡面的 IP 可能就是它的 Payload。
對 IP 來說,裡面的 TCP 又是它的 Payload。
有點像俄羅斯娃娃,一個打開還有下一個。
所以之後打開 Wireshark,看到一個封包可以展開好幾層,不是工具在炫技。
它只是把這個包裝過程拆給你看。
以前面講的 HTTPS 來看,HTTP 內容受到 TLS 保護。
但 IP、TCP 還是要正常工作。
不然路由器不知道這包要送去哪裡,對方也不知道要交給哪個 Port。
這也能解釋一件事:
即使內容被加密,我們還是能看到某些外層資訊。
外面的標籤還在,只是裡面的信被鎖起來了。
如果只用文字講封包,腦袋很快會打結。
所以下一篇要打開 Wireshark。
讓這些平常看不見的東西,真的出現在畫面上。