20060722115013x4

advertisement
ITEC4610
Network Switching and Routing
ดร. ประวิทย์ ชุมชู
หัวหน้าสาขาวิชาวิศวกรรมสารสนเทศและการสื่ อสาร(ICE)
MUT
Email: prawit@mut.ac.th
ห้องทางาน: F402
เบอร์โทรศัพท์ที่ทางาน: (02)9883655 ต่อ 220
เบอร์โทรศัพท์เคลื่อนที่: 065343850
MUT
Class III
รู ปแบบโปรโตคอล IPv4 และ รู ปแบบโปรโตคอล IPv6
ดร. ประวิทย์ ชุมชู
หัวหน้าสาขาวิชาวิศวกรรมสารสนเทศและการสื่ อสาร(ICE)
MUT
Email: prawit@mut.ac.th
ห้องทางาน: F402
เบอร์โทรศัพท์ที่ทางาน: (02)9883655 ต่อ 220
เบอร์โทรศัพท์เคลื่อนที่: 065343850
MUT
หัวข้อการบรรยาย
โครงสร้างการนาส่ งแพ็คเก็ต
– Forwarding (การส่ งต่อ)
– Routing (การคนหาเส้นทาง)
• โครงสร้างของเร้าเตอร์
• อินเตอร์เน็ตโปรโตคอลรุ่ นที่ 4 (IPv4 (Internet Protocol version 4))
MUT
ระดับชั้นสื่ อสาร
7
6
5
4
3
2
1
OSI
Application
Presentation
Session
Transport
Network
Data Link
Physical
TCP/IP
Application
FTP, Telnet, HTTP,
SMTP, SNMP, DNS, etc
Host-to-host
TCP
Internet
ICMP,IGMP
Network
Access
การทางานระดับชั้นที่ 3 นีป้ ระกอบด้ วย
- การสร้ างการหาเส้ นทางโดยใช้ Routing Protocol
-การนาส่ งแพ็คเก็ตโดยใช้ Routed Protocols
-รู ปแบบการสื่ อสารช่ วยอื่นเช่ น
-ICMP, IGMP, ARP, RARP
MUT
IP
UDP
ARP,RARP
Not Specified
Routing &Routed Protocols
• Routing protocols
– เป็ นโปรโตคอลที่ใช้ในการสื่ อสารเพื่อระหว่างเร้าเตอร์ เพื่อแลกเปลี่ยนข้อมูล
เกี่ยวกับเส้นทาง เร้าเตอร์ ใช้ขอ้ มูลเหล่านี้ ในการกาหนดตารางเส้นทางให้กบั
Routed Protocols
– ตัวอย่าง routing protocols เช่น RIPv1, RIPv2, IGRP, EIGRP, OSPF
• Routed protocols
– เป็ นโปรโตคอลที่ใช้ในการกาหนดการนาส่ งแพ็คเก็ตโดยการกาหนดการจัด
หมายเลขโลจิคอล การกาหนดรู ปแบบแพ็คเก็ต
– ตัวอย่าง routed protocols เช่น IP, IPX, AppleTalk
MUT
โครงสร้างการจัดการแพ็คเก็ตของ IP
ข้ อมูลในตารางได้ จาก
A Routing Protocol
การทางานระดับชั้นที่ 3 นีป้ ระกอบด้ วย
- การสร้ างการหาเส้ นทางโดยใช้
Routing Protocol
- การนาส่ งแพ็คเก็ตโดยใช้ Routed
Protocols
MUT
หัวข้อการบรรยาย
• โครงสร้างการนาส่ งแพ็คเก็ต
Forwarding (การส่ งต่อ)
– Routing (การคนหาเส้นทาง)
• โครงสร้างของเร้าเตอร์
• อินเตอร์เน็ตโปรโตคอลรุ่ นที่ 4 (IPv4 (Internet Protocol version 4))
MUT
การส่ งต่อแพ็คเก็ต (Forwarding)
• วิธีการส่ งต่อแพ็คเก็ต (Forwarding Techniques)
• วิธีการส่ งต่อแพ็คเก็ตโดยใช้การแบ่งกลุ่มของหมายเลข (Forwarding
with Classful Addressing)
• วิธีการส่ งต่อแพ็คเก็ตโดยไม่ใช้การแบ่งกลุ่มของหมายเลข (Forwarding
with Classless Addressing)
MUT
Forwarding Techniques
•
•
•
•
MUT
Next-hop method
Network-specific method
Host-specific routing
Default routing
Next-hop method
MUT
Network-specific method
MUT
Host-specific routing
MUT
Default routing
ถ้ าปลายทางเป็ น เครื่ อข่ าย N2 ส่ งต่ อไปยัง R2
ถ้ าปลายทางเป็ นอย่างอื่นส่ งต่ อไปยัง R2
MUT
Simplified forwarding module in classful address
without subnetting
แบ่ งตารางตามประเภทของ หมายเลข IP
เพื่อให้ การค้ นหาข้ อมูลได้ เร็วขึน้
MUT
Example 1
หา routing table ของ R1 ของเครื อข่ ายดังรูป
MUT
Routing Table ของตัวอย่างที่ 1
MUT
Example 2
จากตัวอย่ างที่ 1 ถ้ า R1 รับแพ็คเก็ตทีม่ ีหมายเลขปลายทางเป็ น 192.16.7.14 จงอธิบาย
วิธีการที่ R1 ส่ งต่ อแพ็คเก็ตนั้น
Solution
- หมายเลขปลายทางเป็ น 11000000 00010000 00000111 00001110
- เป็ นหมายเลข IP ของกล่ มุ C
- หมายเลขเครื อข่ าย ปลายทาง 192.16.7.0 (24 บิต)
MUT
Example 3
Router R1 in following Figure receives a packet with
destination address 167.24.160.5. Show how the packet is
forwarded.
MUT
Example 3
Solution
- The class is B.
- The network address is 167.24.0.0. The table for Class B is
- No matching network address is found.
- The packet needs to be forwarded to the default router
MUT
Simplified forwarding module in
classful address with subnetting
MUT
Example 4 จงสร้ าง roouing table ของเครื อข่ ายดัง
รูปด้ านล่ าง
See Next Slide
MUT
Example 5
จากตัวอย่างที่ 4
ถ้ าเร้ าเตอร์ รับแพ็คเก็ตทีม่ ีหมายเลขปลายทางเป็ น 145.14.32.78 จงอธิบายการนาส่ ง
แพ็คเก็ต
- mask = /18.
Solution
- หมายเลขเครือข่ ายย่อย = 145.14.0.0.
- Next-hop = 145.14.32.78
- outgoing interface m4.
MUT
Example 6
จากตัวอย่ างที่ 4 ถ้ าโฮสต์ ในเครื อข่ าย 145.14.0.0 ต้ องการส่ งแพ็คเก็ตไปยังโฮสต์
ทีม่ ีหมายเลขปลายทางเป็ น 7.22.67.91 จงแสดงการนาส่ งเป็ นเก็ต
- เร้ าเตอร์ รับแพ็คเก็ต
Solution
-Mask = (/18).
-network address =7.22.64.0
-ไม่ เจอหมายเลขเครือข่ ายนั้น
MUT
-ส่ งไปยัง default router
Simplified forwarding module in
classless address
ตารางมี 4 คอลัมเพิม่ คอลัม Mask
MUT
Example 7
จงสร้ างตารางค้นหาเส้ นทาง
MUT
Routing table for router R1
MUT
Example 8
ถ้ าหมายเลข IP ปลายทางเป็ น180.70.65.140 จงอธิบายการนาส่ งแพ็คเก็ต
MUT
Example 8
ถ้ าหมายเลข IP ปลายทางเป็ น180.70.65.140 จงอธิบายการนาส่ งแพ็คเก็ต
Solution
The router performs the following steps:
-Mask = /26, network address 180.70.65.128, NO
- Mask = /25, network address 180.70065.128, YES
MUT
Example 9
ถ้ าหมายเลข IP ปลายทางเป็ น 201.4.22.35 จงอธิบายการนาส่ งแพ็คเก็ต
Solution
The router performs the following steps:
-Mask = (/26), Network address = 201.4.22.0, NO
-Mask = (/25), Network address = 201.4.22.0, NO
MUT
-Mask = (/24), Network Address = 201.4.22.0, Yes
Example 10
ถ้ าหมายเลข IP ปลายทางเป็ น 18.24.32.78 จงอธิบายการนาส่ งแพ็คเก็ต
Solution
- ไม่ เจอหมายเลขเครือในตาราง
-ใช้ Default router
MUT
Example 11
จงวาดการเชื่ อมต่ อเครื อข่ ายเมื่อมี routing
table ดังตาราง
MUT
Solution for example 11
MUT
Address aggregation
MUT
Longest mask matching
MUT
Example 12
As an example of hierarchical routing, let us consider
following Figure. A regional ISP is granted 16384 addresses
starting from 120.14.64.0. The regional ISP has decided to
divide this block into four subblocks, each with 4096 addresses.
Three of these subblocks are assigned to three local ISPs, the
second subblock is reserved for future use. Note that the mask
for each block is /20 because the original block with mask /18
is divided into 4 blocks.
See Next Slide
MUT
Hierarchical routing with ISPs
MUT
Example 12
(Continued)
The first local ISP has divided its assigned subblock into 8
smaller blocks and assigned each to a small ISP. Each small
ISP provides services to 128 households (H001 to H128), each
using four addresses. Note that the mask for each small ISP is
now /23 because the block is further divided into 8 blocks.
Each household has a mask of /30, because a household has
only 4 addresses (232−30 is 4).
The second local ISP has divided its block into 4 blocks and
has assigned the addresses to 4 large organizations (LOrg01 to
LOrg04). Note that each large organization has 1024 addresses
and the mask is /22.
MUT
See Next Slide
Example 12 (Continued)
The third local ISP has divided its block into 16 blocks and
assigned each block to a small organization (SOrg01 to
SOrg15). Each small organization has 256 addresses and the
mask is /24.
There is a sense of hierarchy in this configuration. All routers
in the Internet send a packet with destination address
120.14.64.0 to 120.14.127.255 to the regional ISP. The regional
ISP sends every packet with destination address 120.14.64.0 to
120.14.79.255 to Local ISP1. Local ISP1 sends every packet
with destination address 120.14.64.0 to 120.14.64.3 to H001.
MUT
คาถาม?
MUT
หัวข้อการบรรยาย
• โครงสร้างการนาส่ งแพ็คเก็ต
– Forwarding (การส่ งต่อ)
Routing (การค้นหาเส้นทาง)
• โครงสร้างของเร้าเตอร์
• อินเตอร์เน็ตโปรโตคอลรุ่ นที่ 4 (IPv4 (Internet Protocol version 4))
MUT
Routing
• เป็ นโปรโตคอลใช้ในการนาส่ ง
• โดยใช้ตารางเส้นทางที่ได้จาก routing protocol
– Dynamic Routing Table
• ใช้ routing protocol ในการแลกเปลี่ยนข้อมูล
– Static Routing Table
• ผูด้ ูแลระบบเป็ นคนกาหนดเส้นทาง
MUT
Common fields in a routing table
MUT
Mask: เป็ นหน้ ากากที่ใช้ การคานวนหาหมายเลขเครื อข่ ายหรื อหมายเลขเครื อข่ ายย่ อยจาก
หมายเลข IP
Network Address: หมายเลขเครื อข่ ายที่จะใช้ นาส่ งแพ็คเก็ต ถ้ าการนาส่ งเป็ นแบบ Hostspecific routing, ค่ าในช่ องนีจ้ ะเป็ นหมายเลขปลายทางของโฮสต์
Next-hop address: หมายเลข IP ของเร้ าเตอร์ ตัวถัดไปที่จะส่ งฉพ็คเก็ตต่ อไป
Interface:ชื่ อของอุปกรณ์ ใช้ ตอิ ต่ อเครื อข่ าย(Interface)
Flags: เครื่ องหมายพิเศษเช่ น U(up) G(Gateway), H (Host-specific), D(added by redirection
และ M (modified by redirection)
Reference count: จานวนผู้ใช้ ที่กาลังใช้ เส้ นทางนี้
Use:จานวนแพ็คเก็ตที่ได้ ส่งผ่ านเร้ าเตอร์ ตัวนี้
Example 13
เครื่ องคอมพิวเตอร์ เครื่ องหนึ่งเมื่อรั น $ netstat –rn ได้ ผล routing table ดังตาราง
Destination
153.18.16.0
127.0.0.0
0.0.0.0
MUT
Gateway
0.0.0.0
0.0.0.0
153.18.31.254
Mask
255.255.240.0
255.0.0.0
0.0.0.0
Flags
U
U
UG
Interface
eth0
lo
eth0
สรุปจากตารางกาหนดเส้ นทางได้ ดงั นี้
1. เครื อข่ าย 153.18.16.0/20 (จาก 255.255.240.0) เป็ นเครื อข่ ายที่โฮสต์ ต่อตรง (0.0.0.0)
โฮสต์ เชื่ อมต่ อกับเครื อข่ าย 153.18.16.0/20 ใช้ eth0
2. เครื อข่ าย 127.0.0.0/8 เป็ นหมายเลข local loop
3. ถ้ าเครื อข่ ายปลายทางนอกเหนือจาก 2 ข้ อด้ านบนให้ ส่งต่ อไปยังเร้ าเตอร์ หมายเลข 153.18.31.254 ส่ งโดย
eth0
Example 13 (continued)
จากตัวอย่ างด้ านบนเมื่อรัน $ netstat –rn ได้ ผลดังต่ อไปนี้
$ ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:B0:D0:DF:09:5D
inet addr:153.18.17.11
Bcast:153.18.31.255
Mask:255.255.240.0
....
จากตัวอย่ างด้ านบนสามารถเขียนโครงสร้ างของการเชื่อมต่ อของโฮสต์ ได้ ดงั สไลด์ ต่อไป
MUT
Configuration of the server for Example 13
Mac Address
IP Address
Network Address
MUT
Default Gateway
คาถาม?
MUT
หัวข้อการบรรยาย
• โครงสร้างการนาส่ งแพ็คเก็ต
– Forwarding (การส่ งต่อ)
– Routing (การค้นหาเส้นทาง)
โครงสร้างของเร้าเตอร์
• อินเตอร์เน็ตโปรโตคอลรุ่ นที่ 4 (IPv4 (Internet Protocol version 4))
MUT
โครงสร้างของเร้าเตอร์
Routing table
MUT
Routing Processor:
Routing table:
Switching fabric:
Input Ports:
Output Ports:
ตัวประมวลผลการจัดการกับแพ็คเก็ต
ตารางกาหนดเส้ นทางการนาส่ งแพ็คเก็ต
โครงสร้ างทีใ่ ช้ ในการสวิชย์
ช่ องทางทีแ่ พ็คเก็ตเข้ ามา
ช่ องทางที่แพ็คเก็ตส่ งออก
Input Port
Input Ports:
ช่ องทางที่แพ็คเก็ตเข้ ามา
- ตัวประมวลผลของระดับชั้นที่ 1
- ตัวประมวลผลของระดับชั้นที่ 2
- Queue
MUT
Output Port
Output Ports:
ช่ องทางที่แพ็คเก็ตส่ งออก
- Queue
- ตัวประมวลผลทีร่ ะดับชั้นสื่ อสารที่ 2
- ตัวประมวลผลทีร่ ะดับชั้นสื่ อสารที่ 1
MUT
Crossbar Swicth
MUT
A Banyan Switch
- Banyan tree
-N inputs N outputs
MUT
- log2(n) stages
- n/2 microswitches for each stages
ตัวอย่าง
MUT
Batcher-banyan switch
ป้องกันการชนของแพ็คเก็ตโดยการเรียงลาดับแพ็คเก็ตตาม output ports
Solves the problem of internal collision in banyan switches
Arriving cells are sorted based on their destination port by means of a switch that comes
before the banyan switch
MUT
A trap module following the Batcher switch prevents cells with same destination from
passing to banyan switch simultaneously
Batcher-banyan switch
MUT
คาถาม?
MUT
แบบฝึ กหัดลองทาดูแล้วส่ งท้ายคาบ (chapter 6)
1. จงหาตารางค้นเส้นทางของ R2 และ R3 เมื่อมีการเชื่อมต่อเครื อข่ายดังรู ป
ต่อไปนี้ (exercises 2 &3 in the text book)
MUT
R2
R3
MUT
ตอบ
แบบฝึ กหัดลองทาดูแล้วส่ งท้ายคาบ (Cont.)
2. จงวาดการเชื่อมต่อเครื อข่ายเมื่อ ตารางค้นเส้นแสดงดังตารางต่อไปนี้ (exercise 14)
Mask
MUT
Next-hop
Address
----------
Interface
/27
Network
Address
202.14.17.224
/18
145.23.192.0
---------
m0
default
default
130.56.12.4
m2
m1
ตอบ
MUT
แบบฝึ กหัดลองทาดูแล้วส่ งท้ายคาบ (Cont.)
3. จากรู ป R1 รับแพ็ตเก็ตที่มีหมายเลขปลายทางเป็ น 202.70.20.30 จงแสดงการส่ งต่อแพ็คเก็ต
(exercise 11)
MUT
ตอบ
MUT
หัวข้อการบรรยาย
• โครงสร้างการนาส่ งแพ็คเก็ต
– Forwarding (การส่ งต่อ)
– Routing (การคนหาเส้นทาง)
• โครงสร้างของเร้าเตอร์
อินเตอร์เน็ตโปรโตคอลรุ่ นที่ 4 (IPv4 (Internet Protocol version 4))
MUT
อินเตอร์เน็ตโปรโตคอลรุ่ นที่ 4
(Internet Protocol version 4))
• จุดมุ่งหมาย
–
–
–
–
–
MUT
เข้าใจรู ปแบบของแพ็คเก็ต IPVv4
เข้าใจการทา Fragmentation
เข้าใจการทางานของ option field ของ IP แพ็คเก็ต
เข้าใจการคานวน Checksum
เข้าใจการทางานส่ วนประกอบของระดับชั้นสื่ อสารที่ 3 (IP)
Position of IP in TCP/IP protocol suite
MUT
อินเตอร์เน็ตโปรโตคอลรุ่ นที่ 4
(Internet Protocol version 4))
•
•
•
•
•
•
•
MUT
เป็ น routing protocol ชนิดหนึ่ง
ใช้ในการนาส่ งแพ็คเก็ต
กาหนดรู ปแบบของแพ็คเก็ต
การแจ้งผลการนาส่ ง
Connectionless
Unreliable
Best-effort
แพ็คเก็ต IP
- A packet in the IP layer is called a datagram,
- a variable-length packet consisting of two parts: header and data. The
header is 20 to 60 bytes in length and contains information essential to
routing and delivery.
- Maximum packet size is 65536 bytes
MUT
รู ปแบบ Header ของ IP แพ็คเก็ต
MUT
- Version : 4
Version
- HLEN: VER+HLEN+DS+TLEN+ID+FL+OFF+Option
( in 4 bytes words)
- DS: Next sides
- TLEN: ขนาดรวมทั้งแพ็คเก็ต (2^16-1)
- Identification: จานวนแพ็คเก็ตที่ IP ของโฮสต์ ได้ ส่ง
- Flags: Next Slides
- Fragmentation offset: Next slides
-Time to live: จานวนมากสุ ดของเร้ าเตอร์ ที่ผ่านได้
- Protocol: Next Slides
- Header Checksum: Next Slides
MUT
- Source IP address: หมายเลข IP ต้ นทาง
- Destination IP address: หมายเลข IP ปลายทาง
Service type or differentiated services
MUT
The precedence subfield was designed, but
never used in version 4.
Types of service
MUT
Default types of service
MUT
Values for codepoints
0,2,4,6,..,62
3,7,11,15,..,63
1,5,9,…,61
MUT
Encapsulation of a small datagram in an
Ethernet frame
MUT
Multiplexing
การนาส่ งแพ็ตภายในโฮสต์ ใด L3 --- > L4
- แยกประเภทโปรโตคอลจาก IP header
- แยกตามหมายเลขพอร์ ต
MUT
Protocols
การนาส่ งแพ็ตภายในโฮสต์ ใด L3 --- > L4
- แยกประเภทโปรโตคอลจาก IP header
- แยกตามหมายเลขพอร์ ต
MUT
Example 1
An IP packet has arrived with the first 8 bits as shown:
01000010
The receiver discards the packet. Why?
MUT
Solution
There is an error in this packet. The 4 left-most bits (0100)
show the version, which is correct. The next 4 bits (0010)
show the header length; which means (2 × 4 = 8), which is
wrong. The minimum number of bytes in the header must
be 20. The packet has been corrupted in transmission.
Example 2
In an IP packet, the value of HLEN is 1000 in binary. How
many bytes of options are being carried by this packet?
Solution
The HLEN value is 8, which means the total number of bytes
in the header is 8 × 4 or 32 bytes. The first 20 bytes are the
base header, the next 12 bytes are the options.
MUT
Example 3
In an IP packet, the value of HLEN is 516
and the value of the total length field is 002816 . How
many bytes of data are being carried by this packet?
Solution
The HLEN value is 5, which means the total number
of bytes in the header is 5 × 4 or 20 bytes (no options).
The total length is 40 bytes, which means the packet is
carrying 20 bytes of data (40 − 20).
MUT
Example 4
An IP packet has arrived with the first few hexadecimal digits
as shown below:
45000028000100000102 . . .
How many hops can this packet travel before being dropped?
The data belong to what upper layer protocol?
MUT
Solution
To find the time-to-live field, we skip 8 bytes (16 hexadecimal
digits). The time-to-live field is the ninth byte, which is 01. This
means the packet can travel only one hop. The protocol field is
the next byte (02), which means that the upper layer protocol is
IGMP .
FRAGMENTATION
The format and size of a frame depend on the protocol used by the
physical network. A datagram may have to be fragmented to fit the
protocol regulations.
The topics discussed in this section include:
Maximum Transfer Unit (MTU)
Fields Related to Fragmentation
MUT
MTU
MUT
Flags field
MUT
Fragmentation example
MUT
Detailed fragmentation example
Figure 8.9
MUT
Detailed fragmentation example
Example 5
A packet has arrived with an M bit value of 0. Is this the
first fragment, the last fragment, or a middle fragment? Do
we know if the packet was fragmented?
Solution
If the M bit is 0, it means that there are no more
fragments; the fragment is the last one. However, we
cannot say if the original packet was fragmented or not. A
nonfragmented packet is considered the last fragment.
MUT
Example 6
A packet has arrived with an M bit value of 1. Is this the first
fragment, the last fragment, or a middle fragment? Do we
know if the packet was fragmented?
Solution
If the M bit is 1, it means that there is at least one more
fragment. This fragment can be the first one or a middle one,
but not the last one. We don’t know if it is the first one or a
middle one; we need more information (the value of the
fragmentation offset). See also the next example.
MUT
Example 7
A packet has arrived with an M bit value of 1 and a
fragmentation offset value of zero. Is this the first fragment,
the last fragment, or a middle fragment?.
Solution
Because the M bit is 1, it is either the first fragment or a middle
one. Because the offset value is 0, it is the first fragment.
MUT
Example 8
A packet has arrived in which the offset value is 100. What
is the number of the first byte? Do we know the number of
the last byte?
Solution
To find the number of the first byte, we multiply the offset
value by 8. This means that the first byte number is 800.
We cannot determine the number of the last byte unless we
know the length of the data.
MUT
Example 9
A packet has arrived in which the offset value is 100, the
value of HLEN is 5 and the value of the total length field is
100. What is the number of the first byte and the last byte?
Solution
The first byte number is 100 × 8 = 800. The total length is
100 bytes and the header length is 20 bytes (5 × 4), which
means that there are 80 bytes in this datagram. If the first
byte number is 800, the last byte number must be 879.
MUT
OPTIONS
The header of the IP datagram is made of two parts: a fixed part and a
variable part. The variable part comprises the options that can be a
maximum of 40 bytes.
The topics discussed in this section include:
Format
Option Types
MUT
Option format
MUT
Categories of options
MUT
No operation option
MUT
End of option
MUT
Record route option
MUT
Record route concept
MUT
Strict source route option
All router defined in the option must be visited by the datagram
MUT
Strict source route concept
MUT
Loose source route option
All router defined in the option must be visited by the datagram
but the data could visit other router as well
MUT
Timestamp option
MUT
Use of flag in timestamp
MUT
Timestamp concept
MUT
Example 10
Which of the six options must be copied to each fragment?
Solution
We look at the first (left-most) bit of the code for each option.
a. No operation: Code is 00000001; not copied.
b. End of option: Code is 00000000; not copied.
c. Record route: Code is 00000111; not copied.
d. Strict source route: Code is 10001001; copied.
e. Loose source route: Code is 10000011; copied.
f. Timestamp: Code is 01000100; not copied.
MUT
Example 11
Which of the six options are used for datagram control and
which are used for debugging and management?
Solution
We look at the second and third (left-most) bits of the code.
MUT
a. No operation: Code is 00000001; datagram control.
b. End of option: Code is 00000000; datagram control.
c. Record route: Code is 00000111; datagram control.
d. Strict source route: Code is 10001001; datagram control.
e. Loose source route: Code is 10000011; datagram control.
f. Time stamp: Code is 01000100; debugging and management
control.
Example 12
One of the utilities available in UNIX to check the
travelling of the IP packets is ping. In the next chapter, we
talk about the ping program in more detail. In this
example, we want to show how to use the program to see if
a host is available. We ping a server at De Anza College
named fhda.edu. The result shows that the IP address of
the host is 153.18.8.1.
$ ping fhda.edu
PING fhda.edu (153.18.8.1) 56(84) bytes of data.
64 bytes from tiptoe.fhda.edu (153.18.8.1): ....
MUT
The result shows the IP address of the host and the number
of bytes used.
Example 13
We can also use the ping utility with the -R option to implement
the record route option.
$ ping -R fhda.edu
PING fhda.edu (153.18.8.1) 56(124) bytes of data.
64 bytes from tiptoe.fhda.edu (153.18.8.1): icmp_seq=0 ttl=62 time=2.70
ms
RR: voyager.deanza.fhda.edu (153.18.17.11)
Dcore_G0_3-69.fhda.edu (153.18.251.3)
Dbackup_V13.fhda.edu (153.18.191.249) tiptoe.fhda.edu (153.18.8.1)
Dbackup_V62.fhda.edu (153.18.251.34)
Dcore_G0_1-6.fhda.edu (153.18.31.254)
voyager.deanza.fhda.edu (153.18.17.11)
MUT
The result shows the interfaces and IP addresses.
Example 14
The traceroute utility can also be used to keep track of the
route of a packet.
$ traceroute fhda.edu
traceroute to fhda.edu (153.18.8.1), 30 hops max, 38 byte packets
1 Dcore_G0_1-6.fhda.edu (153.18.31.254) 0.972 ms 0.902 ms 0.881 ms
2 Dbackup_V69.fhda.edu (153.18.251.4) 2.113 ms 1.996 ms 2.059 ms
3 tiptoe.fhda.edu (153.18.8.1) 1.791 ms 1.741 ms 1.751 ms
The result shows the three routers visited.
MUT
Example 15
The traceroute program can be used to implement loose source
routing. The -g option allows us to define the routers to be
visited, from the source to destination. The following shows
how we can send a packet to the fhda.edu server with the
requirement that the packet visit the router 153.18.251.4.
$ traceroute -g 153.18.251.4 fhda.edu.
traceroute to fhda.edu (153.18.8.1), 30 hops max, 46 byte packets
1 Dcore_G0_1-6.fhda.edu (153.18.31.254) 0.976 ms 0.906 ms 0.889 ms
2 Dbackup_V69.fhda.edu (153.18.251.4) 2.168 ms 2.148 ms 2.037 ms
MUT
Example 16
The traceroute program can also be used to implement strict
source routing. The -G option forces the packet to visit the
routers defined in the command line. The following shows
how we can send a packet to the fhda.edu server and force
the packet to visit only the router 153.18.251.4, not any other
one.
$ traceroute -G 153.18.251.4 fhda.edu.
traceroute to fhda.edu (153.18.8.1), 30 hops max, 46 byte packets
1 Dbackup_V69.fhda.edu (153.18.251.4) 2.168 ms 2.148 ms 2.037 ms
MUT
CHECKSUM
The error detection method used by most TCP/IP protocols is called the
checksum. The checksum protects against the corruption that may occur
during the transmission of a packet. It is redundant information added to
the packet.
The topics discussed in this section include:
Checksum Calculation at the Sender
Checksum Calculation at the Receiver
Checksum in the IP Packet
MUT
Note:
To create the checksum the sender does the following:
❏ The value of checksum field is set to 0.
❏ The packet is divided into k sections, each of n bits.
❏ All sections are added together using 1’s complement
arithmetic.
❏ The final result is complemented to make the
checksum.
-Normally, n=16
MUT
Checksum concept
MUT
Checksum in one’s complement arithmetic
MUT
Example of checksum calculation in binary
MUT
Example 18
Let us do the same example in hexadecimal. Each row
has four hexadecimal digits. We calculate the sum first.
Note that if an addition results in more than one
hexadecimal digit, the right-most digit becomes the
current-column digit and the rest are carried to other
columns. From the sum, we make the checksum by
complementing the sum. However, note that we subtract
each digit from 15 in hexadecimal arithmetic (just as we
subtract from 1 in binary arithmetic). This means the
complement of E (14) is 1 and the complement of 4 is B
(11). Following Figure shows the calculation. Note that
the result (8BB1) is exactly the same as in Example 17.
MUT
See Next Slide
Example of checksum calculation in hexadecimal
MUT
IP PACKAGE
We give an example of a simplified IP software package to show its
components and the relationships between the components. This IP
package involves eight modules.
The topics discussed in this section include:
Header-Adding Module
Processing Module
Queues
Routing Table
Forwarding Module
MTU Table
Fragmentation Module
Reassembly Table
Reassembly Module
MUT
IP components
MUT
Header-Adding module
•
Receive: data, destination
1.
2.
3.
4.
MUT
Encapsulation the data in an IP datagram
Calculate the checksum and insert it in the checksum field
Send the data to the corresponding queue
Return
Processing Module
1.
2.
3.
4.
Remove one datagram from one of the input queue
If (destination address is 127.X.Y.Z or matches one of the local address
1.
Send the data to reassembly module
2.
Return
If (machine is a router)
1.
Decrement TTL
If (TTL less than or equal to zero)
1.
2.
3.
5.
6.
MUT
Discard the data gram
Send ICMP error message
Return
Send the datagram to the following module
Return
Fragmentation
MTU table
MUT
Fragmentation
•
MUT
Receive: an IP packet from routing module
1.
Exact the size of the datagram
2.
If (Size >MTU) of the corresponding network
1.
If( D==1)
1. Discard the datagram
2. Send an ICMP error message
3. Return
2. Else
1. Calculate the maximum size
2. Divide the datagram into fragments
3. Add header to each fragment
4. Add required options to each fragment
5. Send the datagram
6. Return
3.
Else
1.
Send the datagram
4.
Return
Reassembly table
St: FREE or IN USE
S.A.= Source IP Address
D.I= unique number
T.O.= predefined Time-out
F.=a linked list of fragments
MUT
Reassembly module
•
MUT
Receive: an IP packet from routing module
1.
If (offset == 0 & M=0)
1. Send the datagram to the appropriate queue
2.
Return
2.
Search the reassembly table for the corresponding entry
3.
If (not found)
1.
Create a new entry
4.
Insert the fragment at the appropriate place in the linked list
1. If( all fragment have arrived)
1. Reassemble the fragment
2. Deliver the datagram to the corresponding upper layer protocol
3. Return
2.
Else
1. Check the time-out
2. If (time-out expired)
1. Discard all fragments
2. Send an ICMP error message
5.
Return
คาถาม?
MUT
แบบฝึ กหัดลองทาดูแล้วส่ งท้ายคาบ (chapter 8)
•
IP แพ็คเก็ตหนึ่งมีขอ้ มูลเป็ นเลขฐาน 16 ดังต่อไปนี้
–
a)
b)
c)
d)
e)
f)
g)
MUT
45 00 00 54 00 03 00 00 20 06 00 00 7C4E 03 02 B4 0E 0F 02
Are there any options?
Is the packet fragment ?
What is the size of the data?
Is a checksum used?
Howmany more router can the packet travel to?
What is the identification number of the packet ?
What is the type of service
แบบฝึ กหัดลองทาดูแล้วส่ งท้ายคาบ
• In a datagram, the M bit is zero. The value of HLEN is 5, the value of
total length is 200, and the offset value is 200. What is the number of
the first byte and number of the last byte in this diagram? Is this the
last fragment, the first fragment, or a middle fragment ? (exercise 16)
MUT
ตอบ
• M=0, HLEN=5---> 5*4=20 bytes, TL=200-- >200 bytes, offset =200-> 200*8=1600
– the fist byte = 1600 จาก offset
– Data length =200-20=180; the last byte=1600+180-1=1779
– The last fragment.
MUT
ตอบ
45 00 00 54 00 03 00 00 20 06 00 00 7C 4E 03 02 B4 0E 0F 02
4
MUT
5
00
00 54
00 03
000
00000
20
06
0000
7C 4E 03 02
B4 0E 0F 02
- Are there any options?
• NO
- Is the packet fragment ?
• NO
- What is the size of the data?
• 64 bytes
- Is a checksum used?
• No
- How many more router can the packet
travel to?
32
-What is the identification number
of the packet ?
3
- What is the type of service
Normal
Summary
• Forwarding & Routing
• IPv4
• Next Class IPv6 (chapter 27), RIPv1 และ RIPv2 (chapter 14)
MUT
Summary
• Forwarding & Routing
• IPv4
• Next Class IPv6 (chapter 27), RIPv1 และ RIPv2 (chapter 14)
MUT
คาถาม?
MUT
Download