S
OLUTIONS
M
ANUAL FOR
C
OMPUTER AND
C
OMMUNICATION
N
ETWORKS
Nader F. Mir
Upper Saddle River, NJ . Boston. Indianapolis . San Francisco . New York Toronto. Montreal . London . Munich .Paris . Madrid . Capetown Sydney . Tokyo . Singapore. Mexico City
The author and publisher have taken care in the preparation of this book, but make no expressed or implied warranty of any kind and assume no responsibility for errors or omissions. No liability is assumed for incidental or consequential damages in connection with or arising out of the use of the information or programs contained herein.
Visit us on the Web: www.prenhallprofessional.com Copyright © 2007 by Pearson Education, Inc.
This work is protected by United States copyright laws and is provided solely for the use of instructors in teaching their courses and assessing student learning. Dissemination or sale of any part of this work(including on the World Wide Web) will destroy the integrity of the work and is not permitted. The work and materials from it should never be made available to students except by instructors using the accompanying text in their classes. All recipients of this work are expected to abide by these restrictions and to honor the intended pedagogical purposes and the needs of other instructors who rely on these materials.
ISBN 0-13-234570-6 First release, March 2007
Contents
Preface ii
0.1 How to Obtain Errata of Text-Book . . . iii
0.2 Errors in This Solution Manual . . . iii
0.3 How to Obtain an Updated Solution Manual . . . iii
0.4 How to Contact Author . . . iv
About the Author v
I Fundamental Concepts 1
1 Packet-Switched Networks 3
2 Foundation of Networking Protocols 9
3 Networking Devices 15
4 Data Links and Transmission 21
5 Local-Area Networks and Networks of LANs 29
6 Wireless Networks and Mobile IP 35
7 Routing and Inter-Networking 41
8 Transport and End-to-End Protocols 51
ii CONTENTS
9 Applications and Network Management 57
10 Network Security 67
II Advanced Concepts 73
11 Packet Queues and Delay Analysis 75
12 Quality-of-Service and Resource Allocation 89
13 Networks in Switch Fabrics 101
14 Optical Switches and Networks, and WDM 121
15 Multicasting Techniques and Protocols 123
16 VPNs, Tunneling, and Overlay Networks 133
17 Compression of Digital Voice and Video 135
18 VoIP and Multimedia Networking 149
19 Mobile Ad-Hoc Networks 155
Preface
An updated version of the solution manual is hereby provided to instructors. For any problem marked with “N/A,” the solution will be provided in the upcoming versions. Please check with the publisher or the author time-to-time to obtain the latest verion of the solution manual. For effective educational learning purposes, instructors are kindly requested not to allow any student to access this solution manual.
0.1
How to Obtain Errata of Text-Book
The Errata of the text-book, Edition 1, is now available. Please contact the author directly at [email protected] for copy.
0.2
Errors in This Solution Manual
If you find any error in this solution manual, please directly inform the author at [email protected] .
0.3
How to Obtain an Updated Solution Manual
Please check time to time the web page of the text-book in the Prentice-Hall site and click on “Instructors’ link” to obtain the latest version of this solution manual.
iv CONTENTS
0.4
How to Contact Author
Please feel free to send any feedback on the text book to Department of Elec-trical Engineering, San Jose State University, San Jose, CA 95192, U.S.A, or via email at [email protected]. The preparation of this version of the solution manual took years and the manual may contain some errors. Please also feel free to send me any feedback on this solution manual.
I would love to hear from you especially if you have suggestions for im-proving this book further for its next editions. I will carefully read all review comments. You can find out more about me at: http://www.engr.sjsu.edu/nmir I hope that you enjoy the text and that you receive a little of my liking for the computer communications from it.
Nader F. Mir San Jose, California
About the Author
Nader F. Mir received the B.Sc. degree (with honors) in electrical &
computer engineering in 1985 and the M.Sc. and Ph.D. degrees both in electrical engineering from Washington University in St. Louis, MO, in 1990 and 1994 respectively.
He is currently a professor and department associate chairman of Elec-trical Engineering at San Jose State University, California. He is also the director of MSE Program in Optical Sensors and Networks for Lockheed Martin Space Systems. Previously, he was an associate professor at this school and assistant professor at the University of Kentucky in Lexington. From 1994 to 1996, he was a research scientist at the Advanced Telecommu-nications Institute, Stevens Institute of Technology, in New Jersey, working on the design of advanced telecommunication networks. From 1990 to 1994, he was with the Computer and Communications Research Center at Wash-ington University in St. Louis and worked as a research assistant on design and analysis of high-speed switching-systems projects.
His research interests are: analysis of computer communication networks, design and analysis of switching systems, network design for wireless ad-hoc and sensor systems, and applications of digital integrated circuits in computer communications.
He is a senior member of the IEEE and has served as the member of
Technical Program Committee and Steering Committee of a number of major
IEEE networking conferences such as WCNC, GLOBECOM, and ICC. Dr. v
vi CONTENTS
Mir has published numerous refereed technical journal and conference papers all in the field of communications and networking. He has published a book in video communication engineering, and another text-book published by Prentice Hall Publishing Co. entitled “Computer & Communication Networks, Design and Analysis”.
Dr. Mir has received a number of prestigious national and university awards including the university teaching recognition award and research excellence award. He is also the recipient of the 2004 IASTED Outstanding Tutorial Presentation award.
Currently, he has several journal editorial positions such as: the Edito-rial Board Member of the International Journal of Internet Technology and
Secured Transactions, the Editor of Journal of Computing and Information Technology, and the Associate Editor of IEEE Communication Magazine.
Part I
Fundamental Concepts
Chapter 1
Packet-Switched Networks
1. Total distance = = 2(3, 0002+ 10, 0002) = 20,880.61 km. Speed = c = 2.3 ×108 m/s.
(a) proagation delay = tp = c = 20,880.61 km
2.3×108m/s = 90.8 ms
(b) Number of bits in transit during the propagation delay = (90.8 ms)× (100 × 106 b/s)
= 9.08 Mb
(c) 10 bytes = 80 bits
2.5 bytes = 20 bits, then:
total length = 80 + 20 = 100 bits
T = 100 b 100×106 b/s = 1 μs 2. Total distance = = 2((30/1000)2+ 10, 0002)≈ 20,000 km. Speed = c = 2.3 ×108 m/s. (a) tp = c = 2.3×1020,0008 kmm/s = 87 ms (b) 100 Mb/s× 0.087 s = 8.7 Mb 3
4 Chapter 1. Packet-Switched Networks
(c) Data: (10 B)×8 b
100 Mb/s + tp= 0.79 μs + 0.087 s Ack: (2.5 B)×8 b
100 Mb/s + tp= 0.19 μs + 0.087 s Total time≈ 1μs (transfer) + 0.173 s (prop.)
3. Assuming the speed of transmission at 2.3× 108:
(a) Total Delay: D = [np+ (nh− 2)]tf + (nh− 1)tp+ nhtr
(b) tp1= 50 miles×1600 m/miles 2.3×108 m/s = 0.35 ms tp2= 400 miles×1600 m/miles 2.3×108 m/s = 2.8 ms Number of packets = np = 20010KBMB = 20, 000 tf = 10,040 B/pockets×8 b/B 100 Mb/s = 0.8 ms/pockets D = [20, 000 + (5−2)]0.8+[(3−1)0.35+(3−1)2.8]+5×0.2×103 ≈ 16.6 s 4. Dp = [np+ (nh− 2)]tf1+ nhtr1+ (nh− 1)tp Dc = 3 ([1 + (nh− 2)]tf2+ nhtr2+ (nh− 1)tp) Dt = Dp + Dc = (np+ nh − 2)tf1 + 3(nh − 1)tf2+ nh(tr1 + 3tr2) + 4(nh− 1)tp 5. Number of packets = np = 20010KBMB = 20, 000 Dt= Dp+ Dc
Dc = dconn-req + dconn-accep + dconn-release
(a) Here, the problem askes that trbe defined as the processing time
5
Dc = dconn-req = dconn-accep = dconn-release
= [np+ (nh− 2)]tf + nhtr+ (nh− 1)tp
= [1 + (5− 2)]500 b/packet
100 mb/s + 3× 4, 000 s + 4.84 ms
≈ 12, 000 s
(b) Same as Part (a).
(c) Dt= Dp+ Dc = 17 + 3× 12, 000 = 36, 017 s
6. s = 109b/s
nh = 10 nodes tr1 = tr2 = 0.1 s = tr
Data forms two packets: (9960 + 40) bytes for packet1 (2040 + 40) bytes for packet2
tf1−packet1 = 10,000 B×8 b/B
109b/s = 8× 10−5s tf1−packet2 = 2,080 B×8 b/B
109b/s = 16.64× 10−6s
tf2= transfer times for control packets = 105009b/sb = 5× 10−7s tp = c = 500 miles×1.61×10
3m
2.3×108m/s = 3.5× 10−3s
(a) request + accept time:
t1+ t2 = 2 ([np+ (nh− 1)]tf2+ (nh− 1)tp+ nhtr]) = 2.06 s
(b) t3 = 12(t1+ t2) = 1.03 s (c) Dt= Dp+ Dc
Dp= Dp−packet1 + Dp−packet2
6 Chapter 1. Packet-Switched Networks 2)]tf2−packet1 + nhtr1+ (nh− 1)tp Dc = t1+ t2+ t3 Dt= 4.1 s 7. d + h = 10, 000 b, ρd= 72%, h d = 0.04, s = 100 Mb/s, (a) h = 0.04d then: d+hd = 0.96. Since: ρd= ρh+dd then: 0.72 = ρ0.96 ⇒ ρ = 0.74 (b) μ = h+ds = 100×106b/s 10×103b = 10× 103 = 10, 000 packets/sec (c) λ = ρμ = 0.74× 10, 000 = 74, 000 ¯ D = 10,000−7,4001 = 0.38 ms (d) ¯Dopt = hs √ρ d 1−√ρd 2 d + h = 10, 000h/d = 0.04 ⇒ h = 384 b ¯ Dopt = 0.12 8. s = 100 Mb/s ρ = 80% (a) ρ = λμ ⇒ 0.8 = 8000 μ ⇒ μ = 10, 000 packets/s
7 t t t t Connection Request Connection Accept Connection Release Data Node A Node C Node B Node D
Figure 1.1: Signaling delay in connection-oriented packet-switched environ-ment. μ = h+ds ⇒ 10, 000 = 100×10h+d 6 ⇒ h + d = 10, 000 b (b) ρh= 0.008 and ρh = ρd+hh ⇒ d + h = 100h ⇒ h = 100 b, and d = 9900 b. (c) ρh= 0.008 ρd= ρ− ρh= 0.8− 0.008 ⇒ ρd= 0.792 dopt = h √ρ d 1−√ρd = 809 bits (d + h)opt = h + dopt = 100 + 809 ⇒ (d + h)opt = 909 b (d) ¯Dopt = hs1−√ρ1 d 2 ⇒ ¯Dopt = 8.2 × 10−5 s 9. See Figure 1.1. 10. D = s[1−ρd+h d/d(d+h)]
8 Chapter 1. Packet-Switched Networks
(a) ∂D∂h = 0
Thus: hopt = d(1−2ρd)
2ρd
Chapter 2
Foundation of Networking
Protocols
1. (a) Address: 127.156.28.31 = 0111 1111 . 1001 1100 . 0001 1100 . 0001 1111 Mask: 255.255.255.0 = 1111 1111 . 1111 1111 . 1111 1111 . 0000 0000 Class A Subnet ID: 1001 1100 0001 1100=39964 (b) Address: 150.156.23.14 = 1001 0110 . 1001 1100 . 0001 0111 .0000 1110 Mask: 255.255.255.128 = 1111 1111 . 1111 1111 . 1111 1111 . 1000 0000 Class B Subnet ID: 000101110 = 46 (c) Address: 150.18.23.101 = 910 Chapter 2. Foundation of Networking Protocols 1001 0110 . 0001 0010 . 0001 0111 . 0110 0101 Mask: 255.255.255.128 = 1111 1111 . 1111 1111 . 1111 1111 . 1000 0000 Class B Subnet ID: 000101110 = 46 2. (a) IP: 1010 1101 . 1010 1000 . 0001 1100 . 0010 1101 Mask: 1111 1111 . 1111 1111 . 1111 1111 . 0000 0000 Class B Subnet ID=00011100=28
(b) A packet with IP address 188.145.23.1 using mask pattern 255.255.255.128 IP: 1011 1100 . 1001 0001 . 0001 0111 . 0000 0001
Mask: 1111 1111 . 1111 1111 . 1111 1111 . 1000 0000 Class B
Subnet ID=000101110=46
(c) A packet with IP address 139.189.91.190 using a mask pattern 255.255.255.128 IP: 1000 1011 . 1011 1101 . 0101 1011 . 1011 1110 Mask: 1111 1111 . 1111 1111 . 1111 1111 . 1000 0000 Class B Subnet ID=010110111=183 3. IP1: 1001 0110 . 0110 0001 . 0001 1100 . 0000 0000 IP2: 1001 0110 . 0110 0001 . 0001 1101 . 0000 0000 IP3: 1001 0110 . 0110 0001 . 0001 1110 . 0000 0000 New IP (CIDR): 150.97.28.0/22
11 4. Address: 141.33.11.0/22 = 1000 1101 . 0010 0001 . 0000 1011 . 0000 0000 141.33.12.0/22 = 1000 1101 . 0010 0001 . 0000 1100 . 0000 0000 141.33.13.0/22 = 1000 1101 . 0010 0001 . 0000 1101 . 0000 0000 141.33.8.0/21 5. (a) 191.168.6.0 1011 1111 . 1010 1000 . 0000 0110 . 0000 0000 1111 1111 . 1111 1111 . 1111 1110 . 0000 0000 Result: 1011 1111 . 1010 1000 . 0000 0110 . 0000 0000 = 191.168.6.0/23 (b) 173.168.28.45 1010 1101 . 1010 1000 . 0001 1100 . 0010 1101 1111 1111 . 1111 1111 . 1111 1110 . 0000 0000 Result: 1010 1101 . 1010 1000 . 0001 1100 . 0000 0000 = 173.108.28.0/23 (c) 139.189.91.190 1000 1011 . 1011 1101 . 0101 1011 . 1011 1110 1111 1111 . 1111 1111 . 1111 1110 . 0000 0000 Result: 1000 1011 . 1011 1101 . 0101 1010 . 0000 0000 = 139.189.90.0/23 6. 180.19.18.3: 1011 0100 . 0001 0011 . 0001 0010 . 0000 0011
12 Chapter 2. Foundation of Networking Protocols (a) 180.19.0.0/18: 1011 0100 . 0001 0011 . 0000 0000 . 0000 0000 180.19.3.0/22: 1011 0100 . 0001 0011 . 0000 0011 . 0000 0000 180.19.16.0/20: 1011 0100 . 0001 0011 . 0001 0000 . 0000 0000
(b) The longest match is 180.19.16.0/20.
7. (a) N1 L11: 1100 0011 . 0001 1001 . 0000 0000 . 0000 0000 N2 L13: 1000 0111 . 0000 1011 . 0000 0010 . 0000 0000 N3 L21: 1100 0011 . 0001 1001 . 0001 1000 . 0000 0000 N4 L23: 1100 0011 . 0001 1001 . 0000 1000 . 0000 0000 N5 L31: 0110 1111 . 0000 0101 . 0000 0000 . 0000 0000 N6 L33: 1100 0011 . 0001 1001 . 0001 0000 . 0000 0000 (b) Packet: 1100 0011 . 0001 1001 . 0001 0001 . 0000 0011 L11: 1100 0011 . 0001 1001 . 0000 0000 . 0000 0000 L12: 1100 0011 . 0001 1001 . 0001 0000 . 0000 0000 L12: 1100 0011 . 0001 1001 . 0000 1000 . 0000 0000 L13: 1000 0111 . 0000 1011 . 0000 0010 . 0000 0000 L21: 1100 0011 . 0001 1001 . 0001 1000 . 0000 0000 L22: 1100 0011 . 0001 1001 . 0001 0000 . 0000 0000 L23: 1100 0011 . 0001 1001 . 0000 1000 . 0000 0000 L31: 0110 1111 . 0000 0101 . 0000 0000 . 0000 0000 L33: 1100 0011 . 0001 1001 . 0001 0000 . 0000 0000 Answer=N6 (c) 32-21=11 b So, 211 = 2,048 users
13
8. (a) IPv4 address field has 32 bits
Total number of IP addersses available = 232
Number of IP addresses per person for 620 million people = 620×10232 6 = 6.9≈ 7
(b) Number of bits required to serve 620 million people is 30 since 229≈ 536 mil < 620 mil < 230≈ 1, 074 mil
Thus, CIDR can only have 32-30 = 2 bit as Network ID field as x.x.x.x/2
(c) IPv6 address field has 128 bits:
Total number of IPaddresses available = 2128
Number of IP addresses per person for 620 million people = 620×102128 6 = 5.49× 1029 9. (a) 1111:2A52:111:73C2:A123:56F4:1B3C binary form: 0001 0001 0001 0001 : 0010 1010 0101 0010 : 1010 0001 0010 0011 : 0000 0001 0001 0001 : 0111 0011 1100 0010 : 1010 0001 0010 0011 : 0101 0110 0111 0100 : 0001 1011 0011 1100 (b) 2532::::FB58:909A:ABCD:0010 binary form: 0010 0101 0011 0010 : : : : 1111 1011 0101 1000 : 10001 0000 1001 1010 : 1010 1011 1100 1101 : 0000 0000 0001 0000 (c) 2222:3333:AB01:1010:CD78:290B::1111 binary form: 0010 0010 0010 0010 : 0011 0011 0011 0011 : 1010 1011 0000 0001: 0001 0000 0001 0000 : 1100 0000 0111 1000 : 0010 1001 0000 1011 : : 0001 0001 0001 0001
14 Chapter 2. Foundation of Networking Protocols
10. N/A
11. Connection set up can be greatly simlpified because the VP is already selected. Only the VC has to be chosen with 216= 64K choices.
12. Retain features:
• conection-oriented network.
Lost Features:
• shorter process time • lower header/data ratio • harder to multiplex
Chapter 3
Networking Devices
1. (a) Number of channels= 12× 5 × 10 = 600 (b) Capacity= 600× 4 KHZ = 2.4 MHZ
2. (First, please make a correction: 170 Kb/s must change to 160 Kb/s) Total output bit-rate of the multiplexer is 160 Kb/s
(a) Total bit-rate from analog links
= (5 KHz + 2 KHz + 1 KHz)× 2 samples/cycle × 5 bits/sample = 80 Kb/s
(b) Total bit-rate from digital links = 160 Kb/s - 80 Kb/s = 80 Kb/s Total bit-rate per digital line = 80 Kb/s
4 lines = 20 Kb/s
Pulse stuffing per digital line = 20 Kb/s - 8 Kb/s = 12 Kb/s (c) The number of channels of the frame dedicated to each line is
proportional to the data rate of that line. Let’s consider one channel when upto 10 Kb/s of data rate is present. Using a proportional channel assignment , we need a total of 5 + 2 + 1 = 8 analog channels. As each digital line requires 8 Kb/s, we can also assign one channel per digital line. Therefore we need 4
16 Chapter 3. Networking Devices
digital channels, and one control channel:
Bits in each frame = (8 + 4 + 1)×5 b/channel + 1 guard-bit= 66 b/frame
Frame rate = 160×103 b/s
66 b/frame= 2,424 frames/s
3. (a) Pulse stuffing = 4800 b/s × 0.03 = 144 b/s
Number of characters are = 1 (sync) + 99 (data)= 100 Synchronization bit rate = 4800100b/s ≈ 50 b/s
Number of 150 b/s terminals = 4800−(2×600+5×300+50+144) b/s
150 b/s = 12.7≈ 12 terminals
(b) The number of characters for synchronization is proportional to bit rates. For example, since we need 12 characters for 150 b/s terminals, therefore we need 3 characters for synchronization. Frame format in terms of bits is:
2 × (12 char × 10 b/char) + 5 × (6 char × 10 b/char) + 12 ×
(3 char× 10 b/char) + 3 × 10 b/char + 1 × 10 b/char = 940 b/frame
4. (a) #bits/frame (total) = 2 Mb/s× 26 μs/frame = 52 bits/frame #bits/frame (data) = 52 bits/frame− 10 = 42 bits/frame #channels = n = 42 bits/frame 1 6 bits/ch = 7 ch/frame (b) P[clipping] =m−1i=n m− i i pi(1− p)m−i−1 m = 10, n = 7, p = 0.9 P[clipping] = 0.947
17 5. (a) ρ = ta tc+d = 2/8 = 25% (b) Pj=3= m j (ti ta) j j i=0 m j (ta td)i = 8 3 (2 6)3 3 j=0 8 1 (2 6)i ≈ 21% (c) B = Pj=n=4= m n (1/3)n n i=0 m i (1/3)i = 8 7 (1/3)4 4 i=0 8 i (1/3)i = 1+8/3+28/9+56/27+70/8170/81 ≈ 9% (d) E[C] = 4j=1jpj = 1(0.275) + 2(0.32) + 3(0.213) + 4(0.0889) ≈ 1.94 6. (a) m = 4 n = 2 Prob[clipping] = Pc = 3 i=2 3 i ρi(1− ρ)3−i = 10.4% for ρ = 0.2 = 35.2% for ρ = 0.4 = 64.8% for ρ = 0.6 = 89.6% for ρ = 0.8 (b) m = 4 n = 3 Prob[clipping]Pc = 3 i=3 3 3 ρ3(1− ρ)3−3 = 0.0% for ρ = 0.2 = 6.4% for ρ = 0.4 = 21.6% for ρ = 0.6 = 51.2% for ρ = 0.8 (c) n = 4 P4= 100%
18 Chapter 3. Networking Devices
7. ρ = ta
ta+td = 0.9
for m = 11 and n = 10 :
Pc = the clipping prabability
=im=n−1 m− 1 i ρi(1−ρ)m−1−i = 10 10 ρ10(1−ρ)0 = ρ10=≈ 0.35 8. μ1 1−ηρm 9. See Figure 3.1. 1 1 0 0 1 1 1 0 1 Natural NRZ Polar NRZ Manchester
19 10. See Figure 3.2.
ASK
FSK
PSK
Figure 3.2: Modulation techniques.
11. (a) Assume a packet incoming at input port of IPP has length of L bits. Then, T = d+50r ⇒ ∂d∂r∂T2 = 0⇒ dopt, ropt
Therefore ways to optimize the transmission delay T are follow-ings:
• Increase transmission rate (r) by reducing clock cycle time of
CPU.
• Define value of d to be equal to highest-probability packet
20 Chapter 3. Networking Devices
(b) For example, if the switch fabric has 5 stages of routing in its internal network, the processing delay mostly depends on AND gate switch time of gates on a fabric. Assume applying CMOS transistors,which are slowest technology for switching transistors, for this switch fabric. Assuming 50-80 ns switch time for CMOS AND gate, the total propagation delay in this switch fabric = 80
ns ×5 stages=0.4 μs. On the other hand, the delay in IPP (D)
mostly depends on packet fragmentation and encapsulation delay time. Typical value of this delay time is about tens or hundreds of milliseconds for a 512-bytes packet.
Therefore processing delay in the switch fabric is not significant compared to delay in IPP.
Chapter 4
Data Links and Transmission
1. Tprop = 5000×103m
3×108m/s = 16.7 m/s
Total size=(500 page)(1000 char/page)(8 bits/char)=4 Mb (a) T = 16.7 ms + 4 Mb/(64 kb/s)=62.51 s
(b) T = 16.7 ms + 4 Mb/(620 mb/s)=23.15 ms (c) With two million volumes of books:
Total size = 4Mb ×2 × 106 = 8000 Gb
i. T = 16.7 ms + 8000 Gb/(64 kb/s) = 1.25× 108s≈ 4 years ii. T = 16.7 ms+8000 Gb/(620 mb/s) = 12903.2167 s≈ 3.6 hours
2. N/A
3. (a) See Figure 4.1 (a). CRC-12: X12+ X11+ X3+ X2+ X + 1
Rule of hardware: For each existing term except the first term (in this case X12) assign an EXOR followed by a 1-bit register.
22 Chapter 4. Data Links and Transmission (a) (b) 14 3 2 1 0 11 10 4 3 2 1 0 15
Figure 4.1: Answer to exercise.
For each non-existing term assign a 1-bit register. Once all bits of data (D, 0) moves in completely, the content of registers show the remainder of the division process.
(b) See Figure 4.1 (b). CRC-16: X16+ X15+ X2+ 1 4. (a) Dividend = X10+ X8+ X6+ X5+ X4 Divisor = X4+ X (b) If dividend = X10+ X8+ X6+ X5+ X4, and divisor = X4+ X, then, quotient = X6+ X4− X3+ X2+ 2 and, remainder = −X3− 2X
23 5. The hardware is shown in figure 4.2.
1-bit Shift Register dividend 10101110000 Starting bit to enter 0 1 2 3 Power of x:
Figure 4.2: Contents of the four shift registers. If we sift in D, 0 = 1010111,0000
G = 10010 ⇒ X4 + X
The final contents of shift registers as the step-by-step implementation of D,G0|2 shows CRC = 0 0 0 1 (MSB at right):
Bits of D, 0 left to shift in Shift registers’ contents 1010111,0000 0 0 0 0 010111,0000 1 0 0 0 10111,0000 0 1 0 0 0111,0000 1 0 1 0 111,0000 0 1 0 1 11,0000 1 1 1 0 1,0000 1 1 1 1 0000 1 0 1 1 000 0 0 0 1 00 0 1 0 0 0 0 0 1 0 - 0 0 0 1 If we sift in D, CRC = 1010111,1000 G = 10010 ⇒ X4 + X
The final contents of shift registers as the step-by-step implementation
24 Chapter 4. Data Links and Transmission
Bits of D, CRC left to shift in Shift registers’ contents 1010111,1000 0 0 0 0 010111,1000 1 0 0 0 10111,1000 0 1 0 0 0111,1000 1 0 1 0 111,1000 0 1 0 1 11,1000 1 1 1 0 1,1000 1 1 1 1 1000 1 0 1 1 000 1 0 0 1 00 0 0 0 0 0 0 0 0 0 - 0 0 0 0 6. (a) D=1010 1101 0101 111 G=1110 10 g=6, then, g-1=5 D,0=1010 1101 0101 111,0000 0 CRC=D,G0|2 Dividend = 101011010101111,00000 Divisor = 111010 Quotient = 111011111000010 Remainder = 10100 CRC=10100 D,CRC=1010 1101 0101 111,10100 (b) D,CRC = 1010 1101 0101 111,10100 G=1110 10 D,CRC G |2 Dividend = 101011010101111,10100 Divisor = 111010 Quotient = 111011111000010
25 Remainder = 0
The data is correct.
7. v = 3× 108 m/sec = 80 b/frame r = 10× 106 bits/sec, tp/tf = 10 (a) E = tf t = tf tf+2tp = 1 1+2tptf = 1 1+2(10) = 0.04762 or 4.76%
(b) Assuming the speed of light to be 3× 108 in the cable: 10 = tp tf = d v r = d 3×108 80 10×106 ⇒ d(10×106) 80(3×108) = 10 d = 24 km (c) See Figure 4.3. tp= d/v = 24 km/3× 108 ⇒ tp = 8× 10−5 s (d) 8 : E = 1+2(8)1 = 0.0588 = 5.88% tp = 6.4× 10−5 sec, d = 19.2 km 6 : E = 1+2(6)1 = 0.0769 = 7.69% tp = 4.8× 10−5 sec, d = 14.4 km 4 : E = 1+2(4)1 = 0.111 = 11.11% tp = 3.2× 10−5 sec, d = 9.6 km 2 : E = 1+2(2)1 = 0.2 = 20% tp = 1.6× 10−5 sec, d = 4.8 km 8. tp = 0.2 s r = 2 Mb/s f = 800 b tf = fr = 2×108006 = 4× 10−4 s
26 Chapter 4. Data Links and Transmission
0.2
0.1111
2
0.0476
0.0588
0.0769
4
6
8
10
E
t
pt
fFigure 4.3: Answer to exercise. The efficiency trend. (a) Stop-and-Wait protocol:
E = tf t = tf tf+2tp = 4×10−4 4×10−4+2(.2) = 0.0010≈ 0.1%
(b) Sliding window protocol, w = 6:
E = w w+2 tp tf = 6 6+2 0.2 4×10−4 = 0.00596 ≈ 0.6% 9. Frame = 5,000 b tp = 1 μs/km (a) Rate on R2-R3 = 1 Gb/s
27 shuch that: Rate on R3-R4 = E R3−R4 ER2−R3 × 1 Gb/s (b) tp = 1,800 km× 1 μs/km = 1,800 μs tf = 5,0001 b/frameGb/s = 5 μs ER2−R3= w w+2 tp tf = 5 5+21,8005 μsμs = 6.8×10 −3. (c) tp = 800 km× 1 μs/km = 800 μs tf = 5,000b/frame ER3−R4 ER2−R3 ×1 Gb/s = 5 ER2−R3 ER3−R4 = 5 6.8×10−3 ER3−R4 = E0.034 R3−R4 ER3−R4= 1 1+2tp tf = 1 1+2 800 0.034 ER3−R4 ⇒ ER3−R4= 4.6× 10−3.
Chapter 5
Local-Area Networks and
Networks of LANs
1. (a) 88 Bit Packet ⇒ Data Part=88-80 Prop. Speed= 200 m/μs
One cycle time = (transmission time+propagation time) for data packet+ (transmission time+propagation time) for ack packet
= 256 b 106 b/s + 103 m 200×10−6 + 88 b 106 b/s+ 103 m 200×106 = 354× 10−6 s
Total time = (one cycle time)× (total bits)/data size of packet = (354× 10−6 s)× (8 b/ch × 106 ch)/176 b/packet
= 16 s/packet
(b) One cycle time = (transmission time + propagation time)for data packet+ (transmission time + propagation time)for ack packet
= 256b+(100/2)×1 b 106 b/s + 103 m 200×106 m/s + 50 nodes×1 b/node 106 b/s + 103 m 200×106
= 366×10−6 sTotal time = (one cycle time)×(total bits)/data size of packet = (366× 10−6 s)× (8 b/ch × 106 ch)/176 b/packet
= 16.54 s/packet
30 Chapter 5. Local-Area Networks and Networks of LANs Ground Floor 3 5 LAN 5 4th Floor 3rd Floor 2nd Floor
Figure 5.1: Answer to exercise. The LAN overview of connections in a building.
2. Assuming that the computers and phones are placed at the corners of rooms, the overview of the LAN connections in a building is shown in Figure 5.1.
(a) 2nd floor: d=5+3+5=13 m 3rd floor: d=5+3+3+5=16 m 4th floor: d=5+3+3+3+5=19 m
(b) VoIP rate per office=64× 2 = 128 Kb/s
Web rate per office=(22 KB/page/s ×601)(2 min )×8 b/B =5.86 Kb/s
LAN rate=(128+5.86) × 12 offices=1.6 Mb/s
31 Parts (a) and (b) to be Part (a) and thus Part (c) to become Part (b) Data rate=100× 106 b/s Speed = 200 m/μs,
Frame = 1000 b,
(a) Mean distance = 0.375 km
total time/frame = (transmission time) + (propagation time) = 103 b/frame
100×106 b/s +
0.375km
200×106 m/s
= 11.87 μs
(b) Time is seconds = to sense a collision in the midpoint of two users’ distance = total time to send a frame up to the midpoint leading to a collision, and then sense back the collision = 0.5 (11.87 μs) + 0.5 (11.87 μs) = 11.87 μs
Time in bits = 11.87 μs× 107 b/s = 1, 187 b
4. 100 Mb/s
96 bit time to clear
tp=180 b (a) g=2 Retransmission time = (96 + 512× 2) × 10−8 = 1.12× 10−5 s (b) g=1 Retransmission time = (96× 512) × 10−8 = 6.08× 10−6 s (c) tp= lc = 100180Mb/sb = 1.8× 10−6 s 5. (a) α = tp T β = λT
32 Chapter 5. Local-Area Networks and Networks of LANs R = pt tB+t = e−λtp T+2tp−1−e−pλ +λ1 = −λtp λ(T +2tp)+e−p Un= −αβ λ(T +2αβ)+e−αβ = β Te−αβ β+2αβ+e−αβ
(b) Rn is in terms of frames/time slot due to the throughput R
be-ing normalized. Rn makes it easier to use for estimation of the
system. β is called ”offered load” since β is equal to λ ( is the av-erage arrival rate) multiplied by T (is a frame duration in seconds) resulting in “offered load”.
(c) α ={0.001, 0.01, 0.1, 1.0} Un1 = βTe−0.001β/β + 2(0.001β) + e−0.001β Un2 = βTe−0.01β/β + 2(0.01β) + e−0.01β Un3 = βTe−0.1β/β + 2(0.1β) + e−0.1β Un4 = βTe−1β/β + 2(1β) + e−1β 6. N/A 7. na= 4 = 10 n = 10 f = 1500 byte× 8 b/1 byte = 12, 000 b (a) tp = c = 3×10108 = 3.33× 10−8 s tr= fr = 10×1012,0009bitsb/s = 1.2× 10−6 s (b) u = tr tr+tp = 1.2×10−6 s 1.2×10−6 s+3.33×10−8 s = 0.973 s (c) pc = na−1 na na−1 = 4−1 4 4−1 = 0.422 (d) na= 7, i = 7 pc = na−1 na na−1 = 7−1 7 7−1 = 0.387
33 pi = pc(1− pc)i = 0.387(1− 0.387)7 = 0.0116 (e) na= 4 E[c] = 1−pc pc = 1−0.387 0.387 = 1.52
Listen to Medium Transmit data
Wait for 512g
Bit Time Random# g
Medium not available
Medium
available Transmissionsuccess
Collision
Listen to Medium Transmit with Prob P for Max tp Medium not available Medium available Collision Fixed P Transmission success a) b)
Figure 5.2: Answer to exercise.
34 Chapter 5. Local-Area Networks and Networks of LANs Hub Network Analyzer Bridge To Internet 1 R To Other Buildings Hub Repeater
Chapter 6
Wireless Networks and
Mobile IP
1. N/A 2. N/A 3. N/A 4. N/A 5. N/A6. (a) The probability of reaching a cell boundary or the probability of requiring a handoff as a function of db is shown in Figures 6.1 and
6.2. Suppose that a vehicle initiates a call in a cell with 10 miles radius. The vehicle speed is chosen to be 45 m/h (within a city)
36 Chapter 6. Wireless Networks and Mobile IP
Table 6.1: Probability of having a handoff for Case 4
db Handoff Probability (%) α01 (m) k = 35 m/h k = 60 m/h 0 50 50 5 37 43 1 10 29 36 20 17 26 0 50 50 5 12 22 5 10 4 9 20 1 2 0 50 50 5 4 9 10 10 1 2 20 0 0
and 75 m/h (on highways). In case 1, since a vehicle is resting all the time with an average speed of 0 m/h, the probability of reaching a cell boundary is clearly 0 percent. In contrast to Case 1, for a vehicle is moving with an average speed in Case 2, the chance of reaching a cell boundary is always 100 percent. Thus, when a vehicle is either at rest or moving with some speed, the probability of requiring a handoff is independent on db. From the
figure, we see that as α01 increases, the chance of reaching a cell
boundary is lower. Also, with a fixed db, the handoff probability
in highway is much higher than in the city area. This is because the higher the speed limit, the higher the probability of reaching a cell.
Table 6.1 summarizes the results. Assume α01= 1 and in the city
area where k = 45 m/h: if dbis 5 miles the only chance of reaching
a cell is 87 percent, or the chance that a handoff occurs for the cell is 87 percent. If db is 10 miles, the probability of reaching a
37 0 2 4 6 8 10 12 14 16 18 20 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5 db, miles
Probability of Requirement For Handoff
α01 = 1
α01 = 5
α01 = 10
Figure 6.1: The probability of reaching a cell boundary for Case 4: (a) within a city 0 2 4 6 8 10 12 14 16 18 20 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 db, miles
Probability of Requirement For Handoff
α01 = 1
α01 = 5
α01 = 10
Figure 6.2: The probability of reaching a cell boundary for Case 4: (b) in highway.
38 Chapter 6. Wireless Networks and Mobile IP 25 30 35 40 45 50 55 60 65 70 75 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
Average Speed of A Vehicle, mph
Probability of Requirement For Handoffs
α01 = 1
α01 = 5
α01 = 10
Figure 6.3: The probability of reaching a cell boundary in terms of a vehicle’s speed for Case 4.
reaching the call holding time decreases. As the cell size increases, the probability of reaching a boundary decreases in an exponential manner. The only difference between Case 3 and Case 4 is that the change of handoff probability for the latter is between 0 percent to 50 percent while the former has a change of probability between 0 percent to 100 percent. This is mainly due to the difference between the two initial state probabilities for both case.
(b) The relationship between a vehicle’s speed and the chance of reach-ing a cell boundary is shown in Figure 6.3 As shown earlier, for Case 1 and Case 2, the probability of requiring a handoff is inde-pendent on the call holding time and db and therefore, it is also
independent on the vehicle’s speed. For Case 1 in which a vehicle is resting all the time, the vehicle will never reach a cell boundary. For Case 2 in which a vehicle is moving all the time with some speed, the chance of reaching a cell boundary is always 100 per-cent. The probability of reaching a cell boundary is proportional to the vehicle’s speed. This is because the increase of the speed of a vehicle increases the chance of reaching a cell boundary. As α01
39 increases, the probability of requiring a handoff decreases.
Chapter 7
Routing and
Inter-Networking
1. (a) See Figure 7.1 (a). min=2 max=2 H = min+max2 = 2 (b) See Figure 7.1 (b). min = 3 For max: n=4, max=4, n=5, max=9/2, n=6, max=5
in general, for n, the max is n2 + 2
H = min+max2 = 3+(n/2+2)2 (c) See Figure 7.1 (c). H=3 (d) See Figure 7.1 (d). min = 3 max = 4 H = 2(3)+(n−4)4n−2 41
42 Chapter 7. Routing and Inter-Networking
(a)
(d)
(c)
(b)
Figure 7.1: Answer to exercise. Four different network topologies to connect two users.
43
2. Using Dijkstra’s Algorithm
Table 7.1: Solution to problem.
(a)
k βA,C βA,D βA,F βA,E βA,B
{A} AC(5) × AF(9) × ×
{A,F} AC(5) AFD(12) ACF(8) AFE(10) AFB(14)
{A,F,C} AC(5) ACD(9) ACF(8) ACE(7) AFB(14)
{A,F,C,D} AC(5) ACD(9) ACF(8) ACE(7) AFB(14)
{A,F,C,D,E} AC(5) ACD(9) ACF(8) ACE(7) ACEB(9)
{A,F,C,D,E,B} AC(5) ACD(9) ACF(8) ACE(7) ACEB(9)
(b) See Figure 7.2
3. Using Bellman-Ford Algorithm
(a)
βA,C βA,D βA,F βA,E βA,B
1 AC(5) × AF(9) × ×
2 AC(5) ACD(9) ACF(8) ACE(7) AFB(14) 3 AC(5) ACD(9) ACF(8) ACE(7) ACEB(9) 4 AC(5) ACD(9) ACF(8) ACE(7) ACEB(9)
(b) See Figure 7.3.
4. Using Dijkstra’s Algorithm (b) See Figure 7.4.
44 Chapter 7. Routing and Inter-Networking
Figure 7.2: Answer to exercise.
45
Figure 7.4: Answer to exercise.
46 Chapter 7. Routing and Inter-Networking
(a)
k βA,C βA,D βA,F βA,E βA,B
{A} AC(5) × AF(9) × ×
{A,F} AC(5) AFD(12) ACF(8) AFE(10) AFB(14)
{A,F,C} AC(5) ACD(9) ACF(8) ACE(7) ACFB(13)
{A,F,C,D} AC(5) ACD(9) ACF(8) ACE(7) ACFB(13)
{A,F,C,D,E} AC(5) ACED(8) ACF(8) ACE(7) ACEB(9)
{A,F,C,D,E,B} AC(5) ACED(8) ACF(8) ACE(7) ACEB(9)
(a) k β1,2 β1,3 β1,4 β1,5 β1,6 β1,7 {1} 1,2(3) 1,3(3) × × 1,6(9) × {1,2} 1,2(3) 1,3(3) 1,2,4(11) 1,2,5(15) 1,6(9) × {1,2,3} 1,2(3) 1,3(3) 1,3,4(7) 1,3,5(7) 1,6(9) × {1,2,3,4} 1,2(3) 1,3(3) 1,3,4(7) 1,3,5(7) 1,6(9) × {1,2,3,4,5} 1,2(3) 1,3(3) 1,3,4(7) 1,3,5(7) 1,3,5,6(8) 1,3,5,7(20) {1,2,3,4,5,6} 1,2(3) 1,3(3) 1,3,4(7) 1,3,5(7) 1,3,5,6(8) 1,3,5,6,7(16) (b) See Figure 7.5.
6. Using Bellman-Ford Algorithm
(a) β1,2 β1,3 β1,4 β1,5 β1,6 β1,7 1 1,2(3) 1,3(3) × × 1,6(9) × 2 1,2(3) 1,3(3) 1,3,4(7) 1,3,5(7) 1,6(9) 1,6,7(17) 3 1,2(3) 1,3(3) 1,3,4(7) 1,3,5(7) 1,3,5,6(8) 1,6,7(17) 4 1,2(3) 1,3(3) 1,3,4(7) 1,3,5(7) 1,3,5,6(8) 1,3,5,6,7(16) (b) See Figure 7.6.
7. From R1 to R4 using Dijkstra’s Algorithm (b) See Figure 7.7.
47
Figure 7.6: Answer to exercise.
1 R 2 R 3 R 4 R 7 R 6 R 5 R 1 R 2 R 3 R 4 R 7 R 6 R 5 R 1 R 2 R 3 R 4 R 7 R 6 R 5 R 1 R 2 R 3 R 4 R 7 R 6 R 5 R 1 R 2 R 3 R 4 R 7 R 6 R 5 R 1 R 2 R 3 R 4 R 7 R 6 R 5 R 1 R 2 R 3 R 4 R 7 R 6 R 5 R
48 Chapter 7. Routing and Inter-Networking (a) k β1,2 β1,3 β1,4 β1,5 β1,6 β1,7 {1} 1,2(2) × × × 1,6(2) 1,7(8) {1,6} 1,2(2) 1,6,3(7) × 1,6,5(7) 1,6(2) 1,6,7(3) {1,6,5} 1,2(2) 1,6,3(7) 1,6,5,4(11) 1,6,5(7) 1,6(2) 1,6,7(3) {1,6,5,4} 1,2(2) 1,6,3(7) 1,6,5,4(11) 1,6,5(7) 1,6(2) 1,6,7(3) {1,6,5,4} 1,2(2) 1,6,3(7) 1,6,5,4(11) 1,6,5(7) 1,6(2) 1,6,7(3) {1,6,5,4,3} 1,2(2) 1,6,3(7) 1,6,3,4(9) 1,6,5(7) 1,6(2) 1,6,7(3) {1,6,5,4,3,2} 1,2(2) 1,2,3(6) 1,2,3,4(8) 1,6,5(7) 1,6(2) 1,6,7(3) {1,6,5,4,3,2,7} 1,2(2) 1,2,3(6) 1,6,7,4(5) 1,6,5(7) 1,6(2) 1,6,7(3)
8. From R1 to R4 using Bellman-Ford Algorithm
(a) β1,2() β1,3() β1,4() β1,5() β1,6() β1,7() 1 1,2(2) × × × 1,6(2) 1,7(8) 2 1,2(2) 1,2,3(6) 1,7,4(10) 1,6,5(7) 1,6(2) 1,6,7(3) 3 1,2(2) 1,2,3(6) 1,6,7,4(5) 1,6,7,5(4) 1,6(2) 1,6,7(3) 4 1,2(2) 1,2,3(6) 1,6,7,4(5) 1,6,7,5(4) 1,6(2) 1,6,7(3) (b) See Figure 7.8. 9. PBC = (0.3)(0.1)(0.7) = 0.021 PCE = (0.3)(0.6) = 0.18 PCDF = 1− (1 − 0.5)(1 − 0.8) = 0.9 PCEF = 1− (1 − 0.18)(1 − 0.2) = 0.344 PCF = (0.9)(0.344) = 0.31 PBCF = 1− (1 − 0.021)(1 − 0.31) = 0.324 PBF = (0.3)(0.324) = 0.097 PAF = 1− (1 − 0.4)(1 − 0.097) = 0.458 10. PAB = 0.4 PBC = (0.3)(0.1)(0.7) = 0.021
49 1 R 2 R 3 R 4 R 7 R 6 R 5 R 1 R 2 R 3 R 4 R 7 R 6 R 5 R 1 R 2 R 3 R 4 R 7 R 6 R 5 R 1 R 2 R 3 R 4 R 7 R 6 R 5 R
Figure 7.8: Answer to exercise.
PCE = (0.3)(0.3)(0.6) = 0.054 PCDF = 1− (1 − 0.5)(1 − 0.8) = 0.9 PEF = 0.2 PCF = [1− (1 − PCE)(1− PEF)]PCDF(0.3)(0.3) = 0.0197 PAC= 1− (1 − PAB)(1− PBC) = 0.4126 PAF = 1− (1 − PAC)(1− PCF) = 0.424
Chapter 8
Transport and End-to-End
Protocols
1. Figure 8.1 shows the operation. Each packet size is 1000 bytes since that’s the MSS of Host B.
For Host A: MSS = 2000, ISN = 2000, File Size = 200 Kb = 25 KB For Host B: MSS = 1000, ISN = 4000, Packet Size = 100 Kb = 25 KB where data per packet is 960 bytes
Three stages in file transfer: Connection establishment, Segment trans-fer, and Connection termination.
2. (a) TCP sequence number field includes 4 B = 32 b. Thus:
• Maximum number of bytes to be identified in a connection =
232
• We consume one sequence number for connection setup, seq(i),
and one sequence number for connection termination, seq(k). As each byte of data is identified by a unique sequence number, therefore, the maximum number of data bytes that can be identified for a connection and we can transfer = f = 232−2 = 4, 294, 967, 294 B
52 Chapter 8. Transport and End-to-End Protocols
HOST B HOST A
2-WAY CONNECTION ESTABILSHED
PACKET TRANSMISSION STARTS
A gap in transmission to allow Host A not tot wait for ACK
and keep transmitting
2-WAY CONNECTION TERMINATED LAST 40 BYTES
Figure 8.1: Answer to exercise.
(b) Total size of each segment = 2,000 B. Also, each segment has the following headers: 20 B Link + 20 B IP + 20 B TCP = 60 B. Thus:
• Maximum size of data in each segment = 2,000 B - 60 B =
1,940 B.
• Maximum number of segments to be produced in a connection
= 4,294,967,2941,940B B≈ 2,213,901
• Total size of all segment headers = 2,213,901 × (60 B) =
132,834,060 B
• Total size of all segment headers and data = 4,294,967,294 B
+ 132,834,060 B = 4,427,801,354 B
53 = 354.21 s≈ 5.9 minutes
3. (a) Slow start congestion control:
Since the number of packets transmitted doubles every time, the number of round trips to reach n is log2n− 1.
(b) Additive increase congestion control:
Since the number of packets transmitted increases by 1 every time, the number of round trips to reach n is n− 1.
4. This Problem belongs to Chapter 12 please see Problem 12.16.
5. N/A
6. = 1.2 Gb/s RTT = 3.3 ms File size f = 2 MB packet size = 1 KB
Hence the total number of packets needed to be transmitted = 2MB / 1 KB = 2000
(a) With an additive increase/multiplative decrease protocol, the win-dow size increases by one all the times until a congestion when the window size is divided by two. Therefore, the window size starting at wg = 1 KB changes its value as follows:
wg = 1 KB, 2 KB, 3 KB, 4 KB,· · ·, n KB
54 Chapter 8. Transport and End-to-End Protocols
Thus: n(n+1)2 = 2000
where we can obtain n = 62.74≈ 63
Since, the congestion window size of 500 KB is never reached, no multiplicative decrease takes place. Thus
The total time = 63 × 3.3 ms = 207 ms
Clearly, the window size takes a total of 500×RTT = 500×3.3=1.65 seconds to reach 500 KB.
(b) With a slow start protocol, the window size is doubled all the times until a congestion. Therefore, the window size starting at wg = 1
KB changes its value as follows:
wg = 1 KB, 2 KB, 4 KB, 8 KB,· · ·, approximatley 1,024 KB
Therefore, we will have to make 11 roundtrips to transmit the file: 1+2+4+8+16+32+64+128+256+512+1024 = 2047
Thus the total time = 11 × RTT = 11 × 3.3 ms = 36.3 ms The window size takes a total of 10×
(c) With the additive increase/multiplative decrease protocol, it takes 63 RTTs to transfer the 2 MB file. Therefore,
Δ = 63× 3.3 ms ≈ 208 ms
r = Δf = 2082 MBms = 76.9 Mb/s
(d) With the additive increase/multiplative decrease protocol,
ρu= Br =
76.9Mb/s
1.2 Gb/s = 64× 10−3
7. Round trip time = 0.5 s
Packet transmitted every 50 ms
Let’s assume packet (segment) P-11 is lost. The first acknowledgement, ACK-10, is received when P-21 is about to be transmitted. No ACK is received before P-22 as P-11 is lost. We receive the fourth ACK-10 after P-24 is sent. Segment loss is detected. P-11 is transmitted instead
55 Source Destination 0.5 sec LOSS OF SEGMENT DETECTED 50ms
Figure 8.2: Answer to exercise. of P-25. See Figure 8.2.
(a) In this case, P-11 is transmitted and after 50 ms, P-25 is trans-mitted, and the cycle continues. Hence, we lose only 50 ms. See Figure 8.2.
(b) In this case, the sender waits for the acknowledgment of retrans-mitted P-11. Thus, it has to wait for the complete round trip. Hence, the time lost here is 0.5 s.
Chapter 9
Applications and Network
Management
1. The command for is “nslookup.” In the command prompt in that window we put the name of the website in the format: www.name.com. When entering this command in the command prompt of windows, it can be seen that we get the server name, IP address, and Aliases. The command ns-lookup works both ways, that is, if we give the name we get the IP addresses and also vice versa. The snapshot in the Figure 9.1 shows the IP addresses of some of the most frequently used websites with their server names.
2. (a) To obtain the file name in a remote machine, the DNS server re-quests the local DNS server if it is not the local DNS server to contact the remote machine. These requests are carried out by the server either recursively or iteratively. On the other hand, if the server wants to obtain the file name from another DNS server, depending upon the type of information and the file location, the DNS server either requests the root DNS or another local DNS. (b) When we take the domain name from the DNS server, our query
58 Chapter 9. Applications and Network Management
59 gives us a result which includes all the possible aliases of the par-ticular domain names and their corresponding IP addresses. On the other hand, if the query is done using the IP address, then we get only the particular alias that corresponds to that IP address in response. This is illustrated by the Figure 9.2 using the example of gmail.com.
(c) As seen in Figure 9.2, all hosts from the same subnet need not be identified by the same DNS server as we can assign different subnets with different IP addresses. This is done for various reasons like traffic sharing, having different names (alias) for same website, etc.
3. (a) SSH provides a far better security of transmission compared with TELNET.
(b) The functionality given by Rlogin implementation in Telnet are: It passes terminal type
It bypasses the need for username/password to be entered. No newline etc processing is applied to data transferred It has better out-of-band data handling
It has better flow-control handling It has window-size negotiation
4. (a) No, FTP does not compute checksum any checksum for its file transfer. It relies on the underlying TCP layer for error control. TCP layer uses checksum for error control.
(b) If the TCP connection is shut down, the browser tries to set up the connection once. If this attempt fails then the browser quits the file transfer.
60 Chapter 9. Applications and Network Management
61 Command Explanation
ABOR Abort an active file transfer. ACCT Account information.
ALLO Allocate sufficient disk space to receive a file. APPE Append
CDUP Change to Parent Directory. CLNT Send FTP Client Name to server CWD Change working directory.
DELE Delete file.
EPSV Enter extended passive mode.
EPRT Specifies an extended address and port to which the server should connect.
FEAT Get the feature list implemented by the server. GET Use to download a file from remote
HELP Returns usage documentation on a command if specified, else a general help document is returned.
LIST Returns information of a file or directory if specified, else information of the current working directory is returned.
LPSV Enter long passive mode.
LPRT Specifies a long address and port to which the server should connect.
MDTM Return the last-modified time of a specified file. MGET Use to download multiple files from remote MKD Make directory (folder).
MODE Sets the transfer mode.
MPUT Use to upload multiple files to remote
NLST Returns a list of filenames in a specified directory.
NOOP No operation (dummy packet; used mostly on keep alive). OPTS Select options for a feature.
62 Chapter 9. Applications and Network Management
PASV Enter passive mode.
PORT Specifies an address and port to which the server should connect.
PUT Use to upload a file to remote
PWD Print working directory. Returns the current directory of the host.
QUIT Disconnect.
REIN Re initializes the connection.
REST Restart transfer from the specified point. RETR Retrieve a remote file.
RMD Remove a directory. RNFR Rename from RNTO Rename to.
SITE Sends site specific commands to remote server. SIZE Return the size of a file.
SMNT Mount file structure. STAT Returns the current status. STOR Store a file.
STOU Store a file uniquely. STRU Set file transfer structure. SYST Return system type.
TYPE Sets the transfer mode (ASCII/Binary). USER Authentication username.
5. The total file transfer delay is:
(a) On both directions when the network is in its best state of traffic, the average file transfer delay is 3.5 ms.
(b) On both directions when the network is in its worst state of traffic, the average file transfer delay is 9 ms.
63 (c) On one direction when we try FTP from one computer to itself:
The average file transfer is 7.5 ms.
6. All characters of the URL must be from the following: A-Z, a-z, 0-9 . \ / ∼ % - + & # ? ! = () @
If a URL contains a different character it should be converted; for example, ˆ must be written as %5e, the hexadecimal ASCII value with a percent sign in front. A blank space can also be converted into an underscore.
7. (a) The purpose of the GET command in the HTTP is to request a representation of the specified resource. The GET method re-trieves whatever information (in the form of an entity) identified by the Request-URI. If the Request-URI refers to a data-producing process, it is the produced data is returned as the entity in the re-sponse and not the source text of the process, unless that text happens to be the output of the process.
(b) The purpose of the PUT command in HTTP is to request the enclosed entity to be stored under the supplied Request-URI. Thus it basically uploads a representation of the specified resource. (c) The GET command needs to use the name of the contacted server
when it is applied as HTTP is a stateless protocol. This means that it keeps the state information and live connections to remote clients. Thus, we connect to the server, get the info we need, and then disconnect. Therefore, we need to give the name of the contacted server.
64 Chapter 9. Applications and Network Management
8. (a) The role of ASN.1 on the 7 layer OSI model is shown in Figure 9.3. The ASN.1 notation is used in the application layer as a notation. (b) The impact of constructing a grand set of unique global ASN.1 names for MIB systems is that the network management can iden-tify an object by a sequence of names or numbers from the root to that object. This enables designers to produce specifications without undue consideration to the encoding issues.
(c) A US based organization must register under the following: Root : ISO : company name : dod : internet : MIB
Figure 9.3: Solution to exercise.
9. (a) The SNMP protocol has the function wherein the network man-ager can use this protocol to find the location of fault. The task of SNMP is to transport MIB information among all the manag-ing centers and agents executmanag-ing on its behalf. The most efficient method for the above functions is unarguably UDP as it will be faster and efficient.
(b) The pros of letting all the managing centers access the MIB is bet-ter connection ability and betbet-ter communication. It would greatly
65 help in the development and servicing of the MIB. All these things would result in the better utilization of the network and also more efficiency. On the other hand, the price to pay for this kind of flexibility is having a huge impact on the security of the network. Also, even if the security aspect is taken care of, letting everyone access to the MIB variables increases the complexity of the MIB design and maintenance.
(c) MIB is the information storage medium that contains managed objects reflecting the current status of the network. Now, if the MIB variables are located in the router memory, it would greatly improve the efficiency and the speed of the process. However, it brings with it the problem of updating the MIB. In the scenario where router B is not involved in, any communication must also be notified about the change in order to update the MIB if the communication is limited between routers A and C. This would create unnecessary overheads and wastage of network bandwidth. This is of course on top of increasing the router complexity, buffer size, and host of other problems. Thus, MIB variables should not be organized in the local router memory.
Chapter 10
Network Security
1. L4 = 4de5635d, R4 = 3412a90e, k5 = be11427e6ac2. L4 = 0100;1110;1111;0101;0110;0011;0101;1110.
R4 = 0011;0100;0001;0010;1010;0101;0000;1110. After the expansion stage the right half will become:
R4 = 000110;101000;000010;100101;010100;001010;100001;011100.
k5 = 101111;110001;000101;000010;011111;110110;101011;000010. R4 Xor k5 gives us:
101001;011001;000111;100111;001011;111100;001010;011110. Now passing it through the S-Box:
R4 = 0100;0110;1001;0110;0111;1011;0000;0111. L4 = 0100;1110;1111;0101;0110;0011;0101;1110.
Xor with the left half:
R4 = 0000;1000;0110;0011;0001;1000;0101;1001
After permutation:
R5 = 1011;1010;0100;1001;0010;1000;0000;0100 = ba492804
L5 = 0011;0100;0001;0010;1010;0101;0000;1110 = 3412a50e
68 Chapter 10. Network Security
2. Key generation:
The key is 010101. . . .01 and is 56 bit long. Thus, the parity bits have already been discarded.
The key is first divided into two blocks of 28 bits using the standard permutation block provided by the DES algorithm:
the left block say C0 = 0000000; 0111111; 1100000; 0001111. the right block say D0= 0000000; 0111111; 1100000; 0001111.
Now, we shift left both C0 and D0 by 1 thus we get C1 and D1 as
follows: C1 = 0000000; 1111111; 1000000; 0011110. D1 = 0000000; 1111111; 1000000; 0011110. ki(left) = 101100;001001;001011;001010. ki(right) = 010101;010000;001001;010100. ki = ki(left);ki(right). Message generation:
The message is all ones: 111. . . .111 (64). With left half (32) 11. . . .11 and right half(32) 11. . . 11. (Here the initial permutation has no effect.) Converting the 32 message into 48 by passing through the mangler (1): 111. . . 11(32 bit) = 111. . . 111(48bits).
Xoring with the key ki:
010011; 110110; 110100; 110101; 101010; 101111; 110110; 101011. Now, passing it through the S-Box:
0110;0110;0010;0101;1101;1011;1000;1010. Xor with left half:
1001;1001;1101;1010;0010;0100;0111;0101. After permutation of the right half we get: 0000;0110;1101;1001;0100;1101;1110;1010 (R1)
69
3. N/A
4. N/A
5. From the text book: c = mxmod n and m = cy mod n. Note that x and y are mod inverse of each other. Thus,
c = ((cy)x) mod n.
Since x and y are inverse of each other, we then get
c = c mod n = c.
6. M = 1010. The two four bit primes are a = 5 and b = 11. Also x = 3. To find the keys, we have
n = ab = (5)(11) = 55
q = (a− 1)(b − 1) = (4)(10) = 40
Thus, xy mod (a− 1)(b − 1) = 1 resulting in 3y mod 40 = 1 which implies that y = 27, since (3)(27) = 81 and 81 mod 40 = 1. Therefore the keys are:
The public key = {3, 55} The private key = {27, 55}.
Thus: the cipher text from the message 1010 (10 in decimal) is 103 mod 55 = 1000 mod 55 = 10 mod 55. Therefore, the cipher text is 10.
7. m = 13
70 Chapter 10. Network Security b = 11
x = 7
(a) Encryption:
The public key = {7, 55}
C = 137 mod 55 = 62748517 mod 55 = (55)(1140882) + 7 mod 55
= 7 mod 55.
C = 7.
(b) The corresponding y is given as follows:
n = ab = (5)(11) = 55
q = (a− 1)(b − 1) = (4)(10) = 40
Also x = 7
Thus, xy mod (a− 1)(b − 1) = 1 7y mod 40 = 1
Which implies y = 23 (since (7)(23) = 161 and 161 mod 40 = 1) The private key = {23, 55}.
(c) The decryption is 723mod 55 = 13.
8. (a) When encrypting with small values of the m, the (non-modular) result of me may be strictly less than the modulus n. In this case, ciphertexts may be easily decrypted by taking the the root of the ciphertext with regardless of the modulus. For systems that conventionally use small values of e, such as 3, the AES key of 256 bits using this scheme would be insecure since the largest m would have a value of 2563, and 2553 is less than any reasonable modulus. Such plaintexts could be recovered by simply taking the cube root of the ciphertext.
Thus, the 256-bit AES key, k, chosen by user 1 is too small to encrypt securely with RSA having a public key as {x, 5} since
71 taking the eth root.
(b) The values m = 0 or m = 1 always produce ciphertexts equal to 0 or 1 respectively, due to the properties of exponentiation. Thus, the keys containing of all 0’s or all 1’s can be easily recovered by the attacker. An example could be {x = 3, y = 7}.
9. To overcome the vulnerability in the above combination, practical RSA implementations typically embed some form of structured, randomized padding into the value m before encrypting it. This padding ensures that m does not fall into the range of insecure plaintexts, and that a given message, once padded, encrypts to one of a large number of dif-ferent possible ciphertexts. The latter property can increase the cost of a dictionary attack beyond the capabilities of a reasonable attacker. Modern constructions use secure techniques such as optimal
asymmet-ric encryption padding (OAEP) to protect messages.
The intuitive solution to this problem is that user 1 must select a larger random number for RSA encryption. In this case, both users 1 and 2 use this number to create key, k.
A second solution is that user 1 pads k with random bits so that the message has almost the same number bits as x does.
10. Suppose that user 1 chooses a prime number a, a random number x1,
and a generator g and creates y1. We can say:
k1 = yx21 mod a = (gx2 mod a)x1 mod a = [(gx2)x1 mod a] mod a =
[(gx1)x2 mod a] mod a = (gx1 mod a)x2 mod a = yx2
Part II
Advanced Concepts
Chapter 11
Packet Queues and Delay
Analysis
1. Note to Instructors: This problem requires a good understanding of
queueing theory without any use of formulas. Advance explanation of objectives of this problem to students will be very helpful.
We can summarize the queing situation as follows:
• Interarrival time = 20 μs • Service time
= 0 μs, if there is no packet misordering
= 10 + 30×(n=number of misorderings) μs, if there are n packet misorderings in a block.
(a) Packet block arrival and departure activities are shown in Table 11.1. If we consider one packet block between arrival time 20 μs, and departure time 90 μs (for the duration of 70 μs), and then one packet block between arrival time 40 μs, and departure time 170 μs (for the duration of 130 μs), and continue this trend, the queuing behaviour can be shown in Figure 11.1.
(b) Mean number of packet blocks =
(Service Times)×(1 packet block) Duration of System Processing Time = 1,200680blocksμs = 1.76
76 Chapter 11. Packet Queues and Delay Analysis
Table 11.1: Packet block arrival and departure activities.
Packet Block Number Number of Misor-derings Arrival Time in μs Service Time in μs Departure Time in μs 1 2 20 70 90 2 4 40 130 170 3 0 60 10 70 4 0 80 10 90 5 1 100 40 140 6 4 120 130 250 7 3 140 100 280 8 5 160 160 320 9 2 180 70 250 20 4 200 130 330 11 0 220 10 230 12 2 240 70 310 13 5 260 160 420 14 2 280 70 350 15 1 300 40 340 0 1 2 3 4 5 6 7 20 40 600 640 680
Processing Time (micro-sec) Number of Waiting Packet-Blocks in Queue
90
…
…
Figure 11.1: Solution to exercise. The trend of packets accumulated in the queue over time.