computer networking an introduction to computer networks and layered architectures

34
Computer Networking An Introduction to Computer Networks and Layered Architectures Dr Sandra I. Woolley

Upload: aldon

Post on 23-Feb-2016

54 views

Category:

Documents


0 download

DESCRIPTION

Computer Networking An Introduction to Computer Networks and Layered Architectures. Dr Sandra I. Woolley. Contents. Introduction to computer networks Layered architectures OSI and TCP/IP layer models Overview of TCP/IP Application protocols and TCP/IP utilities - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Computer Networking An Introduction to Computer Networks and Layered Architectures

Computer NetworkingAn Introduction to Computer

Networks and Layered Architectures

Dr Sandra I. Woolley

Page 2: Computer Networking An Introduction to Computer Networks and Layered Architectures

2

Contents

Introduction to computer networks

Layered architectures

– OSI and TCP/IP layer models

– Overview of TCP/IP

– Application protocols and TCP/IP utilities

OSI – Open Systems InterconnectionTCP/IP - Transmission Control Protocol/Internet Protocol

8P8C (RJ45) network connectorshttp://www.flickr.com/photos/kluzz/1694878799/

Page 3: Computer Networking An Introduction to Computer Networks and Layered Architectures

3

What is a Communication Network?

A communication network is a set of equipment and facilities that provides a communication service.

Examples of equipment are routers, servers, switches, multiplexers, hubs and modems.

Examples of facilities are copper wires, coaxial cables, optical fiber, ducts, conduits, etc.

A cloud is usually used to represent a computer network.

Page 4: Computer Networking An Introduction to Computer Networks and Layered Architectures

4

Network Protocols Communications between computers

requires very specific unambiguous rules.

A protocol is a set of rules that governs how two or more communicating parties are to interact. For example,– Internet Protocol (IP)– Transmission Control Protocol

(TCP)– HyperText Transfer Protocol

(HTTP)– Simple Mail Transfer Protocol

(SMTP)

http://www.flickr.com/photos/kairin/68086104/

Page 5: Computer Networking An Introduction to Computer Networks and Layered Architectures

5

Standards Bodies Internet Engineering Task Force

– Internet standards development– Request for Comments (RFCs):

www.ietf.org

International Telecommunications Union– International telecom standards

IEEE 802 Committee– Local area and metropolitan

area network standards

Industry Organizations– MPLS Forum, WiFi Alliance,

World Wide Web Consortium

Page 6: Computer Networking An Introduction to Computer Networks and Layered Architectures

66

Packet vs. Circuit Switching Architectures appear and disappear over time

– Telegraph (message switching)– Telephone (circuit switching)– Internet (packet switching)

The trend has been toward packet switching

– Newer mobile phone technologies use packet switching.– However, large packet flows are easier to manage with circuit-

like methods.

Page 7: Computer Networking An Introduction to Computer Networks and Layered Architectures

77

Computer Network Evolution 1950s: Telegraph technology adapted to

computers. 1960s: Dumb terminals access shared host

computer.– SABRE airline reservation system

1970s: Computers connect directly to each other.– ARPANET packet switching network– Ethernet local area network– TCP/IP internet protocols

1980s and 1990s: New applications and Internet growth.– Commercialization of Internet– E-mail, file transfer, web, P2P (peer-to-

peer), . . .– Internet traffic surpasses voice traffic

An American Civil War (1861-5) Telegraph Office

http://kikoshouse.blogspot.co.uk/2009/01/lincoln-as-first-technology-president.html

The Great Eastern which laid the first transatlantic telegraph cables in 1866 and

in New York Harbourhttp://en.wikipedia.org/wiki/SS_Great_Eastern

http://en.wikipedia.org/wiki/File:SS_Great_Eastern_in_New_York_Harbor_by_Stacy.jpg

Page 8: Computer Networking An Introduction to Computer Networks and Layered Architectures

8

ARPANET The Advanced Research Projects

Agency Network (ARPANET) of the U.S. Department of Defense was the world's first operational packet switching network, and the progenitor of the global Internet.

Previous data communications used circuit switching, where a dedicated circuit is required for the duration of each communication.

With packet switching links could be shared and packets routed independently.

Heart, F., McKenzie, A., McQuillian, J., and Walden, D., ARPANET Completion Report, Bolt, Beranek and Newman, Burlington, MA, January 4, 1978.

Page 9: Computer Networking An Introduction to Computer Networks and Layered Architectures

9

Ethernet Local Area Network In 1980s, affordable workstations

available.

Need for low-cost, high-speed networks– To interconnect local workstations– To access local shared resources

(printers, storage, servers)

Low cost, high-speed communications with low error rate possible using coaxial cable.

Ethernet is the standard for high-speed wired access to computer networks.

Category 5 Ethernet cableshttp://www.flickr.com/photos/zinkwazi/474203018/

Page 10: Computer Networking An Introduction to Computer Networks and Layered Architectures

10

Ethernet Medium Access Control Network interface controllers

(NICs) connect workstations to a LAN (Local Area Network.)

Each NIC has a globally unique address.

Frames are broadcast into the shared medium.

NICs listen to the medium for frames with their address.

Transmitting NICs listen for collisions with other stations, and abort and reschedule retransmissions.

Transceivers

Page 11: Computer Networking An Introduction to Computer Networks and Layered Architectures

11

Internet An internet is a network of networks. The Internet used to always have a capital I

to distinguish it from a generic network of networks. Many publications still observe the distinction.

Routers (gateways) interconnect different networks.

Host computers prepare Internet Protocol (IP) packets and transmit them over their attached network.

Routers forward IP packets across networks. IP provides a “best-effort” service.

Net 1 Net 2

Router

08:14 AM Aug. 16, 2004 PT Effective with this sentence, Wired News will no longer capitalize the "I" in internet.At the same time, Web becomes web and Net becomes net.

Page 12: Computer Networking An Introduction to Computer Networks and Layered Architectures

12

Internet Addressing and Routing IP uses a hierarchical address space: Network ID + Host ID* IP packets (datagrams) are routed according to the Network ID IP routers use routing tables to direct the transfer of packets.

GG

G

GG

G

Net 1

Net 5

Net 3

Net 4Net 2

* “ID” abbreviation for IDentifier

Page 13: Computer Networking An Introduction to Computer Networks and Layered Architectures

1313

Internet Names and IP Addresses Routing is done based on IP

addresses. IPv4 has 32-bit addresses. We will consider IPv6 later.

Addresses have a dotted-decimal notation. – E.g., 128.100.11.1

Hosts are also identified by name– Easier to remember– Names often have a hierarchical

name structure, e.g. www.birmingham.ac.uk

Domain Name System (DNS) provides conversion between names and addresses.

Domain names can be purchased, for example, from UK2.net.

Page 14: Computer Networking An Introduction to Computer Networks and Layered Architectures

1414

Internet Transport Protocols Host computers run two transport protocols on top of IP to enable

process-to-process communications.– User Datagram Protocol (UDP) enables best-effort transfer.– Transmission Control Protocol (TCP) enables reliable transfer.

All Internet applications run on TCP or UDP. For example,– TCP: HTTP (web); SMTP (e-mail); FTP (file transfer)– UDP: DNS, RTP (voice & multimedia)

Internet

Transport

Protocol

Page 15: Computer Networking An Introduction to Computer Networks and Layered Architectures

1515

Example in Textbook Study the example in the recommended text that describes what happens

when a user clicks on a URL. – Note: DNS domain name service uses UDP, HTTP uses TCP. Also

note the use of port numbers; ephemeral port numbers and well-known port numbers.

Browser software uses HyperText Transfer Protocol (HTTP) to send request for document

HTTP server waits for requests by listening to a well-known port number (80 for HTTP)

HTTP client sends request messages through an “ephemeral port number,” e.g. 1127

HTTP needs a Transmission Control Protocol (TCP) connection between the HTTP client and the HTTP server to transfer messages reliably

TCP Connection RequestFrom: 128.100.11.13 Port 1127To: 64.15.247.200 Port 80

ACK, TCP Connection RequestFrom: 64.15.247.200 Port 80 To:128.100.11.13 Port 1127

ACK

Page 16: Computer Networking An Introduction to Computer Networks and Layered Architectures

Layer Models

Page 17: Computer Networking An Introduction to Computer Networks and Layered Architectures

1717

Layers, Services and Protocols The overall communications process between two or more

machines connected across one or more networks is very complex.

Layering puts similar communication functions into groups that are manageable.

Each layer provides a service to the layer above.

Each layer operates according to a protocol.

Page 18: Computer Networking An Introduction to Computer Networks and Layered Architectures

1818

The OSI* Reference Model*Open Systems Interconnection

Network architecture:– Definition of layers – Design of protocols for each layer

By the 1970s every computer vendor had developed its own proprietary layered network architecture.

Computers from different vendors could not be networked together.

Open Systems Interconnection (OSI) was an international effort by the International Organization for Standardization (ISO) to enable multivendor computer interconnection.

Page 19: Computer Networking An Introduction to Computer Networks and Layered Architectures

1919

The OSI Reference Model

7

6

6

4

3

2

1

Applicationlayer

Presentationlayer

Sessionlayer

Transportlayer

Networklayer

Data linklayer

Physicallayer

Applicationlayer

Presentationlayer

Sessionlayer

Transportlayer

Networklayer

Data linklayer

Physicallayer

Networklayer

Application A Application B

Data Linklayer

Physicallayer

Networklayer

Data Linklayer

Physicallayer

Communication network

Page 20: Computer Networking An Introduction to Computer Networks and Layered Architectures

2020

The OSI Layers Application layer : e-mail, file transfer, network

management, etc. Presentation layer : independent representation of

data. Session layer : dialogue control. Transport layer : end-to-end transfer of data

(segments). Error control, flow control, connection set-up and release.

Network layer : transfers packets across the network. Logical addressing, packet forwarding and routing.

Data link layer : enables communication between network nodes. It has two sublayers: logical link control (LLC) and medium access control (MAC). Logical link control multiplexes protocols and provides error control and node-to-node communication of frames. Medium access control provides physical addressing and channel access control mechanisms.

Physical layer : Transfer of bits over the channel. Set up and release of physical connection.

http://en.wikipedia.org/wiki/File:Osi-model.png

Page 21: Computer Networking An Introduction to Computer Networks and Layered Architectures

21

nentity

n-PDUs

nentity

Peer-to-Peer Communication Terminology Processes at layer n (any of the 7

layers) are referred to as layer n entities.

Layer n+1 entities make use of layer n services below via a software port called the layer service access point (SAP).

Entities exchange protocol data units (PDUs).

PDUs contain a header (which contains protocol control information) and a service data unit (SDU) (information requiring communication).

Page 22: Computer Networking An Introduction to Computer Networks and Layered Architectures

22

n+1entity

n-SAP

n+1entity

n-SAP

n entity n entity

n-SDU

n-SDU

n-SDU

H

H n-SDUn-PDU

Layer Services and Encapsulation

The layer n SDU is the layer n + 1 PDU and is encapsulated in the layer n PDU.

The service provided by a layer can be connection-oriented or connectionless.

Page 23: Computer Networking An Introduction to Computer Networks and Layered Architectures

23

Headers and Trailers

sh

Applicationlayer

Presentationlayer

Sessionlayer

Transportlayer

Networklayer

Data linklayer

Physicallayer

Application A Application BData

ah

Bits

dhdt

nh

th

ph

Applicationlayer

Presentationlayer

Sessionlayer

Transportlayer

Networklayer

Data linklayer

Physicallayer

Page 24: Computer Networking An Introduction to Computer Networks and Layered Architectures

24

n-PDU

Segmentation and Reassembly A layer may impose a limit on the size

of a data block that it can transfer for implementation or other reasons.

Therefore a layer n+1 SDU may be too large to be handled as a single unit by layer n.

This can be resolved by segmentation and reassembly.– Sender side: SDU is segmented into

multiple PDUs.– Receiver side: SDU is reassembled from

sequence of PDUs.

n-SDU

n-PDU n-PDU n-PDU

Segmentation(a)

n-SDU

n-PDU n-PDU

Reassembly(b)

Page 25: Computer Networking An Introduction to Computer Networks and Layered Architectures

The Internet and TCP/IP

Page 26: Computer Networking An Introduction to Computer Networks and Layered Architectures

2626

TCP/IP Network Architecture While the OSI standards were being developed the TCP/IP

(Transmission Control Protocol/Internet Protocol) network architecture emerged as an alternative.

TCP/IP was distributed freely as part of Berkeley UNIX.

– Numerous applications were developed at various universities and a market for networking software emerged.

– This led to a global Internet and the dominance of the TCP/IP network architecture.

– IP provides a connectionless best-effort service for packets of information.

Page 27: Computer Networking An Introduction to Computer Networks and Layered Architectures

27

ApplicationLayer

TransportLayer

InternetLayer

NetworkInterface

ApplicationLayer

TransportLayer

InternetLayer

NetworkInterface

TCP/IP Network Architecture

The TCP/IP model does not require strict layering.

E.g. Applications can run directly over the internet layer.

Page 28: Computer Networking An Introduction to Computer Networks and Layered Architectures

28

How the Layers Work Together (Encapsulation Example)

TCP Header contains source & destination port

numbers

IP Header contains source and destination IP

addresses; transport protocol type

Ethernet Header contains source & destination MAC

addresses; network protocol type

HTTP Request

TCP header HTTP Request

IP header

TCP header HTTP Request

Ethernet header

IP header

TCP header HTTP Request FCS*

*FCS – Frame Check Sequence

Page 29: Computer Networking An Introduction to Computer Networks and Layered Architectures

29

TCP/IP Network Architecture The TCP/IP network architecture is a set of protocols that

allows communication across multiple diverse networks. It has four layers. The TCP/IP application layer

incorporates the functions of the top three OSI layers. Application layer programs (email, file transfer etc.) are

intended to run directly over the transport layer. Two basic types of service are offered in the transport

layer; – Transmission Control Protocol (TCP) reliable

connection-oriented transfer – User Datagram Protocol (UDP) - best-effort

connectionless transfer. The internet layer handles the transfer of information

across multiple networks (e.g., routing and congestion control). A key aspect of the internet layer is the definition of a globally unique address for machines. The internet layer provides a single service of best effort connectionless packet transfer.

The network interface layer enables IP communication across different networks.

Page 30: Computer Networking An Introduction to Computer Networks and Layered Architectures

3030

Internet Protocol Approach IP packets transfer information across Internet Host A IP → router→ router→ router→ Host B IP IP layer in each router determines next hop (router) Network interfaces transfer IP packets across networks

Application layer

Transport layer

Internet layer

Network interface layer

Internet layer

Network interface layer

Network 1 Network 2

Host A Host B

Router/gatewayApplication layer

Transport layer

Internet layerNetwork

interface layer

Page 31: Computer Networking An Introduction to Computer Networks and Layered Architectures

31

TCP/IP Protocols

(ICMP, ARP)

HTTP SMTP RTP

TCP UDP

IP

Network

interface 1

Network

interface 3Network

interface 2

DNS

Best-effort connectionless packet transfer

Page 32: Computer Networking An Introduction to Computer Networks and Layered Architectures

3232

IP Utilities PING - a simple application to determine if a host is reachable.

– Makes use of Internet Control Message Protocol (ICMP) messages. The purpose of ICMP is to inform sending hosts about errors encountered by destination hosts or routers.

Traceroute - to determine the route that a packet will take to another host.– Makes use of ICMP and UDP. The sender sends a UDP datagram with TTL

=1 (Time to live in hops = 1) and an invalid port no. to the destination host. The first router sets TTL to 0, discards the datagram and sends an ICMP Time Exceeded message to the sender. This identifies the first machine in the route. TTL is incrementally increased until the destination is reached. The destination then returns an ICMP Port Unreachable message to the sender.

Netstat - provides information about the network status.

Tcpdump - capture and observe packet exchanges in a link.

Page 33: Computer Networking An Introduction to Computer Networks and Layered Architectures

3333

Private Study Recommendations Read chapters 1 and 2 (Section 2.4 on sockets is NOT assessed).

Study the “nytimes” example in the text.

Experiment with Wireshark (previously “Ethereal”).

Experiment with utilities, for example:

– ping at command prompt -Type "command" in "Run" box and then "ping" at prompt – instructions will appear)

– traceroute – See visual traceroute or 3D traceroute applications at www.snapfiles.com (“tracert” is the command line instruction)

– Visit www.mycooltools.com for “VisualRoute and “Myspeed”

Page 34: Computer Networking An Introduction to Computer Networks and Layered Architectures

Thank You