首先看看以下這段話:
?????? 路由器把需到達的網絡的網絡號保存在路由表中,當一個IP數據報被路由器接收到時,路由器先從該IP數據報中取出目的站點的IP地址,根據IP地址計算出目的站點所在網絡的網絡號,然后用網絡號去查找路由表以決定通過哪一個接口(線路)轉發該IP數據報。
根據TCP/IP協議,路由器的數據包轉發具體過程是:網絡接口接收數據包,這一步由網絡物理層處理,即把經編碼調制后的數據信號還原為數據。根據網絡物理接口,路由器調用相應的鏈路層功能模塊,以解釋處理此數據包的鏈路協議報頭。這一步處理比較簡單,主要是對完整性的驗證,如CRC校驗、幀長度檢查。在鏈路導層完成對數據幀的完整性驗證后,路由器開始處理此數據幀的IP層。這一過程是路由器功能的核心。根據數據幀IP包頭的目的的IP地址,路由器在路由表中查找下一跳的IP地址,IP數據包頭的TTL域開始減數,并計算新校驗和(Check-sum)。根據路由表中所查到的下一跳IP地址,將IP數據包送往相應的輸出鏈路層,封裝上相應的鏈路層包頭,最后經輸出網絡物理接口發送出去。
現在來理解:
ip包----網絡層的包,有自己的格式
ip數據包-------即ip包
包-------即數據包.通常我們說什么包轉發率,掉包等概念,也就是網絡設備(如路由器,網卡等)就是針對它來說,也以說是數據包(包含了MAC地址等幀有的信息)
數據包--------這個概念就有時挺模糊了,所以一般不說.即不能說它一定就是ip數據包或幀。
以下結合兩個命令例子來說明上面的概念理解:
(1)win2003server里的網絡監視器是對網絡數據進行分析,可以從網絡中獲取幀,這些網絡數據就可以叫包(包含幀信息),而非ip數據包。
(2)ping命令中參數l英文意思是send buffer size(默認是32即32bytes),也就是改變發送的數據分組的字節數。例如ping -l 24
www.163.com
,其中24就是發送的ip數據包的長度,而非幀長度。這條命令用于測試與MTU相關的網絡故障。(大多數設備為1500,單位是byte,本機MTU小于等于網關的MTU,數據才不會分拆。)
?