Java Swing, Events and MVC Optional Readings: Eckel’s Thinking in Java: Chap 14 ( .
Chap 1 Network Theory & Java Overview
-
Upload
ministry-of-higher-education -
Category
Education
-
view
439 -
download
0
Transcript of Chap 1 Network Theory & Java Overview
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.
“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
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.
Internet (Untrusted)
Attack Packet
Log File
Attacker Internet Border Firewall Hardene
d Server
Hardened Client PC
Passed Packet (Ingress)
Dropped Packet (Ingress)
Passed Packet (Egress)
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 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 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 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.
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