Upload
asher-lee
View
219
Download
3
Tags:
Embed Size (px)
Citation preview
Lecture 3 Overview
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
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
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
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
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
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
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
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
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
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
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
Lecture 1Internet
CPE 401 / 601
Computer Network Systems
slides are modified from Dave Hollinger
Lecture 4
TCP / IP model
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
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
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
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
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
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
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)
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
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
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
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
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
Subnetting
TCP/IP model 26
router
Subnet 1134.197.1.x
Subnet 2134.197.2.x
Subnet 3134.197.3.x
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
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
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
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
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
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