* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Chapter 6 - Towson University
IEEE 802.1aq wikipedia , lookup
Asynchronous Transfer Mode wikipedia , lookup
Net neutrality law wikipedia , lookup
Computer network wikipedia , lookup
Piggybacking (Internet access) wikipedia , lookup
Multiprotocol Label Switching wikipedia , lookup
Wake-on-LAN wikipedia , lookup
SIP extensions for the IP Multimedia Subsystem wikipedia , lookup
Deep packet inspection wikipedia , lookup
Internet protocol suite wikipedia , lookup
Zero-configuration networking wikipedia , lookup
Recursive InterNetwork Architecture (RINA) wikipedia , lookup
Cracking of wireless networks wikipedia , lookup
Internet Protocol: Connectionless Datagram Delivery (IPv4) Chapter 6 1 Have looked at HW & SW that make internet communication possible Now begin looking at IP    Internet Protocol Provides connectionless delivery IP datagrams form basis for all internet communication 2 Internet Philosophy Focus: interface internet provides to users  Not on the interconnection technology User sees single virtual network  Underlying architecture is hidden and irrelevant Conceptually, TCP/IP provides three sets of services: Application Services Reliable Transport Service Connectionless Packet Delivery Service 3 Protocol SW can be associated with each   Instead, consider them conceptual internet parts Embody philosophical underpinnings of design Internet SW designed around the conceptual services Surprisingly robust and adaptable architecture Adv of conceptual separation  Can replace one service without disturbing others R&D can proceed concurrently on all three 4 Connectionless Delivery System Most fundamental internet service:  Packet delivery system Technically, the service is:  Unreliable Packet can be lost, duplicated, delayed, out-of-order No notification of such problems  Best-effort Makes earnest attempt to deliver  Connectionless Packets treated independently 5 Purpose of the IP IP: protocol that defines delivery service  Specifies basic unit of transfer Exact format of data  Performs the routing function Chooses the paths for packets  Includes rules for unreliable packet delivery How hosts and routers process packets How and when error messages are generated When packets can be discarded 6 Internet Datagram Physical network:  Unit of transfer is frame Contains header and data Internet  Unit of transfer is Internet datagram IP datagram or datagram Contains header and data Header difference:  IP addresses versus physical addresses 7 IP Datagram Datagram Header Datagram Data Area Datagram format 0 4 VERS 8 HLEN 16 Service Type 24 31 Total Length Identification Time to Live 19 Flags Protocol Fragment Offset Header Checksum Source IP Address Destination IP Address IP Options (if any) Padding Data ... 8 Service Type field:  Originally 0 1 2 PRECEDENCE  3 4 5 D T R 6 7 UNUSED Precedence 0-7 Routers use 6 or 7 (info goes thru during congestion)    D: low delay T: high throughput R: high reliability 9  Later 0 1 2 3 CODEPOINT   4 5 6 7 UNUSED Differential Services interpretation Have 8 ordered classes when of form: xxx000 Just like previous precedence 6 or 7 goes to high priority class of service  Codepoint values divided into 3 groups: xxxxx0 : assigned by Standards organization xxxx11 : local or experimental xxxx01 : local or experimental for now 10 Regardless of the interpretation:   Service type specification is a hint to the routing algorithm Chose among various paths based on: Local policies Knowledge of technologies available on the paths  No guarantee to provide a type of service 11 Datagram Encapsulation How long can a datagram be?   Handled by SW (not HW) Any length protocol designers want IPv4 has 16 bits for total length field  Limit is 65,535 octets But, want efficient transportation  Map abstract physical packet to real packet 12 Encapsulation:    Idea to carry 1 datagram in 1 network frame Underlying HW not concerned with datagram One machine to another: datagram is in the data portion of a frame Datagram Header  Frame Header Datagram Data Area  Frame Data Area 13 Ideal: entire IP datagram in one frame    Would need maximum datagram size What would that be? Look at network hardware: MTU: maximum transfer unit      Ethernet: 1500 octet MTU FDDI: 4470 octet MTU Some hardware: 128 octets or less Limit to smallest: inefficient If bigger than MTU: need multiple frames 14 Design goal: convenience for user  Not worry about physical network constraints Solution:   Pick convenient initial datagram size Have way to divide up for small MTU Pieces of divided datagram: fragments Process of dividing: fragmentation 15 Fragmentation usually occurs along the path Host A Host B Net 1 Net 3 MTU=1500 MTU=1500 R1 Net 2 R2 MTU=62 0 16 Fragments sized for one per frame Size is a multiple of eight  Last piece may be shorter than rest Fragments must be reassembled  Datagram must be rebuilt before processing IP does not limit datagrams to small size     Source can choose any size Fragmentation and reassembly are automatic Routers must accept datagrams up to max size of MTU’s of attached networks Routers must handle datagrams up to 576 octets Each piece formatted like original datagram 17 Datagram Header (600 octets) Fragment1 Header Data1 Fragment 1 (offset 0) Fragment2 Header Data2 Fragment 2 (offset 600) Fragment3 Header Data1 Data3 Data2 (600 octets) Data3 (200 octets) Fragment 3 (offset 1200) Fragment header mostly the same as datagram header  Bit in the FLAGS field; Value in TOTAL LENGTH field; checksum 18 Reassembly of Fragments Reassembly after each hop or at end? TCP/IP: once fragmented, stays that way  Reassemble at ultimate destination (host) Two disadvantages:   Inefficient if other networks have higher MTU Probability of datagram loss increases with more fragments Advantages:   Fragments can be routed independently Intermediate routers do not have to store or reassemble 19 Fragmentation Control Three datagram header fields control fragmentation and reassembly:  Identification Unique integer to ID the datagram  Fragment Offset Offset in original datagram of data being carried  Flags Use two low-order bits of 3-bit field 1st bit: if set, means do not fragment Low bit: more fragments bit 20 Time to Live (TTL) TTL specifies how long, in seconds, datagram is allowed to remain in the internet system    Router & hosts that process must decrement TTL Remove when time expires Each router decrements TTL by 1 If long delay, decrement by number seconds there  When TTL = 0, discard and send error message Guarantees datagram not be around forever Mostly, TTL acts as hop limit  Rather than estimate of delay 21 Other Datagram Header Fields PROTOCOL   Tells which high-level protocol used in creation Specifies format of data area HEADER CHECKSUM     Ensures integrity of header values Only applies to header, not data Adv: Header smaller; routers only worry about headers Higher level protocols choose own data checksum scheme Disadv: Higher level protocols must add their own data checksum 22 SOURCE IP ADDRESS DESTINATION IP ADDRESS   Contain 32-bit IP addresses of sender & recipient Never change when going through routers IP OPTIONS   Variable length PADDING field depends upon options selected 23 Datagram Options IP OPTIONS field not required   Used mostly for network testing and debugging Option processing is integral part of IP protocol Field length varies based on options selected   Options appear contiguously; no separators Each option: Consists of single octet option code Followed by single octet length & set of data octets 24 Option code octet divided into three fields 0 Copy  1 2 Option Class 3 4 5 6 7 Option Number COPY flag controls how routers treat options during fragmentation Set to 1: copy options to all fragments Set to 0: only copy into first fragment  CLASS & NUMBER fields specify general option class and a specific option in the class Class 0: datagram or network control Class 1: Reserved for future use Class 2: Debugging and measurement Class 3: Reserved for future use 25 Record Route Option Source creates empty list of IP addresses  Each router adds its IP address to the list Format: 0 8 Code (7) 16 Length 24 31 Pointer First IP Address Second IP Address ... 27 Original source must allocate enough space for the addresses When a machine handles the datagram:  Compare pointer and length fields Pointer > length: list full (not add address) Otherwise: put 4-octet IP address at pointer position and increment pointer Source and destination must agree to use   Source enable option Destination agree to process resulting list 28 Source Route Option Sender can dictate path through the internet Format: 0 Code (137) 8 16 Length 24 31 Pointer IP Address of first hop IP Address of second hop ...   Test throughput over particular network Average user would not know topology 29 Strict source routing:   Addresses specify exact path Path between addresses must be a single network Loose source routing   Datagram must follow sequence of IP addresses May be multiple hops between addresses Processing similar to record route option  When router follows an IP address, it replaces the IP address with its own address 30 Timestamp Option Initially empty list Each router adds:   32-bit IP address 32-bit integer timestamp 0 8 Code (68) 16 Length 24 Pointer Oflow 31 Flags First IP Address First IP Timestamp ... 31 Oflow (4-bits)  Integer count of routers that could not timestamp Flags (4-bits)  Controls format of the option 0: Record timestamp only; omit IP addresses 1: Precede each timestamp by an IP address 3: IP addresses are specified by sender; a router only records a timestamp if the next IP address in the list matches the router’s IP address 32 Timestamps tell when router handled the datagram   Expressed as milliseconds since midnight Based on Universal Time (Greenwich Mean Time) All computer clocks not necessarily synchronized   Local clocks may differ Should be treated as estimates Why not just use record route option?   Eliminates ambiguity Receiver knows exactly which path the datagram followed 33 Processing Options During Fragmentation COPY bit in CODE field    Replicates some options in all fragments Places some in only one fragment Ex: Recording the datagram route Not all fragments will follow the same route Reassembly would produce conflicting lists Only put in one fragment  Ex: Source route option Must be replicated for all fragments to follow same route 34 Summary Fundamental TCP/IP service is     Connectionless Unreliable Best-effort Packet delivery IP formally specifies internet packet format  Called datagram 35 Like physical frame, datagram has header and data  Header contains: Source and destination IP addresses Fragmentation control Precedence Checksum Options field  Variable in length  Intended to help monitor and control an internet 36
 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
                                             
                                             
                                             
                                             
                                             
                                             
                                             
                                             
                                             
                                             
                                            