IP首部20个字节
4位版本 4位首部长度 8位服务类型 16位总长度(字节数)
16位标识 3位标志 13位片位移
8位生存时间 8位协议 16位首部校验和
32位源IP地址
32位目的IP地址
针对多于一个字节的数据,在内存中的保存顺序有大小字节序之分。
大字节序(big endian,网络字节序):低地址存高字节
小字节序(littele endian):低地址存低字节
TTL值表示可以经过的最多跳数,初始值由源主机设置,一旦经过一个路由器,值减一,当值为0
时,数据包被丢弃,并发送ICMP消息通知源主机。
ARP(Address Resolution Protocal 地址解析协议)
一台主机把以太网数据帧发送到局域网的另一台主机时,是根据48bit的MAC地址来确定确定目的
接口。设备驱动程序不检查IP数据包中的目的IP。
点到点链路不使用ARP。当设置这种链路时,必须告知内核链路两端的IP。
以太网的ARP数据包格式
6字节以太网目的地址 6字节以太网源地址 2字节帧类型
----以上为以太网首部
2字节硬件类型 2字节协议类型 1字节硬件地址长度 1字节协议地址长度 2字节op 6字节发送端以
太网地址 4字节发送端IP地址 6字节目的以太网地址 4字节目的IP地址
----以上为ARP部分
只有ARP应答返回时,TCP报文才被发送,因为此时硬件地址才可能获知。
--跟踪发现:ping同网段不存在的IP,会一直发送ARP请求包。ping不同网段不存在的IP,如果
arp表已经包含网关,则不进行arp请求,直接发送ICMP包。
(收起)