13
CSI 3125, Preliminaries, page 1 Networking

CSI 3125, Preliminaries, page 1 Networking. CSI 3125, Preliminaries, page 2 Networking A network represents interconnection of computers that is capable

Embed Size (px)

DESCRIPTION

CSI 3125, Preliminaries, page 3 Networking The computers in a network make use of this IP address in order to communicate with each other. Since it is not easy to remember an IP address, they are often mapped to meaningful names called domain names or hostnames. Special servers called Domain Name Servers (DNS) are available on the Internet that translate host names into IP addresses.

Citation preview

Page 1: CSI 3125, Preliminaries, page 1 Networking. CSI 3125, Preliminaries, page 2 Networking A network represents interconnection of computers that is capable

CSI 3125, Preliminaries, page 1

Networking

Page 2: CSI 3125, Preliminaries, page 1 Networking. CSI 3125, Preliminaries, page 2 Networking A network represents interconnection of computers that is capable

CSI 3125, Preliminaries, page 2

Networking• A network represents interconnection of computers that is

capable of sharing files and information between multiple systems.

• The computer which receives service is called client and• The computer which provides service is called server. • The term network programming refers to writing programs that

execute across multiple devices (computers), in which the devices are all connected to each other using a network.

• There is a unique identification number called IP address (Internet Protocol) allotted to every computer on a network or Internet.

• An IP address consists of four dotted decimal numbers between 0 and 255, such as 130.254.204.36.

Page 3: CSI 3125, Preliminaries, page 1 Networking. CSI 3125, Preliminaries, page 2 Networking A network represents interconnection of computers that is capable

CSI 3125, Preliminaries, page 3

Networking• The computers in a network make use of this

IP address in order to communicate with each other.

• Since it is not easy to remember an IP address, they are often mapped to meaningful names called domain names or hostnames.

• Special servers called Domain Name Servers (DNS) are available on the Internet that translate host names into IP addresses.

Page 4: CSI 3125, Preliminaries, page 1 Networking. CSI 3125, Preliminaries, page 2 Networking A network represents interconnection of computers that is capable

CSI 3125, Preliminaries, page 4

Networking• When a computer specifies a site address, it

first asks the DNS to translate this domain name into a numeric IP address and then sends the request using the IP address.

• Need to specify certain set of rules to communicates with another system.

• A protocol is a set of rules defining how computers communicate: such as the format of addresses, how data is split into packets, etc.

Page 5: CSI 3125, Preliminaries, page 1 Networking. CSI 3125, Preliminaries, page 2 Networking A network represents interconnection of computers that is capable

CSI 3125, Preliminaries, page 5

Networking• There are many different protocols defining

different aspects of network communication. • For example HTTP is used to transfer HTML

documents on the Web and • FTP allows you to transfer binary files over the

Internet. • Both protocols have their own set of rules and

standards on how data is transferred.

Page 6: CSI 3125, Preliminaries, page 1 Networking. CSI 3125, Preliminaries, page 2 Networking A network represents interconnection of computers that is capable

CSI 3125, Preliminaries, page 6

Networking• Each computer with an IP address has several thousand

logical ports• Each computer on the internet can provide a variety of

services and the type of service • Each port is identified by a number from 1 to 65,535. • and each port can be allocated to a particular service. • For example, the HTTP service, generally runs on port

80: • we say that a web server listens on port 80 for incoming

connections. • SMTP or email servers run on port 25.

Page 7: CSI 3125, Preliminaries, page 1 Networking. CSI 3125, Preliminaries, page 2 Networking A network represents interconnection of computers that is capable

CSI 3125, Preliminaries, page 7

Networking• When data is sent to a web server on a

particular machine at a particular IP address, it is also sent to a particular port on that machine.

• The receiver checks each packet it sees for the port and sends the data to any programs that are listening to the specified port.

• Port numbers from 1 to 1023 are reserved for well-known services such as FTP, HTTP, and email.

Page 8: CSI 3125, Preliminaries, page 1 Networking. CSI 3125, Preliminaries, page 2 Networking A network represents interconnection of computers that is capable

CSI 3125, Preliminaries, page 8

Socket Communication • The socket is the software abstraction used to represent the

"terminals" of a connection between two machines. • Network programming usually involves a server and one or

more clients. • The client sends requests for information/services own by the

Server. • Once the connection is established between Client and

Server, they can start sending / receiving information. • Socket acts as an interface between sever and client • It create a communication channel• A programmer can use that channel to send data between the

two machines.

Page 9: CSI 3125, Preliminaries, page 1 Networking. CSI 3125, Preliminaries, page 2 Networking A network represents interconnection of computers that is capable

CSI 3125, Preliminaries, page 9

Socket Communication • Java treats socket communications as I/O

operations; thus programs can read from or write to sockets.

• The socket associates the server program with a specific port on the machine where it runs so any client program anywhere in the network with a socket associated with that same port can communicate with the server program.

• The server waits and listens to the socket for a client to make a connection request

Page 10: CSI 3125, Preliminaries, page 1 Networking. CSI 3125, Preliminaries, page 2 Networking A network represents interconnection of computers that is capable

CSI 3125, Preliminaries, page 10

Socket Communication

Page 11: CSI 3125, Preliminaries, page 1 Networking. CSI 3125, Preliminaries, page 2 Networking A network represents interconnection of computers that is capable

CSI 3125, Preliminaries, page 11

Client Server Comminication• The server accepts the connection request

from client which contains the name of the server and port number.

• Upon acceptance, the server creates a new socket bound to a different port and this new socket is dedicated for serving the client that had sent request.

• The original socket can continue to listen for further connection requests

Page 12: CSI 3125, Preliminaries, page 1 Networking. CSI 3125, Preliminaries, page 2 Networking A network represents interconnection of computers that is capable

CSI 3125, Preliminaries, page 12

Client Server Comminication

Page 13: CSI 3125, Preliminaries, page 1 Networking. CSI 3125, Preliminaries, page 2 Networking A network represents interconnection of computers that is capable

CSI 3125, Preliminaries, page 13

The Java Networking Package • The java.net package contains a collection of classes and

interfaces that provide functionalities for writing programs

• Some of the important classes available in java.net Package are:

• InetAddress • ServerSocket • Socket • DatagramPacket • DatagramSocket • URL