长城沿线（今内蒙古南部至河北省北部一线）设置了许多镇，其中最为重要的是怀朔镇（今内蒙古固阳县西南）、武川镇（今内蒙古武川县西）、抚冥镇（今内蒙古四子王旗东南）、柔玄镇（今内蒙古兴和县西北）、沃野镇（今内蒙古鄂尔多斯右翼旗）、怀荒镇（今河北省张北县），合称六镇，又称北镇。由于北魏与柔然关系紧张，双方不时发生军事冲突。北魏朝廷将部分被编入军户的鲜卑贵族迁至六镇，令之为镇民兼军士，「配以高门子弟，以死防遏」，并设有镇将总揽当地军政。彼时六镇地位崇高，被誉为「国之肺腑」，身为六镇之民是相当尊荣的，且拥有仕宦（升迁做