+ All Categories
Home > Documents > 1 College of Computer Al-Lith 2 nd semester 1434- 1435 H Textbook/References :Java Network...

1 College of Computer Al-Lith 2 nd semester 1434- 1435 H Textbook/References :Java Network...

Date post: 26-Dec-2015
Category:
Upload: thomas-caldwell
View: 216 times
Download: 1 times
Share this document with a friend
Popular Tags:
32
1 College of Computer Al-Lith 2 College of Computer Al-Lith 2 nd nd semester semester 1434- 1435 H 1434- 1435 H Textbook/References :Java Network Programming, Elliotte Rusty Harold, O'Reilly, 4 th edition 2007
Transcript
Page 1: 1 College of Computer Al-Lith 2 nd semester 1434- 1435 H Textbook/References :Java Network Programming, Elliotte Rusty Harold, O'Reilly, 4 th edition 2007.

1

College of Computer Al-Lith 2College of Computer Al-Lith 2ndnd semester semester 1434- 1435 H 1434- 1435 H

Textbook/References :Java Network Programming, Elliotte Rusty Harold, O'Reilly, 4th edition 2007

Page 2: 1 College of Computer Al-Lith 2 nd semester 1434- 1435 H Textbook/References :Java Network Programming, Elliotte Rusty Harold, O'Reilly, 4 th edition 2007.

Basic Network ConceptsBasic Network Concepts

2

• A network is a collection of computers and other devices that can send data to and Receive data from one another, more or less in real time.

• A network is often connected by wires, and the bits of data are turned into electromagnetic waves that move through the wires.

• Each machine on a network is called a node.• Most nodes are computers, • Nodes that are fully functional computers are also called

hosts• Every network node has an address, a sequence of bytes

that uniquely identifies it.

Page 3: 1 College of Computer Al-Lith 2 nd semester 1434- 1435 H Textbook/References :Java Network Programming, Elliotte Rusty Harold, O'Reilly, 4 th edition 2007.

Basic Network Concepts(cont)

3

• On some kinds of networks, nodes also have text names that help human beings identify them such as “www.elharo.com” or “Beth Harold’s Computer.”

• All modern computer networks are packet-switched networks: data traveling on the network is broken into chunks called packets and each packet is handled separately.

• Each packet contains information about who sent it and where it’s going

• The most important advantage of breaking data into individually addressed packets is that packets from many ongoing exchanges can travel on one wire, which makes it much cheaper to build a network.

Page 4: 1 College of Computer Al-Lith 2 nd semester 1434- 1435 H Textbook/References :Java Network Programming, Elliotte Rusty Harold, O'Reilly, 4 th edition 2007.

What is a protocol?

• A protocol is a precise set of rules defining how computers communicate: the format of addresses, how data is split into packets, and so on

• There are many different protocols defining different aspects of network communication. For example, the Hypertext Transfer Protocol (HTTP) defines how web browsers and servers communicate; at the other end of the spectrum.

• The IEEE 802.3 standard defines a protocol for how bits are encoded as electrical signals on a particular type of wire.

4

Page 5: 1 College of Computer Al-Lith 2 nd semester 1434- 1435 H Textbook/References :Java Network Programming, Elliotte Rusty Harold, O'Reilly, 4 th edition 2007.

What is an internet?

• A set of interconnected networks• The Internet is the most famous example• Networks can be completely different

– Ethernet, ATM, modem, …– (TCP/)IP is what links them

• Routers are devices on multiple networks that pass traffic between them

• Individual networks pass traffic from one router or endpoint to another

• TCP/IP hides the details as much as possible

5

Page 6: 1 College of Computer Al-Lith 2 nd semester 1434- 1435 H Textbook/References :Java Network Programming, Elliotte Rusty Harold, O'Reilly, 4 th edition 2007.

THE INTERNET AND TCP/IP

6

The Internet was originally a research internetwork designed to connect several different heterogeneous networks. It was sponsored by the Defense Advanced Research Projects Agency (DARPA). Today, however, the Internet is an internetwork that connects millions of computers throughout the world.

The Transmission Control Protocol/Internet Protocol (TCP/IP) is a suite or a stack of protocols that officially controls the Internet.

TCP/IP was developed before the OSI model. Therefore, the layers in the TCP/IP protocol do not exactly match those in the OSI model.

Page 7: 1 College of Computer Al-Lith 2 nd semester 1434- 1435 H Textbook/References :Java Network Programming, Elliotte Rusty Harold, O'Reilly, 4 th edition 2007.

The TCP/IP model

7

There are several different layer models, each organized to fit the needs of a particular Kind of network. This Book uses the standard TCP/IP four-layer model appropriate for the Internet,

Page 8: 1 College of Computer Al-Lith 2 nd semester 1434- 1435 H Textbook/References :Java Network Programming, Elliotte Rusty Harold, O'Reilly, 4 th edition 2007.

8

TCP/IP and OSI model

Page 9: 1 College of Computer Al-Lith 2 nd semester 1434- 1435 H Textbook/References :Java Network Programming, Elliotte Rusty Harold, O'Reilly, 4 th edition 2007.

The TCP/IP model

• TCP/IP is based on a four-layer reference model. All protocols that belong to the TCP/IP protocol suite are located in the top three layers of this model.

• As shown in the following illustration, each layer of the TCP/IP model corresponds to one or more layers of the seven-layer Open Systems Interconnection (OSI) reference model proposed by the International Standards Organization (ISO).

9

Page 10: 1 College of Computer Al-Lith 2 nd semester 1434- 1435 H Textbook/References :Java Network Programming, Elliotte Rusty Harold, O'Reilly, 4 th edition 2007.

10

The TCP/IP model

Page 11: 1 College of Computer Al-Lith 2 nd semester 1434- 1435 H Textbook/References :Java Network Programming, Elliotte Rusty Harold, O'Reilly, 4 th edition 2007.

11

The types of services performed and protocols used at each layer within the TCP/IP model are described in more detail in the following

 Layer Description Protocols

Application

Defines TCP/IP application protocols and how host programs interface with transport layer services to use the network.

HTTP, Telnet, FTP, TFTP, SNMP, DNS, SMTP, X Windows, other application protocols

Transport

Provides communication session management between host computers. Defines the level of service and status of the connection used when transporting data.

TCP, UDP, RTP

Internet

Packages data into IP datagrams, which contain source and destination address information that is used to forward the datagrams between hosts and across networks. Performs routing of IP datagrams.

IP, ICMP, ARP, RARP

Network interface

Specifies details of how data is physically sent through the network, including how bits are electrically signaled by hardware devices that interface directly with a network medium, such as coaxial cable, optical fiber, or twisted-pair copper wire.

Ethernet, Token Ring, FDDI, X.25, Frame Relay, RS-232, v.35

Page 12: 1 College of Computer Al-Lith 2 nd semester 1434- 1435 H Textbook/References :Java Network Programming, Elliotte Rusty Harold, O'Reilly, 4 th edition 2007.

12

Transport Protocols

Relates to Lab 5. An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.

Page 13: 1 College of Computer Al-Lith 2 nd semester 1434- 1435 H Textbook/References :Java Network Programming, Elliotte Rusty Harold, O'Reilly, 4 th edition 2007.

13

Orientation

• We move one layer up and look at the transport layer.

ApplicationLayer

NetworkLayer

Link Layer

IP

ARPHardwareInterface

RARP

Media

ICMP IGMP

TransportLayer

TCP UDP

UserProcess

UserProcess

UserProcess

UserProcess

Page 14: 1 College of Computer Al-Lith 2 nd semester 1434- 1435 H Textbook/References :Java Network Programming, Elliotte Rusty Harold, O'Reilly, 4 th edition 2007.

14

Orientation

• Transport layer protocols are end-to-end protocols • They are only implemented at the hosts

Application

Transport

Network

HOST

Data Link Data Link Data Link

Network

Application

Transport

Network

HOST

Data Link

Page 15: 1 College of Computer Al-Lith 2 nd semester 1434- 1435 H Textbook/References :Java Network Programming, Elliotte Rusty Harold, O'Reilly, 4 th edition 2007.

15

Transport Protocols in the Internet

UDP - User Datagram ProtocolUDP - User Datagram Protocol• datagram oriented• unreliable, connectionless• simple• unicast and multicast• useful only for few applications,

e.g., multimedia applications• used a lot for services

– network management (SNMP), routing (RIP), naming (DNS), etc.

TCP - Transmission Control Protocol

• stream oriented• reliable, connection-oriented• complex• only unicast• used for most Internet

applications:– web (http), email (smtp), file

transfer (ftp), terminal (telnet), etc.

• The Internet supports 2 transport protocols

Page 16: 1 College of Computer Al-Lith 2 nd semester 1434- 1435 H Textbook/References :Java Network Programming, Elliotte Rusty Harold, O'Reilly, 4 th edition 2007.

16

UDP - User Datagram Protocol

• UDP is supports unreliable transmissions of datagrams• UDP merely extends the host-to-to-host delivery service of IP datagram to

an application-to-application service• The only thing that UDP adds is multiplexing and demultiplexing

UDP

IP IPIP IP IP

UDP

Applications Applications

Page 17: 1 College of Computer Al-Lith 2 nd semester 1434- 1435 H Textbook/References :Java Network Programming, Elliotte Rusty Harold, O'Reilly, 4 th edition 2007.

17

UDP Format

IP header UDP header UDP data

UDP message length Checksum

DATA

20 bytes 8 bytes

0 15 16 31

Source Port Number Destination Port Number

• Port numbers identify sending and receiving applications (processes). Maximum port number is 216-1= 65,535

• Message Length is at least 8 bytes (I.e., Data field can be empty) and at most 65,535

• Checksum is for header (of UDP and some of the IP header fields)

Page 18: 1 College of Computer Al-Lith 2 nd semester 1434- 1435 H Textbook/References :Java Network Programming, Elliotte Rusty Harold, O'Reilly, 4 th edition 2007.

18

Port Numbers

• UDP (and TCP) use port numbers to identify applications• A globally unique address at the transport layer (for both UDP

and TCP) is a tuple <IP address, port number>• There are 65,535 UDP ports per host.

IP

TCP UDP

UserProcess

Demultiplex

based on

Protocol field in IP

header

UserProcess

UserProcess

UserProcess

UserProcess

UserProcess

Demultiplex

based on

port number

Page 19: 1 College of Computer Al-Lith 2 nd semester 1434- 1435 H Textbook/References :Java Network Programming, Elliotte Rusty Harold, O'Reilly, 4 th edition 2007.

19

IP Address

• IP (Internet Protocol) address: numerical address given to each computer connected to the Internet

• An IP address consists of four numbers (ranging from 0 to 255) separated by periods.

• Examples:• 128.95.1.207• 209.131.36.158• 4.2.2.1

Page 20: 1 College of Computer Al-Lith 2 nd semester 1434- 1435 H Textbook/References :Java Network Programming, Elliotte Rusty Harold, O'Reilly, 4 th edition 2007.

20

Getting an IP Address

• DHCP (Dynamic Host Configuration Protocol): protocol for assigning IP addresses to devices on a network

• protocol: standard procedure for sending and receiving data between computers– Examples:

• HTTP (Hypertext Transfer Protocol)• SFTP (Secure File Transfer Protocol)• SMTP (Simple Mail Transfer Protocol)• IMAP (Internet Message Access Protocol)

Page 21: 1 College of Computer Al-Lith 2 nd semester 1434- 1435 H Textbook/References :Java Network Programming, Elliotte Rusty Harold, O'Reilly, 4 th edition 2007.

21

Domain Name

•Every computer has a network address

•e.g. 158.132.161.99

•To access a computer, we need to specify its network address

•Human beings are weak in memorizing numbers

•We prefer computer name or domain name

•e.g. hkpu10.polyu.edu.hk

•Need a machine on the Internet to convert name to number

Page 22: 1 College of Computer Al-Lith 2 nd semester 1434- 1435 H Textbook/References :Java Network Programming, Elliotte Rusty Harold, O'Reilly, 4 th edition 2007.

22

Top-Level Domain

• top-level domain: last part of domain name– Examples:

• .com (commercial)• .org (organization)• .edu (education)• .gov (government)• .uk (United Kingdom)• .ca (Canada)

• Some top-level domains (e.g., .com and .org) are open for registration to anyone, whereas others (e.g., .gov and .edu) have rules restricting eligibility.

• List of top-level domains: – http://www.iana.org/domains/root/db/

Page 23: 1 College of Computer Al-Lith 2 nd semester 1434- 1435 H Textbook/References :Java Network Programming, Elliotte Rusty Harold, O'Reilly, 4 th edition 2007.

Internet Address Blocks

23

The identifier used in the IP layer of the TCP/IP protocol suite to identify each device connected to the Internet is called the Internet address or IP address. An IPv4 address is a 32-bit address that uniquely and universally defines the connection of a host or a router to the Internet; an IP address is the address of the interface.

Page 24: 1 College of Computer Al-Lith 2 nd semester 1434- 1435 H Textbook/References :Java Network Programming, Elliotte Rusty Harold, O'Reilly, 4 th edition 2007.

24

Network Address Translation (NAT)

• Benefits– Use of a single IP address among many devices in a

network– Use of a dynamic IP address for home user for sharing

• Private Addresses

Page 25: 1 College of Computer Al-Lith 2 nd semester 1434- 1435 H Textbook/References :Java Network Programming, Elliotte Rusty Harold, O'Reilly, 4 th edition 2007.

Firewall 1

25

• A computer firewall is a router or other communications device which filters access to a protected network.

• Firewall is also a program that screens all incoming traffic and protects the network from unwelcome intruders.

Page 26: 1 College of Computer Al-Lith 2 nd semester 1434- 1435 H Textbook/References :Java Network Programming, Elliotte Rusty Harold, O'Reilly, 4 th edition 2007.

Firewall 2

26

• Firewalls can also be used as access control measures to only allow certain people within the organization access to the Internet. Many firewalls now contain features to control, authenticate and secure users who may want to access a company internal data from the Internet or even another company.

Page 27: 1 College of Computer Al-Lith 2 nd semester 1434- 1435 H Textbook/References :Java Network Programming, Elliotte Rusty Harold, O'Reilly, 4 th edition 2007.

Proxy Server1

27

• Proxy Server is a computer program that acts as an intermediary between a web browser and a web server. To give users rapid access to popular web destinations

Page 28: 1 College of Computer Al-Lith 2 nd semester 1434- 1435 H Textbook/References :Java Network Programming, Elliotte Rusty Harold, O'Reilly, 4 th edition 2007.

Proxy Server 2

28

• Internet Service Providers use proxy servers as "holding bins" to store frequently requested pages, rather than going out and fetching them repeatedly from the Net

• Proxy server is also used to control and monitor outbound traffic

Page 29: 1 College of Computer Al-Lith 2 nd semester 1434- 1435 H Textbook/References :Java Network Programming, Elliotte Rusty Harold, O'Reilly, 4 th edition 2007.

29

Relationship between Proxy Server, Firewall

• Proxy Server is associated with firewall and also caching program

• The functions of proxy, firewall, and caching can be in separate server programs or combined in a single package.

• Proxy Server can be installed in the firewall to get a kind of proxy firewall

Page 30: 1 College of Computer Al-Lith 2 nd semester 1434- 1435 H Textbook/References :Java Network Programming, Elliotte Rusty Harold, O'Reilly, 4 th edition 2007.

The Client/Server Model

30

• Client/server model (distributed computing) divides processing tasks between the client and the server

Page 31: 1 College of Computer Al-Lith 2 nd semester 1434- 1435 H Textbook/References :Java Network Programming, Elliotte Rusty Harold, O'Reilly, 4 th edition 2007.

31

Client/Server Model (cont’d)

• Client/server advantages• Two-tier and three-tier computing• Advantages of three-tier computing

Page 32: 1 College of Computer Al-Lith 2 nd semester 1434- 1435 H Textbook/References :Java Network Programming, Elliotte Rusty Harold, O'Reilly, 4 th edition 2007.

Internet Standards

• there are many standards organizations in the world, the two that produce

• most of the standards relevant to application layer network programming and protocols

• are the Internet Engineering Task Force (IETF) and the World Wide Web Consortium

• (W3C). The IETF is a relatively informal, democratic body open to participation by any

• interested party. Its standards are based on “rough consensus and running code” andtend to follow rather than lead implementations. IETF standards include TCP/IP,

• MIME, and SMTP

32


Recommended