This course introduces the basic principles of communication networks and services (protocol architecture, routing, congestion control, etc.) showing by means of application to real networks. The main objective of this course is to analyse both architectural principles and the mechanisms that are required in order to exchange data between computers, work stations, servers and other data processing devices. To achieve this objective, the student must acquire specific knowledge and capacities. Regarding knowledge, at the end of the course the student will be able to: - Understand the network concept and the different types of existing networks - Understand the Internet network layer, IPv4: know the datagram format and the addressing model. ARP. ICMP. - Understanding the IPv6 protocol: header format and addressing. - Understand basic address management tools, NATs and DHCP. - Understand routing protocols and algorithms. - Understand Internet routing protocols by means of an example: RIP. - Understand Internet transport layer: TCP and UDP. Regarding capacities, at the end of the course the student will be able to: - Define the IP addressing (IPv4 and IPv6) for a certain network. Design that network architecture. Properly configure the network layer of the different hosts. Properly configure the routers to support the communication of local area networks. - Understand routing protocols. - Understand and configure NATs. - Understand and analyse TCP behaviour in diverse situations, scalability, interactive traffic, congestion.