cs 335 - computer networks dr. randy l. ribler 103 hobbs [email protected]

31
Computer Networks Dr. Randy L. Ribler 103 Hobbs [email protected]

Upload: lester-harris

Post on 25-Dec-2015

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CS 335 - Computer Networks Dr. Randy L. Ribler 103 Hobbs ribler@lynchburg.edu

CS 335 - Computer Networks

Dr. Randy L. Ribler

103 Hobbs

[email protected]

Page 2: CS 335 - Computer Networks Dr. Randy L. Ribler 103 Hobbs ribler@lynchburg.edu

Introduction

Read Chapter 1 in Kurose and Ross

Page 3: CS 335 - Computer Networks Dr. Randy L. Ribler 103 Hobbs ribler@lynchburg.edu

How do we design networks?

Use layers of “abstractions” Each layer provides a set of “services”

Upper layers implement the services in terms of lower layer services

Each layer treats the layer above it and below it as an abstraction

Page 4: CS 335 - Computer Networks Dr. Randy L. Ribler 103 Hobbs ribler@lynchburg.edu

Sentence

Word

Net

Talk

Sentence

Net

Talk

Send sentenceSend Word

Route Word

Alphanumeric Transmission

Word

•Classroom Demonstration Protocol

Page 5: CS 335 - Computer Networks Dr. Randy L. Ribler 103 Hobbs ribler@lynchburg.edu

•Talk •Talk •Talk •Talk •Talk •Talk

•Net

•Word

•Sen-tence

•Net •Net •Net •Net •Net

•Word

•Word

•Word

•Word

•Word

•Sen-tence

•Sen-tence

•Sen-tence

•Sen-tence

•Sen-tence

•Host 0 •Host 1 •Host 2 •Host 3 •Host 4 •Host 5

Page 6: CS 335 - Computer Networks Dr. Randy L. Ribler 103 Hobbs ribler@lynchburg.edu

ISO OSI Reference Model

International Standards Organization

Open Systems Interconnection (OSI)

The ISO OSI contains 7 layers

Page 7: CS 335 - Computer Networks Dr. Randy L. Ribler 103 Hobbs ribler@lynchburg.edu

OSI Reference Model

Application

Layer

Session Layer

Transport Layer

Network Layer

Data Link Layer

Physical Layer

Presentation Layer

Page 8: CS 335 - Computer Networks Dr. Randy L. Ribler 103 Hobbs ribler@lynchburg.edu

Application

Layer

Session Layer

Transport Layer

Network Layer

Data Link Layer

Physical Layer

Presentation Layer

Application

Layer

Session Layer

Transport Layer

Network Layer

Data Link Layer

Physical Layer

Presentation Layer

•Adapted from p34, Tanenbaum

Sending Process

Receiving Process

Page 9: CS 335 - Computer Networks Dr. Randy L. Ribler 103 Hobbs ribler@lynchburg.edu

OSI Reference Model Terminology

Services - What the layer does like public member functions in OOP

Interface - Parameters and results like the parameter lists and return values in OOP

Protocols - the communication between peer levels like the hidden implementation of class in OOP.

Page 10: CS 335 - Computer Networks Dr. Randy L. Ribler 103 Hobbs ribler@lynchburg.edu

Physical Layer

Transmission of “raw” bits

Hardware level concerns voltages, pins

mechanical, electrical, and procedural interfaces

Communicates between a pair of nodes

Provided by modems and other point-to-point transmission hardware

Page 11: CS 335 - Computer Networks Dr. Randy L. Ribler 103 Hobbs ribler@lynchburg.edu

Data Link Layer

Imposes a structure on the bit stream data frames (100’s or 1000’s of bytes long)

Acknowledge receipt of frames

Handle damaged, lost, or duplicate frames

Flow regulation Don’t overflow buffers

Page 12: CS 335 - Computer Networks Dr. Randy L. Ribler 103 Hobbs ribler@lynchburg.edu

The Network Layer

Routing “packets”

Congestion Control

Accounting

Heterogeneous network interconnects

Page 13: CS 335 - Computer Networks Dr. Randy L. Ribler 103 Hobbs ribler@lynchburg.edu

The Transport Layer Provides multiplexing/demultiplexing between network

traffic and individual processes.

Establishes/deletes network connections

End-to-end flow control.

Not needed on routers (unless router is also a host).

Often provides a reliable bit stream.

Transport layer protocols handle “messages.”

Page 14: CS 335 - Computer Networks Dr. Randy L. Ribler 103 Hobbs ribler@lynchburg.edu

The Session Layer

Information about where to obtain service

Access Rights/permissions establish “sessions” (login or ftp)

Traffic Control ( half/full duplex connections)

The Session Layer is generally under utilized

Page 15: CS 335 - Computer Networks Dr. Randy L. Ribler 103 Hobbs ribler@lynchburg.edu

Presentation Layer

•General Purpose Application Utilities•Utilities that operate on data

•Data word sizes•Encryption•Data Compression•Code conversions

•e.g., ASCII <-> EBCDIC

Page 16: CS 335 - Computer Networks Dr. Randy L. Ribler 103 Hobbs ribler@lynchburg.edu

Application Layer

Application specific code ftp

telnet

http

Anything not implemented elsewhere in the protocol stack.

Page 17: CS 335 - Computer Networks Dr. Randy L. Ribler 103 Hobbs ribler@lynchburg.edu

Internet Protocol (IP)

Internet protocol has been revised IP version 4 (IPv4) is the most widely used.

IP version 6 (IPv6) will eventually replace it.

IPv4 uses 32-bit host addresses

IPv6 uses 128-bit host addresses

Page 18: CS 335 - Computer Networks Dr. Randy L. Ribler 103 Hobbs ribler@lynchburg.edu

TCP/IP Reference Model

Application

Layer

Session Layer

Transport Layer

Network Layer

Data Link Layer

Physical Layer

Presentation Layer

Application

Layer

Transport Layer

Internet Layer

Host-to-network

Layer

OSI Model TCP/IP Model

IP

TCP or UDP

Page 19: CS 335 - Computer Networks Dr. Randy L. Ribler 103 Hobbs ribler@lynchburg.edu

Talk

Authorize Talk

Break Message

Apart

Route Message

Manage Frames

Send Bit Stream

ASCII-EBCDIC

Talk

Authorize Talk

Reassemble

Message

Route Message

Manage Frames

Receive

Bit Stream

You Your FriendApplication

Presentation

Session

Transport

Network

Data Link

Physical

Page 20: CS 335 - Computer Networks Dr. Randy L. Ribler 103 Hobbs ribler@lynchburg.edu

Internet Protocol (IPv4)

32-bit IP addresses Store internally as a single word

Usually expressed to user’s using “dotted decimal notation” (e.g., 161.115.147.1) where each of the four numbers range from 0 to 255.

Usually aliased to host name of the system (e.g. mail.lynchburg.edu

Page 21: CS 335 - Computer Networks Dr. Randy L. Ribler 103 Hobbs ribler@lynchburg.edu

Domain Name System (DNS)

How can we map host names to IP addresses?

Domain Name Servers provide names in response to client requests.

A hierarchical representation provides name management at each level of domain name.

Page 22: CS 335 - Computer Networks Dr. Randy L. Ribler 103 Hobbs ribler@lynchburg.edu

Client/Server Models

Network interaction is based on an asymmetrical relationship Server

provides services to authorized clients

typically handles many clients simultaneously

works passively, driven by client requests

Client

requests services

typically initiates

Page 23: CS 335 - Computer Networks Dr. Randy L. Ribler 103 Hobbs ribler@lynchburg.edu

Port Numbers

IP addresses identify host machines only.

Port numbers identify services on machines. 16-bit port numbers provide values (0-65535)

“Well-known ports” (0-1023)

Registered ports (1024-49151) (49152 is 75% of available port numbers)

Dynamic or private ports

Internet Assigned Number Authority (IANA) Determines (0-1023)

Registers (1024-49151)

Does not control (49151-65535)

Page 24: CS 335 - Computer Networks Dr. Randy L. Ribler 103 Hobbs ribler@lynchburg.edu

Some Well Known Port Numbers 23 (telnet)

21 (ftp)

13 (daytime)

25 (smtp (mail))

43 (whois)

144 (news)

80 (http web server)

Page 25: CS 335 - Computer Networks Dr. Randy L. Ribler 103 Hobbs ribler@lynchburg.edu

Telnet Client telnet <hostname> <port number>

provides a general interface to request a service and return a text response.

Page 26: CS 335 - Computer Networks Dr. Randy L. Ribler 103 Hobbs ribler@lynchburg.edu

Ping

See if there is a connection between two machines

See if a particular host is running

ping <hostname>

Page 27: CS 335 - Computer Networks Dr. Randy L. Ribler 103 Hobbs ribler@lynchburg.edu

Trace Route traceroute <hostname> (unix)

tracert <hostname> (dos/windows)

Page 28: CS 335 - Computer Networks Dr. Randy L. Ribler 103 Hobbs ribler@lynchburg.edu

Internetworking

•161.115•lynchburg.edu

•161.115.100.22•acavax.lynchburg.edu•161.115.147.1

•161.115.100.27

•161.115.100.29

•208.22.66•networkvirginia.net

•128.100.200.123

•128.173•cs.vt.edu

•128.100•cns.vt.edu

•128.173.133.44

•161.115.144.2

•128.100.200.145

•208.22.66.1

•208.22.66.145

•208.22.66.100

•208.22.66.101

•208.22.66.102

•128.100.200.165•128.100.201.155

•128.100.230.156

•128.173.133.155

•128.173.133.102

•lasi-main

•150.123.23.1

•GATEWAYS

Page 29: CS 335 - Computer Networks Dr. Randy L. Ribler 103 Hobbs ribler@lynchburg.edu

Network Protocols Must Adopt One of the Two Byte Orders Network Byte Order

The protocol byte order

Host Byte Order The native machine byte order

Conversion Functions htons : convert 16-bit value from host byte order to network byte

order. (ntohs provides the inverse)

htonl: convert 32-bit value from host byte order to network byte order. (ntohl provides the inverse)

Page 30: CS 335 - Computer Networks Dr. Randy L. Ribler 103 Hobbs ribler@lynchburg.edu

Domain Name Management Each level is responsible for assigning its own names

.edu is the top-level domain for educational institutions in the US. We need to get permission from the managers of the .edu domain before we can use lynchburg.edu

lynchburg.edu is the Lynchburg College domain name. We can name our computers anything we want, (e.g., acavax.lynchburg.edu).

If we wanted to we could create a cs.lynchburg.edu subdomain

Page 31: CS 335 - Computer Networks Dr. Randy L. Ribler 103 Hobbs ribler@lynchburg.edu

Lavender Army Magenta

ArmyMagenta Army

Distributed processing problem from Data Networks, by Dimitri Bertsekas

and Robert Gallager