270 likes | 306 Views
MITM753: Advanced Computer Networks. Chapter 1 Overview of Computer Networks and the Internet. Introduction. What you have learned in the undergraduate networking class? Introduction to networking concepts . OSI layers : application, transport, network, data link and physical layers.
E N D
MITM753: Advanced Computer Networks Chapter 1 Overview of Computer Networks and the Internet
Introduction • What you have learned in the undergraduate networking class? • Introduction to networking concepts. • OSI layers: application, transport, network, data link and physical layers. • Overview of important network applications and protocols. • Network addressing. • Network devices and hardware. • Network cabling.
Introduction • What will we learn in this class? • More detail discussion on selected network protocols. • Several important network-related algorithms. • Wireless and mobile network. • Hands-on networking skills as exercises and assignments: packet sniffing, socket programming. • Use the public Internet as the principle for discussion.
What is the Internet? • An interconnection of networks (a network of networks). • Consists of both hardware and software. • Devices connected to the Internet are called hosts or end systems. These devices run network applications. • End systems are connected together by a communication links and packet switches (switches and routers). • Different links transmit data at different transmission rate. • End systems access the Internet through ISPs (Internet Service Providers). • All Internet hardware run protocols that control the sending and receiving of information.
What is the Internet? • The Internet’s principal protocols are collectively known as TCP/IP. • IETF (Internet Engineering Task Force) is the body that develop and maintain Internet standards. • Internet standard documents are called RFCs (requests for comments). • The Internet can also be viewed as an infrastructure that provide services to applications. • Network applications are distributed across multiple end systems (distributed applications). • Different pieces of an application communicate with each other by sending messages through the Internet.
Network Protocols • Protocol defines the rules used in communication. • Similar to the rules we use in a language. • More formal definition: • A protocol defines the format and the order of messages exchanged between two or more communicating entities, as well as the actions taken on the transmission and/or receipt of a message or other event. • In the Internet, there are lots of protocols used for different communication tasks.
The Network Edge • People access the Internet using end systems. • Desktop PCs and workstations. • Mobile phones and tablets. • Web cams, sensors, toaster, refrigerator, etc. • End systems run network applications. Two parts of network applications: • Client program: A program that requests and receives a service from a server program. • Server program: A program that responds to request from a client program. • Communication is done over the Internet by exchanging messages.
The Network Edge • An end system is connected to an edge router through an access network. • Three categories of access networks: • Residential access network • Example: Dialup, ADSL, FTTH. • Company access network • Example: Ethernet LAN. • Wireless access network • Example: Wireless LAN (WiFi), WiMAX, UMTS, LTE.
The Network Edge • Data in a network is transmitted over a physical media. • Two categories of physical media: • Guided media (wired) • Waves are guided through a solid medium. • Example: Twisted-pair copper wire, coaxial cable, fiber optics. • Unguided media (wireless) • Waves propagate in atmosphere or outer space. • Example: Radio wave, microwave, infrared (all are part of electromagnetic spectrum).
Network Core • Two fundamental approaches to move data through a network: • Circuit switching • Packet switching
The Network Core • Circuit switching: • Before data can be sent, a connection (called a ‘circuit’) must be established between sender and receiver. • Switches along the path maintains connection state of the connection. • Resources (buffers, bandwidth) needed along the path are reserved. The resources are solely used by this particular sender/receiver. • Transmission rate is constant. • Suitable for real-time services (e.g. phone calls). • Example: telephone network.
The Network Core • Packet switching. • Data is divided into small packets. • Resources in the network are shared. • Resources are used on demand. • It is possible for congestion to occur. • If any link is congested, delay (or even packet loss) can occur. Therefore, transmission rate may vary depending on the network condition. • Suitable for non-real-time data transfer. • Two types: • Virtual circuit – packet carries path number. • Datagram – packet carries receiver’s address. • Example: Internet, frame relay, ATM.
Delay and Loss in Packet-Switched Networks • Packets traveling in the network suffer from several types of delay at each node. • Nodal processing delay: • Time required to examine the packet’s header and determine where to direct the packet. • In the order of microseconds or less. • Queuing delay: • Delay experienced by the packet while waiting to be transmitted onto the link. • Depends on the length of queue. • In the order of microseconds to milliseconds.
Delay and Loss in Packet-Switched Networks • Transmission delay: • The amount of time required to transmit all the packet’s bits into the link. • If the packet length is L bits and the transmission rate is R bits/sec, dtrans = L/R. • Propagation delay: • The amount of time taken by one bit to propagate from the beginning of the link to the end of the link. • Depends on the physical medium used. • Typically around 2x108 m/s to 3x108 m/s.
Delay and Loss in Packet-Switched Networks • Total node delay: • dnodal= dproc + dqueue + dtrans + dprop • If there are N-1 routers between source and destination hosts and assuming that the network is not congested (all dqueue = 0), the end-to-end delay is: • dend-end= N(dproc + dtrans + dprop) • Try ping or tracert in Microsoft Windows command prompts.
Throughput in Computer Networks • Throughput measures the rate at which data is received. • Measured in bits per second. • The instantaneous throughput is the rate at which a host is receiving a file at any point in time. • This is the rate shown by most applications when downloading file. • Will vary depending on network condition. • If a file size is F bits, and the transfer takes T seconds: • Average throughput = F / T bits per second.
Throughput in Computer Networks • Throughput is related to the data rate of physical links. • Throughput between two hosts cannot be higher than the slowest link between the two hosts. • Such link is called the bottleneck link. • The bottleneck link can also be a high-capacity link that is shared by multiple client-server pairs. • Each client-server pair will only get a fraction of the link’s rate. • Given the file size, F, and the rate of the links between sender and receiver (R1, R2 … RN), the file transfer time, T, can be estimated: • T = F / min {R1, R2 … RN)
ISPs and Internet Backbones • Access networks are connected to the Internet through a tiered hierarchy of ISPs (Internet Service Providers). • Tier-1 ISPs: • Also known as Internet backbone networks. • Located at the top of the hierarchy. • Very high link speed (up to 10Gbps). • Directly connected to each of the other tier-1 ISPs. • Connected to a large number of tier-2 ISPs. • International coverage. • Example: Sprint, MCI, AT&T (mostly US companies).
ISPs and Internet Backbones • Tier-2 ISPs: • Connected to a few of the tier-1 ISPs. • Customer to tier-1 ISPs. • Provide Internet access to users or lower-tier ISPs. • Regional or national coverage. • Most users and content providers are connected to lower-tier ISPs. • Within an ISP network, the points at which an ISP connects to other ISPs are known as Point of Presence (POPs): • A group of one or more routers in the ISP’s network at which routers from other ISPs can connect to.
Protocol Layers • The tasks involved in communication can be very complex. • To make things easier, the communication tasks are broken up into modules. • A protocol architecture is the layered structure of these modules. • Each layer performs subset of the tasks required for communication. • Makes it easier for design and development. • Examples of protocol architecture: • OSI reference model • TCP/IP protocol stack
Protocol Layers • The Internet uses the TCP/IP protocol stack.