고려 대 몽골전이나 조선 대 후금전을 보면 침략자 기마병들이 한반도의 주요 방어거점들을 그냥 우회통과하거나 부근에 소수의 견제군만 둔 채 수도로 쾌속 진군합니다. 그래서 결국 고려나 조선은 크게 당황하고 정규군이 제대로 된 저항도 하지 못합니다(고려에서 몽골의 1,2차 침입에서는 정규군에 의한 성곽방어전이 꽤 이뤄졌습니다). 기껏 강화도로 피신하거나 남한산성에 농성할 수밖에 없었습니다. 원래 산성이나 성곽은 하나만으로는 의미가 없습니다. 주변의 다른 방어거점(성곽)과 연계하여 서로 도울 수 있기 때문에 효과는 배가됩입니다. 그리고 침략군이 이 성곽들을 두고 통과할 경우 성곽의 병력이 빠져나와 보급선 차단이나 배후 위협으로 작용하기 때문에 전체 원정이 실패로 돌아갈 가능성이 크고, 그래서 어쩔 수 없이 원정군은 성곽을 공략해야 했습니다. 그런데 고구려를 침공한 수,당은 실패하고, 몽골은 비교적 성공하고, 후금은 크게 성공합니다. 수,당은 보병 중심이라 길게 연장된 보급선을 유지할 수밖에 없으며, 몽골과 후금은 기병 중심이라 상대적으로 보급선을 유지할 필요가 없다는 결정적인 차이가 있습니다. 그러나 그것뿐만이 아닙니다. 고구려의 산성(발해는 평야성 중심, 고구려는 산성 중심입니다)에는 기병이 있어서 언제든지 뛰쳐나가 반격할 수 있었습니다. 이 고구려 경기들은(경기=날랜 기병, 정예기병이라는 뜻) 산성방어전에도 투입됩니다. 고구려 산성 성곽을 본 분이라면 아시겠지만 산성 자체의 규모가 굉장히 크고, 성벽이 상당히 넓어 말 여러마리가 교차할 정도입니다. 무슨 뜻이냐 하면, 산성방어전에 기병들이 이동하며 투입됐다는 뜻입니다. (참고로, 고구려 말은 어릴 때부터 발에 날카로운 징을 박아 땅을 박차고 걷게 하여 다리 힘을 기르게 했다는 말이 있습니다.)
산성의 방어 자체로는 아무 의미를 가질 수 없습니다. 산성에서 공방전을 주고받으며 후방의 아군 주력이 병력을 소집하여 전투준비를 할 시간을 벌어주거나 적의 배후를 칠 기회를 줘야 합니다. 만약 적이 전투를 회피하고 우회기동하면 적의 보급선을 차단하거나 배후를 기습해야 합니다. 그러나 기마대군을 상대로 고려나 조선의 산성군은 어느 하나 성공시키지 못하고 병력을 놀리고 맙니다. 고구려와 달리 산성에 기병이 없었기 때문입니다. 보병 중심의 침략군에는 충분히 대비할 수 있지만, 적이 기병 중심이라면 이야기가 전혀 달라집니다. 산지가 많은 한반도에서는 아무래도 보병 중심의 전투가 되기 마련입니다. 야전이든 성곽 방어전이든 마찬가집니다. 삼국을 통일한 고려는 윤관의 초기 작전실패에서도 알 수 있듯이 기병전투에 대한 운영능력과 감각을 일정 부분 상실한 것으로 보입니다. 그러나 한반도에서 기병이 활동할 공간은 어떻게든 있었으며, 바로 이것이 몽골이나 후금의 성공요인인 것 같습니다.
고려말의 경우, 이성계는 기마전투에 익숙했고 다수의 기병을 운용한 것 같습니다. 그러나 고려말의 기병은 양계 주둔군과 전장에 파견하는 주력 경군 일부에 그쳤고, 나머지는 보병이 중심이었던 것 같습니다. 몽골군은 기마병 1인당 운영하는 말이 여러마리라고 합니다. 그러나 다른 북방제국의 전사들이 여러마리를 끌고다녔다는 기록은 없습니다. 요나라가 발해를 정복할 때도 1인당 1필이었고, 이동시에는 말을 끌고 같이 뛰었으며 전투시에만 승마했다고 합니다. 근세의 유럽 승마보병과 정반대입니다. 고려가 요동정벌에 투입한 말 숫자는 거의 기병 숫자로 봐도 무방하다고 생각합니다. 기병에게는 다수의 치중병이 필요없으니까요.