Computer Networking : Principles, Protocols and Practice - lesson 1
-
Upload
olivier-bonaventure -
Category
Engineering
-
view
1.253 -
download
4
description
Transcript of Computer Networking : Principles, Protocols and Practice - lesson 1
![Page 1: Computer Networking : Principles, Protocols and Practice - lesson 1](https://reader035.fdocuments.in/reader035/viewer/2022062312/55647c32d8b42a361d8b4718/html5/thumbnails/1.jpg)
Computer networking
Olivier Bonaventurehttp://perso.uclouvain.be/olivier.bonaventure
![Page 2: Computer Networking : Principles, Protocols and Practice - lesson 1](https://reader035.fdocuments.in/reader035/viewer/2022062312/55647c32d8b42a361d8b4718/html5/thumbnails/2.jpg)
Computer networking
•What do you already know about computer networks ?
•Which topics should be covered in this course ?
![Page 3: Computer Networking : Principles, Protocols and Practice - lesson 1](https://reader035.fdocuments.in/reader035/viewer/2022062312/55647c32d8b42a361d8b4718/html5/thumbnails/3.jpg)
Our focus
![Page 4: Computer Networking : Principles, Protocols and Practice - lesson 1](https://reader035.fdocuments.in/reader035/viewer/2022062312/55647c32d8b42a361d8b4718/html5/thumbnails/4.jpg)
Course structure•Principles first
•reliable transfer, building a network, sharing resources, serving applications
•Protocols in details
•HTTP, SMTP, DNS, TCP, SCTP, UDP, IPv6, MPLS, RIP, OSPF, BGP, Ethernet, WiFi
•Practice
•Learning by doing
![Page 5: Computer Networking : Principles, Protocols and Practice - lesson 1](https://reader035.fdocuments.in/reader035/viewer/2022062312/55647c32d8b42a361d8b4718/html5/thumbnails/5.jpg)
Teaching material
•Second edition, beta version every week
•http://cnp3bis.info.ucl.ac.be
•Feedback/Fixes/Suggestions/Comments
•http://github.com/obonaventure/cnp3
![Page 6: Computer Networking : Principles, Protocols and Practice - lesson 1](https://reader035.fdocuments.in/reader035/viewer/2022062312/55647c32d8b42a361d8b4718/html5/thumbnails/6.jpg)
Course organisation
•First pass on the week topic (Tue)
•Students read and prepare exercises
•Multiple choice questions
•Some weeks : practical exercises as well
•Discussion with teaching assistants (Mon)
•Second pass on the week topics (Tue)
![Page 7: Computer Networking : Principles, Protocols and Practice - lesson 1](https://reader035.fdocuments.in/reader035/viewer/2022062312/55647c32d8b42a361d8b4718/html5/thumbnails/7.jpg)
Course Team
![Page 8: Computer Networking : Principles, Protocols and Practice - lesson 1](https://reader035.fdocuments.in/reader035/viewer/2022062312/55647c32d8b42a361d8b4718/html5/thumbnails/8.jpg)
Learning by doing
•At home
•MCQ
•In the lab
•netkit
![Page 9: Computer Networking : Principles, Protocols and Practice - lesson 1](https://reader035.fdocuments.in/reader035/viewer/2022062312/55647c32d8b42a361d8b4718/html5/thumbnails/9.jpg)
Why IPv6 ?
![Page 10: Computer Networking : Principles, Protocols and Practice - lesson 1](https://reader035.fdocuments.in/reader035/viewer/2022062312/55647c32d8b42a361d8b4718/html5/thumbnails/10.jpg)
IPv6 in Belgium
![Page 11: Computer Networking : Principles, Protocols and Practice - lesson 1](https://reader035.fdocuments.in/reader035/viewer/2022062312/55647c32d8b42a361d8b4718/html5/thumbnails/11.jpg)
Course evaluation
•Group programming project (15%)
•implement one protocol by end October
•Individual Analysis (20%)
•Review of code
•Explain one website -> Dec.
•Exam
•Both exercises and theory (65%)
![Page 12: Computer Networking : Principles, Protocols and Practice - lesson 1](https://reader035.fdocuments.in/reader035/viewer/2022062312/55647c32d8b42a361d8b4718/html5/thumbnails/12.jpg)
Connecting two hosts
![Page 13: Computer Networking : Principles, Protocols and Practice - lesson 1](https://reader035.fdocuments.in/reader035/viewer/2022062312/55647c32d8b42a361d8b4718/html5/thumbnails/13.jpg)
The physical layer
•Transmitting bits over a wire
•Time sequence diagram
![Page 14: Computer Networking : Principles, Protocols and Practice - lesson 1](https://reader035.fdocuments.in/reader035/viewer/2022062312/55647c32d8b42a361d8b4718/html5/thumbnails/14.jpg)
The physical layer service
•unreliable service
•transmission errors
•loss/creation of bits
Physical layer Physical layer
Physical transmission medium
Bits010100010100010101001010
![Page 15: Computer Networking : Principles, Protocols and Practice - lesson 1](https://reader035.fdocuments.in/reader035/viewer/2022062312/55647c32d8b42a361d8b4718/html5/thumbnails/15.jpg)
Modems and ISDN
![Page 16: Computer Networking : Principles, Protocols and Practice - lesson 1](https://reader035.fdocuments.in/reader035/viewer/2022062312/55647c32d8b42a361d8b4718/html5/thumbnails/16.jpg)
xDSL and DOCSIS
![Page 17: Computer Networking : Principles, Protocols and Practice - lesson 1](https://reader035.fdocuments.in/reader035/viewer/2022062312/55647c32d8b42a361d8b4718/html5/thumbnails/17.jpg)
WiFi
![Page 18: Computer Networking : Principles, Protocols and Practice - lesson 1](https://reader035.fdocuments.in/reader035/viewer/2022062312/55647c32d8b42a361d8b4718/html5/thumbnails/18.jpg)
The framing problem
•How to extract frames from a sequence of bits ?
•Bit stuffing
•Character stuffing
![Page 19: Computer Networking : Principles, Protocols and Practice - lesson 1](https://reader035.fdocuments.in/reader035/viewer/2022062312/55647c32d8b42a361d8b4718/html5/thumbnails/19.jpg)
How to reliably transfer data ?•Hypothesis
•Reliable physical layer serviceA B
Data.request(a) Frame(a)
Data.ind(a)Data.request(b) Frame(b)
Data.ind(b)Data.request(c) Frame(c)
Data.ind(c)
![Page 20: Computer Networking : Principles, Protocols and Practice - lesson 1](https://reader035.fdocuments.in/reader035/viewer/2022062312/55647c32d8b42a361d8b4718/html5/thumbnails/20.jpg)
Does this always work ?
![Page 21: Computer Networking : Principles, Protocols and Practice - lesson 1](https://reader035.fdocuments.in/reader035/viewer/2022062312/55647c32d8b42a361d8b4718/html5/thumbnails/21.jpg)
Control frames
A B
Data.req(b) C(OK) Data.ind(a)
D(a)Data.req(a)
D(b)
Data.ind(b)C(OK)
![Page 22: Computer Networking : Principles, Protocols and Practice - lesson 1](https://reader035.fdocuments.in/reader035/viewer/2022062312/55647c32d8b42a361d8b4718/html5/thumbnails/22.jpg)
How to deal with transmission
errors
•Affecting the data frames
•Affecting the control frames
![Page 23: Computer Networking : Principles, Protocols and Practice - lesson 1](https://reader035.fdocuments.in/reader035/viewer/2022062312/55647c32d8b42a361d8b4718/html5/thumbnails/23.jpg)
Alternating Bit Protocol
A B
Data.req(b) C(OK0) Data.ind(a)
D(0,a)Data.req(a)
Duplicate detected
D(1,b)Retransmission timer
D(1,b)
Data.ind(b)
Data.req(c)
LostD(0,c)
C(OK1)D(1,b) recvdC(OK1)
D(1,b) recvd
Retransmission timer
Data.ind(c)D(0,c)
![Page 24: Computer Networking : Principles, Protocols and Practice - lesson 1](https://reader035.fdocuments.in/reader035/viewer/2022062312/55647c32d8b42a361d8b4718/html5/thumbnails/24.jpg)
Performance
•What is the performance of this reliable protocol ?
•Two high-end servers
•10 Gbps interfaces
•1000 bytes frames
•1 millisecond delay
![Page 25: Computer Networking : Principles, Protocols and Practice - lesson 1](https://reader035.fdocuments.in/reader035/viewer/2022062312/55647c32d8b42a361d8b4718/html5/thumbnails/25.jpg)
Pipelining
•How many frames can A send ?
A B
Data.ind(a)
Data.req(a)
...
D(0,a)
...
D(4,e)
Data.req(b)
Data.req(e)
Data.ind(e)
![Page 26: Computer Networking : Principles, Protocols and Practice - lesson 1](https://reader035.fdocuments.in/reader035/viewer/2022062312/55647c32d8b42a361d8b4718/html5/thumbnails/26.jpg)
Pipelining example
A B
0 1 2 3 4 5 6 7 8
0 1 2 3 4 5 6 7 8
0 1 2 3 4 5 6 7 8
0 1 2 3 4 5 6 7 8
0 1 2 3 4 5 6 7 8Data.req(a)
Data.ind(a)
D(0,a)0 1 2 3 4 5 6 7 8Data.req(b)
Data.ind(b)
D(1,b)0 1 2 3 4 5 6 7 8Data.req(c)
Data.ind(c)
D(2,c)
C(OK0)C(OK1)
C(OK2)0 1 2 3 4 5 6 7 8
Data.req(d)
Data.ind(d)
D(3,d)
0 1 2 3 4 5 6 7 8
Data.req(e)
D(4,e)
Sending window
![Page 27: Computer Networking : Principles, Protocols and Practice - lesson 1](https://reader035.fdocuments.in/reader035/viewer/2022062312/55647c32d8b42a361d8b4718/html5/thumbnails/27.jpg)
Frame header has limited size
A B
0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3
0 1 2 3
Data.req(a)
Data.ind(a)
D(0,a)Data.req(b)
Data.ind(b)
D(1,b)Data.req(c)
Data.ind(c)
D(2,c)
C(OK0)C(OK1)
C(OK2)Data.req(d)
Data.ind(d)
D(3,d)Data.req(e)
D(0,e)
Sending window
0 1 2 3 0 1 2 3
0 1 2 3
0 1 2 3
![Page 28: Computer Networking : Principles, Protocols and Practice - lesson 1](https://reader035.fdocuments.in/reader035/viewer/2022062312/55647c32d8b42a361d8b4718/html5/thumbnails/28.jpg)
How to deal with errors/frame losses ?
•Go-back-n
•Selective repeat
![Page 29: Computer Networking : Principles, Protocols and Practice - lesson 1](https://reader035.fdocuments.in/reader035/viewer/2022062312/55647c32d8b42a361d8b4718/html5/thumbnails/29.jpg)
Go-back-nA B
0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3
0 1 2 3
Data.req(e)
Data.req(a)
Data.ind(a)
D(0,a)
Data.req(c)
D(2,c)
C(OK,0)
C(OK,0)
Sending window
Data.req(b)
D(1,b)
Lost
Not expected seq num,discarded
Retransmissiontimer expires
Sending window is full
0 1 2 3 0 1 2 3
D(1,b)
Data.ind(b)
Data.req(d)
D(3,d)Data.ind(d)
D(2,c)
Data.ind(c)
![Page 30: Computer Networking : Principles, Protocols and Practice - lesson 1](https://reader035.fdocuments.in/reader035/viewer/2022062312/55647c32d8b42a361d8b4718/html5/thumbnails/30.jpg)
Selective repeatA B
0 1 2 3 0 1 2 3 0 1 2 3
0 1 2 3
Data.ind(b)
Data.req(a)
Data.ind(a)
D(0,a)
0 1 2 3 Data.req(c)
D(2,c)
C(OK,0)
C(OK,0)
Sending window
Data.req(b)
D(1,b)
Lost segment
Segment stored
D(1,b)
Retransmissiontimer expires0 1 2 3
0 1 2 3 0 1 2 3
0 1 2 3
0 1 2 3
Data.ind(c)
Data.req(d)
D(3,d)
Data.ind(d)
0 1 2 3
0 1 2 3 C(OK,2)
C(OK,3)
Rec. window0 1 2 3
0 1 2 3