Presentation is loading. Please wait.

Presentation is loading. Please wait.

Mohmmad Khalily Dermany Islamic Azad University. Reference اصول مهندسي اينترنت احسان ملكيان.

Similar presentations


Presentation on theme: "Mohmmad Khalily Dermany Islamic Azad University. Reference اصول مهندسي اينترنت احسان ملكيان."— Presentation transcript:

1 Mohmmad Khalily Dermany Islamic Azad University

2 Reference اصول مهندسي اينترنت احسان ملكيان

3 What is Layering? Modular approach to network functionality The idea of divide and conquer Use abstraction to hide complexity. Example: TCP/IP, OSI, ? Link hardware (PHY, Internet interface) Host-to-host connectivity (internet) Application-to-application channels (Transport) Application

4 TCP/IP Layering Relatively simple Router Host Application Transport Network Link

5 Protocol Demultiplexing Multiple choices at each layer FTPHTTPTFTPNV TCPUDP IP NET 1 NET 2 NET n … TCP/UDPIP IPX Port Number Network Protocol Field Type Field

6 First: Network Interface or PHY Creating a link between nodes Link: path followed by bits Wired or wireless Broadcast or point-to-point (or both) Node: any device connected to a link Problems: How to connect them? Topology Sharing links How to address each machine? Addressing How to regulate accessing to the media? MAC (Media Access method or protocol) Collision!

7 PHY (cont.) Dealing with Transmission/Receiving bits. Encoding digital data, 0 & 1, on the signal Modulation and Demodulation Digital to Digital or Analog Framing Media Access Control Error Detection CRC, checksum Error Correction- Reliable data Transmission FEC- Forward Error Correction ARQ- Automatic Repeat Request, Stop & wait,..

8 Packet Transmission Modes Unicast Transmission to single specific receiver Broadcast Transmission to all network nodes Multicast Transmission to specific subset of nodes Anycast Transmission to one of a specific subset of nodes

9 روشهاي برقراري ارتباط دو ماشين در شبکه Circuit SwitchingMessage Switching Packet Switching / Cell Switching

10 Circuit Switching Establishing and adjusting the circuit (setup a connection) Data transmission (busy intermediate switches) Terminating the connection (releasing intermediate switches) Disadvantages Considerable time to establish a connection The impossibility of communicating with the two machines and intermediate switches by other machines when transmitter and receiver channels being busy by two machines

11 BCD A سوئيچينگ مداری Connection request Connection reply Data transmission disconect

12 Message Switching Digital data Permanent connection to each station with its own switching center Adding some information to the data before sending it into switching center by station central switch receive message completely and then select the appropriate output channel based on receiver address Advantage Non busy Faster ?!

13 Transmissi on delay Message Switching A B C Processing latency

14 Disadvantage Message length subject Need large memory in switches Retransmission of data on a bit fault Excessive delay on data transmission Volume of messages at once Store & forward vs. cut through

15 Packet Switching / Cell Switching Divided each messages into smaller fragments, Added some information to reconstruct the message at the receiver Decrease total delay Packets and cells have constant length and are small

16 BCD A Packet Switching / Cell Switching

17 Comparison between cell and message switching ?

18 B C D A BCD A

19 Multiplexing 1 Mbps link; users require 0.1 Mbps when transmitting; users active only 10% of the time Packet switching: with 35 users, probability that >=10 are transmitting at the same time <

20 Back in the Old Days…

21 Then Came TDM… Multiplex (mux)Demultiplex (demux) Synchronous time division multiplexing

22 Multiplexing Static Dynamic Statistical multiplexing Multiplexing FDM (Frequency Division Multiplexing) TDM (Time Division Multiplexing)

23 TDM Logical Network View

24 Packet Switching (Internet) Packets

25 TDM

26 FDM

27 Goals of MAC Protocols MAC Protocols arbitrate access to a common shared channel among a population of nodes Goals: 1. Fair among users 2. High efficiency 3. Low delay 4. Fault tolerant 5- Simple

28 MAC Protocols Centralized Access point in Wireless Distributed Token based Token Ring Token Bus Random access ALOHA CSMA, CSMA/CD CSMA/CA, etc.

29 MAC Protocols Partition the channel and give everybody a time/freq slot FDMA TDMA SDMA: (Space Division Multiple Access) CDMA: (Code Division Multiple Access) Reservation Based access or Centralized arbiter

30 Examples of MAC Protocols Packet-Switched Radio Network Aloha Carrier Sense Multiple Access/Collision Detection Ethernet (IEEE 802.3) Token Passing Token Ring (IEEE 802.5) Fiber Distributed Data Interface (FDDI) Simple Random Complex Deterministic Wireless

31 Flow Control Time Packet ACK Timeout Stop and Wait Simplest ARQ protocol Send a packet, stop and wait until acknowledgement arrives Use sequence number to recognize repeat SenderReceiver

32 Flow Control (cont.) How to Keep the Pipe Full? Send multiple packets Number of pkts in flight = window How large a window is needed Round trip delay * bandwidth = capacity of pipe Reliable, unordered delivery Several parallel stop & waits Send new packet after each ack After Nack Go back N Resent the Nacked packet only

33 Others about PHY MAC address Modulation Analog to Analog Analog to Digital Digital to Analog Digital to Digital Why Modulation?

34 Second: Internetwork A collection of interconnected networks Host: network endpoints (computer, PDA, switch, …) Router: node that connects networks Internet vs. internet Internetwork

35 Internetworking Communication between networks. Problems & Challenges Different Networking technologies (Heterogeneity). So many Networks (Scaling). Some terminologies: “internetworking” refer to an arbitrary collection of connected networks. “Internet” the global internetwork. “Network” either directly connected or switched network using any LAN technology such as Ethernet, Token ring, ATM, etc.

36 Goals Connect existing networks initially ARPANET and ARPA packet radio network Survivability - ensure communication service even in the presence of network and router failures Support multiple types of services Must accommodate a variety of networks Allow distributed management Allow host attachment with a low level of effort Allow resource accountability

37 Challenge Many differences between networks Address formats Performance – bandwidth/latency Packet size Loss rate/pattern handling Routing How to translate between various network technologies

38 IP Internet Concatenation of Networks or “networks of Networks”. “R” is routers and “H” is hosts. R2 R1 H4 H5 H3 H2 H1 Network 2 (Ethernet) Network 1 (Ethernet) H6 Network 3 (FDDI) Network 4 ( point-to-point) H7R3H8

39 Service Model Connectionless (datagram-based) Best-effort delivery (unreliable service) packets are lost. No recover from lost. packets are delivered out of order duplicate copies of a packet are delivered packets can be delayed for a long time Datagram format VersionHLen TOSLength IdentFlagsOffset TTL Protocol Checksum SourceAddr DestinationAddr Options (variable) Pad (variable) Data Contains all information for routing!

40 IP Address Classes (Some are Obsolete) Network IDHost ID Network IDHost ID 816 Class A 32 0 Class B 10 Class C 110 Multicast Addresses Class D 1110 Reserved for experiments Class E

41 Original IP Route Lookup Address classes A: 0 | 7 bit network | 24 bit host (16M each) B: 10 | 14 bit network | 16 bit host (64K) C: 110 | 21 bit network | 8 bit host (254) We need to keep only network address, 2 21 entries. Address would specify prefix for forwarding table Simple lookup

42 CIDR Revisited Supernets Assign adjacent net addresses to same org Classless routing (CIDR) How does this help routing table? Combine routing table entries whenever all nodes with same prefix share same hop

43 Routing Forwarding tables at each router populated by routing protocols. Original Internet: manually updated Routing protocols update tables based on “cost” Exchange tables with neighbors or everyone Hierarchical routing

44 What is Routing? Univ. of TehranComputer Network44 R3 A B C R1 R2 R4D E F R5 F R3E D Next HopDestination D

45 What is Routing? R3 A B C R1 R2 R4D E F R5 F R3E D Next HopDestination D Data Options (if any) Destination Address Source Address Header ChecksumProtocolTTL Fragment Offset Flags Fragment ID Total Packet LengthT.ServiceHLenVer 20 bytes

46 What is Routing? A B C R1 R2 R3 R4D E F R5

47 How do we set up Routing Tables? Graph theory to compute “shortest path” Switches = nodes Links = edges Delay, hops = cost Need to adapt to changes in topology

48 Factors Affecting Routing Routing algorithms view the network as a graph Problem: find the lowest cost path between two nodes Factors Static topology Dynamic load Policy D A F E B C

49 Internet Routing Internet organized as a two level hierarchy First level – autonomous systems (AS’s) AS – region of network under a single administrative domain AS’s run an intra-domain routing protocols Distance Vector, e.g., Routing Information Protocol (RIP) Link State, e.g., Open Shortest Path First (OSPF) Between AS’s runs inter-domain routing protocols, e.g., Border Gateway Routing (BGP) De facto standard today, BGP-4

50 Example AS-1 AS-2 AS-3 Interior router BGP router

51 How To Find Nodes? internet Computer 1Computer 2

52 Naming Humans use readable host names E.g. Globally unique (can correspond to multiple hosts) Naming system translates to physical address E.g. DNS translates name to IP Address (e.g ) Address reflects location in network

53 Domain Name System What’s the IP address for It is DNS server address manually configured into OS Local DNS ServerComputer 1

54 Packet Routing/Delivery Each network technology has different local delivery methods Address resolution provides delivery information within network E.g., ARP maps IP addresses to Ethernet addresses Local, works only on a particular network Routing protocol provides path through an internetwork

55 Network:Address Resolution Protocol Ethernet Broadcast: who knows the Ethernet address for ? Ethernet Broadcast: Yes, it is c-19-dc-45

56 Internetwork: Datagram Routing R R R R R H H H H R R H R Routers send packet to next closest point H: Hosts R: Routers

57 Third: Transport Layer First end-to-end layer End-to-end state May provide reliability, flow and congestion control

58 Why End-to-End Protocols? Underlying best-effort network drop messages re-orders messages delivers duplicate copies of a given message limits messages to some finite size delivers messages after an arbitrarily long delay multiple application processes on each host Different speed of sender and receiver (Flow control) Congestion in the network (Congestion controls) Initially, there was no end to end protocol.

59 User Datagram Protocol (UDP) Minimal Transport Service: Port addressing: for application multiplexing Error detection (Checksum): formerly optional Connectionless end-to-end datagram service No flow control. No error recovery (no acks) Used by SNMP, DNS, TFTP, RTP, RPC, etc Source Port Dest Port Check- sum Length 16 Size in bits16

60 TCP Communication abstraction: Connection oriented, Point to point Reliable Error Detection and correction Ordered Byte-stream Application writes bytes TCP sends segments Application reads bytes Full duplex, two way connection Flow and congestion controlled Protocol implemented entirely at the ends

61 What’s Different From Link Layers? Logical link vs. physical link Must establish connection Variable RTT (Round-Trip Time) May vary within a connection Reordering packets How long can packets live  max segment lifetime Can’t expect endpoints to exactly match link Buffer space availability Packets in transmission, delay X bandwidth Transmission rate Don’t directly know transmission rate

62 TCP Header Source portDestination port Sequence number Acknowledgement Advertised windowHdrLen Flags 0 ChecksumUrgent pointer Options (variable) Data Flags: SYN FIN RESET PUSH URG ACK

63 TCP Flow Control TCP is a sliding window protocol For window size n, can send up to n bytes without receiving an acknowledgement When the data is acknowledged then the window slides forward Each packet advertises a window size Indicates number of bytes the receiver has space for Original TCP always sent entire window Congestion control now limits this

64 TCP Congestion Control Underlying design principle: packet conservation, Make load udaptable At equilibrium, inject packet into network only when one is removed Reaching equilibrium Slow start Eliminates spurious retransmissions Accurate RTO (recovery time objective) estimation Fast retransmit Adapting to resource availability Congestion avoidance

65 TCP Congestion Control Basics Keep a congestion window, cwnd Denotes how much network is able to absorb Sender’s maximum window: Min (advertised window, cwnd) Sender’s actual window: Max window - unacknowledged segments If we have large actual window, should we send data in one shot? No, use acks to clock sending new data

66 Self-clocking PrPr PbPb ArAr AbAb Receiver Sender AsAs

67 Slow Start How do we get this clocking behavior to start? Initialize cwnd = 1 Upon receipt of every ack, cwnd = cwnd + 1 Implications Window actually increases to W in RTT * log 2 (W) Can overshoot window and cause packet loss

68 Slow Start Example 1 One RTT One pkt time 0R 2 1R 3 4 2R R

69 Congestion Window Time Congestion Window Slow start with each time out

70 Congestion Avoidance Loss implies congestion – why? Not necessarily true on all link types If loss occurs when cwnd = W Network can handle 0.5W ~ W segments Set cwnd to 0.5W (multiplicative decrease) Upon receiving ACK Increase cwnd by 1/cwnd Results in additive increase

71 Return to Slow Start If packet is lost we lose our self clocking as well Need to implement slow-start and congestion avoidance together When timeout occurs set ssthresh to 0.5w If cwnd < ssthresh, use slow start Else use congestion avoidance

72 Fast Retransmit Don’t wait for window to drain Resend a segment after 3 duplicate ACKs remember a duplicate ACK means that an out-of sequence segment was received Notes: duplicate ACKs due to packet reordering why reordering? window may be too small to get duplicate ACKs ACK 2 segment 1 cwnd = 1 cwnd = 2 segment 2 segment 3 ACK 4 cwnd = 4 segment 4 segment 5 segment 6 segment 7 ACK 3 3 duplicate ACKs ACK 4

73 Fast Recovery Each duplicate ack notifies sender that single packet has cleared network When < cwnd packets are outstanding Allow new packets out with each new duplicate acknowledgement Behavior Sender is idle for some time – waiting for ½ cwnd worth of dupacks Transmits at original rate after wait Ack clocking rate is same as before loss

74 Fast Recovery

75 Time Sequence No Sent for each dupack after W/2 dupacks arrive

76 Fourth : Application Demands Reliability Corruption Lost packets Flow and congestion control Fragmentation In-order delivery Etc…

77 What if the Data gets Corrupted? Internet GET windex.htmlGET index.html Solution: Add a checksum Problem: Data Corruption 0,996,7,8214,571,2,36 X

78 What if the Data gets Lost? Internet GET index.html Problem: Lost Data Internet GET index.html Solution: Timeout and Retransmit GET index.html

79 What if Network is Overloaded? Short bursts: buffer What if buffer overflows? Packets dropped and retransmitted Sender adjusts rate until load = resources Called “Congestion control” Problem: Network Overload Solution: Buffering and Congestion Control

80 What if the Data Doesn’t Fit? Problem: Packet size Solution: Fragment data across packets On Ethernet, max IP packet is 1.5kbytes Typical web page is 10kbytes GETindex.html GET index.html

81 What if the Data is Out of Order? Solution: Add Sequence Numbers Problem: Out of Order GETx.thindeml GET x.thindeml GET index.html ml4inde2x.th3GET1

82 Is Layering Harmful? Sometimes.. Layer N may duplicate lower level functionality (e.g., error recovery) Layers may need same info (timestamp, MTU) Strict adherence to layering may hurt performance

83 Performance Metrics Bandwidth (throughput) data transmitted per time unit link versus end-to-end notation KB = 2 10 bytes Mbps = 10 6 bits per second Latency (delay) time to send message from point A to point B one-way versus round-trip time (RTT) components Latency = Propagation + Transmit + Queuing Queuing time can be a dominant factor

84 Latency Latency ( Queuing Delay) Host A Host B R1 R2 R3 TRANSP 1 TRANSP 2 TRANSP 3 TRANSP 4 PROP 1 PROP 2 PROP 3 PROP 4 Q2Q2 The egress link might not be free, packets may be queued in a buffer. If the network is busy, packets might have to wait a long time. How can we determine the queuing delay?

85 Queues and Queuing Delay Cross traffic causes congestion and variable queuing delay.

86 ?


Download ppt "Mohmmad Khalily Dermany Islamic Azad University. Reference اصول مهندسي اينترنت احسان ملكيان."

Similar presentations


Ads by Google