570 likes | 582 Views
Explore basic concepts, network structures, layered architecture, and protocols governing communication in today's computer networking landscape. Delve into wired and wireless topologies, mobility, access points, and network types like LAN and WAN. Learn about Internet standards, protocols like TCP/IP, and the OSI model's layered approach. Gain insights into end-to-end communication, protocols for machines, and the encapsulation process. Enhance your understanding of network entities, interfaces, and the seamless flow of data across different layers.
E N D
Today – General Overview • Introduce basic concepts and vocabulary • Networking overview • Internet: • What is the internet • Architecture Layers
What is a Network? • Basically, the collection of elements needed to enable information exchange between people, systems, or people and systems • Hardware • End points, routers, switches.. • Software • Protocols, end applications .. • Transmission media • Wires, air … • Services • Reliability • Completeness of messages
Wired Network Topologies • Bus Network • Token Ring • Star
Wired Network Topologies • Bus Network • Token Ring • Star
Wired Network Topologies • Bus Network • Token Ring • Star • Advantage: • Fault Tolerant • Disadvantage: • lots of wires
Access point • typically connected to a wired network wireless hosts • laptop, PDA, IP phone network infrastructure Mobility in a wireless network
Mobility in a wireless network Ad hoc mode • no base stations • nodes can only transmit to other nodes within link coverage • nodes organize themselves into a network: route among themselves
Network Structure • Local-Area Network (LAN) – designed to cover small geographical area. • Wide-Area Network (WAN) – links geographically separated sites
Internet: “network of networks” Interconnected ISPs protocolscontrol sending, receiving of msgs e.g., TCP, IP, HTTP, Skype, 802.11 Internet standards RFC: Request for comments IETF: Internet Engineering Task Force What’s the Internet ? mobile network global ISP home network regional ISP institutional network Introduction
A closer look at network structure: network edge: hosts: clients and servers servers often in data centers mobile network global ISP home network regional ISP • access networks, physical media: wired, wireless communication links • network core: • interconnected routers • network of networks institutional network Introduction
Network Conversations Requester End-to-end communication Physical link path Network path Replier
What’s a protocol? human protocols: “what’s the time?” “I have a question” introductions … specific msgs sent … specific actions taken when msgs received, or other events network protocols: machines rather than humans all communication activity in Internet governed by protocols protocols define format, order of msgs sent and received among network entities, and actions taken on msg transmission, receipt Introduction
A Layered Architecture… also known as a Stack of Protocols • LAYERS: Each system is viewed logically as composed of an ordered set of subsystems. • INTERFACE: Adjacent subsystems in the vertical hierarchy (the layers) communicate through a common boundary. • ENTITIES: Functional module of each layer. Entities in the same layer but installed on different systems are called “peer” entities. • PROTOCOLS: Peer entities communicate through peer “protocols” at the appropriate (containing) layer.
The OSI Reference Model • Open Systems Interconnection, OSI • Adopted as an international standard in 1983 • identifies functions and services that are fundamental to providing reliable, cost-effective, secure, and transparent communications • defines the concept of layered architecture in terms of functions, services, and protocols • became a framework for defining standards for linking heterogeneous computers… NO precise definition of how the functions would be accomplished • is the basis for connecting “open” systems for distributed application processing by creating and implementing a protocol stack
Internet protocol stack application: supporting network applications FTP, SMTP, HTTP transport: process-process data transfer TCP, UDP network: routing of datagrams from source to destination IP, routing protocols link: data transfer between neighboring network elements Ethernet, 802.111 (WiFi), PPP physical: bits “on the wire” Application Transport Network Link Physical Introduction
server browser TCP TCP Network Network Link Link Phys Phys Up and Down the Layers HTTP msg TCP segment pkt Network Link Link frm Phy Phys bits Relay Node Open System B Open System A router
User Data IP hdr TCP segment Linkhdr Network segment MAC trlr MAC hdr Link layer segment MAC frame View of Encapsulation TCP hdr
TCP/IP Message Flow HTTP messages Application Layer Application Layer TCP segments Transport Layer Transport Layer Service Access Point IP packets Network Layer Network Layer Ethernet frames Data Link Layer Data Link Layer Interface Physical Layer Physical Layer bits
Payload Network layer hdr Payload Link Layer hdr Payload MAC hdr MAC trlr Payload MAC frame User Message Application Layer Application hdr Transport layer hdr
Creating a network app write programs that: run on (different) end systems communicate over network e.g., web server software communicates with browser software no need to write software for network-core devices network-core devices do not run user applications applications on end systems allows for rapid app development, propagation application transport network data link physical application transport network data link physical application transport network data link physical Application Layer
Client-server architecture server: • always-on host • permanent IP address • data centers for scaling clients: • communicate with server • may be intermittently connected • may have dynamic IP addresses • do not communicate directly with each other client/server Application Layer
P2P architecture peer-peer • no always-on server • arbitrary end systems directly communicate • peers request service from other peers, provide service in return to other peers • self scalability – new peers bring new service capacity, as well as new service demands • peers are intermittently connected and change IP addresses • complex management Application Layer
data integrity some apps (e.g., file transfer, web transactions) require 100% reliable data transfer other apps (e.g., audio) can tolerate some loss timing some apps (e.g., Internet telephony, interactive games) require low delay to be “effective” What transport service does an app need? throughput • some apps (e.g., multimedia) require minimum amount of throughput to be “effective” • other apps (“elastic apps”) make use of whatever throughput they get security • encryption, data integrity, … Application Layer
DNS services hostname to IP address translation host aliasing canonical, alias names mail server aliasing load distribution replicated Web servers: many IP addresses correspond to one name DNS: domain name system Domain Name System: distributed database implemented in hierarchy of many name servers application-layer protocol: hosts, name servers communicate to resolvenames (address/name translation) note: core Internet function, implemented as application-layer protocol complexity at network’s “edge” Application Layer
Root DNS Servers org DNS servers edu DNS servers com DNS servers poly.edu DNS servers umass.edu DNS servers pbs.org DNS servers yahoo.com DNS servers amazon.com DNS servers DNS: a distributed, hierarchical database … … client wants IP for www.amazon.com; 1st approx: • client queries root server to find com DNS server • client queries .com DNS server to get amazon.com DNS server • client queries amazon.com DNS server to get IP address for www.amazon.com Application Layer
process: program running within a host within same host, two processes communicate using inter-process communication (defined by OS) processes in different hosts communicate by exchanging messages client process:process that initiates communication server process:process that waits to be contacted Processes communicating clients, servers • aside: applications with P2P architectures have client processes & server processes Application Layer
Sockets • process sends/receives messages to/from its socket • socket analogous to door • sending process shoves message out door • sending process relies on transport infrastructure on other side of door to deliver message to socket at receiving process application application socket controlled by app developer process process transport transport controlled by OS network network link Internet link physical physical Application Layer
to receive messages, process must have identifier host device has unique 32-bit IP address Q: does IP address of host on which process runs suffice for identifying the process? identifierincludes both IP address and port numbers associated with process on host. example port numbers: HTTP server: 80 mail server: 25 to send HTTP message to gaia.cs.umass.edu web server: IP address:128.119.245.12 port number:80 Addressing processes • A: no, many processes can be running on same host Application Layer
Payload Network layer hdr Payload Link Layer hdr Payload MAC hdr MAC trlr Payload MAC frame User Message Transport layer Application hdr Transport layer hdr
providelogical communication between app processes running on different hosts transport protocols run in end systems send side: breaks app messages into segments, passes to network layer rcv side: reassembles segments into messages, passes to app layer more than one transport protocol available to apps Internet: TCP and UDP application transport network data link physical application transport network data link physical logical end-end transport Transport services and protocols TransportLayer
reliable, in-order delivery (TCP) congestion control flow control connection setup unreliable, unordered delivery: UDP no-frills extension of “best-effort” IP services not available: delay guarantees bandwidth guarantees application transport network data link physical application transport network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical logical end-end transport Internet transport-layer protocols TransportLayer
TCP service: reliable transportbetween sending and receiving process flow control: sender won’t overwhelm receiver congestion control: throttle sender when network overloaded does not provide: timing, minimum throughput guarantee, security connection-oriented: setup required between client and server processes UDP service: unreliable data transfer between sending and receiving process does not provide: reliability, flow control, congestion control, timing, throughput guarantee, security, orconnection setup, Q: why bother? Why is there a UDP? Internet transport protocols services Application Layer
Payload Network layer hdr Payload Link Layer hdr Payload MAC hdr MAC trlr Payload MAC frame User Message Network layer Application hdr Transport layer hdr
transport segment from sending to receiving host on sending side encapsulates segments into datagrams on receiving side, delivers segments to transport layer network layer protocols in everyhost, router router examines header fields in all IP datagrams passing through it network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical application transport network data link physical application transport network data link physical Network layer Network Layer
Routing Strategies • Fixed routing - A path from A to B is specified in advance; path changes only if a hardware failure disables it • Since the shortest path is usually chosen, communication costs are minimized • Virtual circuit - A path from A to B is fixed for the duration of one session. Different sessions involving messages from A to B may have different paths • Partial remedy to adapting to load changes • Ensures that messages will be delivered in the order in which they were sent
high-seed switching fabric Router architecture overview two key router functions: • run routing algorithms/protocol (RIP, OSPF, BGP) • forwarding datagrams from incoming to outgoing link forwarding tables computed, pushed to input ports routing processor routing, management control plane (software) forwarding data plane (hardware) router input ports router output ports Network Layer
Q: how are interfaces actually connected? A: Happens in the link layer 223.1.1.2 223.1.3.27 IP addressing: introduction 223.1.1.1 223.1.2.1 223.1.1.4 223.1.2.9 223.1.1.3 223.1.2.2 A: wired Ethernet interfaces connected by Ethernet switches 223.1.3.2 223.1.3.1 For now: don’t need to worry about how one interface is connected to another (with no intervening router) A: wireless WiFi interfaces connected by WiFi base station Network Layer
NAT: network address translation rest of Internet local network (e.g., home network) 10.0.0/24 10.0.0.1 10.0.0.4 10.0.0.2 138.76.29.7 10.0.0.3 datagrams with source or destination in this network have 10.0.0/24 address for source, destination (as usual) all datagrams leaving local network have same single source NAT IP address: 138.76.29.7,different source port numbers Network Layer
Routing Strategies (Cont.) • Dynamic routing - The path used to send a message form site A to site B is chosen only when a message is sent • Usually a site sends a message to another site on the link least used at that particular time • Adapts to load changes by avoiding routing messages on heavily used path • Messages may arrive out of order • This problem can be remedied by appending a sequence number to each message
Connection Strategies • Circuit switching - A permanent physical link is established for the duration of the communication (i.e., telephone system) • Message switching - A temporary link is established for the duration of one message transfer (i.e., post-office mailing system) • Packet switching - Messages of variable length are divided into fixed-length packets which are sent to the destination • Each packet may take a different path through the network • The packets must be reassembled into messages as they arrive • Circuit switching requires setup time, but incurs less overhead for shipping each message, and may waste network bandwidth • Message and packet switching require less setup time, but incur more overhead per message
Contention Several sites may want to transmit information over a link simultaneously. Techniques to avoid repeated collisions include: • CSMA/CD - Carrier sense with multiple access (CSMA); collision detection (CD) • A site determines whether another message is currently being transmitted over that link. If two or more sites begin transmitting at exactly the same time, then they will register a CD and will stop transmitting • When the system is very busy, many collisions may occur, and thus performance may be degraded • CSMA/CD is used successfully in the Ethernet system, the most common network system
Contention (Cont.) • Token passing - A unique message type, known as a token, continuously circulates in the system (usually a ring structure) • A site that wants to transmit information must wait until the token arrives • When the site completes its round of message passing, it retransmits the token • A token-passing scheme is used by some IBM and HP/Apollo systems • Message slots - A number of fixed-length message slots continuously circulate in the system (usually a ring structure) • Since a slot can contain only fixed-sized messages, a single logical message may have to be broken down into a number of smaller packets, each of which is sent in a separate slot • This scheme has been adopted in the experimental Cambridge Digital Communication Ring
Payload Network layer hdr Payload Link Layer hdr Payload MAC hdr MAC trlr Payload MAC frame User Message Link Layer of Encapsulation Application hdr Transport layer hdr
terminology: hosts and routers: nodes communication channels that connect adjacent nodes along communication path: links wired links wireless links LANs layer-2 packet: frame,encapsulates datagram Link layer: introduction global ISP data-link layer has responsibility of transferring datagram from one node to physically adjacent node over a link Link Layer
Link layer services • framing, link access: • encapsulate datagram into frame, adding header, trailer • channel access if shared medium • “MAC” addresses used in frame headers to identify source, dest • different from IP address! • reliable delivery between adjacent nodes • we learned how to do this already (chapter 3)! • seldom used on low bit-error link (fiber, some twisted pair) • wireless links: high error rates • Q: why both link-level and end-end reliability? Link Layer
Link layer services (more) • flow control: • pacing between adjacent sending and receiving nodes • error detection: • errors caused by signal attenuation, noise. • receiver detects presence of errors: • signals sender for retransmission or drops frame • error correction: • receiver identifies and corrects bit error(s) without resorting to retransmission • half-duplex and full-duplex • with half duplex, nodes at both ends of link can transmit, but not at same time Link Layer
in each and every host link layer implemented in “adaptor” (aka network interface card NIC) or on a chip Ethernet card, 802.11 card; Ethernet chipset implements link, physical layer attaches into host’s system buses combination of hardware, software, firmware application transport network link link physical Where is the link layer implemented? cpu memory host bus (e.g., PCI) controller physical transmission network adapter card Link Layer