Network programming Asst. Prof. Dr. Choopan Rattanapoka

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
โครงสร้างโปรแกรมภาษา JAVA
Advertisements

The InetAddress Class.
IT Central Library KMITL
บทที่ 2 แบบจำลอง OSI OSI Model.
บทที่ 12 การจดทะเบียนชื่อโดเมน (Domain Name Registration)
World Wide Web WWW.
ARP (Address Resolution Protocol)
:-> ติดตั้ง Dial-up Networking
ระบบเครือข่ายคอมพิวเตอร์
องค์ประกอบของระบบ Internet
ความรู้เบื้องต้นเกี่ยวกับเครือข่ายคอมพิวเตอร์
Transport Layer.
File Transfer (FTP), WWW, HTTP, DHCP.
Network Layer Protocal:
Introduction TO Network Programming
Network programming Asst. Prof. Dr. Choopan Rattanapoka
Network programming Asst. Prof. Dr. Choopan Rattanapoka
Network programming Asst. Prof. Dr. Choopan Rattanapoka
Network programming Asst. Prof. Dr. Choopan Rattanapoka
โดย อ.ปริญญา น้อยดอนไพร V
Data Communication Chapter 2 OSI Model.
โอฬาริก สุรินต๊ะ CS/MIS
อินเตอร์เน็ต INTERNET.
บทที่ 3 Class and Object (1) การสร้างและการใช้งานคลาส
บทที่ 1 หลักการเขียนโปรแกรมเชิงวัตถุ
คลาสและวัตถุ (3) (Class & Object). w5_000.rar การใช้งานเมธอดภายในคลาสเดียวกัน ข้อ 24, 25 as5_000.rar การใช้งานเมธอดภายในคลาสเดียวกัน ข้อ 23 2.
บทที่ 4 Method (1).
TCP/IP.
String Class มหาวิทยาลัยเนชั่น การโปรแกรมเชิงวัตถุด้วยภาษา JAVA
อาร์เรย์ หรือแถวลำดับ (Array)
input from keyboard มหาวิทยาลัยเนชั่น การโปรแกรมเชิงวัตถุด้วยภาษา JAVA
Page: 1 การโปรแกรมเชิงวัตถุด้วยภาษา JAVA บุรินทร์ รุจจนพันธุ์.. ปรับปรุง 15 มิถุนายน 2550 Structure Programming มหาวิทยาลัยเนชั่น.
Page: 1 การโปรแกรมเชิงวัตถุด้วยภาษา JAVA บุรินทร์ รุจจนพันธุ์.. ปรับปรุง 3 มิถุนายน 2550 Method of Class มหาวิทยาลัยเนชั่น.
Page: 1 การโปรแกรมเชิงวัตถุด้วยภาษา JAVA บุรินทร์ รุจจนพันธุ์.. ปรับปรุง 7 มิถุนายน 2556 Text File Processing มหาวิทยาลัยเนชั่น.
บทที่ 2 แบบจำลอง OSI OSI Model.
ทำงานกับ File และStream
Handling Exceptions & database
The ServerSocket Class ใช้ในการจัดทำเครื่องที่เป็นการบริการ ใช้ในการจัดทำเครื่องที่เป็นการบริการ โดยจะมี ช่วงชีวิตดังนี้ โดยจะมี ช่วงชีวิตดังนี้
Object Oriented Programming Handling Exceptions
Method of Class อ.สุพจน์ สิงหัษฐิต
CH 9 หมายเลขไอพี และการจัดสรร
การเขียนโปรแกรม PHP เชื่อมต่อกับ MySQL
Lab 1 – 2 Protocols Guideline.
Chapter 4 หมายเลขไอพี และการจัดสรร
TCP Protocol.
อินเทอร์เน็ต โดย.. ครูสาคร หนูอิน.
HTTP (Hyper Text Transfer Protocol )
INTERN ET Internet คือ อะไร ? เครือข่ายคอมพิวเตอร์ ขนาดใหญ่ที่ทำการ เชื่อมต่อคอมพิวเตอร์ หลายล้านเครื่องกว่า 130 ประเทศทั่วโลกเข้า ด้วยกัน มีบริการต่าง.
อินเตอร์เน็ตเบื้องต้น
เทคโนโลยีอินเทอร์เน็ต และเครือข่าย
Java Network Programming 1
ISP ในประเทศไทย
การใช้งานอินเตอร์เน็ต
NETWORK SERVICE NTP + SQUID
TECH30201 Object-Oriented Programming
Firewall Presented by Suthee Sirisutthidecha Instructor, IT Faculty 13 July 2013suthee sirisutthidecha1.
สิ่งที่สำคัญในระบบปฏิบัติการของเราในวันนี้คงหนีไม่พ้นในเรื่องของ เครือข่าย หรือ Network network คืออะไร เครือข่ายมีไว้เพื่อสื่อ สารกันระหว่างคอมพิวเตอร์
Network Security.
Bandwidth Management Network Management and Design.
คำศัพท์ระบบอินเตอร์เน็ต
การจัดการกับความผิดปกติ
บทที่ 8 เครือข่ายอินเตอร์เน็ต
Application Layer.
– Network operating systems and Protocols Choopan Rattanapoka.
Network programming Asst. Prof. Dr. Choopan Rattanapoka
การสื่อสารข้อมูล.
Wireless Network เครือข่ายไร้สาย
เทคโนโลยีอินเทอร์เน็ต Internet Technology
TCP/IP Protocol นำเสนอโดย นส.จารุณี จีนชาวนา
เครือข่ายคอมพิวเตอร์
ใบสำเนางานนำเสนอ:

357335 - Network programming Asst. Prof. Dr. Choopan Rattanapoka Looking up IP 357335 - Network programming Asst. Prof. Dr. Choopan Rattanapoka

ทบทวน OSI layer โปรแกรม network TCP, UDP IP Ethernet UTP Application Presentation โปรแกรม network Session Transport TCP, UDP Network IP UTP : Unshielded twisted pair Data Link Ethernet Physical UTP

Ethernet Header Preamble Dst MAC Src MAC Type Preamble (8 bytes) Dst MAC : MAC address ของเครื่องปลายทาง (6 bytes) Src MAC : MAC address ของเครื่องต้นทาง (6 bytes) Type (2 bytes) : ใช้บอก protocol ของชั้น network 0x0800 Internet Protocol, Version 4 (IPv4) 0x0806 Address Resolution Protocol (ARP) 0x8035 Reverse Address Resolution Protocol (RARP) 0x8137 Novell IPX (alt) 0x86DD Internet Protocol, Version 6 (IPv6)

Destination IP address IP header 15 16 31 Version IHL TOS Total Length Identification Flags Fragment Offset Time to Live Protocol Header checksum Source IP address Destination IP address Options Padding Data .

Acknowledgement number TCP and UDP Header 15 16 31 Source Port Destination Port Sequence number Acknowledgement number TCP header HL reserved Code Window size Checksum Urgent pointer Options data 15 16 31 Source port Destination port UDP header Length Checksum Data

ตัวอย่างการส่งข้อมูลในระบบเครือข่าย E I T D E I T D E I T D E I T D E I T D

การใช้งานของพอร์ท ดูที่หมายเลขพอร์ทของชั้น Transport เพื่อเลือกส่ง Application Data TCP

หมายเลขพอร์ท Port จะเป็นจำนวนเต็มขนาด 16 bits (1-65535) Port หมายเลข 1 – 1023 ถูกสงวนไว้เพื่อบริการของระบบ เรียกว่า “well-known ports” ตัวอย่างของ Port 1-1023 ที่ถูกสงวนไว้เพื่อบริการต่างๆ เช่น Port 20,21 : FTP (File Transfer Protocol) Port 23 : Telnet Port 25 : SMTP (Simple Mail Transfer Protocol) Port 53 : Domain Port 80 : HTTP (HyperText Transfer Protocol) Port 110 : POP3 (Post Office Protocol version 3) Well-known ports ถูกกำหนดไว้ในไฟล์ Windows -> C:\WINDOWS\system32\drivers\etc Linux -> /etc/service

IP Address IP Address เปรียบเสมือนเลขที่บ้านของเครื่องคอมพิวเตอร์ ในทางปฎิบัติการจำหมายเลข IP เพื่อติดต่อไปเครื่องอื่นนั้นไม่สะดวก จึงมี บริการที่ชื่อ DNS (Domain name system) เข้ามาช่วย DNS ทำหน้าที่แปลงจากชื่อ host ให้เป็น IP และแปลงจากหมายเลข IP ให้เป็นชื่อ host

การทำงานของ DNS http://cit.kmutnb.ac.th Name Server Client (PC) 202.44.36.20 IP = 202.44.36.20

การหาหมายเลข IP ด้วยภาษา Java จะใช้ class InetAddress ซึ่งมี static เมธอดคือ public static InetAddress getByName(String hostname) throws UnknownHostException คืน object ของ InetAddress ที่เก็บข้อมูลของ hostname public static InetAddress[ ] getAllByName(String hostname) throws UnknownHostException คืน array object ของ InetAddress ที่เก็บข้อมูลของ hostname public static InetAddress getLocalHost( ) throws UnknownHostException คืน object ของ InetAddress ที่เก็บข้อมูลของ localhost

InetAddress ใน class InetAddress เองมีเมธอดที่ใช้ดึงข้อมูลออกมากคือ public String getHostName() ใช้สำหรับดึงชื่อ host public byte[ ] getAddress() ใช้สำหรับดึง IP address ซึ่งอยู่ในรูปของ byte array public String getHostAddress() ใช้สำหรับดึง IP address ในรูปของ String

ตัวอย่าง 1 import java.net.*; public class TestInet { public static void main(String[ ] args) { try { InetAddress ad = InetAddress.getByName(“ect.cit.kmutnb.ac.th”); System.out.println(“IP = “ + ad.getHostAddress()); } catch (Exception e) { e.printStackTrace(); }

ตัวอย่าง 2 import java.net.*; public class TestInet2 { public static void main(String[ ] args) { try { InetAddress[ ] ad = InetAddress.getAllByName(“www.google.com”); for(int i = 0; i < ad.length; i++) { System.out.println(“IP = “ + ad[i].getHostAddress()); } } catch (Exception e) { e.printStackTrace();

ตัวอย่าง 3 import java.net.*; public class TestInet2 { public static void main(String[ ] args) { try { InetAddress ad = InetAddress.getLocalHost(); System.out.println(“Host = “ + ad.getHostName()); System.out.println(“IP = “ + ad.getHostAddress()); } } catch (Exception e) { e.printStackTrace();

ตัวอย่าง 4 import java.net.*; public class TestInet { public static void main(String[ ] args) { try { InetAddress ad = InetAddress.getByName(“202.44.32.13”); System.out.println(“host = “ + ad.getHostName()); } catch (Exception e) { e.printStackTrace(); }

Socket Socket หรือ Socket Address หมายถึง คู่ของ IP Address กับ Port ในเครื่องหนึ่งเครื่องแต่ละ Application จะใช้พอร์ทไม่ซ้ำกัน Socket เมื่อมองในแง่ของการเขียนโปรแกรม อาจมองได้ว่าเป็นท่อเชื่อม ระหว่างเครื่อง 2 เครื่องที่จะติดต่อสื่อสารกัน

Class Socket ในภาษา Java มี Class ชื่อ Socket เพื่อทำหน้าที่เชื่อมต่อเครื่อง คอมพิวเตอร์เข้าด้วยกัน โดยใช้ TCP Class Socket มี constructor อยู่หลายตัวแต่ตัวที่นิยมใช้คือ public Socket(String host, int port) throws UnknownHostException, IOException host ชื่อเครื่องหรือหมายเลข IP ของเครื่องปลายทาง port หมายเลขพอร์ทของเครื่องปลายทาง UnknownHostException ถ้า host ที่ใส่ไม่มีอยู่จริง IOException เมื่อมีปัญหาในการเชื่อมต่อ

ตัวอย่างการเชื่อมต่อเครื่องปลายทาง

ดักจับ Exception