戎多为“披发左衽”,尽管戎和华夏在文明程度上有差距,但这对彼此交往并无太大妨碍,如晋献公、文公都娶戎族女子为妻。周文王经过征服与争取,戎狄“莫不宾服,乃率西戎,征殷之叛国以事纣”。实际上打着商王的旗号对周围各部落与方国的兼并,有所谓“三分天下有其二”,为灭商准备了条件。
西戎又叫猃狁,古代活跃于今陕、甘一带,猃、岐之间。周穆王时,周室尚称强大,因“戎狄不贡,王乃西征犬戎,获其五王,又得四白狼、四白鹿,王遂迁戎于太原”。穆王西征到了什么地方?据古本《竹书纪年》记载:“穆王十七年西征,至昆仑丘,见西王母,乃宴。”昆仑丘所在,各家考证不一,肯定已超过陇山山脉,到达今甘青境内,见到了西戎部落的一位女酋长。穆王从陇以西迁戎部落至泾水上游之太原,大概是为了便于控制,后来太原之戎成为周室邻近王畿的威胁,完全与穆王初衷设想背道而驰。
自西周中叶周夷王以后,周日益衰败,“荒服不朝”的局面越来越严重,与戎狄部落相安共处的局面日益难以维持。而秦人在陇山地区逐渐壮大,周也逐渐倚靠秦人来制西戎。周孝王时封非子于秦邑(后世甘肃省天水市清水县),为周附庸。同时接受申侯的要求,让非子同父异母兄弟成继承其父大骆的酋长地位居犬丘,也在天水市境,“以和西戎”。成的母亲是申侯之女,申的这一支对西戎部落有重大的影响,与周也保持较密切的关系,大概是姜姓申国仍居陇山地区的游牧部落,当他们与周为敌时,称为申戎或姜氏之戎。
周夷王时,命虢公伐太原之戎,获马千匹。周厉王时,西戎杀秦仲同族,即居于犬丘的一支大骆的后裔,王命伐戎,不克。周宣王四年,使秦仲伐戎,失败被杀,宣王召秦仲之五子,予兵7000破戎,西戎稍却,秦迁居犬丘,周封秦仲之长子为西垂大夫,即秦庄公。
宣王五年,猃狁,即犬戎。侵周至泾水北岸,宣王派南仲筑城于朔方,尹吉甫击败猃狁,逐至太原,一时西戎臣服。宣王三十一年,遣兵伐太原之戎,不胜。三十六年伐条戎、奔戎,败绩;三十八年晋人败北戎于汾隰;戎人灭姜侯之邑;宣王三十九年,王伐申戎,战于千亩(千亩为周王之籍田,距镐京不太远),王师败绩于姜氏之戎。