Presentation is loading. Please wait.

Presentation is loading. Please wait.

Introduction 1-1 Internet structure: network of networks  “Tier-3” ISPs and local ISPs  last hop (“access”) network (closest to end systems) Tier 1 ISP.

Similar presentations


Presentation on theme: "Introduction 1-1 Internet structure: network of networks  “Tier-3” ISPs and local ISPs  last hop (“access”) network (closest to end systems) Tier 1 ISP."— Presentation transcript:

1 Introduction 1-1 Internet structure: network of networks  “Tier-3” ISPs and local ISPs  last hop (“access”) network (closest to end systems) Tier 1 ISP Tier-2 ISP local ISP local ISP local ISP local ISP local ISP Tier 3 ISP local ISP local ISP local ISP Local and tier- 3 ISPs are customers of higher tier ISPs connecting them to rest of Internet

2 2: Application Layer 2 Processes communicating Process: program running within a host.  within same host, two processes communicate using inter-process communication (defined by OS).  processes in different hosts communicate by exchanging messages Client process: process that initiates communication Server process: process that waits to be contacted r Note: applications with P2P architectures have client processes & server processes

3 2: Application Layer 3 Sockets  process sends/receives messages to/from its socket  socket analogous to door  sending process shoves message out door  sending process relies on transport infrastructure on other side of door which brings message to socket at receiving process process TCP with buffers, variables socket host or server process TCP with buffers, variables socket host or server Internet controlled by OS controlled by app developer r API: (1) choice of transport protocol; (2) ability to fix a few parameters (lots more on this later)

4 2: Application Layer 4 Addressing processes  to receive messages, process must have identifier  host device has unique 32-bit IP address  Exercise: use ipconfig from command prompt to get your IP address (Windows)  Q: does IP address of host on which process runs suffice for identifying the process?  A: No, many processes can be running on same  Identifier includes both IP address and port numbers associated with process on host.  Example port numbers:  HTTP server: 80  Mail server: 25

5 2: Application Layer 5 Scenario: Alice sends message to Bob 1) Alice uses UA to compose message and “to” bob@someschool.edu 2) Alice’s UA sends message to her mail server; message placed in message queue 3) Client side of SMTP opens TCP connection with Bob’s mail server 4) SMTP client sends Alice’s message over the TCP connection 5) Bob’s mail server places the message in Bob’s mailbox 6) Bob invokes his user agent to read message user agent mail server mail server user agent 1 2 3 4 5 6

6 2: Application Layer 6 Transport service requirements of common apps Application file transfer e-mail Web documents real-time audio/video stored audio/video interactive games instant messaging Data loss no loss loss-tolerant no loss Throughput elastic audio: 5kbps-1Mbps video:10kbps-5Mbps same as above few kbps up elastic Time Sensitive no yes, 100’s msec yes, few secs yes, 100’s msec yes and no

7 Rdt2.0: channel with bit errors  underlying channel may flip bits in packet  checksum to detect bit errors  the question: how to recover from errors:  acknowledgements (ACKs): receiver explicitly tells sender that pkt received OK  negative acknowledgements (NAKs): receiver explicitly tells sender that pkt had errors  sender retransmits pkt on receipt of NAK  new mechanisms in rdt2.0 (beyond rdt1.0 ):  error detection  receiver feedback: control msgs (ACK,NAK) rcvr->sender

8 rdt2.0 has a fatal flaw! What happens if ACK/NAK corrupted?  sender doesn’t know what happened at receiver!  can’t just retransmit: possible duplicate Handling duplicates:  sender retransmits current pkt if ACK/NAK garbled  sender adds sequence number to each pkt  receiver discards (doesn’t deliver up) duplicate pkt Sender sends one packet, then waits for receiver response stop and wait

9 rdt3.0: channels with errors and loss New assumption: underlying channel can also lose packets (data or ACKs)  checksum, seq. #, ACKs, retransmissions will be of help, but not enough Approach: sender waits “reasonable” amount of time for ACK  retransmits if no ACK received in this time  if pkt (or ACK) just delayed (not lost):  retransmission will be duplicate, but use of seq. #’s already handles this  receiver must specify seq # of pkt being ACKed  requires countdown timer

10 TCP: retransmission scenarios Host A Seq=100, 20 bytes data ACK=100 time premature timeout Host B Seq=92, 8 bytes data ACK=120 Seq=92, 8 bytes data Seq=92 timeout ACK=120 Host A Seq=92, 8 bytes data ACK=100 loss timeout lost ACK scenario Host B X Seq=92, 8 bytes data ACK=100 time Seq=92 timeout SendBase = 100 SendBase = 120 SendBase = 120 Sendbase = 100

11 TCP retransmission scenarios (more) Host A Seq=92, 8 bytes data ACK=100 loss timeout Cumulative ACK scenario Host B X Seq=100, 20 bytes data ACK=120 time SendBase = 120

12 Host A timeout Host B time X resend seq X2 seq # x1 seq # x2 seq # x3 seq # x4 seq # x5 ACK x1 triple duplicate ACKs

13 TCP Flow Control  receive side of TCP connection has a receive buffer:  speed-matching service: matching send rate to receiving application’s drain rate  app process may be slow at reading from buffer sender won’t overflow receiver’s buffer by transmitting too much, too fast flow control IP datagrams TCP data (in buffer) (currently) unused buffer space application process

14 TCP congestion control:  goal: TCP sender should transmit as fast as possible, but without congesting network  Q: how to find rate just below congestion level  decentralized: each TCP sender sets its own rate, based on implicit feedback:  ACK: segment received (a good thing!), network not congested, so increase sending rate  lost segment: assume loss due to congested network, so decrease sending rate

15 TCP Slow Start  when connection begins, cwnd = 1 MSS  example: MSS = 500 bytes & RTT = 200 msec  initial rate = 20 kbps  available bandwidth may be >> MSS/RTT  desirable to quickly ramp up to respectable rate  increase rate exponentially until first loss event or when threshold reached  double cwnd every RTT  done by incrementing cwnd by 1 for every ACK received Host A one segment RTT Host B time two segments four segments

16 Summary: TCP Congestion Control  when cwnd < ssthresh, sender in slow-start phase, window grows exponentially.  when cwnd >= ssthresh, sender is in congestion- avoidance phase, window grows linearly.  when triple duplicate ACK occurs, ssthresh set to cwnd/2, cwnd set to ~ ssthresh  when timeout occurs, ssthresh set to cwnd/2, cwnd set to 1 MSS.

17 Routing Algorithm classification Global or decentralized information? Global:  all routers have complete topology, link cost info  “link state” algorithms Decentralized:  router knows physically- connected neighbors, link costs to neighbors  iterative process of computation, exchange of info with neighbors  “distance vector” algorithms Static or dynamic? Static:  routes change slowly over time Dynamic:  routes change more quickly  periodic update  in response to link cost changes

18 A Link-State Routing Algorithm Dijkstra’s algorithm  net topology, link costs known to all nodes  accomplished via “link state broadcast”  all nodes have same info  computes least cost paths from one node (‘source”) to all other nodes  gives forwarding table for that node  iterative: after k iterations, know least cost path to k dest.’s Notation:  c(x,y): link cost from node x to y; = ∞ if not direct neighbors  D(v): current value of cost of path from source to dest. v  p(v): predecessor node along path from source to v  N': set of nodes whose least cost path definitively known

19 Distance vector algorithm (4) Basic idea:  From time-to-time, each node sends its own distance vector estimate to neighbors  Asynchronous  When a node x receives new DV estimate from neighbor, it updates its own DV using B-F equation: D x (y) ← min v {c(x,v) + D v (y)} for each node y ∊ N  Under minor, natural conditions, the estimate D x (y) converge to the actual least cost d x (y)

20 x y z x y z 0 2 7 ∞∞∞ ∞∞∞ from cost to from x y z x y z 0 from cost to x y z x y z ∞∞ ∞∞∞ cost to x y z x y z ∞∞∞ 710 cost to ∞ 2 0 1 ∞ ∞ ∞ 2 0 1 7 1 0 time x z 1 2 7 y node x table node y table node z table D x (y) = min{c(x,y) + D y (y), c(x,z) + D z (y)} = min{2+0, 7+1} = 2 D x (z) = min{c(x,y) + D y (z), c(x,z) + D z (z)} = min{2+1, 7+0} = 3 32

21 x y z x y z 0 2 7 ∞∞∞ ∞∞∞ from cost to from x y z x y z 0 2 3 from cost to x y z x y z 0 2 3 from cost to x y z x y z ∞∞ ∞∞∞ cost to x y z x y z 0 2 7 from cost to x y z x y z 0 2 3 from cost to x y z x y z 0 2 3 from cost to x y z x y z 0 2 7 from cost to x y z x y z ∞∞∞ 710 cost to ∞ 2 0 1 ∞ ∞ ∞ 2 0 1 7 1 0 2 0 1 7 1 0 2 0 1 3 1 0 2 0 1 3 1 0 2 0 1 3 1 0 2 0 1 3 1 0 time x z 1 2 7 y node x table node y table node z table D x (y) = min{c(x,y) + D y (y), c(x,z) + D z (y)} = min{2+0, 7+1} = 2 D x (z) = min{c(x,y) + D y (z), c(x,z) + D z (z)} = min{2+1, 7+0} = 3

22 Hierarchical Routing scale: with 200 million destinations:  can’t store all dest’s in routing tables!  routing table exchange would swamp links! administrative autonomy  internet = network of networks  each network admin may want to control routing in its own network Our routing study thus far - idealization  all routers identical  network “flat” … not true in practice

23 Slotted ALOHA Pros  single active node can continuously transmit at full rate of channel  highly decentralized: only slots in nodes need to be in sync  simple Cons  collisions, wasting slots  idle slots  nodes may be able to detect collision in less than time to transmit packet  clock synchronization

24 Switch  link-layer device: smarter than hubs, take active role  store, forward Ethernet frames  examine incoming frame’s MAC address, selectively forward frame to one-or-more outgoing links when frame is to be forwarded on segment, uses CSMA/CD to access segment  transparent  hosts are unaware of presence of switches  plug-and-play, self-learning  switches do not need to be configured

25 DHCP: Dynamic Host Configuration Protocol Goal: allow host to dynamically obtain its IP address from network server when it joins network Can renew its lease on address in use Allows reuse of addresses (only hold address while connected an “on”) Support for mobile users who want to join network (more shortly) DHCP overview:  host broadcasts “DHCP discover” msg [optional]  DHCP server responds with “DHCP offer” msg [optional]  host requests IP address: “DHCP request” msg  DHCP server sends address: “DHCP ack” msg


Download ppt "Introduction 1-1 Internet structure: network of networks  “Tier-3” ISPs and local ISPs  last hop (“access”) network (closest to end systems) Tier 1 ISP."

Similar presentations


Ads by Google