400 likes | 514 Views
Computer Networks. Chapter 1 - Fundamentals. Computer Networks. Need to share Information Resources Communication vs. Storage Transmission across: Space (communication) Time (storage). Virtuality. Architecture Layered Hierarchical Algorithms Information hiding, ADTs, objects
E N D
Computer Networks Chapter 1 - Fundamentals CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
Computer Networks • Need to share • Information • Resources • Communication vs. Storage Transmission across: • Space (communication) • Time (storage) CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
Virtuality • Architecture • Layered • Hierarchical • Algorithms • Information hiding, ADTs, objects • Protocols • Distributed coordination algorithms • Programs • Modularity CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
Layered vs. Hierarchical • Both • Peer-to-peer communication • Encapsulation • Protocol = common language/behaviors • Layered • Layer i serves layer i+1 ONLY • Layer i gets service from layer i-1 ONLY • Hierarchical • Lower layers serve higher layers CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
Layered vs. Hierarchical • Issues • Flexibility • Efficiency • Modularity • Maintainability • Scalability/manageability • Future adaptability CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
Comparative Architectures 7 - Application Application User Network Application Functional Management Data Services 6 - Presentation 5 - Session Network Services Protocol Data Flow Control 4 - Transport Transmission Ctl 3 - Network Path Control Transport 2 – Data Link DDCMP Data Link Control 1 - Physical Physical 1 - Physical ISO - OSI DEC - DECnet IBM - SNA CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
OSI Reference Architecture • Physical (L1 = PHY) • Data Link (L2 = MAC/Link) • Network (L3) • Transport (L4) • Session (L5) • Presentation (L6) • Application (L7) CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
PHY Layer • Hardware • Physical manipulation of medium (modulation) • Physical sensing of medium (detection) • Low level synchronization (bits/symbols/frames) • Forward error correction/error detection • Mechanical/electrical interconnect and medium CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
Link Layer • Firmware • Framing • Addressing • Medium access control (MAC) • Backward error detection/correction • Reliable delivery of frames from one STA to a directly connected STA • Pacing • Upward multiplexing CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
Network Layer • Software/firmware • Packets/cells • Routing • Packet fragmentation/reassembly • Backward error correction • Delivery of frames from source to an indirectly connected destination • Congestion control CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
Transport Layer • Software on end host: End-to-end layer • Reliable communication stream • Messages • Byte stream • Ordering • BEC • Upward Multiplexing • Delivery of messages/byte stream from source process to destination process • Congestion control CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
Session Layer • Software on end host: end-to-end layer • Stream management • Dialog control • Packet chaining (atomic delivery) • Downward Multiplexing • Authentication • Connection-oriented CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
Presentation Layer • Software on end host • Common utilities • Encryption • Compression • Uniform formatting (XML, ASN.1,…) • Standardized representations • Interfacing to local resources CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
Application Layer • Software on end host • Specific application programs • FTP • Remote terminal (rlogin, telnet, ssh,…) • Email • HTTP • May also be layered in distributed software system CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
M M H H H H H H H H H H H H t l t l n t t t n n t n M M M M application transport network link physical application transport network link physical M M Encapsulation • Receive SDU from higher layer • Hide uninterpreted SDU as payload of PDU source destination message datagram segment frame (thanks – Kurose & Ross) CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
End-to-end Data Transport (thanks – Kurose & Ross) CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
Service Models • Interface • Connectionless • Connection-oriented • Reliability • Best effort • Reliable • Combinations CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
Service Interface • Interface • Connectionless: memoryless • Send packet • Receive packet • Connection-oriented: stateful • Initialize (set up connection) • Use (send/receive) • Close (release state) CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
Service Reliability • Reliability • Best effort • Lost packets • Duplicate packets • Delayed/reordered delivery • Damaged packets • Reliable • Undamaged packets • All packets sent delivered in timely fashion • Delivered in order sent CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
Message Conventions Request/Confirm Indication/Response 8 - CNF 5 - RSP 4 - IND 1-REQ 2,3 6,7 7 - Rx 6 - Tx 2 - Tx 3 - Rx CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
Combining Service Models Connectionless Connection-Oriented UDP, IP, IPX, CLNP, DECnet, Appletalk, CLNS,… ATM Best Effort TCP, X.25, CONS Reliable ??? CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
Network Service vs. Implementation Implementation Service Connectionless Connection-Oriented Connectionless UDP, CLNS ??? X.25, ATM, CONS, SNA Connection-Oriented TCP, DNA CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
Network Properties • Scope • Scalability • Robustness • Autoconfigurability • Tweakability • Determinism • Migration CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
Network Properties - Robustness • Types of Errors • Link/node failure • Data errors (esp. undetected!) • S/W errors • H/W errors • Human Errors • Features CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
Network Properties - Robustness • Types of Errors • Features • Safety Barriers • Self-stabilization • Fault detection • Byzantine robustness CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
Reliable Data Transfer • Models • Errors • Receiver capacity • Requirements • Duplexity • Timers • State CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
Data Transfer Model • Events • What can happen at node, channel • Frames • What do they hold • Duplexity • Simplex, half duplex, full duplex • Time costs • What does it take to complete transfer • Metrics • How do we measure the costs CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
Data Transfer - Events • Node • New frame to send from HLE • Frame/ACK arrival – good frame • Frame/ACK arrival – damaged frame • Timeout • Attempt to receive next frame by HLE • Channel • Error – damage frame • Error – lose frame CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
Data Transfer - Frames • Forward Control Info • Type • Sequence number • Timestamp • Length • Addressing • Error Detection (FCS) • Reverse Control Info • ACKs • Flow control/pacing • Piggybacking • Information • payload Dst Src Type SN TS Len … Payload FCS CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
Channel Model - Duplexity B A B B A A • Simplex – only one way • Half duplex – one way at a time • Full duplex – simultaneously both ways Simplex Half Duplex Full Duplex CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
Data Transfer - Delays Src Dest • Processing • Source • Destination • Transmission • Time to put bits on wire • Propagation • Time for bit to traverse channel Tx REQ Src Proc Transmission Data frame Propagation Dest Proc ACK Tx Propagation ACK frame Rx REQ Src Proc Tx CNF Rx CNF CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
Data Transfer - Metrics • Utilization • Time sending info/total time • Storage requirements • At source • At destination • Channel type • duplexity • Timers • Retransmission • ACK transmission CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
Reliable Data Xfer - Utopia Src Dest • Infinitely fast receiver • Simplex channel • No errors • 100% utilization by protocol CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
Stop&Wait Data Xfer - Pacing Src Dest • Finitely fast receiver • Half duplex channel • No errors • <100% utilization by protocol • UProtocol = TTx/Tcycle • TTx= L (bits)/R (bps) • Tcycle = TTx+Tprop+Tproc+ Tprop+Tproc Data time OK Cycle time OK CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
Reliable Data Xfer – PAR(Positive ACK and Retransmit) Src Dest • Finitely fast receiver • Full duplex channel • Channel errors • Utilization factor due to errors • Uerrors = Tgood/ Tgood+ Tbad • U = Uprotocol x Uerrors ACK - X * ACK - CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
Reliable Data Xfer – PARneed for sequence numbers Src Src Dest Dest Frame 1 Frame 1 ACK ACK ACK - - Frame 2 Frame 2 X X Missing ACK Missing ACK Missing ACK * * Frame 2 - duplicate Frame 2 - duplicate ACK ACK - - CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
Reliable Data Xfer – 1-bit ARQ Src Src Dest Dest Frame 0 Frame 0 ACK 1 ACK 1 accept accept - - Frame 1 Frame 1 X ACK 0 accept X Missing ACK Missing ACK Missing ACK * * Frame 1 Frame 1 discard duplicate ACK 0 accept ACK 0 - - CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
Reliable Data Xfer – GBN ARQ Src Dest • Multiple sequence #’s • Channel errors • Discard out of order frames on Rx • Resend all frames from missing on forward • Rx buffer size of 1 • Tx buffer size of N D 0 D 1 Accept D0 ACK 1 D 2 Accept D1 ACK 2 Accept D2 ACK 3 D 4 Missing D3 D 5 ACK 3 Discard D4 ACK 3 Discard D5 * D 3 (resent) D 4 Accept D3 ACK 4 D 5 - ACK 5 Accept D4 ACK 6 Accept D5 CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
Reliable Data Xfer – SR ARQ Src Dest • Multiple sequence #’s • Channel errors • Buffer out of order frames on Rx • Resend only missing frame • Rx buffer size of N • Tx buffer size of k D 0 D 1 Accept D0 ACK 1 D 2 Accept D1 ACK 2 Accept D2 ACK 3 D 4 Missing D3 D 5 ACK 3 Buffer D4 ACK 3 Buffer D5 * D 3 (resent) Accept D3 ACK 6 - D 6 D 7 Accept D6 ACK 7 ACK 8 Accept D7 CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
Protocol Utilization –ARQ Src Dest • Protocol util. depends on k Uproto= kT/(T+2t) T = Tx time = D/R t = propagation delay • Uproto= k/(1+2a) a = t /T = t /(D/R) • Utilization factor due to errors varies T data t T cycle CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman