Ad-hoc networks allow mobile nodes to form a multi-hop network for peer-to-peer communication. Typical ad-hoc system protocols use a common channel for communication between all nodes. The use of a common channel puts a limitation on the network performance. For example, it has been shown that as the node density increases, the network performance is rapidly degraded due to channel contention. To overcome this limitation and increase the network performance, prior-art systems have employed the use of multiple channel protocols. However, these protocols require multiple transceivers or temporal synchronization to coordinate the channel usage, increasing system complexity. The use of multiple channels improves network performance since simultaneous transmissions can take place in the same area on differing channels without interfering with each other. The fundamental problem with using multiple channels comes from the fact that a node can only listen to one channel at a time. If two neighboring nodes are listening on different channels, they will be unable hear each other, and communication between the nodes becomes impossible. This creates significant problems for routing packets through an ad-hoc network. Therefore, a need exists for a method and apparatus for channel assignment within an ad-hoc communication system utilizing multiple channels, and yet allows all nodes within the communication system to communicate with each other.