The Cognitive Radio (CR) technology has emerged as a recent breakthrough radio technology to meet future wireless demands in terms of both spectrum efficiency and performance of new wireless applications. In an 802.11 Cognitive Radio Network (CRN), when the spectrum is not used, unauthorized users with CRs can access the frequencies assigned to authorized users in an opportunistic manner, thus dramatically improving spectrum efficiency of the network. In , the authors proposed a CR MAC protocol for 802.11 CRNs such that the unauthorized CR users (CRUs) can flexibly use the "spectrum holes" without affecting the performance of the authorized users. However, the protocol design proposed in  can degrade the throughput performance of TCP flows. Since TCP is a primary transport protocol for most of the internet applications today, it is imperative that a proposed CR MAC protocol can well support TCP flows. To address this problem, in this paper we propose a Bi- directional CR MAC (Bi-MAC) protocol such that the CRUs can smartly negotiate and reserve bandwidth based on the anticipated packet exchanges on the data channels. Our simulation results show that the Bi-MAC protocol can effectively improve both the TCP and UDP performance of CRUs and increase the network goodputs.