Faits: A. Par jugement du 10 novembre 2008, le Tribunal correctionnel de l'arrondissement de l'Est vaudois a condamné X._, pour infraction grave à la loi fédérale sur les stupéfiants (art. 19 ch. 2 LStup) et infraction à la loi fédérale sur le séjour et l'établissement des étrangers (art. 23 aLSEE), à une peine privative de liberté de huit ans, sous déduction de 500 jours de détention préventive. B. Statuant le 23 février 2009 sur recours de X._, la Cour de cassation pénale du Tribunal cantonal vaudois a confirmé le jugement de première instance. Cet arrêt retient en substance les faits suivants: B.a X._, ressortissant libérien né en 1985, est arrivé en Suisse en 2003. Requérant d'asile débouté, il a séjourné illégalement dans notre pays dès l'entrée en force de la décision de refus d'asile qui lui avait été notifiée. Il a été arrêté le 2 juillet 2007 en relation avec un trafic international de stupéfiants. B.b Le jour en question, deux emballages de cocaïne, de 5'020 et de 4'916 grammes, ont été découverts dans le double-fond de deux valises, enregistrées au nom de Y._, sur le vol à destination de Genève en provenance de Yaoundé. Celle-ci a été arrêtée à sa descente d'avion. Elle a exposé qu'elle était censée gagner Vevey en taxi et appeler l'un des deux numéros enregistrés dans la mémoire de son téléphone portable, qui lui avait été remis par X._ avant son départ d'Afrique. A l'arrivée à Vevey de Y._, X._ s'est présenté après avoir été appelé par elle au moyen du téléphone portable en question; il a payé le chauffeur du taxi, extrait les valises du coffre et en a pris possession. Appréciant ces faits, la cour cantonale a retenu que X._ était le commanditaire du trafic et le destinataire de la drogue importée par sa comparse. B.c X._ a contesté le rôle qu'on lui prêtait. Tout au long de la procédure, il a exposé qu'il avait uniquement agi en qualité d'intermédiaire entre la personne chargée d'importer la drogue et le commanditaire de la marchandise, un dénommé Z._, qui résiderait dans les environs de Berne. Z._ lui aurait proposé de participer à une opération portant sur quatre kilos de cocaïne en lui laissant choisir un terme de l'alternative suivante: Z._ lui cédait gracieusement deux kilos de drogue s'il pensait trouver des acquéreurs; sinon il pouvait transporter la cocaïne en Suisse pour une prime de 12'000 fr. X._ aurait opté pour cette seconde option. Il se serait alors vu confier un natel par Z._ et aurait gagné Vevey le 29 juin 2007, trouvant refuge dans l'appartement d'une connaissance. Le 30 juin ou le 1er juillet 2007, Z._ lui aurait téléphoné pour lui rappeler l'imminence de la livraison, les dernières instructions lui étant données le 2 juillet au matin. X._ n'aurait jamais eu de contact avec Y._. Z._ serait venu à Vevey ce même jour et aurait emprunté le natel confié à X._, vu que son propre téléphone portable était alors déchargé. Suivant les premiers juges, la cour cantonale a considéré que cette version des faits n'était pas crédible. En effet, il n'était pas plausible qu'un trafiquant éprouvé cède gratuitement deux kilos de cocaïne. En outre, il a été établi que la "mule" avait lancé le 2 juillet 2007 deux appels sur le portable de X._, alors qu'il ne subsistait aucune trace d'un appel que celui-ci prétend avoir reçu de Z._ le même jour pour l'informer de l'arrivée de la "mule"; au demeurant, il était incohérent d'affirmer que le téléphone portable de Z._ était déchargé et, partant, hors d'usage. Les autorités cantonales en ont conclu que le dénommé Z._ n'existait pas. C. Contre cet arrêt cantonal, X._ dépose un recours en matière pénale devant le Tribunal fédéral. Il conclut, principalement, à la réforme de l'arrêt attaqué, en ce sens qu'il est condamné à une peine privative de liberté inférieure à huit ans et, subsidiairement, à son annulation et au renvoi de la cause à la cour cantonale pour nouveau jugement. En outre, il sollicite l'assistance judiciaire.