How does a bitcoin node handle blocks received in an abnormal order?

22D Ago
A node has verified a block at height N. It then receives a block at height N+2 from the network. What does it do? Does it discard the block? Does it quarantine the block and wait for the intermediate block? Does it immediately send out a request for the intermediate block, and can that request include signatures or does Segwit prohibit that?