Upload
amanda-norton
View
214
Download
1
Embed Size (px)
Citation preview
Dr. Clincy Lecture 1
Chapter 7: The Infamous IP
Agenda:Cover Chapter 7 – IPRoll out Final ProjectReview Exam 1
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 20-60 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 46-1500 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
FRAGMENTATIONRecall 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 2Network 2 Network 3Network 1
Dr. Clincy Lecture 6
MTUEach 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 1 st byte is divisible by 8 (ie. 0, 8, 16, 24 ……696 …… 1400 …….. 2096 ……… 2800 … etc)
Dr. Clincy Lecture 9
Detailed example
Total Length Id isn’t changing
Allow “more” fragmentation
offset
XDMD=1, can’t fragD=0, can fragM=1, more frag existM=0, no more frag exist
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 20-60 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 formatComposed 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 conceptPointer field value of 4 when starting out
Outgoing IP address
Increment pointer Can have only 3 IP addresses
because of 12+3=15
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 To create the checksum the sender does the following:the following:
1.1. The packet is divided into k sections, The packet is divided into k sections, each of n bits (usually 16) each of n bits (usually 16)
2.2. All sections are added together using All sections are added together using one’s complement arithmetic. one’s complement arithmetic.
3.3. The final result is complemented The final result is complemented to make the checksum. to make the checksum.
Checksum process at the receiver is as follows:Checksum process at the receiver is as follows:
1.1. The received packet is divided into k sectionsThe received packet is divided into k sections
2.2. All sections are added together All sections are added together
3.3. The final result is complemented and should equal zero if The final result is complemented and should equal zero if correct correct
NOTE: value + (-value) = 0NOTE: 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
ATM Network
ATM cell
Entering-pointrouter
Exiting-pointrouter
I II III
IP Packet
IPP
acke
t
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
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.
In a LAN case, broadcasting is used by ARP – in a ATM case, broadcasting can’t be used – another approach is needed - ATMARP
CS4500 Final Project
• Objective: Research & Teach A “CS4500 Related “ Subject at a high-level using existing knowledge• Teams will teach the class about a specific “high-level” topic relating to topics covered in CS4500 – no paper
required – only power point slides required – you can scan images • Due July 16th by 5pm – email hyperlink to download slide presentation (will put on website) – docked 20% per
day/late• Team Meeting Outside of Classroom – July 10th at 530pm after exam review – Teams decide the location of the
meeting (outside of the classroom)• Presentations will occur on July 17th (odd-numbered teams 5pm-6pm – teams 1, 3 and 5) and (even-numbered
teams 645pm-745pm – teams 2, 4 and 6) – will need to clear out the room after the first set of presenters at 6pm and lock the door - the second set of presenters will show up at 645pm - no teams will have to sit through 2 hours and 30 minutes of presentations
• 15 - minute lecture • All team members must present • Docked for going over or below time limit of 15 minutes• Graded on (1) lecture clarity, flow and thoroughness (65%), (2) slide quality (15%), and (3) perceived team work
(20%)• Your presentation should flow as one lecture and not disjointed (can’t divide the subject – everyone must
understand the entire subject – if not, will lose points on questions and flow)• Slides sent on July 16th will be posted on your website – no need to bring slides – can not change slides after July
16th (5 pm) – can only use the slides posted on the website• You should list the various sources you referenced in your lecture• Team members are responsible for researching (and learning) together and organizing the lecture as a team –
teamwork – I can sense teamwork or not before and during the presentation• The Presentation topics will not be covered on any exam• Team numbers don’t indicate presentation order.• NOTE: it takes approximately 8 to 12 power point slides to conduct a 15 minute talk – your team is responsible for
making sure the talk is timed for 15 minutes• Words of advice: (1) don’t wait until the last minute to get started and (2) if you have problems with a team mate,
let me know ASAP – don’t wait 1 or 2 weeks before the presentation (or the day of the presentation) – if so, it’s too late to take action
Topics
• Team 1 – Network Security
• Team 2 – Cloud Computing
• Team 3 – VLAN
• Team 4 – Drones
• Team 5 – SAN
• Team 6 – VoIP
NOTE 1: You are responsible for contacting your team members via email initially
NOTE 2: Will lose points if you use Wikipedia (non-credible source)
Odd-numbered teams present July 17th 5pm-6pmEven-numbered teams present July 17th 645pm-745pm
Team Meetings on July 10th at 5:30pm– teams decide the location
Teams 1-3 of 6
Odd-numbered teams present July 17th 5pm-6pm (Teams 1, 3 and 5)Even-numbered teams present July 17th 645pm-745pm (Teams 2, 4 and 6)
Team Meetings on July 10th at 5:30pm– teams decide the location
1 Ajdari, Paresa Darya [email protected]
1 Hevenstone, Aaron Matthew [email protected]
1 Robinson, Brooks Sean [email protected]
2 Ford, Wesley Jarod [email protected]
2 Hamilton, Thomas-Scot [email protected]
2 Murithi-Wohl, Catherine Kagwiria [email protected]
3 Chism, Joseph Michael [email protected]
3 Dohn, Richard Jacob [email protected]
3 Pritchett Iv, Harry W [email protected]
Teams 4-6 of 6
Odd-numbered teams present July 17th 5pm-6pmEven-numbered teams present July 17th 645pm-745pm
Team Meetings on July 10th at 5:30pm– teams decide the location
4 Bangoura, Mohammad Noble [email protected]
4 Dimov, Martin Nikolov [email protected]
4 Voloch, Eduardo Moreira [email protected]
5 Hickman, Austin Richard [email protected]
5 McGann, Corey [email protected]
5 Perkins, Andrew James [email protected]
6 Bercovic, Robert H [email protected]
6 Kimani, James Wanjohi [email protected]
6 Rose, Gilberto Renaldo [email protected]
Dr. Clincy 28
CS4500 Exam 1 Results
• Average Score = 39 (Average Grade = 75)• Score SD = 12
Grading Scaled Used:• 69-58 A-grade (1 student)• 57-46 B-grade (4 students)• 45-34 C-grade (7 students)• 33-22 D-grade (3 students)• 21-10 F-grade (2 students)
In getting your grade logged, be sure and pass back the exam after we go over them