03.06 一個http報文到了數據鏈路層會切割成多個幀發送出去嗎?

zpeng0815


“我是喲喲吼說科技,專注於數據網絡的回答,歡迎大家與我交流數據網絡的問題”

如題,HTTP報文是否會在數據鏈路層切割成多個幀?

喲喲認為可能會對應多個幀發送出去,但完成分片是在網絡層。因為對數據進行分片是由網絡層來實現的,而不是在數據鏈路層完成的。

HTTP是基於TCP協議的,TCP報文本身就會在IP層進行分片。在詳細解答此題之前有必要再溫習以下MTU是什麼?

MTU:(最大傳輸單元)是指一種通信協議在某一層面上能通過的最大數據包大小。

通過上圖可見,MTU值是包含IP包頭長度的,如果IP層以上的協議層發送的數據報文長度超過所設置的MTU值,,那麼在發送者的IP層就會對其進行分片,接受者在接收到數據後會對所有的分片進行重組。

HTTP報文到數據鏈路層後會對應多個幀是有可能的,因為HTTP協議是基於TCP協議的,而TCP協議本身是一個流協議,不能區分某個數據流的邊界,因此在數據流的任何部分均可以做切分,這樣到數據鏈路層可能對應的就是多個幀。但考慮到MTU值的限制,若數據報文需要進行分片,那麼還是需要在IP層進行分片的。

歡迎大家多多關注我,在下方評論區說出自己的見解。


分享到:


相關文章: