A cross-layer based handover for TCP applications