Data center benefits cloud applications in providing high scalability and ensuring service availability. However, virtual machine (VM) placement in data center poses new challenges for service provisioning. For many cloud services such as storage and video streaming, present placement approaches are unable to support network-demanding services due to overwhelming communication traffic and time. Therefore VM placement concerning link capacity is vital to cloud data centers. In this paper, we define the network-aware VM placement optimization (NAVMPO) problem based on integer linear programming. The objective function of NAVMPO problem aims to minimize communication time for VMs of the same service type. Then we propose the service-oriented physical machine (PM) selection (SOPMS) algorithm and link-aware VM placement (LAVMP) algorithm. The SOPMS algorithm selects the most appropriate PM based on service-oriented architecture, and then the LAVMP algorithm deploys the most suitable VM to target PM regarding to the link capacity between them. Simulation results show that the proposed placement approach significantly decreases communication time compared to existing non-service-oriented and service-oriented VM placement algorithms, and also improves the average utility rate of PMs with lower power consumption.