A multi-channel parallel transmission protocol is proposed for the medium access control in cognitive radio networks (CRNs). This protocol contains two key elements: multi-channel assignment and multi-channel contention. For an incoming flow-based connection request, the minimum number of parallel channels are assigned to satisfy the rate and interference mask constraints. For the contention of the assigned channels, our protocol provides an extension of the single-channel RTS-CTS-DATA-ACK handshaking of the IEEE 802.11 scheme. The proposed MAC coherently integrates optimization results into a practical implementation. Through numerical examples, we verify that our protocol provides lower connection blocking probability and higher system throughput for CRNs than its single-channel counterpart.