Course Outline IntroductionIntroduction –Reference Models, OSI, TCP/IP Physical LayerPhysical Layer Data Link LayerData Link Layer –Medium Access Sublayer Network LayerNetwork Layer Transport LayerTransport Layer Application LayerApplication Layer Socket ProgrammingSocket Programming ProtocolStack
What to expect Broad exposure to computer networking concepts.Broad exposure to computer networking concepts. Coverage of OSI-like protocol stacks.Coverage of OSI-like protocol stacks. –running example: TCP/IP Significant exposure to UNIX network programming.Significant exposure to UNIX network programming. –Berkeley Sockets Some concepts of network operations.Some concepts of network operations. –e.g. routing, error detection,...
What not to expect End-user training.End-user training. –e.g. How to use FTP, NetWare, WWW, … Trade school stuff.Trade school stuff. –e.g. How to get Novel NetWare certified, how to setup a Cisco router Detailed discussion of non-TCP/IP protocols.Detailed discussion of non-TCP/IP protocols. –e.g. OSI, Appletalk,... Massively Parallel ProcessingMassively Parallel Processing –e.g. large numbers of interconnected, identical processors programmed to solve problems in parallel
Introduction We live in the “ Information Age. ”We live in the “ Information Age. ” Old model: One large centralized computer.Old model: One large centralized computer. Current model: Many separate but interconnected computers.Current model: Many separate but interconnected computers. Computer Network: Interconnected collection of autonomous computers.Computer Network: Interconnected collection of autonomous computers.
Uses of computer networks Resource SharingResource Sharing –Mainframes are (were?) expensive –Redundancy among resources –Client/Server model Server: contains resource (e.g. file system)Server: contains resource (e.g. file system) Client: requests resourceClient: requests resource Communication mediumCommunication medium –Access to remote information – , videoconferencing, WWW, Usenet, … –Entertainment (e.g. Quake)
Classifying Networks by Transmission Technology Broadcast networks (small, usually localized)Broadcast networks (small, usually localized) –Single communication channel shared by all machines. –Multicasting Point-to-point networks (large geographically)Point-to-point networks (large geographically) –Many individual connections between pairs of machines. –Routing = packet switching
Classifying Networks by Scale Local Area Networks (LAN)Local Area Networks (LAN) –Restricted in size –Broadcast transmission ( Mbps) static: divvy up time, round-robin allocationstatic: divvy up time, round-robin allocation dynamic: centralized/decentralized arbitrationdynamic: centralized/decentralized arbitration –Topologies bus (e.g. Ethernet: bus, 10 Mbps to 1Gbps)bus (e.g. Ethernet: bus, 10 Mbps to 1Gbps) ring (e.g. IBM Token Ring, 4-16 Mbps)ring (e.g. IBM Token Ring, 4-16 Mbps)
Large Geographic Networks Metropolitan Area Network (MAN)Metropolitan Area Network (MAN) –big LAN, no packet switching. –Standard: Distributed Queue Dual Bus (DQDB) 2 unidirectional buses2 unidirectional buses Wide Area Network (WAN)Wide Area Network (WAN) –Hosts on a LAN are connected to a subnet. –Most WAN subnets are point-to-point. packet-switched, use routerspacket-switched, use routers
LAN HostRouter Transmission Line Subnet
Wireless Networks Portable OfficePortable Office –Notebook computers, tablets,... –e.g. UPS Trucks, Military,... Wireless LANSWireless LANS –slow (1-2 Mbps), high error-rate Digital CellularDigital Cellular
Internetworks Communication between different (perhaps incompatible) networks.Communication between different (perhaps incompatible) networks. Gateways handle the translation.Gateways handle the translation. internet: Collection of interconnected networks.internet: Collection of interconnected networks. –e.g. LANs connected to a WAN Internet: the worldwide internet.Internet: the worldwide internet.
Network Software Original network design focused on hardware.Original network design focused on hardware. Network software is now highly structured.Network software is now highly structured. Protocol HierarchiesProtocol Hierarchies –Networks are organized as a series of layers. –Each layer offers services to the layer above. Hides implementation detail from higher layers.Hides implementation detail from higher layers. –Layer n on one machine converses with layer n on another machine.
Layers, protocols, and interfaces Layer 4 Layer 3 Physical medium Layer 4 protocol Layer 3 protocol Layer 1 protocol Layer 2 protocol Layer 2 Layer 1 Layer 4 Layer 3 Layer 2 Layer 1 Layer 3/4 interface Layer 2/3 interface Layer 1/2 interface Host 1Host 2
Network layer terms Protocol: rules and conventions of communication.Protocol: rules and conventions of communication. –May be implemented in hardware or software Peers: entities comprising the corresponding layers on different hosts.Peers: entities comprising the corresponding layers on different hosts. –Peers communicate using the protocol. Interface: defines which primitive operations and services the lower layer offers the upper one.Interface: defines which primitive operations and services the lower layer offers the upper one.
Network Architecture Network Architecture: layers + protocolsNetwork Architecture: layers + protocols –Does not contain... Details of the implementationDetails of the implementation Specification of the interfacesSpecification of the interfaces Protocol Stack: List of protocols used for each layer.Protocol Stack: List of protocols used for each layer. –Lower layers can change without affecting higher layer. Hidden inside
Reading Read in Tanenbaum.Read in Tanenbaum.
Socket Programming Project Steven ’ s text describes the detailsSteven ’ s text describes the details In the recent past we have:In the recent past we have: –Individually developed a server-less “ chat ” program (for Unix) –Using UDP (User Datagram Protocol) in a P2P app. –Each implementation to be interoperable with the others, obeying a common protocol spec Do you have interests or ideas for our project?Do you have interests or ideas for our project?