18-12-2012, 06:50 PM
Introduction to Computer Networks
1Computer.ppt (Size: 593 KB / Downloads: 40)
Organizing Network Functionality
Many kinds of networking functionality
e.g., encoding, framing, routing, addressing, reliability, etc.
Many different network styles and technologies
circuit-switched vs packet-switched, etc.
wireless vs wired vs optical, etc.
Many different applications
ftp, email, web, P2P, etc.
Network architecture
How should different pieces be organized?
How should different pieces interact?
Problem
new application has to interface to all existing media
adding new application requires O(m) work, m = number of media
new media requires all existing applications be modified
adding new media requires O(a) work, a = number of applications
total work in system O(ma) eventually too much work to add apps/media
Application end points may not be on the same media!
Network Architecture
Architecture is not the implementation itself
Architecture is how to “organize” implementations
what interfaces are supported
where functionality is implemented
Architecture is the modular design of the network
Software Modularity
Break system into modules:
Well-defined interfaces gives flexibility
can change implementation of modules
can extend functionality of system by adding new modules
Interfaces hide information
allows for flexibility
but can hurt performance
Key Concepts
Service – says what a layer does
Ethernet: unreliable subnet unicast/multicast/broadcast datagram service
IP: unreliable end-to-end unicast datagram service
TCP: reliable end-to-end bi-directional byte stream service
Guaranteed bandwidth/latency unicast service
Service Interface – says how to access the service
E.g. UNIX socket interface
Protocol – says how is the service implemented
a set of rules and formats that govern the communication between two peers