IP报头指示4层协议的字段为protocol,TCP 6 UDP 17 ICMP 1 IGMP 2 EIGRP 88 OSPF 89 PIM 103
私有地址:
A
10.0.0.0//8
B
172.16.0.0/16-172.31.0.0/16
C
192.168.0.0/24-192.168.255.255/24
D
224,0.0.0-239.255.255.255
E
240.0.0.0-255.255.255.255
CIDR(无类别域间路由,Classless Inter-Domain Routing)
VLSM(Variable Length Subnet Mask,可变长子网掩码)
路由类型 思科管理距离 华为管理距离
直连 0 0
静态 1 60
rip 120 100
eigrp 90/170
ospf 110 10/150
IS-IS 115 15
EBGP 20 255
IBGP 200 255
路由加表原则:
1、判断管理距离是否为255
2、该路由曾经是否学习到过
比较路由管理距离
比较路由度量值
数据层面数据转发:
1、查看目的mac地址是否是接收接口
2、去掉帧头帧尾,查看3层报头的目的IPv4地址
3、使用路由表里每条路由的掩码去和目的IPv4地址做布尔逻辑与运算得到的结果;
思科
ping DIP source SIP
华为
ping -a SIP DIP
华为的ping可以指定一个不存在的地址,而思科的ping指定的源必须是路由器存在的一个接口;这种情况下,华为的ping就可能存在模拟一个不存在的主机地址进行DDos攻击;
自身的IP地址和目标的IP地址是否在同一个网段内
自身的掩码和目的IP地址做与运算得出的网络号和自身的网络号对比
是否指定网关MAC
尝试解析对端IP对应的MAC地址 然后将你的IP与你的MAC进行绑定,放到ARP条目当中
一个数据去往一个目的地址,如果没有对方的IP地址对应的MAC表项,就一定会进行arp请求,
在同一网络中,就会直接进行arp请求
不在同一网络就会针对网关的地址进行arp请求
而路由器在转发IP报文的时候,会针对下一跳的IP在ARP表中找对应的表项
也就是说以太网中,只要你发送数据,就一定会针对路由条目的下一跳地址进行arp检查,如果有对应下一跳的mac映射,就直接成帧发送,如果没有对应的mac表项,就会针对下一跳地址进行arp请求
ARP:Address Resolution Protocol地址解析协议
通过目的IP地址获得目的MAC地址的过程就是ARP,在以太网中arp是自动开启的;
封装:
Ethernet2|DATA|FCS
请求通过广播进行发送,回应是通过单播进行发送的
当pc没有指网关的时候,进行arp请求的时候,只能进行广播发送,路由器接到数据帧,发现不是发给自己的,就会丢包
为了解决这个问题,路由器一般都开启proxy功能
当没有指网关的pc进行arp请求的时候,路由器会代替目的地址对pc进行arp回应,将自己的接口地址和mac地址对pc进行回应
ip gratuitous-arps 免费arp 无故arp
用在DHCP当中,dhcp分配地址的时候,还会进行ip地址冲突检测,client在获取地址的时候,会发送一个dicover报文,dhcp server在收到报文后,发送地址之前,会对地址进行检测,检测的方法就是ping 2次
但这样并不能完全检测地址是否在当前网络中使用,因为大部分pc的防火墙都有禁止ping的功能
因此为了能检测冲突,工作需要客户端来做,client就会发送一个免费的arp请求,免费arp的报文中,目的ip地址也是自身分配的ip地址
这样如果当前网络不存在跟自身一样的ip地址,就可以实现
1 检测冲突
2 更新当前网络内的arp表项
如果当前网络中存在跟自身一样的ip地址,那么windows就会报错,并通报当前某个主机正在使用跟自己一样的ip地址