网络层学习总结
地址解析协议ARP(RFC826)
ARP用于希望得到目标IP地址的MAC硬件地址,位于OSI第二层(数据链路层)
ARP请求
- 源IP地址:192.168.0.101
- 源MAC地址:f2:f2:f2:f2:f2:f2
- 目标IP地址:192.168.0.1
- 目标MAC地址:00:00:00:00:00:00
ARP响应
- 源IP地址:192.168.0.1
- 源MAC地址:f1:f1:f1:f1:f1:f1
- 目标IP地址:192.168.0.101
- 目标MAC地址:f2:f2:f2:f2:f2:f2
//在windows中,查看ARP表
# arp -a
//在linux中,查看ARP缓存表
# arp -a
//查看路由表
# route
IPV4(RFC791)
- A类地址:0~127
- B类地址:128~191
- C类地址:192~223
- D类地址:224~239
- E类地址:240~255
IP类型 | 范围 | 可分配网络号 | 每网络最多主机数 | 私有地址 | 保留地址 |
---|---|---|---|---|---|
A类地址 | 0~127 | 125个 | 16777214 | 10.0.0.0 /8 | 0(本网络)&127(本地环回) |
B类地址 | 128~191 | 16367个 | 65534 | 172.16.0.0~172.31.0.0 /12 | 128(本网络) |
C类地址 | 192~223 | 2096895个 | 254 | 192.168.0.0~192.168.255.0 /16 | 192(本网络) |
D类地址(多播地址) | 224~239 | ||||
E类地址(留待后用) | 240~255 |
主机号:全0(本主机),全1(该网络所有主机)
存活时间(TTL)
能够经过的最大路由数目。
IP分片
一个数据包的分片主要基于第2层数据链路协议所使用的最大传输元(maximum transmission unit,MTU)的大小。
由报头中标志位进行判断。
IPV6(RFC2460)
IPV6通信有3种类别:单播(unicast)、任播(anycast)和多播(multicast)。IPV4的广播被多播替代。
fe80:0000:0000:0000:7a31:c1ff:fecb:b256
|前缀|补码 |接口标识符(基于MAC)|
本地连接地址:
fe80:0000:0000:0000:/64
IPV6为了有更大的地址空间而将报头设为40字节,是20字节IPv4的2倍
IPv6不支持广播流量,而采用“邻居请求”,它利用ICMP6来完成,ICMP6采用多播,把信息同时传递给一组目的地址。
IPV4的内置分片支持的这一选项没有包含在IPV6的报头里。一个传输IPV6报文的设备在发送前会执行一个叫作MTU探索的过程,该过程会决定报文的最大容量。而路由器是永远不会负责对报文进行分片的。
ICMP(RFC792)
互联网控制消息协议(Internet Control Message Protocol,ICMP)是TCP/IP协议族中的一个功能协议,负责提供在TCP/IP网络上的设备、服务以及路由器可用性的信息。
现在很多防火墙都限制了设备去响应ICMP数据包。
ICMP因为ping工具而广为人知,ping工具用来发送ICMP的echo请求数据包。
路由跟踪
第一次发送一个TTL值为1的ICMP echo 请求包。通过递增TTL的值检查至哪儿级路由出现问题。