路由:位於網絡層,爲數據包提供一個尋徑的算法,不改變數據包的源IP和目的IP,可是會修改源MAC和目的MAC,只在同個網段的進行數據的轉發算法
NAT:爲私有地址能訪問互聯網提供的一種解決方案。一個私有地址的計算機想與外界進行通訊,經過NAT的端口映射,隨機分配一個未使用的端口號,在路由器的路由表中造成一一對應關係 ,即 內網IP+端口號 轉換爲 公網IP+端口號。路由器收到公網數據包後,根據端口號,進行比對路由表,看是哪一個內網主機發送的數據包,將數據包回發給相應的內網IP。NAT規定:數據包從內網到外網,會自動創建端口映射;數據包從外網到內網,只會查詢收到的數據包的端口有沒有映射到內網,而不會自動創建端口映射。網絡
A發送數據給C:spa
A首先發送數據給路由器,數據包的源IP是A的,源端口號是A的,源MAC是A的,目的IP是C的,目的端口號是C的,目的MAC是B的LAN的;路由
B收到數據後生產一個惟一的端口號(若是A的端口號在路由表中是惟一的就用A的)與A的端口號一一對應,並把它和A的IP、端口號、MAC存入路由表中,B發送數據給C(假設B和C以前沒有其餘路由器),數據包的源IP是B的WAN的,源端口是B生成的和A的端口號一一對應的端口號,源MAC是B的WAN的,目的IP是C的,目的端口號是C的,目的MAC是C的。路由器
說明:跨網段通訊中,目的MAC始終是下一跳的MAC,源MAC始終是發送者的MAC(一樣也是轉發一次,改變一次);目的IP和端口號時鐘是終端的,不會改變互聯網
C發送數據給A反向同理。終端
二層交換機:交換機工做主要依靠MAC表(MAC和以太網端口映射表),交換機會記錄每一個端口鏈接的主機的MAC。當交換機收到主機的數據包,提取目的MAC地址,查看目的MAC地址的主機鏈接哪一個端口,而後往那個端口發送數據。交換機不會改變數據包的任何信息,包括MAC。通信
無線路由器:目前的無線路由器同時扮演有線網絡中交換機與路由器的角色。傳統有線網絡中的交換機與路由器通常是分離的,客戶端要傳輸數據時,若在同一子網在交換機上傳輸無須通過路由器,若跨子網傳輸數據時就要經過交換機與路由器了。無線路由器能接收發送給子網的數據包,也能接收發往外網的數據包。當接收到子網的數據包,無線路由器只起到交換機的做用;當接收到發往外網的數據包,經過NAT協議發送出去。數據