Thông tin tài liệu:
Bài giảng Lập trình mạng - Chương 5 trang bị cho người học những hiểu biết về quản lý địa chỉ kết nối mạng InetAdress, URL, URLConnection. Thông qua chương này người học sẽ biết về: IP, DNS, InetAddress, URL và URLConnection. Mời các bạn cùng tham khảo.
Nội dung trích xuất từ tài liệu:
Bài giảng Lập trình mạng: Chương 5 - ĐH Công nghệ Đồng Nai
Quản lý địa chỉ kết nối mạng
InetAdress, URL, URLConnection
Nội dung
IP
DNS
InetAddress
URL
URLConnection
IPv4
3
Địa chỉ IPv4
Lớp Cấu trúc địa chỉ IP Format Số bit Tổng số Tổng số Vùng địa chỉ
mạng/sốbi mạng/lớp host/mạng IP
t host
A 0|netid|hostid N.H.H.H 7/24 27-2=126 224- 1.0.0.1-
2=17.777.214 126.0.0.0
B 1|0|netid|hostid N.N.H.H 14/16 214-2=16382 216-2=65.643 128.1.0.0-
191.254.0.0
C 1|1|0|netid|hostid N.N.N.H 22/8 222- 28-2=245 192.0.1.0-
2=4194302 223.255.254.0
D 1|1|1|0| địa chỉ - - - - 224.0.0.0-
Multicast 239.255.255.2
55
E 1|1|1|1 - - - - 240.0.0.0-
254.255.255.2
55
Loopba - - - - - 127.x.x.x
ck
DNS: Domain Name System
Chức năng clients
Ánh xạ (tên miền, dịch vụ)
sang giá trị, ví dụ,,
(www.cs.yale.edu,
Addr)
-> 128.36.229.30 DNS
(cs.yale.edu, Email) Tên miền, dịch vụ, routers
-> netra.cs.yale.edu địa chỉ
(netra.cs.yale.edu,
Addr)
-> 128.36.229.21
servers
Tại sao phải dùng tên thay
cho địa chỉ IP?
5
DNS: Domain Name System
Lược đồ tên miền (IANA, ICANN)
Nslookup (Domain/IP)
6
Quản lý tên miền
Mỗi nhóm tên (Zone) có một server chứng thực tên
Mỗi Zone được ủy quyền chứng thực một tập tên
miền.
Một Zone
7
Nhóm Zone gốc và Server
13 servers quản lý zone gốc trên toàn cầu
8
Liên kết giữa các sever DNS
Mỗi server biết địa chỉ server gốc.
Mỗi server gốc biết địa chỉ chính nó và địa chỉ node
con trực tiếp
Tên miềm cấp cao
9
Ví dụ xác định tên miền
10
Lớp InetAddress
Biểu diễn và quản lý địa chỉ IP:
java.net.InetAddress
Cho phép xác định địa chỉ IP dựa vào tên miền và
ngược lại.
Các lớp mạng khác sử dụng nó để xác định host ở
xa.
Ví dụ: Socket,ServerSocket…
Tạo đối tượng InetAddresses
Không có phương thức khởi tạo.
Tất cả các đối tượng địa chỉ được tạo ra, địa chỉ
tương ứng phải được kiểm trả với DNS.
public static InetAddress
InetAddress.getByName(String hostname)
public static InetAddress[]
InetAddress.getAllByName(String
hostname)
public static InetAddress
InetAddress.getLocalHost()
Tạo đối tượng: getByName()
public static InetAddress getByName(String host)
throws UnknownHostException
InetAddress ipdntu, dntu;
try {
ipdntu = InetAddress.getByName(“dntu.edu.vn);
dntu = InetAddress.getByName(125.234.251.138);
}
catch (UnknownHostException e) {
System.err.println(e);
}
Tạo đối tượng: getByName()
public static InetAddress getByName(String host)
throws UnknownHostException
InetAddress ipdntu, dntu;
try {
ipdntu = InetAddress.getByName(“dntu.edu.vn);
dntu = InetAddress.getByName(118.69.218.67);
}
catch (UnknownHostException e) {
System.err.println(e);
}
Phương thức lấy các thành phần
public String getHostName()
public byte[] getAddress()
public String getHostAddress()
Phương thức kiểm tra
public boolean isReachable(int timeout) throws
IOException
public boolean isMulticastAddress()
public boolean isSiteLocalAddress()
NetworkInterface
try {
NetworkInterface ni =
NetworkInterface.getByName(eth0);
if (ni == null) {
System.err.println(No such interface: eth0 );
}
} catch (SocketException ex) {
System.err.println(Could not list sockets. );
}
17
NetworkInterface
import java.net.*; import java.util.*;
public class InterfaceLister {
public static void main(String[] args) throws Exception {
Enumeration interfaces =
NetworkInterface.getNetworkInterfaces( );
while (interfaces.hasMoreElements( )) {
NetworkInterface ni = (NetworkInterface)
interfaces.nextElement( );
System.out.println(ni); }
}
} 18
Cổng ứng dụng
Một host có một địa chỉ duy nhất để nhận dạng, làm thế
nào để đồng thời nhiều ứng dụng trên một host có thể
giao tiếp với host khác ?
Cổng-port được sử dụng. Có 65,536 port.
Một một dịch vụ tương ứng với một port. Ví dụ, http chạy
với port 80.
Giao thức
Mỗi dịch v ...