








Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
These are the Lecture Slides of Engineering Approach to Computer Networking which includes Representation of Knowledge, Digital Revolution, Common Network Technologies, Concepts and Techniques, Protocols and Protocol Layering, Engineering Computer Networks etc.Key important points are: Protocol Implementation, Partitioning of Functionality, Partitioning Strategies, Interface Strategies, Monolithic in Kernel, Single Context, Rules of Thumb, Fine Tune Inner Loops, Cache Hints
Typology: Slides
1 / 14
This page cannot be seen from the preview
Don't miss anything!









An Engineering Approach to Computer Networking An Engineering Approach to Computer Networking
Depends onDepends on
structure structure and
and
environment environment
n n
StructureStructure
u u
partitioning partitioning of functionality between user and kernel
of functionality between user and kernel
uu
separation of layer processing ( separation of layer processing (
interface interface)
nn
EnvironmentEnvironment
u u
data copy cost data copy cost
u u
interrupt overhead interrupt overhead
uu
context switch time context switch time
uu
latency in accessing memory latency in accessing memory
u u
cache effects cache effects
Single-contextSingle-context
n n
TasksTasks
nn
UpcallsUpcalls
Single-contextSingle-context
n n
TasksTasks
n n
UpcallsUpcalls
10 Kbps
400 ms
n
100 Kbps,
40 ms
n
1 Mbps,
4 ms
n
100 Mbps,
40 μs
n
User-to-kernel context switch
~40 μs
n
Copying the packet
~25 μs
n
Checksum in software
~40 μs
n
Scheduling delays
~150 μs (depends on
workload)
n
Interrupt handling
~10-50 μs (depends on the
bus)
n
Protocol processing
~15 -100 μs (depends on
protocol complexity)
Optimize common caseOptimize common case
n n
Watch out for bottlenecksWatch out for bottlenecks
n n
Fine tune inner loopsFine tune inner loops
nn
Choose good data structuresChoose good data structures
nn
Beware of data touchingBeware of data touching
n n
Minimize # packets sentMinimize # packets sent
n n
Send largest packets possibleSend largest packets possible
nn
Cache hintsCache hints
nn
Use hardwareUse hardware
n n
Exploit application propertiesExploit application properties