CSC311: Introduction to Computer Networks 6 credits (45-15-0)

Objectives

This course is an overview of computer communication and networks. It starts with lower level concepts of data communication, and quickly expands to consider issues related to local communication networks, and wide area networks, including the role of TCP/IP in internetworking

Contents

Data communication: Transmission characteristics; Local Asynchronous Communication and RS-232; Measures of transmission rate; Long distance communication; The role of carriers, modulation, multiplexing.

Organization of the Internet (Internet Service Providers, Content Providers, etc.). Switching techniques (Circuit, packet, etc.). Physical pieces of a network (hosts, routers, switches, ISPs, wireless, LAN, access point, firewalls, etc.). Layering principles (encapsulation, multiplexing). Roles of the different layers (application, transport, network, datalink, physical)

Network basics: Uses, types, structure, packet switching, network topologies and protocols. Transmission media, network hardware, data communications with standard telephone lines and modems, digital data connections, broadband connections, DSL technologies, cable modem connections, ATM, Wireless networks, WANs.

Network technologies: LANS and network topology, hardware addressing and frame type identification, LAN wiring, physical topology, interface hardware, extending LANS.

Resource Allocation: Need for resource allocation. Fixed allocation (TDM, FDM, WDM) versus dynamic allocation. End-to-end versus network assisted approaches. Fairness. Principles of congestion control. Approaches to Congestion (Content Distribution Networks, etc)

LANs: Multiple Access Problem. Common approaches to multiple access (exponential-backoff, time division multiplexing, etc). Switching in Ethernet and Token Ring.

Mobility: Principles of cellular networks. 802.11 networks. Issues in supporting mobile nodes (home agents)

Internetworking: Routing versus forwarding. Static routing. Internet Protocol (IP). Scalability issues (hierarchical addressing). WANS and routing , TCP/IP.

Network Applications: Naming and address schemes (DNS, IP addresses, Uniform Resource Identifiers, etc.). Distributed applications (client/server, peer-to-peer, cloud, etc.) HTTP as an application layer protocol. Multiplexing with TCP and UDP. Socket APIs. Other applications: MIME, FTP

Reliable Data Delivery: Error control (retransmission techniques, timers). Flow control (acknowledgements, sliding window). Performance issues (pipelining). TCP