computer-networks
I. How to build a scalable network that will support different applications? II. What is a computer network? III. How is a computer network different from other types of networks? IV. What is a computer network architecture?
Applications Requirements Performance Network Architecture Implementing Network Software
Exploring the requirements that different applications and different communities place on the computer network Define key metrics that will be sued to evaluate the performance of computer network Introducing the idea of network architecture Introducing some key elements in implementing Network Software
Scalable Connectivity
- Types of networks
- point-to-point link
- multiple access link
- switched network
- Switched networks
- switches
- store and forward packets
- hosts
- circuit switched
- packet switched
- the major reason for using packet switching rather than circuit switching in a computer network is efficiency.
- switches
- Internetwork
- a node that is connect to two or more networks is commonly called a router or a gateway
- forwards messages from one network to another
- recursively building arbitrarily large networks by interconnecting clouds –> fundamental innovation of the Internet
- assigning an address to each node.
- routing
- determining systematically how to forward messages toward the destination node based on its address.
- unicast, broadcast, multicast
- We can define a network recursively as consisting of two or more nodes connected by a physical link, or as two or more networks connected by a node. In other words, a network can be constructed from a nesting of networks, where at the bottom level, the network is implemented by some physical medium. Among the key challenges in providing network connectivity are the definition of an address for each node that is reachable on the network, and the use of such addresses to forward messages toward the appropriate destination node(s)
Cost-Effective Resource Sharing
- How do all hosts that want communicate share the network at the same time?
- How do several hosts share the same link when they all want to use it at the same time?
- Multiplexing
- system resource is shared among multiple users.
- synchronous time-division multiplexing (STDM)
- divide time into equal-sized quanta, and in a round-robin fashion, give each flow a chance to send its data over the physical link.
- frequency-division multiplexing (FDM)
- transmit each flow over the physical link at a different frequency.