CS422
ClassNotes
Oct.10
- Oct. 17
by Qian Gong
Delay and Throughput
n Delay causes: (seconds)
v Propagation Delay (Network Media)
v Switching/Routing Delay (Router Hardware)
v Queuing delay – Time that the packet stays in buffer waiting for transmission
v Length of the network link.
n Throughput
v Given by network bandwidth.
n Relationship between delay and network utilization
v Network utilization --percentage of time network is used.
n When network is idle:
v Network Utilization = 0 %
v Queuing Delay = 0
n When the network is running at 100% capacity (full capacity)
v Network Utilization = 100 %
v Queuing Delay = infinitive
v Example: A router connects to two networks. One is 10Mbps (max), the other one is 20 Mbps.

If the traffic that R receives N2 into N1 is 11Mbps(> 10Mbps), The queue of R will grow until it overflows and packets are discarded. This situation is called “ Network Congestion”.
In between:
0 < network usage < 100
0 < queuing delay < infinitive
Do à Minimum Delay (i.e. Propagation & Routing Delay): (Queuing Delay = 0)
U à Utilization of Network(between 0 and 1 , i.e. between 0% and 100%)
D à Total Delay
D =
Do/ (100 – U)
Consequence: Any network that operates with utilization to 100% of capacity is doomed.
Solution: Increase bandwidth so the network usage is always close to 0.
Delay – Time it takes for a bit to cross the network (sec)
Throughput – Number of bits per second, crossing the network. (bit/sec)
Delay × Throughput – Number of bits in transit in the network. (bit)
A protocol is:
-- An agreement to allow communication between different computers.
-- A protocol specifies
ü Formats of message
ü Rules of exchange
ü Handling problems
n It is common to divide a network communication problem into different protocols.
n Each protocol addresses a part of the problem.
n This group of protocols is known as protocol suite or sanity of protocols.
n Protocols address a different layer of the problem.
Invented for protocol designers (7 layers)
.
Application |
--Individual Application Program |
|
Presentation |
--How data is presented |
|
Session |
--Login and Passwords |
|
Transport |
--Reliability |
|
Network |
--Packet Forwarding |
|
Data Link |
--Hardwork Frame/packet Format |
|
Physical |
--Underlying hardware |
n This design is outdated. It was created when networking was used to connect terminals to computers.
n It does not include the “Internet “ layer that allows networking using different network technologies.
Layering with TCP/IP Protocols ( 5 layers)
Application |
--Application Program |
e.g. HTTP/Telnet/ FTTP/ MTP/DNS |
|
Transport |
--Application to Application |
e.g. TCP/UDP |
Internet |
--Forwarding across Internet (Hide network hardware) |
e.g. IP |
|
Network
Interface |
--Network Interface hardware format |
e.g. Ethernet , serial line, token ring, ATM |
|
Physical |
--Basic Network Hardware |
Notes Regarding Lab4:
Use realpath(path) to get the path without “..” or symbolic links and make sure that file requested is inside http-root-dir.
Another option is to make sure that <document> does not contain “..” in the request.
For cgi-bin programs you need to fork another process.
There are 2 semantics for fork ( ):
1) If you use Solaris threads (thr_create), fork creates a new process with a copy of all the threads of parent process. What we would like is to create a new process with only one thread, the thread calling fork( ), to get this semantics use fork1( ).
à create a new process with only the caller thread.
2) If you use pthread (pthread_create), then fork will always creak a child process with only one thread (the caller thread) like using fork1( ).