lecture 3 overview. protocol an agreed upon convention for communication both endpoints need to...

32
Lecture 3 Overview

Upload: asher-lee

Post on 01-Jan-2016

219 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Lecture 3 Overview. Protocol An agreed upon convention for communication both endpoints need to understand the protocol. Protocols must be formally defined

Lecture 3 Overview

Page 2: Lecture 3 Overview. Protocol An agreed upon convention for communication both endpoints need to understand the protocol. Protocols must be formally defined

Protocol• An agreed upon convention for communication

• both endpoints need to understand the protocol.

• Protocols must be formally defined and unambiguous!

• Protocols define • format, • order of msgs sent and received among network entities, • actions taken on msg transmission, receipt

• We will study lots of existing protocols and perhaps develop a few of our own.

2Lecture 3: Protocol Layers

Page 3: Lecture 3 Overview. Protocol An agreed upon convention for communication both endpoints need to understand the protocol. Protocols must be formally defined

Client - Server

• A server is a process - not a machine !• A server waits for a request from a client• A client is a process that sends a request to an

existing server and (usually) waits for a reply• Servers are generally more complex• Basic types of servers:

Iterative - server handles one client at a time Concurrent - server handles many clients at a time

3Lecture 3: Protocol Layers

Page 4: Lecture 3 Overview. Protocol An agreed upon convention for communication both endpoints need to understand the protocol. Protocols must be formally defined

OSI 7 Layer Model:

7 Application6 Presentation5 Session4 Transport3 Network2 Data-Link1 Physical

Lecture 3: Protocol Layers 4

High level protocols

Low level protocols

TCP/IP Model

Page 5: Lecture 3 Overview. Protocol An agreed upon convention for communication both endpoints need to understand the protocol. Protocols must be formally defined

The Physical Layer

• Responsibility:– transmission of raw bits over a communication

channel

• Issues:– mechanical and electrical interfaces– time per bit– distances

5Lecture 3: Protocol Layers

Page 6: Lecture 3 Overview. Protocol An agreed upon convention for communication both endpoints need to understand the protocol. Protocols must be formally defined

The Data Link Layer • Responsibility:

– provide an error-free communication link– Sublayers

• Data Link Control• Medium Access Control

• Issues:– framing (dividing data into chunks)

• header & trailer bits– addressing

6

10110110101 01100010011 10110000001

Lecture 3: Protocol Layers

Page 7: Lecture 3 Overview. Protocol An agreed upon convention for communication both endpoints need to understand the protocol. Protocols must be formally defined

The Network Layer

• Responsibilities:– path selection between end-systems (routing).– flow control.– fragmentation & reassembly– translation between different network types.

• Issues:– packet headers– virtual circuits

7Lecture 3: Protocol Layers

Page 8: Lecture 3 Overview. Protocol An agreed upon convention for communication both endpoints need to understand the protocol. Protocols must be formally defined

The Transport Layer

• Responsibilities:– provides virtual end-to-end links between peer

processes.– end-to-end flow control

• Issues:– headers– error detection – reliable communication

8Lecture 3: Protocol Layers

Page 9: Lecture 3 Overview. Protocol An agreed upon convention for communication both endpoints need to understand the protocol. Protocols must be formally defined

The Application Layer

• Responsibilities:– anything not provided by any of the other layers– TCP/IP model

• Session and Presentation Layer functions

• Issues:– application level protocols– appropriate selection of “type of service”

9Lecture 3: Protocol Layers

Page 10: Lecture 3 Overview. Protocol An agreed upon convention for communication both endpoints need to understand the protocol. Protocols must be formally defined

Layering & Headers • Each layer needs to add some control information to

the data in order to do it’s job.

• This information is typically prepended to the data before being given to the lower layer.

• Once the lower layers deliver the data and control information - the peer layer uses the control information.

10Lecture 3: Protocol Layers

Page 11: Lecture 3 Overview. Protocol An agreed upon convention for communication both endpoints need to understand the protocol. Protocols must be formally defined

What are the headers?

Physical: – no header - just a bunch of bits

Data Link: – address of the receiving endpoints– address of the sending endpoint– length of the data– checksum

11Lecture 3: Protocol Layers

Page 12: Lecture 3 Overview. Protocol An agreed upon convention for communication both endpoints need to understand the protocol. Protocols must be formally defined

What are the headers?• Network:

– Protocol– Protocol version– type of service – packet identifier– time to live– source network address– destination network address– length of the data– fragment number– header checksum

12Lecture 3: Protocol Layers

Page 13: Lecture 3 Overview. Protocol An agreed upon convention for communication both endpoints need to understand the protocol. Protocols must be formally defined

Lecture 1Internet

CPE 401 / 601

Computer Network Systems

slides are modified from Dave Hollinger

Lecture 4

TCP / IP model

Page 14: Lecture 3 Overview. Protocol An agreed upon convention for communication both endpoints need to understand the protocol. Protocols must be formally defined

Ethernet

• Data Link Layer protocol

• Ethernet (IEEE 802.3) is widely used

• Supported by a variety of physical layer implementations

• Multi-access (shared medium)

TCP/IP model 14

Page 15: Lecture 3 Overview. Protocol An agreed upon convention for communication both endpoints need to understand the protocol. Protocols must be formally defined

CSMA/CD

• Carrier Sense Multiple Access with Collision Detection

• Carrier Sense– can tell when another host is transmitting

• Multiple Access– many hosts on 1 wire

• Collision Detection– can tell when another host transmits at the same

time.

TCP/IP model 15

Page 16: Lecture 3 Overview. Protocol An agreed upon convention for communication both endpoints need to understand the protocol. Protocols must be formally defined

An Ethernet Frame

• The preamble is a sequence of alternating 1s and 0s used for synchronization.

• CRC is Cyclic Redundency Check

TCP/IP model 16

8 bytes 6 6 2 0-1500 4

PreambleDestination

AddressSourceAddress

Len CRCDATA

Page 17: Lecture 3 Overview. Protocol An agreed upon convention for communication both endpoints need to understand the protocol. Protocols must be formally defined

Ethernet Addressing• Every Ethernet interface has a unique 48 bit

address (a.k.a. hardware address). – Example: C0:B3:44:17:21:17– The broadcast address is all 1’s.– Assigned to vendors by a central authority

• Each interface looks at every frame and inspects the destination address. – If the address does not match the hardware address

of the interface (or the broadcast address), the frame is discarded.

TCP/IP model 17

Page 18: Lecture 3 Overview. Protocol An agreed upon convention for communication both endpoints need to understand the protocol. Protocols must be formally defined

Internet Protocol

• IP is the network layer– packet delivery service (host-to-host).– translation between different data-link protocols

• IP provides connectionless, unreliable delivery of IP datagrams.– Connectionless: each datagram is independent of

all others.– Unreliable: there is no guarantee that datagrams

are delivered correctly or even delivered at all. TCP/IP model 18

Page 19: Lecture 3 Overview. Protocol An agreed upon convention for communication both endpoints need to understand the protocol. Protocols must be formally defined

Why ?Why ?

• IP addresses are not the same as the underlying data-link (MAC) addresses.

• IP is a network layer - it must be capable of providing communication between hosts on different kinds of networks– different data-link implementations

• The address must include information about what network the receiving host is on– This is what makes routing feasible.

IP Addresses

TCP/IP model 19

Page 20: Lecture 3 Overview. Protocol An agreed upon convention for communication both endpoints need to understand the protocol. Protocols must be formally defined

IP Addresses• IP addresses are logical addresses

– not physical

• 32 bits• Includes a network ID and a host ID• Every host must have a unique IP address• IP addresses are assigned by a central authority

– American Registry for Internet Numbers for North America

TCP/IP model 20

IPv4 (version 4)

Page 21: Lecture 3 Overview. Protocol An agreed upon convention for communication both endpoints need to understand the protocol. Protocols must be formally defined

The four formats of IP Addresses

TCP/IP model 21

0 NetID

10

110 NetID

1110 Multicast Address

HostID

NetID HostID

HostID

ClassClassAA

BB

CC

DD8 bits 8 bits 8 bits8 bits

128 possible network IDs, over 4 million host IDs per network ID

16K possible network IDs, 64K host IDs per network ID

Over 2 million possible network IDs, 256 host IDs per network ID

Page 22: Lecture 3 Overview. Protocol An agreed upon convention for communication both endpoints need to understand the protocol. Protocols must be formally defined

Network and Host IDs

• A Network ID is assigned to an organization by a global authority.

• Host IDs are assigned locally by a system administrator.

• Both the Network ID and the Host ID are used for routing.

TCP/IP model 22

Page 23: Lecture 3 Overview. Protocol An agreed upon convention for communication both endpoints need to understand the protocol. Protocols must be formally defined

IP Addresses

• IP Addresses are usually shown in dotted decimal notation:

1.2.3.4 00000001 00000010 00000011 00000100

• cse.unr.edu is 134.197.40.3• 10000110 11000101 00101000 00000010

TCP/IP model 23

CSE has a class B networkCSE has a class B network

Page 24: Lecture 3 Overview. Protocol An agreed upon convention for communication both endpoints need to understand the protocol. Protocols must be formally defined

Host and Network Addresses

• A single network interface is assigned a single IP address called the host address

• A host may have multiple interfaces– therefore multiple host addresses

• Hosts that share a network all have the same IP network address (the network ID)

• An IP address that has a host ID of all 0s is called a network address and refers to an entire network

TCP/IP model 24

Page 25: Lecture 3 Overview. Protocol An agreed upon convention for communication both endpoints need to understand the protocol. Protocols must be formally defined

Subnet Addresses

• An organization can subdivide it’s host address space into groups called subnets

• The subnet ID is generally used to group hosts based on the physical network topology

TCP/IP model 25

10 NetID SubnetID HostID

Page 26: Lecture 3 Overview. Protocol An agreed upon convention for communication both endpoints need to understand the protocol. Protocols must be formally defined

Subnetting

TCP/IP model 26

router

Subnet 1134.197.1.x

Subnet 2134.197.2.x

Subnet 3134.197.3.x

Page 27: Lecture 3 Overview. Protocol An agreed upon convention for communication both endpoints need to understand the protocol. Protocols must be formally defined

Subnetting

• Subnets can simplify routing

• IP subnet broadcasts have a hostID of all 1s

• It is possible to have a single wire network with multiple subnets

TCP/IP model 27

Page 28: Lecture 3 Overview. Protocol An agreed upon convention for communication both endpoints need to understand the protocol. Protocols must be formally defined

Mapping IP to Hardware Addresses

• IP Addresses are not recognized by hardware.

• If we know the IP address of a host, how do we find out the hardware address ?

• The process of finding the hardware address of a host given the IP address is called

Address Resolution

TCP/IP model 28

Page 29: Lecture 3 Overview. Protocol An agreed upon convention for communication both endpoints need to understand the protocol. Protocols must be formally defined

ARP• Address Resolution Protocol is used by a

sending host when it knows the IP address of destination but needs the Ethernet address

• ARP is a broadcast protocol– every host on the network receives the request– Each host checks the request against it’s IP address

• the right one responds

• Hosts remember the hardware addresses of each other

TCP/IP model 29

Page 30: Lecture 3 Overview. Protocol An agreed upon convention for communication both endpoints need to understand the protocol. Protocols must be formally defined

ARP conversation

TCP/IP model 30

HEY - Everyone please listen! Will 128.213.1.5 please send me its Ethernet address?

not me

Hi Green! I’m 128.213.1.5, and my Ethernet address is 87:A2:15:35:02:C3

Page 31: Lecture 3 Overview. Protocol An agreed upon convention for communication both endpoints need to understand the protocol. Protocols must be formally defined

IP Datagram

TCP/IP model 31

VERS HL

Fragment Offset

Fragment LengthService

Datagram ID FLAG

TTL Protocol Header Checksum

Source Address

Destination Address

Options (if any)

Data

1 byte1 byte 1 byte 1 byte

Page 32: Lecture 3 Overview. Protocol An agreed upon convention for communication both endpoints need to understand the protocol. Protocols must be formally defined

IP Datagram Fragmentation

• Packets are fragmented due to link’s Maximum Transmission Unit (MTU)

• Each fragment (packet) has the same structure as the IP datagram

• IP specifies that datagram reassembly is done only at the destination– not on a hop-by-hop basis

• If any of the fragments are lost– the entire datagram is discarded

TCP/IP model 32