230 likes | 407 Views
ECE 526 – Network Processing Systems Design. Networking: protocols and packet format Chapter 3: D. E. Comer Fall 2008. Goals. Review important protocols and packet formats Understand packet formats in different layers. Internet reference model Linker layer Network layer
E N D
ECE 526 – Network Processing Systems Design Networking: protocols and packet format Chapter 3: D. E. Comer Fall 2008
Goals • Review important protocols and packet formats • Understand packet formats in different layers ECE 526
Internet reference model Linker layer Network layer Transportation layer Outline ECE 526
Internet Reference Model • Five layer Internet reference model • Multiple protocol can occur at each layer • Question: example protocols in each layer? ECE 526
Example Network Protocols • Linker layer: Ethernet • Network layer: IP • Transport layer: TCP, UDP • We are not interested in physical layer: CSMA … ECE 526
Data Link Layer • Providing communication between adjacent systems • Point-to-point or shared media communication • Specification of media access (e.g., CSMA) • Three types of communication • Unicast: frame destined for single station • Multicast: frame destined for a subset of stations • Broadcast: frame destined for all stations in broadcast domain • Two protocols are important • Ethernet • ATM • We will concentrate on Ethernet ECE 526
Ethernet Frame Processing • Machine access control address (MAC) • Hardware address • 48-bit • Globally unique • Not assigned to computer but Network Interface Card (NIC) • 16-bit frame type: indicating the next layer protocol • 0800 (IP), 0806 (ARP) • Additionally: 64-bit preamble, 32-bit CRC trailer ECE 526
Network Layer: Internet Protocol • Internet Protocol (IP) functionality • Defines basic delivery service throughout the Internet • Provides end-to-end connectivity • Processing by IP routers • Internet packet header: ECE 526
IP Datagram Fields • Which field changed between hops? ECE 526
IP Addressing • 32-bit Internet address assigned to each computer • Virtual, hardware independent value • Prefix identifies network; suffix identifies host • Hosts within a subnet have same address prefix • Example: ECE 131.230.194.*, SIUC 131.230.* • Network address mask to specify boundary between prefix and suffix • Who assigns the prefix? • Internet Assigned Numbers Authority (IANA) sign it to Regional Internet Registries (RIR) • Are IP addresses globally unique? • No, network address translator allow private subnets • Private subnet address space: 192.168.0.0/16, 172.16.0.0/12 and 10.* ECE 526
Addressing Question • What is the difference between Ethernet and IP address? • Software (reconfigurable) vs. hardware (hard coded) • Globally unique or not • IP: prefix and suffix • Why need another address (IP), if Ethernet address is globally unique? • mobility moving the hosts or routers from one network to another • easiness to construct a subnet: prefix and suffix ECE 526
IP Forwarding • Routing Table • Found in both hosts and routers • Stores destination, mask, next hop • Example Routing Table network destination netmask gateway/next hop 131.230.0.0 255.255.0 131.230.193.66 131.230.194.0 255.255.255.0 131.230.194.66 Default 131.230.195. • Route lookup • Takes destination address as arguments • Finds next hop • Uses longest-prefix match ECE 526
IP Related Protocols • Several other protocols support IP: • We’ll cover routing tables with packet processing later ECE 526
Transport Layer • End-to-end protocols for communication between applications • Transport layer is not changed inside the network • How are applications identified? • Port number used for de-multiplexing • Two transport layer protocols • UDP (user datagram protocol) • TCP (transport control protocol) ECE 526
UDP Datagram Format ECE 526
Transport Control Protocol • UDP shortcomings • Unreliable (packet loss) • Packet reordering • No congestion control • No flow control • TCP addresses these problems • Acknowledgements and retransmission timers • Sequence numbers • Congestion and flow control windows ECE 526
TCP Header • Checksum, source and destination ports similar to UDP • Sequence and Acknowledgement is byte count (not packet) ECE 526
TCP Questions • How is a connection between two hosts established? • Three-way handshake • How is reliability ensured when packet is lost? • Packet is not acknowledged, timeout occurs, retransmission. • How is congestion control achieved? • Congestion window is continually increased to use available bandwidth • Congestion window is reduced when packet loss occurs ECE 526
Protocol Encapsulation • Protocols are encapsulated when sent out • Example ECE 526
Address Resolution Protocol • Used to map IP address of a computer to an Ethernet address • Used only within one network • ARP header ECE 526
Questions • Why not one protocol instead of many ones? • different applications need a different functionalities • different protocols solve different problems • easy to debug and design: concentrate one layer only • many protocols is connected by common protocol (IP) • Any cons for layered structure? ECE 526
Summary • Protocols standards • Defines semantics of computer communication • Specify packet formats • Addressing, forwarding • Internet protocols are divided into fiver conceptual layers • Layer 2: ethernet, ARP • Layer 3: IP • Layer 4: TCP, UDP ECE 526
For Next Class • Read Comer Chapter 4 • Computer Architecture: traditional network processing systems implementation ECE 526