csce 201 - farkas1 csce 201 computer networks. csce 201 - farkas2 reading assignment required: –...

23
CSCE 201 - Farkas 1 CSCE 201 CSCE 201 Computer Networks Computer Networks

Upload: alexis-jordan

Post on 27-Dec-2015

239 views

Category:

Documents


2 download

TRANSCRIPT

CSCE 201 - Farkas 1

CSCE 201CSCE 201Computer NetworksComputer Networks

CSCE 201 - Farkas 2

Reading AssignmentReading Assignment

Required:– Security Awareness: Chapter 3

Recommended:– Internet Society (ISOC) homepage, http://www.isoc.org – Computer Network,

http://en.wikipedia.org/wiki/Computer_network – Easttom: Chapter 2

CSCE 201 - Farkas 3

Before InternetBefore Internet Isolated, local packet-switching networks

– only nodes on the same network could communicate Each network is autonomous:

– different services

– different interfaces

– different protocols

CSCE 201 - Farkas 4

Before Internet (cont)Before Internet (cont)ARPANET: sponsored by Defense Advanced Research Projects Agency (DARPA):• 1969: interconnected 4 hosts• 1970: host-to-host protocol: Network Control Protocol (NCP)• 1972: first application: e-mail

Univ. of California at LA (UCLA)

Stanford Research Institute (SRI)

Univ. of California at Santa Barbara (UCSB)

Univ. of Utah

CSCE 201 - Farkas 5

InternetInternetConnect Existing Networks: ARPANET, Packet Radio, and Packet Satellite NCP not sufficient Develop new protocol 1970s: Transmission Control Protocol (Kahn and Vinton)

– Based on packet switching technology– Good for file transfer and remote terminal access

Divide TCP into 2 protocols– Internet Protocol (IP): addressing and forwarding of packets– Transmission Control Protocol (TCP): sophisticated services, e.g. flow control, recovery

1980: TCP/IP adopted as a DoD standard 1983: ARPANET protocol officially changed from NCP to TCP/IP 1985: Existing Internet technology 1995: U.S. Federal Networking Council (FNC) define the term Internet

CSCE 201 - Farkas 6

Goals (Clark’88)Goals (Clark’88)Connect existing networks

1. Survivability

2. Support multiple types of services

3. Must accommodate a variety of networks

4. Allow distributed management

5. Allow host attachment with a low level of effort

6. Be cost effective

7. Allow resource accountability

CSCE 201 - Farkas 7

Internet ChallengeInternet Challenge Interconnected networks differ (protocols,

interfaces, services, etc.) Solutions:

1. Reengineer and develop one global packet switching network standard: not economically feasible

2. Have every host implement the protocols of any network it wants to communicate with: too complex, very high engineering cost

3. Add an extra layer: internetworking layer Hosts: one higher-level protocol Network connecting use the same protocol Interface between the new protocol and network

CSCE 201 - Farkas 8

LayeringLayering

Organize a network system into logically distinct entities– the service provided by one layer is based only

on the service provided by the lower level entity

CSCE 201 - Farkas 9

Without LayeringWithout Layering

Each application has to be implemented for every network technology!

SMTP FTP HTTP

Coaxial cable

Fiberoptic

Application

TransmissionMedia

CSCE 201 - Farkas 10

With LayeringWith LayeringIntermediate layer provides a unique abstraction

for various network technologies

SMTP FTP

Coaxial cable

Fiberoptic

Application

TransmissionMedia

HTTP

Intermediate layer

CSCE 201 - Farkas 11

LayeringLayering

Advantages– Modularity – protocols easier to manage and maintain– Abstract functionality –lower layers can be changed

without affecting the upper layers– Reuse – upper layers can reuse the functionality

provided by lower layers

Disadvantages– Information hiding – inefficient implementations

CSCE 201 - Farkas 12

TCP/IP Networking ModelTCP/IP Networking ModelTCP/IP has a different layered model

Network Access LayerPhysical ConnectionLAN Connection

Internetwork Layer (IP)WAN ConnectivityUnreliable Datagram Service

Transport Layer (TCP)Error CorrectionReliable Connection

Application Layer

CSCE 201 - Farkas 13

Network Access LayerNetwork Access Layer Responsible for physical connection

– Shape– Size– Voltages

Responsible for rules of how to put bits on the “wire” These are the building blocks for the network The goal of the physical layer is to move information

across one “hop”

CSCE 201 - Farkas 14

Internet LayerInternet Layer Transports data from one end-user system to another

end-user systems by hopping across as many physical connections as necessary

Provides a mechanism to connect many LANs together effectively

Connectionless and unreliable datagram protocol Protocols:

– Internet Protocol– Routing Protocol– Supporting Protocol

CSCE 201 - Farkas 15

IP HeaderIP Header

Comments– HLen – header length only in 32-bit words (5 <= HLen <= 15)– TOS (Type of Service): now split in

Differentiated Service Field (6 bits) remaining two bits used by ECN (Early Congestion Notification)

– Length – the length of the entire datagram/segment; header + data– Flags: Don’t Fragment (DF) and More Fragments (MF)– Fragment offset – all fragments excepting last one contain multiples of 8 bytes– Header checksum - uses 1’s complement

Version HLen TOS Length

Identification Fragment offsetFlags

Source address

Destination address

TTL Protocol Header checksum

0 4 8 16 19 31

Options (variable)

20 bytes

CSCE 201 - Farkas 16

IP AddressesIP Addresses IP provides logical address space and a corresponding

addressing schema IP address is a globally unique or private number

associated with a host network interface Every system which will send packets directly out

across the Internet must have a unique IP address IP addresses are based on where station is connected IP addresses are controlled by a single organization -

address ranges are assigned They are running out of space!

CSCE 201 - Farkas 17

Routing ProtocolsRouting Protocols

• Enable routing decisions to be made• Manage and periodically update routing tables, stored at each router • Autonomous collection of routers:

•Under single administration•Use same routing protocol: Interior Gateway Protocol (IGP)•Use Exterior Gateway Protocol (EGP) to communicate other systems

• Router : “which way” to send the packet closer. (Keep routing table small and allow to handle unlimited number of systems.)• Protocol types:

•Reachability•Distance vector

CSCE 201 - Farkas 18

Supporting ProtocolsSupporting Protocols

Handle specific tasks– Address Resolution Protocol (ARP)– Reverse Address Resolution Protocol (RARP)– Internet Control Message Protocol (ICMP)– Internet Group Management Protocol (IGMP)

CSCE 201 - Farkas 19

The Domain Name SystemThe Domain Name System Each system connected to the Internet also has one or

more logical addresses. Unlike IP addresses, the domain address have no

routing information - they are organized based on administrative units

There are no limitations on the mapping from domain addresses to IP addresses

CSCE 201 - Farkas 20

Domain Name ResolutionDomain Name Resolution Domain Name Resolution: looking up a logical name

and finding a physical IP address There is a hierarchy of domain name servers Each client system uses one domain name server

which in turn queries up and down the hierarchy to find the address

If your server does not know the address, it goes up the hierarchy possibly to the top and works its way back down

CSCE 201 - Farkas 21

Transport Layer (TCP)Transport Layer (TCP) Present a reliable end-to-end pipe to the application Data either arrives in the proper order or the

connection is closed Keeps buffers in the sending and destination system to

keep data which has arrived out of order or to retransmit if necessary

Provides individual connections between applications

CSCE 201 - Farkas 22

TCP Connection EstablishmentTCP Connection Establishment Three-way handshake

– Goal: agree on a set of parameters: the start sequence number for each side

Client (initiator) Server

SYN, SeqNum = x

SYN and ACK, SeqNum = y and Ack = x + 1

ACK, Ack = y + 1

CSCE 201 - Farkas 23

Application LayerApplication Layer Uses the reliable TCP connections to accomplish

useful work over the network– client-server applications– standard applications

telnet (port 23) mail (port 25) finger (port 79) ftp (port 21)

Each application uses a “port” and a protocol Each port can have many connections