地址解析協議ARP
實現IP地址和Mac地址的轉換
ARP工作原理:
每臺主機或路由器都有一個ARP表,表項:<IP地址,Mac地址,TTL>(TTL一般為20分鐘)
主機產生ARP查詢分組,包含源目的IP地址和源Mac地址,目的Mac地址FF-FF-FF-FF-FF-FF(mac廣播地址),該查詢分組廣播給子網內的所有主機,路由器接口處的網卡,并向上交給ARP模塊,
每個主機或路由器的ARP模塊檢查自己的IP地址是否與ARP查詢分組中的目的IP地址一致,相匹配的主機或路由器在標準幀中返回ARP響應分組,包含所查詢的Mac地址,主機根據ARP響應分組更新自己的ARP表
以太網幀結構
前同步碼(8字節)時鐘同步
目的Mac地址(6字節)
源Mac地址(6字節)
類型(2字節):指示數據部分送給哪個網絡層協議,eg:0x0800-ip,0x0806-ARP
數據:46-1500字節,不足46字節時,會填充至最小值
crc(4字節)
IPV4
首部(4bit):版本號,IPV4 0100,IPV6 0110
首部長度(4bit):20字節固定+可選
服務類型(8bit):區別不同類型的數據報
數據報長度(16bit):首部+數據
標識,標志,片偏移:IPV4分片時使用
壽命TTL:每經過一個路由器,TTL-1,TTL減為零時丟棄
協議:IP數據報到達目的終端時,協議字段指示數據部分交付給哪個傳輸層協議,TCP-6,UDP-17
首部校驗和:只檢驗首部的比特錯誤
選項:允許首部擴展
源和目的IP地址:IPv4 32位地址
IP數據報分片
不同鏈路層協議的MTU不同,以太網1500字節,FDDI 4352字節,PPP 296字節,大的IP數據報到較小的MTU鏈路上,需要進行分片,重新組裝在端系統完成
- 標識號ID:同一IP數據報的片具有相同的ID,確認是否屬于同一數據報
- 偏移offset:指示片在初始數據報中的位置,以8字節為單位,確認是否確認
- 標志flag:標識是否為最后一個分片,值為0時表示是最后一個分片,確認是否收完
- 接收端對于不完整的數據報會丟棄
- IPV4通過分片實現對不同鏈路層MTU的適配,實現不同網絡的互連,但分片會增加路由器和終端的復雜性
- IPV6改進:如果路由器收到的數據報尺寸大于MTU,則丟棄,返回報告,由終端重新決定IP
DHCP:動態主機配置協議,主機頻繁的加入和離開網絡
IPV6
引入原因:
IPV4 32位地址耗盡=》IPV6 128位地址
固定首部長度易于快速處理和轉發
實現QOS
IPV6數據報格式:固定40字節首部字段+數據字段
首部字段
版本:0100(IPV6)
流量類型 流標簽:標識不同類型的流,分配不同的優先級,實現QOS
有效載荷長度:數據字段長度
下一個首部:標識數據字段交付給哪個上層協議,
跳限制:每經一臺路由器減一,減為0時丟棄
源IP地址,目的IP地址:128位
IPV6與IPV4的區別
- 擴大的地址容量
- 簡化高效的40字節首部
- 流標簽與優先級:實現QOS
- 取消分片:當路由器 收到數據報太大不能轉發時,丟棄,返回分組太大ICMP報文,發送方重新發送較小分組
- 取消首部檢驗:快速處理IP數據報