When it comes to subnetting most people usually stop at /30. This will give them a netmask of 255.255.255.252 thus resulting in two usable IP address along with one Network and one Broadcast address.
The /31 subnet prefixes was introduced in RFC3021 which defines that it can be used on a point-to-point link. A point-to-point interface does not need broadcast address, therefore we don’t really need to assign a /30 address prefix. On a /31 bit segment, both addresses are interpreted as hosts addresses.
The main advantage of using /32 prefix will enable us to limit the number of network address required on a segment. Therefore, if a company using multiple point-to-point networks using public IP addresses, then they will be able to save half of its allocated IP space.
As you may aware, the current routing protocols work on Multicast and designed to work in classless routing. Therefore, it will not have any effect on running them on /31 networks.
A /31 subnet can only be used in links using PPP encapsulation. Furthermore, it will not support any legacy protocols such as RIPv1 which uses Broadcast as opposed to Multicast.