Networking 2
This presentation is the property of its rightful owner.
Sponsored Links
1 / 27

NETWORKING (2) PowerPoint PPT Presentation


  • 70 Views
  • Uploaded on
  • Presentation posted in: General

NETWORKING (2). We have LANs an WLANs, what are these “nodes” that connect them?. Hubs – connect a LAN to another LAN Simply repeat packet Highest layer: data link layer Bridges – connect different types of networks

Download Presentation

NETWORKING (2)

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Networking 2

NETWORKING (2)


We have lans an wlans what are these nodes that connect them

We have LANs an WLANs, what are these“nodes” that connect them?

  • Hubs – connect a LAN to another LAN

    • Simply repeat packet

    • Highest layer: data link layer

  • Bridges – connect different types of networks

    • Translate a packet from one format into another, e.g., ethernet to optical (FDDI)

    • Highest layer: data link layer (multiple)

  • Switches – connect and route between two LANs

    • Routing algorithms

    • Highest layer: network layer

  • Routers – connect and route between two networks

    • Routing algorithms

    • Highest layer: network layer

  • Tunneling – encapsulate and send an unimplemented protocol’s packets through from network layer to network layer

    • IPv6 packets can be tunneled through the IPv4 network


How do peer layers talk

How do peer layers talk?

MAC/Data Link layer – match the MAC addresses (48 bits)

Network Layer – e.g., IP match the IP address (32 bits)

Transport Layer – e.g., TCP: match the port number (8 bits)

Application

Application message

Transport

port

TCP header

Network

TCP

IP header

MAC

Ethernet header

IP

Ethernet frame


Who discovers these addresses for the destination

Who discovers these addresses forthe destination?

  • Port number – from the IP address (+ a standard port number)

  • IP address – from the resource name/URL (through the DNS)

  • Ethernet address – from the IP address (through ARP)


Address resolution between ip and underlying networks

Address Resolution between IP and Underlying Networks

  • Most hosts are attached to a LAN by an interface board that only understands LAN addresses. For example, every Ethernet board is equipped with a 48-bit Ethernet address.

  • The boards send and receive frames based on 48-bit Ethernet addresses. They know nothing about the 32-bit IP addresses.

  • Address Resolution Protocol (ARP) maps the IP addresses onto data link layer addresses (e.g., Ethernet).


Arp example

ARP Example

Routers have multiple network

Interface cards/devices


Networking 2

ARP

  • Suppose host 1’s IP layer (192.31.65.7) gets a packet from its transport layer destined for

  • 192.31.65.5 (host 2)?

  • Host 1’s IP layer broadcasts an ARP packet onto the Ethernet asking:

  • ``Who owns IP address 192.31.65.5?''

  • Host 2 responds with its Ethernet address (E2).

  • The IP layer on host 1 builds an Ethernet frame addressed to E2, puts the IP packet

  • in the payload field, and transmits it on the Ethernet.

  • The Ethernet board of host 2 detects this frame and causes an interrupt, to deliver the packet to

  • the IP layer on host 2.

  • Thus, the packet is transmitted from host 1’s IP layer to host 2’s IP layer


Networking 2

ARP

  • The performance of ARP can be improved by caching the broadcast results.

  • Host 1 can include its IP to Ethernet mapping the ARP packet.


Networking 2

ARP

  • Suppose host 1’s IP layer (192.31.65.7) gets a packet from its transport layer with

  • destination address set to 192.31.63.8 (host 4)?

  • Host 1’s IP layer broadcasts an ARP packet onto the Ethernet asking:

  • ``Who owns IP address 192.31.63.8?''

  • Router F1 responds with its Ethernet address (E3).

  • The IP layer on host 1 transmits an Ethernet frame addressed to F1

  • The E3 Ethernet board of router F1 receives the frame and delivers it to the IP layer on F1

  • F1’s IP layer knows from the destination address of 192.31.63.8 in the packet that it has to

  • be next sent to 192.31.60.7 (router F3).

  • F1’s IP layer sends an ARP on the FDDI ring for IP address 192.31.60.7 (router F3).

  • F3 replies.

  • F1’s IP layer transmits an FDDI frame (containing the packet) addressed to F3

  • The FDDI board of F3 receives the frame, and delivers it to the IP layer.

  • F3 knows from the destination address of 192.31.63.8 in the packet that it has to

  • be next sent out on the interface 192.31.63.3

  • F3 does an ARP on the EE Ethernet for IP address 192.31.63.8

  • Host 4 responds with E6

  • F3 transmits the packet inside an Ethernet frame addressed to E6, and it reaches host 4’s IP layer


Address assignment

Address Assignment

  • Static

  • Dynamic: DHCP

    • RFC 2131

    • Broadcasts a DHCP Discovery

    • Servers respond with DHCP Offer

    • Client accepts one and sends DHCP Request

    • Assigning server sends DHCP Acknowledgement

    • Other servers release address back into pool


Zero configuration rfc 3927

Zero Configuration (RFC 3927)

  • Does not require a DHCP address

  • Each host selects a random IP address from the range 169.254.1.0 to 169.254.254.255

  • On starting a new connection, a host probes to ensure that no duplicate addresses share the same local subnet

  • Hosts can defend their addresses using ARP

  • ZeroConf addresses are link-local

  • Service discovery through mDNS/DNS-SD or uPNP


Knows how

“Knows” – How?

  • Routing Algorithms!

    • In the Network layer


Routing algorithms

Routing Algorithms

  • Programmed in the network layer

    • determine the next hop given the destination IP address

    • determine the route for each packet as it travels through the net

    • dynamically update routing information to reflect congestion, changes and failures.

  • Two approaches:

    • link-state (e.g., OSPF)

      • Every node knows status of each “link” in the network

    • distance-vector (e.g., RIP)

      • Every node knows the next-hop for each possible LAN

        Information maintained as a table

        Tables updated either

    • Proactively – periodically, or

    • Reactively – when a neighbor link status changes


Distance vector routing

Distance Vector Routing

  • Also termed as distributed Bellman-Ford algorithm or Ford-Fulkerson algorithm, included in RIP (routing information protocol), AppleTalk, and Cisco routers.

    • Each router maintains a table indexed by each router in the subnet and giving the best known distance to each router and which link to use next to get there.

    • Once every T seconds each router sends to each neighbor the table.


Normal distance vector routing

Normal Distance Vector Routing

  • In normal Distance Vector routing, each node maintains a routing table:

Example table at A:

A

B

C

D


Normal distance vector routing1

Normal Distance Vector Routing

  • Computed using Distributed Bellman-Ford:

    • Each node periodically broadcasts routing table

    • For each routing table entry received, compare best known route with newinformation

To D:

3 hops via B

E

2

X

X

A

B

C

D

E

D is 1 hop away


Distance vector routing1

Routers

1

B

2

A

C

4

3

5

E

D

6

Hosts or LANs

To Link Cost A 1 1 C 2 1 D 4 2 E 4 1

B local

Distance Vector Routing

Routing Table for A

Routing Table for B

To Link Cost B 1 1 C 1 2 D 3 1 E 1 2

Alocal

To Link Cost A 2 2 B 2 1 D 5 2 E 5 1

C local

Routing Table for C


Distance vector routing2

Distance Vector Routing


Pseudo code for rip

Pseudo-Code for RIP

  • Send: Each t seconds or when Tl changes, send Tl on each non-faulty outgoing link.

  • Receive: Whenever a routing table Tr is received on link n:

    • for all rows Rr in Tr {

      • if (Rr.link not equal n) {

        • Rr.cost = Rr.cost + 1;

        • Rr.link = n;

        • if (Rr.destination is not in Tl) add Rr to Tl;

        • // add new destination to Tl

        • else for all rows Rl in Tl {

          • if (Rr.destination = Rl.destination and

          • (Rr.cost < Rl.cost or Rl.link = n)) Rl = Rr;

          • //Rr.cost < Rl.cost : remote node has better route

          • // Rl.link = n : remote node is more authoritative

        • }

      • }

    • }


Link state routing

Link State Routing

  • Each router must

    • Discover the neighbors and learn their network addresses

      • When a router is booted, it learns who its neighbors are by sending a special Hello packet on each point-to-point link.

      • The router on the other end sends back a reply.

    • Measure the delay or cost to each of its neighbors

      • A router sends a special Echo packet over the link that the other end sends back immediately. By measuring the round-trip time, the sending router gets a reasonable delay estimate.

    • Construct a packet telling all it has just learned.


Link state routing1

Link State Routing

  • A router broadcasts a link-state-advertisement (LSA) packet periodically or upon topology change.


Link state routing2

Link State Routing

  • Broadcast the LSA packet to all other routers in the subnet.

    • Each packet contains a sequence number that is incremented for each new LSA packet sent.

    • Each router keeps track of all the (source router, sequence) pairs it sees. When a new LSA packet comes in, it is checked against the pairs. If the new packet is new, it is forwarded on all the links except the one it arrived on.

    • The age of each packet is included and is decremented once per time unit. When the age hits zero, the information is discarded.

  • Compute the shortest path to every other router with Dijkstra’s algorithm.


Internet routing

Internet Routing

Internet routers communicate using the Border

Gateway Protocol (BGP):

  • Destinations are prefixes:

    • Example: 128.2.0.0/16 (CMU)

  • Routes go through ISPs (Autonomous Systems)

  • Each ISP is uniquely identified by a number:

    • Example: 25 (UC Berkeley)

  • Each route includes a list of traversed ISPs:

    • Example route from UC Berkeley to CMU:9 ← 5050 ← 11537 ← 2153 ←


Sample bgp routing table

Sample BGP Routing Table

  • Routing table at a UC Berkeley router:


Sample operation of bgp

Sample Operation of BGP

  • Routing table at a UC Berkeley router:

A


Optional slides

Optional Slides


Routing tables

Routings from A

Routings from B

Routings from C

To

Link

Cost

To

Link

Cost

To

Link

Cost

A

local

0

A

1

1

A

2

2

B

1

1

B

local

0

B

2

1

C

1

2

C

2

1

C

local

0

D

3

1

D

1

2

D

5

2

E

1

2

E

4

1

E

5

1

Routings from D

Routings from E

To

Link

Cost

To

Link

Cost

A

3

1

A

4

2

B

3

2

B

4

1

C

6

2

C

5

1

D

local

0

D

6

1

E

6

1

E

local

0

Routing Tables


  • Login