100% found this document useful (1 vote)
79 views

Network Theory & Java Overview: By: Mr. Asyran Zarizi Bin Abdullah

This document provides an overview and introduction to network theory and Java programming. It discusses key topics like network models (OSI and TCP/IP), protocols, ports, sockets, and issues in network programming with Java. The objectives are listed as understanding network environments, TCP/IP and OSI layers, and security issues. Sample code is presented to demonstrate basic socket programming concepts in Java.

Uploaded by

STAR BOY
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
79 views

Network Theory & Java Overview: By: Mr. Asyran Zarizi Bin Abdullah

This document provides an overview and introduction to network theory and Java programming. It discusses key topics like network models (OSI and TCP/IP), protocols, ports, sockets, and issues in network programming with Java. The objectives are listed as understanding network environments, TCP/IP and OSI layers, and security issues. Sample code is presented to demonstrate basic socket programming concepts in Java.

Uploaded by

STAR BOY
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 45

CHAPTER 1 :

Network Theory & Java Overview


By :
Mr. Asyran Zarizi Bin Abdullah
Objective
The end of this course you be able to :
1) Understand about network environment
2) Knowing the TCP/IP & OSI layer
3) Understand about security issues in
network.
At the end of this course…..
I UNDERSTAND SIR !
BLURR………!!
What is a NETWORK ?
Before that we must know how
communication in previous time
• Burung merpati
• Api asap
“Networking is a concept of connecting two or
more computing devices together so that we
can share resources like printer, scanner,
memory”
How network communicate?
• Connect, share and transferring data from
1point to another point.
• LAN – MAN - WAN
• Wired and Wireless
• P2P and Client server
Network Communication
• Using 2 network model.
a) OSI Model
b) TCP/IP Model
OSI Model
OSI MODEL
TCP/IP Model
TCP/IP Model
Application layer is responsible for performing
encoding, encryption etc.

Transport layer provide service of courier. In


real life whenever we want to send a packet to
another place, we go to courier shop and give
them packet with address. Transport layer is
the courier for communication.

Internet layer determine the path how to


route the packet to target destination. In
above example once packet is given to courier
company, then on wards courier send that
packet through some transport ( car, bus or
truck). Now driver has to decide which way to
go in order to reach destination. So internet
layer perform that work.
Protocol and Port Number
• Represent as a logical/virtual door for
incoming and outgoing packet
• Basically an application or service will bind
with 1 port for its usage.
• There are 65,535 port available in any
computers
– 1 – 1023 are reserved for System Operations
– 1024 – 65,535 are available for others
Protocol and Port Number
• Port number: It is unique identification value
represents residing position of a server in the
computer. It is four digit +ve number.

• Default port number for major protocol that is


useful to know
– Port 80
– Port 21/22
– Port 433
– Port 23
– Port 25
Protocol and Port Name
• Port Name: It is a valid user defined name to
know about client system, the default port name
for any local computer is localhost.

• Default port for major protocol that is useful to


know
– Port 80 = Http
– Port 21/22 = FTP
– Port 433 = Https
– Port 23 = Telnet
– Port 25 = SMTP
Firewall
• Firewall can be either software or hardware
to filter incoming and outgoing transmission
for access.
• Firewall is a network access control device
that is designed to deny all traffic except that
which is explicitly allowed.
Passed Packet
(Egress)

Attack
Passed Packet Packet
(Ingress)

Hardened
Client PC Internet
(Untrusted)
Attacker
Internet
Dropped Packet Border
Hardene
(Ingress)
Firewall
d Server
Log File
Internal Corporate
Network (Trusted)
Proxy
• Proxy Server is a middle man between a client
computer and the network (usually internet)
which has the function to disguise
transmission from client
What is a SOCKET ?
Socket is a mechanisms of communication that use to exchange data
with program in same machine or different machine
Socket Programming
• Socket is a IPC (Inter Process Communication)
facility for network application.
• To make socket communicate with other
socket, so it need unique address as a
identifier.
• Socket Address contain IP Address and Port
Number. Example : 192.168.20.12 : 8080

IP Address Port Number


SOCKET = IP Add + Port No
Socket Operation
• Socket can do some operation below :
1) Send data
2) Receive data
3) Close connection
4) Listen on input data
5) Connection to remote machine
6) Connect from remote machine on specific port
Network Socket Program
• A network program can send and receive
information/data.
• General technology that use by network
program is
a) Chat Application
b) Multiplayer Games
c) Peer‐to‐peer Application
Socket Element
1) Protocol
2) Local IP (Private IP)
3) Local Port
4) Remote IP
5) Remote Port
IP Protocol Suite
Socket to Socket Communication
Socket Type
• 2 type of socket that usually use :
1) Socket Local = AF_UNIX
2) Socket Networking = AF_INET
• Socket Stream = SOCK_STREAM
• Socket Datagram = SOCK_DGRAM

Example :

Socket Network Socket Datagram Protocol


JAVA Overview
JAVA Overview
• JAVA is a programming language created by Sun Microsystem to
fully utilized Object Oriented Programming in software
development. Currently this language intellectual property (IP) is
owned by Oracle
• It require Java Development Kit (JDK) to be installed before
development could be started.
• As a developer, text editor could be used to form the source code or
any IDE that support JAVA can be a very good choice
– Eclipse
– Jcreator
– NetBeans
• Java support Network programming by certain network library
which simplified a lot of development compared to C++.
Overview
• In Networking application mainly two
programs are running one is Client program
and another is Server program.
• In Core java Client program can be design
using Socket class and Server program can be
design using ServerSocket class.
• Both Socket and ServerSocket classes are
predefined in java.net package
Java Packages
• Java.net = TCP/IP networking
• Java.io = I/O Streams & Utilities
• Java.rmi = Remote Invocation
• Java.security = Security Policies
• Java.lang = Threading classes

*java.net.ServerSocket = use for Server Connection


*java.net.Socekt = use for Client Connection
JAVA API
• Socket programming use Java API component to
develop socket programming application.
• Java API is a group of library that use for develop
programed.
• J2SE was ready with java.net package that contain
classes and interface that provide API
(Application Programming Interface)
– Low level (Socket, ServerSocket, DatagramSocket)
– High Level (URL, URLConnection)
Connection-Oriented &
Connectionless Socket
• A socket programming construct can make use
of either the UDP (User Datagram Protocol) or
TCP (Transmission Control Protocol).
• Sockets that use UDP for transport are known
as datagram sockets, while sockets that use
TCP are termed stream sockets.
UDP & TCP
• UDP = User Datagram Protocol ,
• TCP = Transmission Control Protocol.
TCP Sockets
• Java.net.ServerSocket class
– Use for server program
– Local port to listen for initial connection
– Can be bound to local IP for multi-homed
machines
• Java.net.Socket class
– Use for client program
– Combines socket with socket option (timeout,
linger, keep alive, no delay)
UDP Sockets
• Java.net.DatagramSocket class
– Java makes no distinction between client/server
for UDP sockets.
– Can be bound to both a local port & local IP
address
Issues in JAVA language
• Java Network Programming will exhibit this
issues. Some of them are:-
a) Unable to access with low level network device
b) Network security issues
• Firewall preventing access for your application
• Proxy may interfere with the inert function of your
application
Sample of Java Program
Sample of Java Program
•To be continue….

You might also like