Abstract Stream Socket Service
|
|
- Flora Amber Hunter
- 8 years ago
- Views:
Transcription
1 COM 362 Computer Networks I Lec 2: Applicatin Layer: TCP/UDP Socket Programming 1. Principles of Networks Applications 2. TCP Socket Programming 3. UDP Socket Programming Prof. Dr. Halûk Gümüşkaya haluk.gumuskaya@gediz.edu.tr haluk@gumuskaya.com Computing Engineering Department Sunday, February 24, Operations of a Socket Abstract Stream Socket Service A socket can perform 7 basic operations: Connect to a remote machine (i.e. prepare to send or receive data) Send data Receive data Close a connection Java s Socket Class (used by both clients and servers) Asymmetric set-up, circuit abstraction Server is passive, waits for connections Client initiates the connections Bi-directional, continuous byte stream TCP is free to break up and reorder the data however it likes as long as the user sees an ordered byte stream But often doesn t Bind to a port Listen for incoming data Accept connections from remote machines on the bound port. ServerSocket Class (needed only by servers) 3 Stream jargon: A stream is a sequence of characters that flow into or out of a process. An input stream is attached to some input source for the process, eg, keyboard or socket. An output stream is attached to an output source, eg, monitor or socket. 4
2 Java Socket Class (java.net package) The Socket class represents one end of a two-way connection between your Java program and another program on the network. It implements the client and data side of the two-way link. If you are writing server software, the ServerSocket class implements the server side of the two-way link. Socket Constructors Commonly used constructors: public Socket(String host, int port) throws UnknownHostException, IOException public Socket(InetAddress host, int port) throws IOException Example: Socket fatih = new Socket( fatih.edu.tr", 80); catch (UnknownHostException e) { 5 6 Stream Sockets in Java Useful methods Socket and ServerSocket, classes Both are TCP communication objects Abstract asymmetry of client/server communication Contain the stream objects once socket is connected InPutStream, OutPutStream classes get and receive bytes from a socket InetAddress class Object for containing an using IP addresses Methods for viewing and changing IP addresses and symbolic names inetaddress socket.getlocaladdress() get the machine s local address socket.setsotimeout(int milliseconds) block only for int milliseconds before returning socket.tostring get the IP address and port number in a string 7 8
3 Reading From a Socket To read from a Socket, after you create a socket to a given address, you open an input stream on the socket. The getinputstream() method returns an input stream that can read data from the socket into a program. You usually chain this InputStream to a filter stream or reader that offers more functionality DataInputStream or InputStreamReader, for example before reading input. It's also extremely helpful to buffer the input by chaining it to a BufferedInputStream or a BufferedReader for performance reasons. Writing to a Socket To write to a Socket, after you create a socket to a given address, you open an output stream on the socket. The getoutputstream( ) method returns a raw OutputStream for writing data from your application to the other end of the socket. You usually chain this stream to a more convenient class like DataOutputStream or OutputStreamWriter before using it. For performance reasons, it's a good idea to buffer it as well Server Side Socket: ServerSocket Java provides a ServerSocket class to allow programmers to write servers. Basically, a server socket's job is to sit by the phone and wait for incoming calls. More technically, a ServerSocket runs on the server and listens for incoming TCP connections. Each ServerSocket listens on a particular port on the server machine. When a client Socket on a remote host attempts to connect to that port, the server wakes up, negotiates the connection between the client and the server, and opens a regular Socket between the two hosts. Server sockets wait for connections while client sockets initiate connections. 11 Constructors There are 4 public ServerSocket constructors: public ServerSocket(int port) throws IOException public ServerSocket(int port, int backlog) throws IOException public ServerSocket(int port, int backlog, InetAddress bindaddress) throws IOException public ServerSocket() throws IOException These constructors let you specify the port, the length of the queue used to hold incoming connection requests, and the local network interface to bind to. They pretty much all do the same thing, though some use default values for the queue length and the address to bind to. 12
4 Life Cycle of a Server 1. A new ServerSocket is created on a particular port using a ServerSocket( ) constructor. 2. The ServerSocket listens for incoming connection attempts on that port using its accept( ) method. accept( ) blocks until a client attempts to make a connection, at which point accept( ) returns a Socket object connecting the client and the server. 3. Depending on the type of server, either the Socket's getinputstream( ) method, getoutputstream( ) method, or both are called to get input and output streams that communicate with the client. 4. The server and the client interact according to an agreed-upon protocol until it is time to close the connection. 5. The server, the client, or both close the connection. 6. The server returns to step 2 and waits for the next connection. Iterative Connection-Oriented TCP Server ServerSocket server; // bağlantı istekleri için Socket connection; // sunucu veri haberleşme kanalı için DataOutputStream output; // I/O stream ler DataInputStream input; // Adım 1: Bir ServerSocket i oluştur. server = new ServerSocket( 5000 ); while ( true ) { // Adım 2: Bir bağlantı için bekle. connection = server.accept(); // Adım 3: Giriş/çıkış stream leri hazırla. input = new DataInputStream(connection.getInputStream()); output = new DataOutputStream(connection.getOutputStream()); // Adım 4: İşlem bağlantısı: sunucu-istemci iletişimi... // Adım 5: bağlantıyı kapa. connection.close(); // Adım 6: Adım 2 ye dön. catch ( IOException e ) { TCP Client Iterative and Concurrent TCP Servers Socket client; // istemci veri haberleşme kanalı için DataInputStream input; // I/O stream ler DataOutputStream output; String hostname = // Sunucu makinenin DNS adresi // Adım 1: Bağlantı yapmak için bir Socket oluştur. client = new Socket(hostname, 5000); // Adım 2: Giriş/çıkış stream leri hazırla. input = new DataInputStream( client.getinputstream() ); output = new DataOutputStream( client.getoutputstream() ); // Adım 3: İşlem bağlantısı. //... sunucu-istemci iletişimi... // Adım 4: Bağlantıyı kapa.. client.close(); catch ( IOException e ) { 15 16
5 Example 2: Port Scanner Java Ağ Programcılığı, page: 368 public class PortScanner { public static void main(string[] args) { if (args.length!= 1) { System.out.println("kullanim: java PortScanner server"); System.exit(0); InetAddress biladd = null; biladd = InetAddress.getByName(args[0]); catch (UnknownHostException e) { for (int i = 0; i < 100; i++) { System.out.print(i + " "); InetSocketAddress socketaddress = new InetSocketAddress(bilAdd, i); Socket s = new Socket(); s.connect(socketaddress, 500); System.out.println("\nPort " + i + " calismaktadir."); s.close(); // Belirtilen portta hizmet bulunmamaktatir. 17 Port Scanner >java PortScanner Port 7 calismaktadir. 8 9 Port 9 calismaktadir Port 13 calismaktadir Port 19 calismaktadir Port 21 calismaktadir Port 23 calismaktadir Port 37 calismaktadir Port 79 calismaktadir. 80 Port 80 calismaktadir Port Scanner Example 3: Getting Connection Information Java Ağ Programcılığı, page: 371 >java PortScanner Port 21 calismaktadir Port 80 calismaktadir >java PortScanner What s wrong? If you increase timeout, we will also get response from the microsoft from some ports like 80. Your results will vary, depending on which ports are occupied. As a rule, more ports will be occupied on a Unix workstation than on a PC or a Mac. 19 public class ConnInfo { public static void main(string[] args) { if (args.length!= 1) { System.out.println("kullanim: java ConnInfo hostname"); System.exit(0); InetAddress host = null; host = InetAddress.getByName(args[0]); catch (UnknownHostException e) { System.exit(0); Socket thesocket = new Socket(host, 80); System.out.println("\ngetInetAddress() " + thesocket.getinetaddress()); System.out.println("getPort() " + thesocket.getport()); System.out.println("getLocalAddress() " + thesocket.getlocaladdress()); System.out.println("getLocalPort() " + thesocket.getlocalport()); System.out.println("getRemoteSocketAddress() " + thesocket.getremotesocketaddress()); System.out.println("getLocalSocketAddress() " + thesocket.getlocalsocketaddress()); thesocket.close(); 20
6 Two Different Runs >java ConnInfo getinetaddress() getport() 80 getlocaladdress() / getlocalport() 1236 getremotesocketaddress() getlocalsocketaddress() / :1236 >java ConnInfo getinetaddress() getport() 80 getlocaladdress() / getlocalport() 1237 getremotesocketaddress() getlocalsocketaddress() / :1237 Example 4: Daytime Protocol Client One of the simplest protocols is called "daytime", and is defined in RFC 867. The client opens a socket to port 13 on the daytime server. In response, the server sends the time in a human-readable format and closes the connection. You can test the daytime server with Telnet like this: telnet 13 Conneting To :10: UTC(NIST) * Let s write Daytime Client in Java: Daytime Protocol Client Java Ağ Programcılığı, page: 373 public class DayTimeClient { public static void main(string[] args) { if (args.length!= 1) { System.out.println("kullanim: java DayTimeClient hostname"); System.exit(0); InetAddress host = null; host = InetAddress.getByName(args[0]); catch (UnknownHostException e) { System.exit(0); Socket thesocket = new Socket(host, 13); InputStream is = thesocket.getinputstream(); InputStreamReader isr = new InputStreamReader(is); BufferedReader br = new BufferedReader(isr); String data = br.readline(); while (data!= null) { System.out.println(data); data = br.readline(); thesocket.close(); >java DayTimeClient :10: UTC(NIST) * >java DayTimeClient Tue Sep 24 10:09: Sockets and Ports in DaytimeClient 24
7 Iterative Connection-Oriented Server: DayTimeServer Example 5: Java Ağ Programcılığı, page: 385 import java.util.date; public class DayTimeServer { public static void main(string[] args) { ServerSocket srvrsocket = null; Socket connsocket; OutputStream os; srvrsocket = new ServerSocket(13); System.out.println("Daytime Server is listening on port 13"); Syste.exit(0); while (true) { connsocket = srvrsocket.accept(); System.out.println("New User from " + connsocket.getinetaddress()); os = connsocket.getoutputstream(); Date now = new Date(); String currentdate = now.tostring() + "\r\n"; os.write(currentdate.getbytes()); os.close(); connsocket.close(); // end of while // end of main 25 DayTimeServer and 2 Different Clients >java DayTimeServer Daytime Server is listening on port 13 New User from / New User from / TELNET CLIENT: tuna:/home1/csstu/oboyac$telnet Trying Connected to Escape character is '^]'. Wed Sep 26 00:30:54 EEST 2001 Connection closed by foreign host. tuna:/home1/csstu/oboyac$ Web Browser Client 26 Example 6: A Simple Client/Server Application Java Ağ Programcılığı, page: 388 Server public class Server extends JFrame { private JTextArea display; private JScrollPane sp; public Server() { super("server"); display = new JTextArea(); sp = new JScrollPane(display); getcontentpane().add(sp, BorderLayout.CENTER); setsize(350, 250); setvisible(true); public static void main(string[] args) { Server s = new Server(); s.setdefaultcloseoperation(exit_on_close); s.runserver(); public void runserver() { ServerSocket server; Socket connection; DataOutputStream output; DataInputStream input; String line; int counter = 1;
8 Server (cont.) Server (cont.) // Adim 1: Bir ServerSocket olustur. server = new ServerSocket(6000, 100); while (true) { // Adim 2: Bir baglanti bekle... display.append("server is waiting for a client connection...\n"); connection = server.accept(); display.append("connection " + counter + " received from: " + connection.getinetaddress().gethostname()); // Adim 3: Giris ve cikis streamleri olustur input = new DataInputStream(connection.getInputStream()); output = new DataOutputStream(connection.getOutputStream()); // Adim 4: Istemci sunucu islemleri line = input.readutf(); if (line.compareto("selam") == 0) { output.writeutf("ok"); display.append("\nsending message \"Connection successful\"\n"); output.writeutf("connection successful"); display.append("client message: " + input.readutf()); else { output.writeutf("sorry, your password is wrong..."); System.out.println(e);.. // Adim 5: Baglantiyi kapat. display.append("\ntransmission complete. " + "Closing socket.\n\n"); connection.close(); ++counter; // Adim 6: 2. Adima geri don. e.printstacktrace(); Client Client (cont.) public class Client extends JFrame { private JTextArea display; private JScrollPane sp; public Client() { super("client"); display = new JTextArea(); sp = new JScrollPane(display); getcontentpane().add(sp, BorderLayout.CENTER); setsize(350, 250); setvisible(true); public void runclient() { Socket client; DataInputStream input; DataOutputStream output; String line; // Adim 1: Server'a bir Socket ile baglanmaya calis client = new Socket(InetAddress.getLocalHost(), 6000); display.append("connected to: " + client.getinetaddress().gethostname()); // Adim 2: Baglanti yapildi, I/O stream'leri olustur. input = new DataInputStream(client.getInputStream()); output = new DataOutputStream(client.getOutputStream()); // Adim 3: Server ile etkilesim... //output.writeutf("merhaba"); output.writeutf("selam"); line = input.readutf();. 31 if (line.compareto("ok") == 0) { display.append("\nserver message: " + input.readutf()); display.append("\nsending message \"Tesekkur ederim.\"\n"); output.writeutf("tesekkur ederim."); else { display.append("\nserver message: " + line); System.out.println(e); display.append("\nerror\n"+e); // Adim 4: Baglantiyi kapat. display.append("\ntransmission complete. " + "Closing connection.\n"); client.close(); e.printstacktrace(); display.append("\nerror\n"+e); public static void main(string[] args) { Client c = new Client(); c.setdefaultcloseoperation(exit_on_close); c.runclient(); 32
9 More Examples: A Concurrent Client/Server Application Java Ağ Programcılığı, page: 399 A Chat Program: A Client/Server Application Java Ağ Programcılığı, page: A Chat Program: A Client/Server Application Java Ağ Programcılığı, page: Principles of Application Layer Protocols 2. TCP Socket Programming 3. UDP Socket Programming 35 36
10 Abstract Datagram Socket Service No circuit abstraction, just send when ready Server is passive, waits for datagrams Client initiates the send Discrete packets (up to 64Kb long for UDP) UDP/IP maintains packet integrity All data in packet arrives or doesn t (e.g. no half-packet) Even if lower layers fragment No data corruption (e.g. bit errors) Best effort Does not retransmit lost packets 1 lost fragment -> whole packet is lost 37 Constructors: DatagramPacket(byte[] buf, int length) DatagramPacket Class DatagramPacket(byte[] buf, int offset, int length) DatagramPacket(byte[] buf, int length, InetAddress address, int port) DatagramPacket(byte[] buf, int offset, int length, InetAddress address, int port) DatagramPacket(byte[] buf, int offset, int length, SocketAddress address) DatagramPacket(byte[] buf, int length, SocketAddress address) The first two constructors are used when a DatagramPackect will be received from the network. The others are used when a DatagramPacket will be sent. 38 DatagramPacket Preparation To create a DatagramPacket object to receive a data packet from net: byte buffer = new byte[512]; DatagramPacket dp = new DatagramPacket(buffer, buffer.length); DatagramSocket Class To send or receive a DatagramPacket, you need to open a datagram socket. In Java, a datagram socket is created and accessed through the DatagramSocket class: public class DatagramSocket extends Object To send a DatagramPacket to the network: InetAddress addr = new InetAddess(" int port = 3000; String s = "UDP veri paketim: Selam sunucu" byte[] b = s.getbytes(); DatagramPacket dp = new DatagramPacket(b, b.length, addr, port); catch (UnknownHostException e) { Constructors: public DatagramSocket() throws SocketException public DatagramSocket(int port) throws SocketException public DatagramSocket(int port, InetAddress laddr) throws SocketException public DatagramSocket(SocketAddress bindaddr) throws SocketException 39 40
11 Sending a Datagram InetAddress addr = new InetAddess("wwww.server.com"); int port = 3000; String s = "UDP veri paketim: Selam sunucu" byte[] b = s.getbytes(); DatagramPacket dp = new DatagramPacket(b, b.length, addr, port); catch (UnknownHostException e) { DatagramSocket sender = new DatagramSocket(); sender.send(dp); Receiving a Datagram byte buffer = new byte[65536]; DatagramPacket incoming = new DatagramPacket(buffer, buffer.length); DatagramSocket ds = new DatagramSocket(2000); ds.receive(dp); // wait for a UDP datagram byte[] data = dp.getdata(); String s = new String(data, 0, data.getlength()); System.out.println("Port " + dp.getport() + " on " + dp.getaddress() + " sent this message:"); System.out.println(s); Example 8: UDPCalc Client/Server Application Java Ağ Programcılığı, page: 445 UDPCalcClient (1) class UDPCalcClient { public static void main(string args[]) throws Exception { String host = "localhost"; if (args.length > 0) { host = args[0]; System.out.print("Lutfen iki adet sayi giriniz:"); BufferedReader readnumbers = new BufferedReader(new InputStreamReader(System.in)); String sentence = readnumbers.readline(); byte[] senddata = sentence.getbytes(); InetAddress IPAddress = InetAddress.getByName(host); DatagramPacket sendpacket = new DatagramPacket(sendData, senddata.length, IPAddress, 2468); DatagramSocket calcclientsocket = new DatagramSocket(); calcclientsocket.setsotimeout(5000); int counter = 1; byte[] receivedata = new byte[65508]; DatagramPacket resultpacket = new DatagramPacket(receiveData, receivedata.length); 43 44
12 UDPCalcClient (2) UDPCalcServer while (counter < 4) { calcclientsocket.send(sendpacket); System.out.print("Paket " + counter + ".kez Gonderildi. ); System.out.println( Cevap Bekleniyor..."); calcclientsocket.receive(resultpacket); String result = new String(resultPacket.getData(), 0, resultpacket.getlength()); System.out.print("Paket alindi. Cevap: " + result); break; catch (Exception e) { counter++; continue; // while son if (counter == 4) System.out.println("Cevap alinamadi."); //main() son // sınıf son 45 import java.util.stringtokenizer; class UDPCalcServer { public static void main(string args[]) throws Exception { DatagramSocket calcserversocket = new DatagramSocket(2468); byte[] receivedata = new byte[65508]; byte[] senddata = new byte[1024]; while (true) { DatagramPacket receivepacket = new DatagramPacket(receiveData, receivedata.length); calcserversocket.receive(receivepacket); System.out.print("Packet received from " + receivepacket.getaddress()); System.out.print(" port " + receivepacket.getport()); String sentence = new String(receivePacket.getData(), 0, receivepacket.getlength()); System.out.println(" Message:" + sentence); String newsentence; StringTokenizer st = new StringTokenizer(sentence, " x*"); int d1 = Integer.parseInt(st.nextToken()); int d2 = Integer.parseInt(st.nextToken()); newsentence = d1 + "*" + d2 + "=" + (d1 * d2) + "\n"; catch (Exception e) { newsentence = "Lutfen bosluk ile ayrilmis iki sayi gonderiniz.\n"; senddata = newsentence.getbytes(); InetAddress IPAddress = receivepacket.getaddress(); int port = receivepacket.getport(); DatagramPacket sendpacket = new DatagramPacket(sendData, senddata.length,ipaddress, port); calcserversocket.send(sendpacket); 46 Program Run Example 9: DatagramBomber Application Java Ağ Programcılığı, page: 451 >java UDPCalcClient (wrong server IP number) Lutfen iki adet sayi giriniz:24x10 Paket 1.kez Gonderildi.Cevap Bekleniyor... Paket 2.kez Gonderildi.Cevap Bekleniyor... Paket 3.kez Gonderildi.Cevap Bekleniyor... Cevap alinamadi. >java UDPCalcClient Lutfen iki adet sayi giriniz:24x10 Paket 1.kez Gonderildi.Cevap Bekleniyor... Paket alindi. Cevap: 24*10=240 > 47 48
13 DatagramBomberServer class DatagramBomberServer { public static void main(string args[]) throws Exception { DatagramSocket serversocket = new DatagramSocket(13579); byte[] receivedata = new byte[1024]; while (true) { DatagramPacket receivepacket = new DatagramPacket(receiveData, receivedata.length); serversocket.receive(receivepacket); System.out.print("Packet received from " + receivepacket.getaddress()); System.out.print(" port " + receivepacket.getport()); String sentence = new String(receivePacket.getData(), 0, receivepacket.getlength()); System.out.println( + sentence); String newsentence; InetAddress IPAddress = receivepacket.getaddress(); int port = receivepacket.getport(); for (int x = 0; x < ; x++) { newsentence = "" + x; byte[] senddata = newsentence.getbytes(); DatagramPacket sendpacket = new DatagramPacket(sendData, senddata.length, IPAddress, port); serversocket.send(sendpacket); //for() son // while() son //main() son //sınıf son DatagramBomberClient (1) class DatagramBomberClient { public static void main(string args[]) throws Exception { DatagramSocket clientsocket = new DatagramSocket(); String host = "localhost"; if (args.length > 0) { host = args[0]; InetAddress IPAddress = InetAddress.getByName(host); System.out.print("Lutfen isteginizi yaziniz:"); BufferedReader infromuser = new BufferedReader( new InputStreamReader(System.in)); String sentence = infromuser.readline(); byte[] senddata = sentence.getbytes(); DatagramPacket sendpacket = new DatagramPacket(sendData, senddata.length, IPAddress, 13579); clientsocket.send(sendpacket); System.out.println("Packet Sent."); int counter = 0; byte[] receivedata = new byte[65508]; DatagramBomberClient (2).. while (true) { DatagramPacket receivepacket = new DatagramPacket(receiveData, receivedata.length); clientsocket.receive(receivepacket); String recstr = new String(receivePacket.getData(), 0, receivepacket.getlength()); if (!recstr.equalsignorecase(new String("" + counter))) { System.out.print("Sirasi bozulmus paket. Gelen:" + recstr); System.out.println(" Beklenen:" + counter); else { System.out.print(recStr + " "); counter++; // while() son // main() son // sınıf son Output (1) > java DatagramBomberClient Lutfen isteginizi yaziniz:test Packet Sent. Sirasi bozulmus paket. Gelen:1 Beklenen:0 Sirasi bozulmus paket. Gelen:0 Beklenen:1 Sirasi bozulmus paket. Gelen:6 Beklenen:2 Sirasi bozulmus paket. Gelen:7 Beklenen:3 Sirasi bozulmus paket. Gelen:2 Beklenen:4 Sirasi bozulmus paket. Gelen:3 Beklenen:5 Sirasi bozulmus paket. Gelen:8 Beklenen:6 Sirasi bozulmus paket. Gelen:9 Beklenen:7 Sirasi bozulmus paket. Gelen:4 Beklenen:8 Sirasi bozulmus paket. Gelen:10 Beklenen:9 Sirasi bozulmus paket. Gelen:11 Beklenen:10 Sirasi bozulmus paket. Gelen:5 Beklenen: Sirasi bozulmus paket. Gelen:579 Beklenen:213 Sirasi bozulmus paket. Gelen:1008 Beklenen:214 Sirasi bozulmus paket. Gelen:1257 Beklenen:215 Sirasi bozulmus paket. Gelen:1513 Beklenen:216 Sirasi bozulmus paket. Gelen:1743 Beklenen: Sirasi bozulmus paket. Gelen: Beklenen:753 Sirasi bozulmus paket. Gelen: Beklenen:754 Sirasi bozulmus paket. Gelen: Beklenen:755 Sirasi bozulmus paket. Gelen: Beklenen:756 Sirasi bozulmus paket. Gelen: Beklenen:757 Sirasi bozulmus paket. Gelen: Beklenen:
14 UDP and TCP Comparison We begin by listing the main functions of the TCP protocol: Packet ordering: TCP delivers IP packets in the order transmitted, through sequencing. Reliable transmission: Lost packets are detected and recovered through retransmission. Streaming abstraction: The abstraction of a continuous bidirectional communications byte-stream between two entries (data packets are delivered reliably and in the order transmitted) Flow control: The receiver can slow down the server if data is received at a rate that exceeds the receiver s processing capacity. Congestion control: TCP implements a distributed congestion control algorithm that slows down individual stream transmission if packet loss (network traffic) is detected. The algorithm is tuned to provide fair sharing of network resources among TCP streams. 53 UDP vs. TCP In summary, the TCP provides a useful service to applications that need to exchange relatively large amounts of data in a reliable manner and without real-time delivery constraints. The UDP protocol does not have all these features. The UDP protocol provides a less reliable, packet based service without support for flow or congestion control. It is therefore suitable for applications fitting different criteria. 54 Java UDP Support UDP Based Communication The DatagramPacket, DatagramSocket and MulticastSocket classes in the java.net package implement system-independent datagram communication using UDP. An application can send and receive DatagramPackets through a DatagramSocket. In addition, DatagramPackets can be broadcast to multiple recipients all listening to a MulticastSocket. (Chapter 12 in our book). server/ client DatagramPacket DatagramSocket socket at a well-known port used for all communication server application process operating system RTP and JMF RTP (Real Time Protocol) is an unreliable end-to-end application layer protocol based on UDP datagram protocol providing sequencing, time stamping, and data-source information. The Java Media Framework (JMF) extension provides support for the RTP and other multimedia protocols. 55 The process (thread) structure of a UDP server or UDP client iterative, connectionless There is no notion of a server socket. The same socket, DatagramSocket, is used to send data and to listen for incoming connections. 56
15 Individual Datagram Packets vs TCP Stream Based Network Connection Although TCP ultimately packetizes the data you send, TCP sockets allow you to treat a network connection as a stream; you send and receive with input and output streams that you get from the socket. UDP doesn't allow this; you always work with individual datagram packets. All the data you stuff into a single datagram is sent as a single packet, and is lost as a group. Connectionless Communication No Connection between two hosts and Data from Many Hosts UDP doesn't have any concept of a connection between two hosts; it only knows about individual datagrams. Figuring out who sent what data is the application's responsibility. A single DatagramSocket can receive data from many independent hosts. The socket isn't dedicated to a single connection, as it is in TCP References 1. Computer Networking: A Top-Down Approach Featuring the Internet, 6th Edition, J. F. Kurose, K. W. Ross, Addison Wesley, Java Ağ Programcılığı, (Chapters: 10-11), H. Gümüşkaya, Ö. Boyacı, ALFA, Java Network Programming (2nd Edition), E. R. Harold, 731 pages, O Reilly, Beginning Java Networking, Chad Darby,, 900 pages, Wrox Pres, All About Sockets (Sun tutorial), /jw-12-sockets.html 6. Socket Programming in Java: a tutorial, 7. C-language tutorial (audio/slides): Unix Network Programming (J. Kurose) 59
Network Programming using sockets
Network Programming using sockets TCP/IP layers Layers Message Application Transport Internet Network interface Messages (UDP) or Streams (TCP) UDP or TCP packets IP datagrams Network-specific frames Underlying
More informationData Communication & Networks G22.2262-001
Data Communication & Networks G22.2262-001 Session 10 - Main Theme Java Sockets Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of Mathematical Sciences 1 Agenda
More informationDNS: Domain Names. DNS: Domain Name System. DNS: Root name servers. DNS name servers
DNS: Domain Name System DNS: Domain Names People: many identifiers: SSN, name, Passport # Internet hosts, routers: Always: IP address (32 bit) - used for addressing datagrams Often: name, e.g., nifc14.wsu.edu
More informationNETWORK PROGRAMMING IN JAVA USING SOCKETS
NETWORK PROGRAMMING IN JAVA USING SOCKETS Prerna Malik, Poonam Rawat Student, Dronacharya College of Engineering, Gurgaon, India Abstract- Network programming refers to writing programs that could be processed
More informationSocket Programming in Java
Socket Programming in Java Learning Objectives The InetAddress Class Using sockets TCP sockets Datagram Sockets Classes in java.net The core package java.net contains a number of classes that allow programmers
More informationSocket programming. Socket Programming. Languages and Platforms. Sockets. Rohan Murty Hitesh Ballani. Last Modified: 2/8/2004 8:30:45 AM
Socket Programming Rohan Murty Hitesh Ballani Last Modified: 2/8/2004 8:30:45 AM Slides adapted from Prof. Matthews slides from 2003SP Socket programming Goal: learn how to build client/server application
More informationSocket Programming. Announcement. Lectures moved to
Announcement Lectures moved to 150 GSPP, public policy building, right opposite Cory Hall on Hearst. Effective Jan 31 i.e. next Tuesday Socket Programming Nikhil Shetty GSI, EECS122 Spring 2006 1 Outline
More informationTransport layer protocols. Message destination: Socket +Port. Asynchronous vs. Synchronous. Operations of Request-Reply. Sockets
Transport layer protocols Interprocess communication Synchronous and asynchronous comm. Message destination Reliability Ordering Client Server Lecture 15: Operating Systems and Networks Behzad Bordbar
More informationLearning Outcomes. Networking. Sockets. TCP/IP Networks. Hostnames and DNS TCP/IP
CP4044 Lecture 7 1 Networking Learning Outcomes To understand basic network terminology To be able to communicate using Telnet To be aware of some common network services To be able to implement client
More informationJava Network. Slides prepared by : Farzana Rahman
Java Network Programming 1 Important Java Packages java.net java.io java.rmi java.security java.lang TCP/IP networking I/O streams & utilities Remote Method Invocation Security policies Threading classes
More informationNetwork Communication
Network Communication Outline Sockets Datagrams TCP/IP Client-Server model OSI Model Sockets Endpoint for bidirectional communication between two machines. To connect with each other, each of the client
More informationGoal: learn how to build client/server application that communicate using sockets. An interface between application and network
Socket programming Goal: learn how to build client/server application that communicate using sockets Socket API introduced in BSD4.1 UNIX, 1981 explicitly created, used, released by apps client/server
More informationLesson: All About Sockets
All About Sockets http://java.sun.com/docs/books/tutorial/networking/sockets/index.html Page 1 sur 1 The Java TM Tutorial Start of Tutorial > Start of Trail Trail: Custom Networking Lesson: All About Sockets
More informationJava Programming: Sockets in Java
Java Programming: Sockets in Java Manuel Oriol May 10, 2007 1 Introduction Network programming is probably one of the features that is most used in the current world. As soon as people want to send or
More informationThe difference between TCP/IP, UDP/IP and Multicast sockets. How servers and clients communicate over sockets
Network Programming Topics in this section include: What a socket is What you can do with a socket The difference between TCP/IP, UDP/IP and Multicast sockets How servers and clients communicate over sockets
More informationString sentence = new String(receivePacket.getData()); InetAddress IPAddress = receivepacket.getaddress(); int port = receivepacket.
164 CHAPTER 2 APPLICATION LAYER connection requests, as done in TCPServer.java. If multiple clients access this application, they will all send their packets into this single door, serversocket. String
More informationCISC 4700 L01 Network & Client- Server Programming Spring 2016. Harold, Chapter 8: Sockets for Clients
CISC 4700 L01 Network & Client- Server Programming Spring 2016 Harold, Chapter 8: Sockets for Clients Datagram: Internet data packet Header: accounting info (e.g., address, port of source and dest) Payload:
More informationNetwork/Socket Programming in Java. Rajkumar Buyya
Network/Socket Programming in Java Rajkumar Buyya Elements of C-S Computing a client, a server, and network Client Request Result Network Server Client machine Server machine java.net Used to manage: URL
More informationSSC - Communication and Networking Java Socket Programming (II)
SSC - Communication and Networking Java Socket Programming (II) Shan He School for Computational Science University of Birmingham Module 06-19321: SSC Outline Outline of Topics Multicast in Java User Datagram
More informationDivision of Informatics, University of Edinburgh
CS1Bh Lecture Note 20 Client/server computing A modern computing environment consists of not just one computer, but several. When designing such an arrangement of computers it might at first seem that
More informationSocket UDP. H. Fauconnier 1-1. M2-Internet Java
Socket UDP H. Fauconnier 1-1 M2-Internet Java UDP H. Fauconnier M2-Internet Java 2 Socket programming with UDP UDP: no connection between client and server no handshaking sender explicitly attaches IP
More informationLimi Kalita / (IJCSIT) International Journal of Computer Science and Information Technologies, Vol. 5 (3), 2014, 4802-4807. Socket Programming
Socket Programming Limi Kalita M.Tech Student, Department of Computer Science and Engineering, Assam Down Town University, Guwahati, India. Abstract: The aim of the paper is to introduce sockets, its deployment
More informationQuestion1-part2 What undesirable consequences might there be in having too long a DNS cache entry lifetime?
CSCI 312 - DATA COMMUNICATIONS AND NETWORKS FALL, 2014 Assignment 4 Working as a group. Working in small gruops of 2-4 students. When you work as a group, you have to return only one home assignment per
More informationChapter 2: Application layer
Chapter 2: Application layer 2.1 Principles of network applications 2.2 Web and HTTP 2.3 FTP 2.4 Electronic Mail SMTP, POP3, IMAP 2.5 DNS 2.6 P2P applications 2: Application Layer 1 Some network apps e-mail
More informationIntroduction to Java. Module 12: Networking (Java Sockets) Prepared by Costantinos Costa for EPL 233. ΕΠΛ233 Αντικειμενοστρεφής Προγραμματισμός 1
Introduction to Java Module 12: Networking (Java Sockets) Prepared by Costantinos Costa for EPL 233 ΕΠΛ233 Αντικειμενοστρεφής Προγραμματισμός 1 What Is a Socket? A socket is one end-point of a two-way
More informationBuilding a Multi-Threaded Web Server
Building a Multi-Threaded Web Server In this lab we will develop a Web server in two steps. In the end, you will have built a multi-threaded Web server that is capable of processing multiple simultaneous
More informationCreating a Simple, Multithreaded Chat System with Java
Creating a Simple, Multithreaded Chat System with Java Introduction by George Crawford III In this edition of Objective Viewpoint, you will learn how to develop a simple chat system. The program will demonstrate
More informationSocket Programming. A er learning the contents of this chapter, the reader will be able to:
Java Socket Programming This chapter presents key concepts of intercommunication between programs running on different computers in the network. It introduces elements of network programming and concepts
More informationAssignment 4 Solutions
CSCI 312 - DATA COMMUNICATIONS AND NETWORKS FALL, 2014 Assignment 4 Solutions Working as a pair Working in pairs. When you work as a pair you have to return only one home assignment per pair on a round.
More informationSocket-based Network Communication in J2SE and J2ME
Socket-based Network Communication in J2SE and J2ME 1 C/C++ BSD Sockets in POSIX POSIX functions allow to access network connection in the same way as regular files: There are special functions for opening
More informationApplication Development with TCP/IP. Brian S. Mitchell Drexel University
Application Development with TCP/IP Brian S. Mitchell Drexel University Agenda TCP/IP Application Development Environment Client/Server Computing with TCP/IP Sockets Port Numbers The TCP/IP Application
More informationNetwork-based Applications. Pavani Diwanji David Brown JavaSoft
Network-based Applications Pavani Diwanji David Brown JavaSoft Networking in Java Introduction Datagrams, Multicast TCP: Socket, ServerSocket Issues, Gotchas URL, URLConnection Protocol Handlers Q & A
More informationAgenda. Network Programming and Java Sockets. Introduction. Internet Applications Serving Local and Remote Users
Programming and Rajkumar Buyya Grid Computing and Distributed Systems (GRIDS) Laboratory Dept. of Computer Science and Software Engineering University of Melbourne, Australia http://www.cs.mu.oz.au/~raj
More informationCommunicating with a Barco projector over network. Technical note
Communicating with a Barco projector over network Technical note MED20080612/00 12/06/2008 Barco nv Media & Entertainment Division Noordlaan 5, B-8520 Kuurne Phone: +32 56.36.89.70 Fax: +32 56.36.883.86
More informationMail User Agent Project
Mail User Agent Project Tom Kelliher, CS 325 100 points, due May 4, 2011 Introduction (From Kurose & Ross, 4th ed.) In this project you will implement a mail user agent (MUA) that sends mail to other users.
More informationAbhijit A. Sawant, Dr. B. B. Meshram Department of Computer Technology, Veermata Jijabai Technological Institute
Network programming in Java using Socket Abhijit A. Sawant, Dr. B. B. Meshram Department of Computer Technology, Veermata Jijabai Technological Institute Abstract This paper describes about Network programming
More informationNETWORKING FEATURES OF THE JAVA PROGRAMMING LANGUAGE
50-20-44 DATA COMMUNICATIONS MANAGEMENT NETWORKING FEATURES OF THE JAVA PROGRAMMING LANGUAGE John P. Slone INSIDE Java s Target Environment, Networking Basics, Java Networking Primitives, Connection-Oriented
More informationJava Network Programming. The java.net package contains the Socket class. This class speaks TCP (connection-oriented protocol).
Java Network Programming The java.net package contains the Socket class. This class speaks TCP (connection-oriented protocol). The DatagramSocket class uses UDP (connectionless protocol). The java.net.socket
More informationCHAPTER 6. Transmission Control Protocol. 6.1 Overview
Reilly06.qxd 3/1/02 1:33 PM Page 141 CHAPTER 6 Transmission Control Protocol The Transmission Control Protocol (TCP) is a stream-based method of network communication that is far different from any discussed
More informationTP1 : Correction. Rappels : Stream, Thread et Socket TCP
Université Paris 7 M1 II Protocoles réseaux TP1 : Correction Rappels : Stream, Thread et Socket TCP Tous les programmes seront écrits en Java. 1. (a) Ecrire une application qui lit des chaines au clavier
More informationChapter 3. Internet Applications and Network Programming
Chapter 3 Internet Applications and Network Programming 1 Introduction The Internet offers users a rich diversity of services none of the services is part of the underlying communication infrastructure
More informationIP Network Layer. Datagram ID FLAG Fragment Offset. IP Datagrams. IP Addresses. IP Addresses. CSCE 515: Computer Network Programming TCP/IP
CSCE 515: Computer Network Programming TCP/IP IP Network Layer Wenyuan Xu Department of Computer Science and Engineering University of South Carolina IP Datagrams IP is the network layer packet delivery
More informationINPUT AND OUTPUT STREAMS
INPUT AND OUTPUT The Java Platform supports different kinds of information sources and information sinks. A program may get data from an information source which may be a file on disk, a network connection,
More informationComputer Networks Practicum 2015
Computer Networks Practicum 2015 Vrije Universiteit Amsterdam, The Netherlands http://acropolis.cs.vu.nl/ spyros/cnp/ 1 Overview This practicum consists of two parts. The first is to build a TCP implementation
More informationAdvanced Network Programming Lab using Java. Angelos Stavrou
Advanced Network Programming Lab using Java Angelos Stavrou Table of Contents A simple Java Client...3 A simple Java Server...4 An advanced Java Client...5 An advanced Java Server...8 A Multi-threaded
More informationIntranet, Extranet, Firewall
Indian Institute of Technology Kharagpur Intranet, Extranet, Firewall Prof. Indranil Sen Gupta Dept. of Computer Science & Engg. I.I.T. Kharagpur, INDIA Lecture 31: Intranet, Extranet, Firewall On completion,
More informationNetwork Programming with Sockets. Process Management in UNIX
Network Programming with Sockets This section is a brief introduction to the basics of networking programming using the BSD Socket interface on the Unix Operating System. Processes in Unix Sockets Stream
More informationJAVA Program For Processing SMS Messages
JAVA Program For Processing SMS Messages Krishna Akkulu The paper describes the Java program implemented for the MultiModem GPRS wireless modem. The MultiModem offers standards-based quad-band GSM/GPRS
More informationIntroduction to Socket Programming Part I : TCP Clients, Servers; Host information
Introduction to Socket Programming Part I : TCP Clients, Servers; Host information Keywords: sockets, client-server, network programming-socket functions, OSI layering, byte-ordering Outline: 1.) Introduction
More informationTITLE NETWORK PROGRAMMING (SECURED CLIENT-SERVER CHAT APPLICATION) A PROJECT REPORT PRESENTED ACHILE UGBEDE JOHN CE/2007/165
TITLE NETWORK PROGRAMMING (SECURED CLIENT-SERVER CHAT APPLICATION) A PROJECT REPORT PRESENTED BY ACHILE UGBEDE JOHN CE/2007/165 TO THE DEPARTMENT OF COMPUTER ENGINEERING IN FACULTY OF ENGINEERING CARITAS
More informationNetwork Programming TDC 561
Network Programming TDC 561 Lecture # 1 Dr. Ehab S. Al-Shaer School of Computer Science & Telecommunication DePaul University Chicago, IL 1 Network Programming Goals of this Course: Studying, evaluating
More informationChapter 2 Application Layer
Chapter 2 Application Layer A note on the use of these ppt slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you can add, modify, and
More informationData Communications & Networks. Session 2 Main Theme Application Layer. Dr. Jean-Claude Franchitti
Data Communications & Networks Session 2 Main Theme Application Layer Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of Mathematical Sciences Adapted from
More informationSession NM059. TCP/IP Programming on VMS. Geoff Bryant Process Software
Session NM059 TCP/IP Programming on VMS Geoff Bryant Process Software Course Roadmap Slide 160 NM055 (11:00-12:00) Important Terms and Concepts TCP/IP and Client/Server Model Sockets and TLI Client/Server
More informationSocket Programming in C/C++
September 24, 2004 Contact Info Mani Radhakrishnan Office 4224 SEL email mradhakr @ cs. uic. edu Office Hours Tuesday 1-4 PM Introduction Sockets are a protocol independent method of creating a connection
More informationRappels programma,on réseau Java- suite. C. Delporte M2- Internet Rappel Java 1
Rappels programma,on réseau Java- suite C. Delporte M2- Internet Rappel Java 1 Socket programming Two socket types for two transport services: UDP: unreliable datagram TCP: reliable, byte stream-oriented
More informationHow do I get to www.randomsite.com?
Networking Primer* *caveat: this is just a brief and incomplete introduction to networking to help students without a networking background learn Network Security. How do I get to www.randomsite.com? Local
More informationICOM 5026-090: Computer Networks Chapter 6: The Transport Layer. By Dr Yi Qian Department of Electronic and Computer Engineering Fall 2006 UPRM
ICOM 5026-090: Computer Networks Chapter 6: The Transport Layer By Dr Yi Qian Department of Electronic and Computer Engineering Fall 2006 Outline The transport service Elements of transport protocols A
More informationAccess Control: Firewalls (1)
Access Control: Firewalls (1) World is divided in good and bad guys ---> access control (security checks) at a single point of entry/exit: in medieval castles: drawbridge in corporate buildings: security/reception
More informationTCP/IP Fundamentals. OSI Seven Layer Model & Seminar Outline
OSI Seven Layer Model & Seminar Outline TCP/IP Fundamentals This seminar will present TCP/IP communications starting from Layer 2 up to Layer 4 (TCP/IP applications cover Layers 5-7) IP Addresses Data
More informationComputer Networks. Instructor: Niklas Carlsson Email: niklas.carlsson@liu.se
Computer Networks Instructor: Niklas Carlsson Email: niklas.carlsson@liu.se Notes derived from Computer Networking: A Top Down Approach, by Jim Kurose and Keith Ross, Addison-Wesley. The slides are adapted
More information[Prof. Rupesh G Vaishnav] Page 1
Basics The function of transport layer is to provide a reliable end-to-end communications service. It also provides data transfer service for the user layers above and shield the upper layers from the
More informationSockets. Programação de Sockets em Java. Socket Abstractions. Camada de Transporte
Sockets Programação de Sockets em Java Server ports lients user space TP/UDP Socket API TP/UDP kernel space IP IP Ethernet Adapter Ethernet Adapter hardware SISTEMAS INFORMÁTIOS I, ENG. BIOMÉDIA SLIDES_10
More informationTransport Layer Protocols
Transport Layer Protocols Version. Transport layer performs two main tasks for the application layer by using the network layer. It provides end to end communication between two applications, and implements
More informationNames & Addresses. Names & Addresses. Hop-by-Hop Packet Forwarding. Longest-Prefix-Match Forwarding. Longest-Prefix-Match Forwarding
Names & Addresses EE 122: IP Forwarding and Transport Protocols Scott Shenker http://inst.eecs.berkeley.edu/~ee122/ (Materials with thanks to Vern Paxson, Jennifer Rexford, and colleagues at UC Berkeley)
More informationTutorial on Socket Programming
Tutorial on Socket Programming Computer Networks - CSC 458 Department of Computer Science Seyed Hossein Mortazavi (Slides are mainly from Monia Ghobadi, and Amin Tootoonchian, ) 1 Outline Client- server
More informationSocket programming. Complement for the programming assignment INFO-0010
Socket programming Complement for the programming assignment INFO-0010 Outline Socket definition Briefing on the Socket API A simple example in Java Multi-threading and Synchronization HTTP protocol Debugging
More informationChapter 11. User Datagram Protocol (UDP)
Chapter 11 User Datagram Protocol (UDP) The McGraw-Hill Companies, Inc., 2000 1 CONTENTS PROCESS-TO-PROCESS COMMUNICATION USER DATAGRAM CHECKSUM UDP OPERATION USE OF UDP UDP PACKAGE The McGraw-Hill Companies,
More informationTop-Down Network Design
Top-Down Network Design Chapter Four Characterizing Network Traffic Copyright 2010 Cisco Press & Priscilla Oppenheimer Network Traffic Factors Traffic flow unidirectional, bidirectional symmetric, asymmetric
More informationComputer Networks. Chapter 5 Transport Protocols
Computer Networks Chapter 5 Transport Protocols Transport Protocol Provides end-to-end transport Hides the network details Transport protocol or service (TS) offers: Different types of services QoS Data
More informationServicesin ns-3. Outline SIMULACIÓN DE PROTOCOLOS DE ENRUTAMIENTO PARA REDES MÓVILES AD-HOC MEDIANTE HERRRAMIENTA DE SIMULACIÓN NS-3
SIMULACIÓN DE PROTOCOLOS DE ENRUTAMIENTO PARA REDES MÓVILES AD-HOC MEDIANTE HERRRAMIENTA DE SIMULACIÓN NS-3 Servicesin Outline 1. Services in Sockets UDP TCP Bulk Application FTP On off Application 2.
More informationICT SEcurity BASICS. Course: Software Defined Radio. Angelo Liguori. SP4TE lab. angelo.liguori@uniroma3.it
Course: Software Defined Radio ICT SEcurity BASICS Angelo Liguori angelo.liguori@uniroma3.it SP4TE lab 1 Simple Timing Covert Channel Unintended information about data gets leaked through observing the
More informationELEN 602: Computer Communications and Networking. Socket Programming Basics
1 ELEN 602: Computer Communications and Networking Socket Programming Basics A. Introduction In the classic client-server model, the client sends out requests to the server, and the server does some processing
More informationNetwork-Oriented Software Development. Course: CSc4360/CSc6360 Instructor: Dr. Beyah Sessions: M-W, 3:00 4:40pm Lecture 2
Network-Oriented Software Development Course: CSc4360/CSc6360 Instructor: Dr. Beyah Sessions: M-W, 3:00 4:40pm Lecture 2 Topics Layering TCP/IP Layering Internet addresses and port numbers Encapsulation
More informationThe Java I/O System. Binary I/O streams (ascii, 8 bits) The decorator design pattern Character I/O streams (Unicode, 16 bits)
Binary I/O streams (ascii, 8 bits) InputStream OutputStream The Java I/O System The decorator design pattern Character I/O streams (Unicode, 16 bits) Reader Writer Comparing Binary I/O to Character I/O
More informationSocket = an interface connection between two (dissimilar) pipes. OS provides this API to connect applications to networks. home.comcast.
Interprocess communication (Part 2) For an application to send something out as a message, it must arrange its OS to receive its input. The OS is then sends it out either as a UDP datagram on the transport
More informationCSS 543 Program 3: Online Tic-Tac-Toe Game Professor: Munehiro Fukuda Due date: see the syllabus
CSS 543 Program 3: Online Tic-Tac-Toe Game Professor: Munehiro Fukuda Due date: see the syllabus 1. Purpose This assignment exercises how to write a peer-to-peer communicating program using non-blocking
More informationWhat is CSG150 about? Fundamentals of Computer Networking. Course Outline. Lecture 1 Outline. Guevara Noubir noubir@ccs.neu.
What is CSG150 about? Fundamentals of Computer Networking Guevara Noubir noubir@ccs.neu.edu CSG150 Understand the basic principles of networking: Description of existing networks, and networking mechanisms
More informationTransport Layer Services Mul9plexing/Demul9plexing. Transport Layer Services
Computer Networks Mul9plexing/Demul9plexing Transport services and protocols provide logical communica+on between app processes running on different hosts protocols run in end systems send side: breaks
More informationPreface. Intended Audience
Preface For years, college courses in computer networking were taught with little or no hands on experience. For various reasons, including some good ones, instructors approached the principles of computer
More informationInternet Concepts. What is a Network?
Internet Concepts Network, Protocol Client/server model TCP/IP Internet Addressing Development of the Global Internet Autumn 2004 Trinity College, Dublin 1 What is a Network? A group of two or more devices,
More informationOverview. Securing TCP/IP. Introduction to TCP/IP (cont d) Introduction to TCP/IP
Overview Securing TCP/IP Chapter 6 TCP/IP Open Systems Interconnection Model Anatomy of a Packet Internet Protocol Security (IPSec) Web Security (HTTP over TLS, Secure-HTTP) Lecturer: Pei-yih Ting 1 2
More information2057-15. First Workshop on Open Source and Internet Technology for Scientific Environment: with case studies from Environmental Monitoring
2057-15 First Workshop on Open Source and Internet Technology for Scientific Environment: with case studies from Environmental Monitoring 7-25 September 2009 TCP/IP Networking Abhaya S. Induruwa Department
More informationIntroduction To Computer Networking
Introduction To Computer Networking Alex S. 1 Introduction 1.1 Serial Lines Serial lines are generally the most basic and most common communication medium you can have between computers and/or equipment.
More informationBasic Networking Concepts. 1. Introduction 2. Protocols 3. Protocol Layers 4. Network Interconnection/Internet
Basic Networking Concepts 1. Introduction 2. Protocols 3. Protocol Layers 4. Network Interconnection/Internet 1 1. Introduction -A network can be defined as a group of computers and other devices connected
More informationComputer Networks & Security 2014/2015
Computer Networks & Security 2014/2015 IP Protocol Stack & Application Layer (02a) Security and Embedded Networked Systems time Protocols A human analogy All Internet communication is governed by protocols!
More informationq Connection establishment (if connection-oriented) q Data transfer q Connection release (if conn-oriented) q Addressing the transport user
Transport service characterization The Transport Layer End-to-End Protocols: UDP and TCP Connection establishment (if connection-oriented) Data transfer Reliable ( TCP) Unreliable / best effort ( UDP)
More informationArchitecture and Performance of the Internet
SC250 Computer Networking I Architecture and Performance of the Internet Prof. Matthias Grossglauser School of Computer and Communication Sciences EPFL http://lcawww.epfl.ch 1 Today's Objectives Understanding
More informationObjectives of Lecture. Network Architecture. Protocols. Contents
Objectives of Lecture Network Architecture Show how network architecture can be understood using a layered approach. Introduce the OSI seven layer reference model. Introduce the concepts of internetworking
More informationAn Android-based Instant Message Application
An Android-based Instant Message Application Qi Lai, Mao Zheng and Tom Gendreau Department of Computer Science University of Wisconsin - La Crosse La Crosse, WI 54601 mzheng@uwlax.edu Abstract One of the
More informationTransport Layer. Chapter 3.4. Think about
Chapter 3.4 La 4 Transport La 1 Think about 2 How do MAC addresses differ from that of the network la? What is flat and what is hierarchical addressing? Who defines the IP Address of a device? What is
More informationComputer Networks/DV2 Lab
Computer Networks/DV2 Lab Room: BB 219 Additional Information: http://ti.uni-due.de/ti/en/education/teaching/ss13/netlab Equipment for each group: - 1 Server computer (OS: Windows Server 2008 Standard)
More informationCS335 Sample Questions for Exam #2
CS335 Sample Questions for Exam #2.) Compare connection-oriented with connectionless protocols. What type of protocol is IP? How about TCP and UDP? Connection-oriented protocols Require a setup time to
More informationJAVA - FILES AND I/O
http://www.tutorialspoint.com/java/java_files_io.htm JAVA - FILES AND I/O Copyright tutorialspoint.com The java.io package contains nearly every class you might ever need to perform input and output I/O
More informationJava Programming Unit 10. Stock Price Quotes with URL, Sockets, and RMI
Java Programming Unit 10 Stock Price Quotes with URL, Sockets, and RMI GeFng Stock Quotes From Yahoo! 1. Visit hjp://finance.yahoo.com, enter AAPL - the symbol of the Apple s stock, and press the bujon
More informationOperating Systems Design 16. Networking: Sockets
Operating Systems Design 16. Networking: Sockets Paul Krzyzanowski pxk@cs.rutgers.edu 1 Sockets IP lets us send data between machines TCP & UDP are transport layer protocols Contain port number to identify
More informationBuilding a Java chat server
Building a Java chat server Presented by developerworks, your source for great tutorials Table of Contents If you're viewing this document online, you can click any of the topics below to link directly
More information!"# $ %!&' # &! ())*!$
!"# $ %!&' # &! ())*!$ !" #!$ %& ' ( ) * +,--!&"" $.!! /+010!" +!, 31! 4)&/0! $ #"5!! & + 6+ " 5 0 7 /&8-9%& ( +" 5)& /*#.! &( $ 1(" 5 # ( 8 +1 + # + 7$ (+!98 +&%& ( +!" (!+!/ (!-. 5 7 (! 7 1+1( & + ":!
More informationHands On Activities: TCP/IP Network Monitoring and Management
Hands On Activities: TCP/IP Network Monitoring and Management 1. TCP/IP Network Management Tasks TCP/IP network management tasks include Examine your physical and IP network address Traffic monitoring
More informationFile Transfer And Access (FTP, TFTP, NFS) Chapter 25 By: Sang Oh Spencer Kam Atsuya Takagi
File Transfer And Access (FTP, TFTP, NFS) Chapter 25 By: Sang Oh Spencer Kam Atsuya Takagi History of FTP The first proposed file transfer mechanisms were developed for implementation on hosts at M.I.T.
More information