Download presentation
Presentation is loading. Please wait.
1
Chapter 7: The Infamous IP
Dr. Clincy Lecture
2
Position of IP in TCP/IP protocol suite
Packets in the IP layer are called datagrams IP is an unreliable and connectionless datagram protocol To make IP reliable, TCP protocol is added Dr. Clincy Lecture
3
IP datagram IP datagram is variable length consisting of two parts (header, data) Header is bytes & contains routing and deliver info Ver – version of IP HLEN – header length – total length of the header field (in 4-byte words or units) Service type – now called Differentiated Services – tells the service type (ie. ftp, dns, telnet, etc..) – will come back to this Total length – defines the total length of the datagram including the header – need this to determine if padding is needed – recall Ethernet frame can range bytes – so if the IP datagram is less than 46 bytes (need padding) Identification – used for fragmentation – networks that are not able to encapsulate the full IP datagram will need to fragment – will come back to this Flags – used for fragmentation – will come back to this Fragmentation offset – used for fragmentation – will come back to Time to live – datagram life time as it travels – used to control the number of hops (routers) a datagram can traverse – fix infinite loop problems Protocol – defines the higher level protocol (ie. TCP, UDP, ICMP, ICMP, etc..) that’s using the service of the IP layer – since the IP Muxes data from the Transport layer – this field is used to demux Dr. Clincy Lecture
4
IP datagram Header cont…
Header Checksum – error checking (will cover later) Source Address – IP address of the source (remain unchanged as data traverses) Destination Address - IP address of the destination (remain unchanged as data traverses) Option – are not required for every datagram – used for network testing and debugging – will cover in more detail later Dr. Clincy Lecture
5
FRAGMENTATION Recall we stated that networks that are not able to encapsulate the full IP datagram will need to fragment As the datagrams travel through the network hitting various Routers – the router “decapsulates” the IP datagram from the frame The router then processes it Then the router encapsulates it in another frame This is how routers are able to communicate with various networks Router 1 Router 2 Network 1 Network 2 Network 3 Dr. Clincy Lecture
6
MTU Each Data Link Protocol has it own frame format – one field defines the max size of the data field – when datagram is encapsulated, the total size of the datagram must not exceed that max size (why ??? - HW/SW limitations of the physical network) That value is called a MTU (maximum transfer unit) The largest possible MTU is 65,535 and if this is used – it makes the IP protocol independent of the underlying physical network If any other MTU is used, there will be cases possibly where the datagram needs to be fragmented in order to pass through that network As it passes through the network, a previous fragment can be fragmented again if that physical network has a smaller MTU Dr. Clincy Lecture
7
Flag field Fields related to the fragmentation are the ID field, flags field and fragmentation offset field Id – combo of the Id and source Ip address (IP protocol used a counter to label datagram) Flags: 1st reserved, if D set, can’t fragment (must drop if can’t pass), if D=0, can fragment. If M is set, means more fragments exist Fragment offset – shows relative position of the fragment with respect to the whole datagram Dr. Clincy Lecture
8
Fragmentation example
Take a datagram of original size 4000 bytes (byte 0 to 3999) and fragment it into 3 fragments The fragment offset is measured in units of 8 bytes. So the first offset would be 0/8=0 since the starting byte position is 0 The second starting byte position is 1400 and therefore the offset is 1400/8= 175 The third starting byte position is 2800 and therefore the offset equals 2800/8=350 This is done to ensure the offset can fit in the 13-bit field Routers/Hosts that fragment must pick a size of each fragment so that the 1st byte is divisible by 8 (ie. 0, 8, 16, 24 ……696 …… 1400 …… ……… 2800 … etc) Dr. Clincy Lecture
9
Total Length Id isn’t changing
Detailed example Total Length Id isn’t changing Allow “more” fragmentation XDM D=1, can’t frag D=0, can frag M=1, more frag exist M=0, no more frag exist offset Dr. Clincy Lecture
10
Re-assembly Even if the fragments arrived to the destination out-of-order, the destination host could reassemble by: The 1st fragment always has an offset of zero If the 1st fragment’s length is divided by 8, it equals to the 2nd fragment’s offset If the 1st and 2nd fragments’ total length are divided by 8, it equals to the 3rd fragment’s offset Continue … The last fragment’s “more” bit should be set to 0 – meaning no more fragments remaining Dr. Clincy Lecture
11
Recall - IP datagram IP datagram is variable length consisting of two parts (header, data) Header is bytes & contains routing and deliver info Haven’t covered options yet Option – are not required for every datagram – used for network testing and debugging – will cover in more detail later Dr. Clincy Lecture
12
Option format Composed of a 1-byte code field, a 1-byte length field and a variable-sized data field Length field defines the total length of the option (including the code field) Data field contains the data of the specific option – some option types don’t require data Code field is 8-bits long and contains 3 subfields: copy, class and number Copy: controls presence of option. If 0, means copy options to the first fragment only; if 1, means copy option to all fragments Class: defines general purpose of options. If 00, options is used for datagram control; if 10, options used for management and debugging. Number: defines the type of option. As of now, only 6 types defined Dr. Clincy Lecture
13
Regarding the Number field
Number: defines the type of option. As of now, only 6 types defined 2 of the option types are 1-byte in size (doesn’t need length and data fields) 4 of the options are multiple-byte and require the length and data fields Used as a filler between options (using a 16-bit or 32-bit boundary) – know the starting point of the next option Used at the end of the last option for padding Record the Internet routers that can handle the datagram ( can list up to 9 router IP addresses) Used by the source to predetermine a route for a datagram as it traverses Used by the source to predetermine a route too (but more relaxed than the Strict Source Route Option) Record the time the datagram is processed by a router Dr. Clincy Lecture
14
Regarding the Record route option
The Tx creates a placeholder for the visited routers to fill in their IP addresses The pointer field is used to point to the first empty entry so the router knows where to enter it’s outgoing IP address (address the datagram is leaving) Dr. Clincy Lecture
15
Record route concept Can have only 3 IP addresses because of 12+3=15
Outgoing IP address Pointer field value of 4 when starting out Increment pointer Dr. Clincy Lecture
16
Regarding the Strict source route option
Option used by the source to predetermine a route for the datagram as it traverses the Internet In this case, the routers are specified up front in dictating the specific route. All routers MUST be visited – if other routers are visited, the datagram is dropped) – if all of the listed routers are not visited, the datagram is dropped Routers are entered by the sender Why: security, distinguish among different networks, don’t want certain traffic to leave your network, etc. Dr. Clincy Lecture
17
Loose source route option
Similar to the Strict Source Route Option but more relaxed In this case, the routers are specified up front and all MUST be visited ( however, other routers can be visited too) Dr. Clincy Lecture
18
Timestamp option Used to record the time of datagram processing by a router (expressed in milliseconds from midnight) Use this to track the routers’ behavior – time from one router to the next O-flow: # of routers that could not add their timestamp Flags: dictates what the router should do (ie. add timestamp, add timestamp & IP address, etc..) Dr. Clincy Lecture
19
CHECKSUM The error detection method used by most TCP/IP protocols is called checksum The checksum protects against bit corruption that could possibly occur during transmission Checksum calculated at the Tx and is appended with the sent data The Rx repeats the calculation in determining if the data is correct or not Give them an analogy in base-10 Dr. Clincy Lecture
20
To create the checksum the sender does the following:
1. The packet is divided into k sections, each of n bits (usually 16) 2. All sections are added together using one’s complement arithmetic. 3. The final result is complemented to make the checksum. Checksum process at the receiver is as follows: The received packet is divided into k sections All sections are added together 3. The final result is complemented and should equal zero if correct NOTE: value + (-value) = 0 Dr. Clincy Lecture
21
When to apply the checksum
For IP datagram, Checksum is used on the header only (and not the data) The header needs to be check because it’s changing router-to-router (the data itself is static) Recall that the higher-level protocols encapsulate data into the datagram and uses their own checksum Dr. Clincy Lecture
22
Recall Binary Addition
1010 (neg 5) +0010 (pos 2) 1100 (neg 3) 1101 (neg 2) +0111 (pos 7) 10100 (overflow – add the 1 back) 0101 (pos 5) Recall complement 0011 Dr. Clincy Lecture
23
ROUTING IP OVER ATM The IP packet is encapsulated in cells (not just one). An ATM network has its own definition for the physical address of a device. Binding between an IP address and a physical address is attained through a protocol called ATMARP. Each Router has an IP address which associates with the packet-switch side of the network (Internet) The ATM side of the router uses its own 20-byte physical ATM address And in guiding the cells across the ATM network, Virtual Circuit Identifiers are used In a LAN case, broadcasting is used by ARP – in a ATM case, broadcasting can’t be used – another approach is needed - ATMARP Dr. Clincy Lecture
24
Go Over Final Project Dr. Clincy Lecture
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.