Top Banner
Introduction 1-1 Networking Overview
64

Introduction1-1 Networking Overview. Introduction1-2 Introduction.

Dec 22, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Introduction1-1 Networking Overview. Introduction1-2 Introduction.

Introduction 1-1

Networking Overview

Page 2: Introduction1-1 Networking Overview. Introduction1-2 Introduction.

Introduction 1-2

Introduction

Page 3: Introduction1-1 Networking Overview. Introduction1-2 Introduction.

Introduction 1-3

What’s a protocol?a human protocol and a computer network protocol:

Q: Other human protocols?

Hi

Hi

Got thetime?

2:00

TCP connection req

TCP connectionresponse

Get http://www.awl.com/kurose-ross

<file>

time

Page 4: Introduction1-1 Networking Overview. Introduction1-2 Introduction.

Introduction 1-4

The network edge: end systems (hosts):

run application programs e.g. Web, email at “edge of network”

client/server model client host requests, receives

service from always-on server e.g. Web browser/server; email

client/server

peer-peer model: minimal (or no) use of

dedicated servers e.g. Gnutella, KaZaA

Page 5: Introduction1-1 Networking Overview. Introduction1-2 Introduction.

Introduction 1-5

The Network Core

mesh of interconnected routers

the fundamental question: how is data transferred through net? circuit switching:

dedicated circuit per call (telephone call)

packet-switching: data sent thru net in discrete “chunks” (internet)

Page 6: Introduction1-1 Networking Overview. Introduction1-2 Introduction.

Introduction 1-6

Network Core: Packet Switching

each end-end data stream divided into packets

user A, B packets share network resources

each packet uses full link bandwidth resources used as needed

resource contention: aggregate resource

demand can exceed amount available

congestion: packets queue, wait for link use

store and forward: packets move one hop at a time transmit over link wait turn at next link

Bandwidth division into “pieces”

Dedicated allocation

Resource reservation

Page 7: Introduction1-1 Networking Overview. Introduction1-2 Introduction.

Introduction 1-7

Internet protocol stack application: supporting network applications

FTP, SMTP, HTTP transport: host-host data transfer

TCP, UDP network: routing of datagrams from source to

destination IP, routing protocols

link: data transfer between neighboring network elements

PPP, Ethernet physical: bits “on the wire”

application

transport

network

link

physical

Page 8: Introduction1-1 Networking Overview. Introduction1-2 Introduction.

Introduction 1-8

Layering: physical communication

applicationtransportnetwork

linkphysical

applicationtransportnetwork

linkphysical

applicationtransportnetwork

linkphysical

applicationtransportnetwork

linkphysical

networklink

physical

data

data

Page 9: Introduction1-1 Networking Overview. Introduction1-2 Introduction.

Introduction 1-9

Application Layer

Page 10: Introduction1-1 Networking Overview. Introduction1-2 Introduction.

Introduction 1-10

Network applications: some jargon

Process: program running within a host.

within same host, two processes communicate using interprocess communication (defined by OS)

processes running in different hosts communicate with an application-layer protocol

user agent: interfaces with user “above” and network “below”.

implements user interface & application-level protocol Web: browser E-mail: mail reader streaming audio/video:

media player

Page 11: Introduction1-1 Networking Overview. Introduction1-2 Introduction.

Introduction 1-11

Applications and application-layer protocols

Application: communicating, distributed processes

e.g., e-mail, Web, P2P file sharing, instant messaging

running in end systems (hosts) exchange messages to implement

application

Application-layer protocols one “piece” of an app define messages exchanged by

apps and actions taken use communication services

provided by lower layer protocols (TCP, UDP)

For example, SMTP

applicationtransportnetworkdata linkphysical

applicationtransportnetworkdata linkphysical

applicationtransportnetworkdata linkphysical

Page 12: Introduction1-1 Networking Overview. Introduction1-2 Introduction.

Introduction 1-12

Client-server paradigm (“usual” approach)

Typical network app has two pieces: client and server

applicationtransportnetworkdata linkphysical

applicationtransportnetworkdata linkphysical

Client: initiates contact with server

(“speaks first”) typically requests service from

server, Web: client implemented in

browser; e-mail: in mail reader

request

reply

Server: provides requested service to client e.g., Web server sends requested Web page, mail

server delivers e-mail

Hosts: both clients and servers

Page 13: Introduction1-1 Networking Overview. Introduction1-2 Introduction.

Introduction 1-13

Addressing processes: For a process to receive

messages, it must have an identifier

Every host has a unique 32-bit IP address

Q: does the IP address of the host on which the process runs suffice for identifying the process?

A: No, many processes can be running on same host

Identifier includes both the IP address and port numbers associated with the process on the host.

“Well-known” port number examples: HTTP server: 80 Mail server: 25

More on this later

Page 14: Introduction1-1 Networking Overview. Introduction1-2 Introduction.

Introduction 1-14

Internet transport protocols services

TCP service: connection-oriented: setup

required between client and server processes

reliable transport between sending and receiving process

flow control: sender won’t overwhelm receiver

congestion control: throttle sender when network overloaded

full duplex: simultaneous 2-way communication

does not provide: timing, minimum bandwidth guarantees

UDP service: unreliable data transfer

between sending and receiving process

does not provide: connection setup, reliability, flow control, congestion control, timing, or bandwidth guarantee

Q: Why is there a UDP?

Page 15: Introduction1-1 Networking Overview. Introduction1-2 Introduction.

Introduction 1-15

HTTP overview

HTTP: HyperText Transfer Protocol

Web’s application layer protocol

client/server model client: browser that

requests, receives, “displays” Web objects

server: Web server sends objects in response to requests

HTTP 1.0: RFC 1945 HTTP 1.1: RFC 2068

(backward compatible)

PC runningNavigator

Server running

Apache Webserver

Mac runningExplorer

HTTP request

HTTP request

HTTP response

HTTP response

Page 16: Introduction1-1 Networking Overview. Introduction1-2 Introduction.

Introduction 1-16

Cookies: keeping “state”

client server

usual http request msg

usual http response +Set-cookie: 1678

usual http request msgcookie: 1678

usual http response msg

usual http request msgcookie: 1678

usual http response msg

cookie-specificaction

cookie-spectificaction

servercreates ID

1678 for user

entry in backend

database

access

acce

ss

Cookie file

amazon: 1678ebay: 8734

Cookie file

ebay: 8734

Cookie file

amazon: 1678ebay: 8734

one week later:

Page 17: Introduction1-1 Networking Overview. Introduction1-2 Introduction.

Introduction 1-17

Cookies (continued)

What cookies can bring: authorization shopping carts recommendations user session state (Web

e-mail)

Cookies and privacy: cookies permit sites to

learn a lot about you you may supply name

and e-mail to sites search engines use

redirection & cookies to learn yet more

advertising companies obtain info across sites

aside

Page 18: Introduction1-1 Networking Overview. Introduction1-2 Introduction.

Introduction 1-18

Mail access protocols

SMTP: delivery/storage to receiver’s server Mail access protocol: retrieval from server

POP: Post Office Protocol [RFC 1939]• authorization (agent <-->server) and download

IMAP: Internet Mail Access Protocol [RFC 1730]• more features (more complex)• manipulation of stored msgs on server

HTTP: Hotmail , Yahoo! Mail, etc.

useragent

sender’s mail server

useragent

SMTP SMTP accessprotocol

receiver’s mail server

Page 19: Introduction1-1 Networking Overview. Introduction1-2 Introduction.

Introduction 1-19

Sample SMTP interaction S: 220 hamburger.edu C: HELO ca.gov S: 250 Hello ca.gov, pleased to meet you C: MAIL FROM: <[email protected]> S: 250 [email protected]... Sender ok C: RCPT TO: <[email protected]> S: 250 [email protected] ... Recipient ok C: DATA S: 354 Enter mail, end with "." on a line by itself C: It is my pleasure to inform you that C: you are terminated C: . S: 250 Message accepted for delivery C: QUIT S: 221 hamburger.edu closing connection

Page 20: Introduction1-1 Networking Overview. Introduction1-2 Introduction.

Introduction 1-20

DNS: Domain Name System

People: many identifiers: SSN, name, passport #

Internet hosts, routers: IP address (32 bit) - used

for addressing datagrams

“name”, e.g., gaia.cs.umass.edu - used by humans

Q: map between IP addresses and name ?

Domain Name System: distributed database implemented

in hierarchy of many name servers application-layer protocol host,

routers, name servers to communicate to resolve names (address/name translation) note: core Internet function,

implemented as application-layer protocol

complexity at network’s “edge”

Page 21: Introduction1-1 Networking Overview. Introduction1-2 Introduction.

Introduction 1-21

DNS: Root name servers contacted by local name server that can not resolve name root name server:

contacts authoritative name server if name mapping not known gets mapping returns mapping to local name server

b USC-ISI Marina del Rey, CAl ICANN Marina del Rey, CA

e NASA Mt View, CAf Internet Software C. Palo Alto, CA

i NORDUnet Stockholm

k RIPE London

m WIDE Tokyo

a NSI Herndon, VAc PSInet Herndon, VAd U Maryland College Park, MDg DISA Vienna, VAh ARL Aberdeen, MDj NSI (TBD) Herndon, VA

13 root name servers worldwide

Page 22: Introduction1-1 Networking Overview. Introduction1-2 Introduction.

Introduction 1-22

P2P file sharing

Example Alice runs P2P client

application on her notebook computer

Intermittently connects to Internet; gets new IP address for each connection

Asks for “Hey Jude” Application displays other

peers that have copy of Hey Jude.

Alice chooses one of the peers, Bob.

File is copied from Bob’s PC to Alice’s notebook: HTTP

While Alice downloads, other users uploading from Alice.

Alice’s peer is both a Web client and a transient Web server.

All peers are servers = highly scalable!

Page 23: Introduction1-1 Networking Overview. Introduction1-2 Introduction.

Introduction 1-23

P2P: centralized directory

original “Napster” design

1) when peer connects, it informs central server: IP address content

2) Alice queries for “Hey Jude”

3) Alice requests file from Bob

centralizeddirectory server

peers

Alice

Bob

1

1

1

12

3

Page 24: Introduction1-1 Networking Overview. Introduction1-2 Introduction.

Introduction 1-24

P2P: decentralized directory

Each peer is either a group leader or assigned to a group leader.

Group leader tracks the content in all its children.

Peer queries group leader; group leader may query other group leaders.

KaZaA uses this idea

ordinary peer

group-leader peer

neighoring relationshipsin overlay network

Page 25: Introduction1-1 Networking Overview. Introduction1-2 Introduction.

Introduction 1-25

P2P: Query flooding Gnutella no hierarchy use bootstrap node to learn

about others join message

Send query to neighbors Neighbors forward query If queried peer has object,

it sends message back to querying peer

join

Gnutella network visualization: http://www.ececs.uc.edu/~mjovanov/Research/gnutella.html

Page 26: Introduction1-1 Networking Overview. Introduction1-2 Introduction.

Introduction 1-26

Transport Layer

Page 27: Introduction1-1 Networking Overview. Introduction1-2 Introduction.

Introduction 1-27

Internet transport-layer protocols

reliable, in-order delivery (TCP) congestion control flow control connection setup

unreliable, unordered delivery: UDP no-frills extension of “best-

effort” IP

services not available: delay guarantees bandwidth guarantees

applicationtransportnetworkdata linkphysical

applicationtransportnetworkdata linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysicalnetwork

data linkphysical

logical end-end transport

Page 28: Introduction1-1 Networking Overview. Introduction1-2 Introduction.

Introduction 1-28

TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581

full duplex data bi-directional data flow in

same connection MSS: maximum segment

size connection-oriented

handshaking (exchange of control msgs) init’s sender, receiver state before data exchange

flow control sender will not overwhelm

receiver congestion control

network will not be overwhelmed (fairness)

point-to-point one sender, one receiver

reliable, in-order byte steam no “message boundaries”

pipelined TCP congestion and flow

control set window size

send & receive buffers

socketdoor

TCPsend buffer

TCPreceive buffer

socketdoor

segment

applicationwrites data

applicationreads data

Page 29: Introduction1-1 Networking Overview. Introduction1-2 Introduction.

Introduction 1-29

TCP 3-way handshake

Server must maintain state…

SYN

SYNACK

Get http://www.awl.com/kurose-ross

<file>

time

Page 30: Introduction1-1 Networking Overview. Introduction1-2 Introduction.

Introduction 1-30

Network Layer

Page 31: Introduction1-1 Networking Overview. Introduction1-2 Introduction.

Introduction 1-31

Network layer functions

transport packet from sending to receiving hosts

network layer protocols in every host and router

three important functions: path determination: route taken by

packets from source to dest. routing algorithms

forwarding: move packets from router’s input to appropriate router output

call setup: some network architectures require router call setup along path before data flows

networkdata linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysical

applicationtransportnetworkdata linkphysical

applicationtransportnetworkdata linkphysical

Page 32: Introduction1-1 Networking Overview. Introduction1-2 Introduction.

Introduction 1-32

Datagram networks: the Internet model

no call setup at network layer routers: no state about end-to-end connections

no network-level concept of “connection” packets forwarded using destination host address

Packets in same “transmission” may take different paths best effort

applicationtransportnetworkdata linkphysical

applicationtransportnetworkdata linkphysical

1. Send data 2. Receive data

Page 33: Introduction1-1 Networking Overview. Introduction1-2 Introduction.

Introduction 1-33

Hierarchical Routing

aggregate routers into regions, “autonomous systems” (AS)

routers in same AS run same routing protocol “intra-AS” routing

protocol routers in different AS

can run different intra-AS routing protocol

special routers in AS run intra-AS routing protocol

with all other routers in AS also responsible for routing

to destinations outside AS run inter-AS routing

protocol with other gateway routers

gateway routers

Page 34: Introduction1-1 Networking Overview. Introduction1-2 Introduction.

Introduction 1-34

Intra-AS and Inter-AS routing

Gateway routers•perform inter-AS routing amongst themselves•perform intra-AS routers with other routers in their AS

inter-AS, intra-AS routing in

gateway A.c

network layer

link layer

physical layer

a

b

b

aaC

A

Bd

A.a

A.c

C.bB.a

cb

c

Page 35: Introduction1-1 Networking Overview. Introduction1-2 Introduction.

Introduction 1-35

The Internet Network layer

forwardingtable

Host, router network layer functions:

Routing protocols•path selection•RIP, OSPF, BGP

IP protocol•addressing conventions•datagram format•packet handling conventions

ICMP protocol•error reporting•router “signaling”

Transport layer: TCP, UDP

Link layer

physical layer

Networklayer

Page 36: Introduction1-1 Networking Overview. Introduction1-2 Introduction.

Introduction 1-36

IP Addressing: introduction

IP address: 32-bit identifier for host, router interface

interface: connection between host/router and physical link router’s typically have

multiple interfaces host may have multiple

interfaces IP addresses

associated with each interface

223.1.1.1

223.1.1.2

223.1.1.3

223.1.1.4 223.1.2.9

223.1.2.2

223.1.2.1

223.1.3.2223.1.3.1

223.1.3.27

223.1.1.1 = 11011111 00000001 00000001 00000001

223 1 11

Page 37: Introduction1-1 Networking Overview. Introduction1-2 Introduction.

Introduction 1-37

Getting a datagram from source to dest.

Dest. Net. next router Nhops

223.1.1 1223.1.2 223.1.1.4 2223.1.3 223.1.1.4 2

Starting at A, dest. E: look up network address of E in

forwarding table E on different network

A, E not directly attached routing table: next hop router to

E is 223.1.1.4 link layer sends datagram to

router 223.1.1.4 inside link-layer frame

datagram arrives at 223.1.1.4 continued…..

miscfields 223.1.1.1 223.1.2.2 data

223.1.1.1

223.1.1.2

223.1.1.3

223.1.1.4 223.1.2.9

223.1.2.2

223.1.2.1

223.1.3.2223.1.3.1

223.1.3.27

A

B

E

forwarding table in A

Page 38: Introduction1-1 Networking Overview. Introduction1-2 Introduction.

Introduction 1-38

Getting a datagram from source to dest.

Arriving at 223.1.1.4, destined for 223.1.2.2

look up network address of E in router’s forwarding table

E on same network as router’s

interface 223.1.2.9 router, E directly attached

link layer sends datagram to 223.1.2.2 inside link-layer frame

via interface 223.1.2.9 datagram arrives at 223.1.2.2

miscfields 223.1.1.1 223.1.2.2 data Dest. Net router Nhops interface

223.1.1 - 1 223.1.1.4 223.1.2 - 1 223.1.2.9

223.1.3 - 1 223.1.3.27

223.1.1.1

223.1.1.2

223.1.1.3

223.1.1.4 223.1.2.9

223.1.2.2

223.1.2.1

223.1.3.2223.1.3.1

223.1.3.27

A

B

E

forwarding table in router

Page 39: Introduction1-1 Networking Overview. Introduction1-2 Introduction.

Introduction 1-39

IP Fragmentation & Reassembly network links have MTU

(max.transfer size) - largest possible link-level frame. different link types,

different MTUs large IP datagram divided

(“fragmented”) within net one datagram becomes

several datagrams “reassembled” only at

final destination IP header bits used to

identify, order related fragments

fragmentation: in: one large datagramout: 3 smaller datagrams

reassembly

Page 40: Introduction1-1 Networking Overview. Introduction1-2 Introduction.

Introduction 1-40

IP Fragmentation and Reassembly

ID=x

offset=0

fragflag=0

length=4000

ID=x

offset=0

fragflag=1

length=1500

ID=x

offset=1480

fragflag=1

length=1500

ID=x

offset=2960

fragflag=0

length=1040

One large datagram becomesseveral smaller datagrams

Example 4000 byte datagram MTU = 1500 bytes

Page 41: Introduction1-1 Networking Overview. Introduction1-2 Introduction.

Introduction 1-41

ICMP: Internet Control Message Protocol

used by hosts, routers, gateways to communication network-level information error reporting:

unreachable host, network, port, protocol

echo request/reply (used by ping)

network-layer “above” IP: ICMP msgs carried in IP

datagrams ICMP message: type, code

plus first 8 bytes of IP datagram causing error

Type Code description0 0 echo reply (ping)3 0 dest. network unreachable3 1 dest host unreachable3 2 dest protocol unreachable3 3 dest port unreachable3 6 dest network unknown3 7 dest host unknown4 0 source quench (congestion control - not used)8 0 echo request (ping)9 0 route advertisement10 0 router discovery11 0 TTL expired12 0 bad IP header

Page 42: Introduction1-1 Networking Overview. Introduction1-2 Introduction.

Introduction 1-42

DHCP client-server scenarioDHCP server: 223.1.2.5 arriving

client

time

DHCP discover

src : 0.0.0.0, 68 dest.: 255.255.255.255,67yiaddr: 0.0.0.0transaction ID: 654

DHCP offer

src: 223.1.2.5, 67 dest: 255.255.255.255, 68yiaddrr: 223.1.2.4transaction ID: 654Lifetime: 3600 secs

DHCP request

src: 0.0.0.0, 68 dest:: 255.255.255.255, 67yiaddrr: 223.1.2.4transaction ID: 655Lifetime: 3600 secs

DHCP ACK

src: 223.1.2.5, 67 dest: 255.255.255.255, 68yiaddrr: 223.1.2.4transaction ID: 655Lifetime: 3600 secs

Page 43: Introduction1-1 Networking Overview. Introduction1-2 Introduction.

Introduction 1-43

NAT: Network Address Translation

10.0.0.1

10.0.0.2

10.0.0.3

10.0.0.4

138.76.29.7

local network(e.g., home network)

10.0.0/24

rest ofInternet

Datagrams with source or destination in this network

have 10.0.0/24 address for source, destination (as usual)

All datagrams leaving localnetwork have same single source

NAT IP address: 138.76.29.7,different source port numbers

Page 44: Introduction1-1 Networking Overview. Introduction1-2 Introduction.

Introduction 1-44

Intra-AS Routing

Also known as Interior Gateway Protocols (IGP) Most common Intra-AS routing protocols:

RIP: Routing Information Protocol

OSPF: Open Shortest Path First

IGRP: Interior Gateway Routing Protocol (Cisco proprietary)

Page 45: Introduction1-1 Networking Overview. Introduction1-2 Introduction.

Introduction 1-45

Inter-AS routing in the Internet: BGP

Figure 4.5.2-new2: BGP use for inter-domain routing

AS2 (OSPF

intra-AS routing)

AS1 (RIP intra-AS

routing) BGP

AS3 (OSPF intra-AS

routing)

BGP

R1 R2

R3

R4

R5

Page 46: Introduction1-1 Networking Overview. Introduction1-2 Introduction.

Introduction 1-46

Why different Intra- and Inter-AS routing ?

Policy: Inter-AS: admin wants control over how its traffic routed, who routes

through its net. Intra-AS: single admin, so no policy decisions needed

Scale: Hierarchical routing saves table size, reduced update traffic

Performance: Intra-AS: can focus on performance Inter-AS: policy may dominate over performance

Page 47: Introduction1-1 Networking Overview. Introduction1-2 Introduction.

Introduction 1-47

Link Layer

Page 48: Introduction1-1 Networking Overview. Introduction1-2 Introduction.

Introduction 1-48

Link Layer: IntroductionSome terminology: hosts and routers are nodes (bridges and switches too) communication channels that

connect adjacent nodes along communication path are links

wired links wireless links LANs

2-PDU is a frame, encapsulates datagram

“link”

data-link layer has responsibility of transferring datagram from one node to adjacent node over a link

Page 49: Introduction1-1 Networking Overview. Introduction1-2 Introduction.

Introduction 1-49

Adaptors Communicating

link layer implemented in “adaptor” (aka NIC) Ethernet card, PCMCI card,

802.11 card sending side:

encapsulates datagram in a frame

adds error checking bits, rdt, flow control, etc.

receiving side looks for errors, rdt, flow

control, etc extracts datagram, passes

to rcving node adapter is semi-

autonomous link & physical layers

sendingnode

frame

rcvingnode

datagram

frame

adapter adapter

link layer protocol

Page 50: Introduction1-1 Networking Overview. Introduction1-2 Introduction.

Introduction 1-50

Multiple Access protocols single shared broadcast channel two or more simultaneous transmissions by nodes:

interference only one node can send successfully at a time

multiple access protocol distributed algorithm that determines how nodes share

channel, i.e., determine when node can transmit communication about channel sharing must use channel

itself (in-band signalling)

Page 51: Introduction1-1 Networking Overview. Introduction1-2 Introduction.

Introduction 1-51

MAC Protocols: a taxonomy

Three broad classes: Channel Partitioning

divide channel into smaller “pieces” (time slots, frequency, code)

allocate piece to node for exclusive use

Random Access channel not divided, allow collisions (data ruined) “recover” from collisions

Taking turns tightly coordinate shared access to avoid collisions

Page 52: Introduction1-1 Networking Overview. Introduction1-2 Introduction.

Introduction 1-52

Random Access Protocols

When node has packet to send transmit at full channel data rate R. no a priori coordination among nodes

two or more transmitting nodes -> collision (data lost) Random multiple access protocol specifies

how to detect collisions how to recover from collisions (e.g., via delayed retransmissions)

Examples of random multiple access protocols slotted ALOHA ALOHA CSMA, CSMA/CD, CSMA/CA (used in Ethernet)

Page 53: Introduction1-1 Networking Overview. Introduction1-2 Introduction.

Introduction 1-53

CSMA

Carrier Sense Mulitple Access (CSMA): listen before transmitting

If channel is idle, transmit entire frame If channel is busy, wait

Human analogy: don’t interrupt others!

Page 54: Introduction1-1 Networking Overview. Introduction1-2 Introduction.

Introduction 1-54

CSMA collisions

collisions can still occur:propagation delay means two nodes may not heareach other’s transmission

collision: entire packet transmission time wasted

spatial layout of nodes

note: distance and propagation delay in determining collision probability

Page 55: Introduction1-1 Networking Overview. Introduction1-2 Introduction.

Introduction 1-55

CSMA/CD (Collision Detection)

CSMA/CD: carrier sensing, deferral as in CSMA collisions detected within short time colliding transmissions aborted, reducing channel

wastage collision detection

easy in wired LANs: measure signal strengths, compare transmitted, received signals

difficult in wireless LANs: receiver shut off while transmitting

human analogy: the polite conversationalist

Page 56: Introduction1-1 Networking Overview. Introduction1-2 Introduction.

Introduction 1-56

CSMA/CD collision detection

Page 57: Introduction1-1 Networking Overview. Introduction1-2 Introduction.

Introduction 1-57

Ethernet uses CSMA/CD

No slots adapter doesn’t transmit if

it senses that some other adapter is transmitting, that is, carrier sense

transmitting adapter aborts when it senses that another adapter is transmitting, that is, collision detection

Before attempting a retransmission, adapter waits a random time, that is, random access

Page 58: Introduction1-1 Networking Overview. Introduction1-2 Introduction.

Introduction 1-58

LAN Addresses and ARPEach adapter on LAN has unique LAN address

Page 59: Introduction1-1 Networking Overview. Introduction1-2 Introduction.

Introduction 1-59

LAN Address (more)

MAC address allocation administered by IEEE manufacturer buys portion of MAC address space (to assure

uniqueness) Analogy:

(a) MAC address: like Social Security Number

(b) IP address: like postal address MAC flat address => portability

can move LAN card from one LAN to another IP hierarchical address NOT portable

depends on IP network to which node is attached

Page 60: Introduction1-1 Networking Overview. Introduction1-2 Introduction.

Introduction 1-60

ARP: Address Resolution Protocol

Each IP node (host or router) on LAN has ARP table

ARP Table: IP/MAC address mappings for some LAN nodes

< IP address; MAC address; TTL> TTL (Time To Live): time

after which address mapping will be forgotten (typically 20 min)

Question: how to determineMAC address of nodeknowing node’s IP address?

Page 61: Introduction1-1 Networking Overview. Introduction1-2 Introduction.

Introduction 1-61

ARP protocol

A wants to send datagram to B, and A knows B’s IP address.

Suppose B’s MAC address is not in A’s ARP table.

A broadcasts ARP query packet, containing B's IP address all machines on LAN

receive ARP query

B receives ARP packet, replies to A with its (B's) MAC address

frame sent to A’s MAC address (unicast)

A caches (saves) IP-to-MAC address pair in its ARP table until information becomes old (times out) soft state: information

times out (goes away) unless refreshed

ARP is “plug-and-play”: nodes create their ARP

tables without intervention from net administrator

Page 62: Introduction1-1 Networking Overview. Introduction1-2 Introduction.

Introduction 1-62

ARP cache poisoning

ARP is stateless ARP table is updated whenever ARP reply

received, even if no ARP request was sent

LAN111.111.111.001 111.111.111.002

AA-AA-AA-AA-AA-AA

BB-BB-BB-BB-BB-BB

111.111.111.002 BB-BB-BB-BB-BB-BB111.111.111.001 AA-AA-AA-AA-AA-AA

ARP cache ARP cache

Page 63: Introduction1-1 Networking Overview. Introduction1-2 Introduction.

Introduction 1-63

ARP Poisoning (continued)

111.111.111.003

111.111.111.002

AA-AA-AA-AA-AA-AA

BB-BB-BB-BB-BB-BB

111.111.111.002 CC-CC-CC-CC-CC-CC 111.111.111.001 CC-CC-CC-CC-CC-CC

111.111.111.001

CC-CC-CC-CC-CC-CC

LAN

Page 64: Introduction1-1 Networking Overview. Introduction1-2 Introduction.

Introduction 1-64

Summary comparison

hubs bridges switches routers

Collisionisolation

no yes yes yes

Broadcastisolation

no no no yes

plug & play yes yes yes no

optimalrouting

no no no yes

cutthrough

yes no yes no