TỔNG QUAN VỀ LẬP TRÌNH MẠNG

21:51
Lượt xem:  lần
 
       
             Chương này trình bày các vấn đề, các khái niệm cơ bản liên quan đến lập trình mạng bằng ngôn ngữ Java bao gồm: chức năng của một chương trình mạng, các định nghĩa về mạng, mô hình phân tầng TCP/IP, mô hình OSI, các giao thức IP, TCP, UDP, mô hình khách /chủ (Client/Server), Socket và một số vấn đề liên quan Internet khác.

1.1             Chức năng của một chương trình mạng

Các chương trình mạng cho phép người sử dụng khai thác thông tin được lưu trữ trên các máy tính trong hệ thống mạng (đặt biệt các chương trình chạy trên mạng Internet với hàng triệu máy vi tính được định vị khắp nơi trên thế giới.), trao đổi thông tin giữa các máy tính trong hệ thống mạng, cho phép huy động nhiều máy tính cùng thực hiện để giải quyết một bài toán hoặc giám sát hoạt động mạng.
Ví dụ như các chương trình cho phép truy xuất dữ liệu. Các chương trình này cho phép máy khách (client) truy xuất dữ liệu lưu trên máy chủ (server) và  định dạng dữ liệu và trình bày người sử dụng. Các chương trình này sử dụng các giao thức chuẩn như HTTP (gởi dữ liệu Web), FTP (gởi/nhận tập tin), SMTP (gởi mail) hoặc thiết kế những giao thức mới phục vụ cho việc truy xuất dữ liệu. Các chương trình này hoạt động theo mô hình Client/Server. Hoặc chương trình cho phép người dùng tương tác với nhau như Game online, Chat, ... 

1.2             Mạng máy tính

Mạng máy tính là tập hợp các máy tính hoặc các thiết bị được nối với nhau bởi các đường truyền vật lý và theo một kiến trúc nào đó. Mạng máy tính có thể phân loại theo qui mô như sau:
·            Mạng LAN (Local Area Network)-mạng cục bộ: kết nối các nút trên một phạm vi giới hạn. Phạm vi này có thể là một công ty, hay một tòa nhà.
·            Mạng WAN (Wide Area Network): nhiều mạng LAN kết nối với nhau tạo thành mạng WAN.
·            MAN (Metropolitan Area Network), tương tự như WAN, nó cũng kết nối nhiều mạng LAN. Tuy nhiên, một mạng MAN có phạm vi là một thành phố hay một đô thị  nhỏ. MAN sử dụng các mạng tốc độ cao để kết nối các mạng LAN của trường học, chính phủ, công ty, ..., bằng cách sử dụng các liên kết nhanh tới từng điểm như cáp quang.
Trong một hệ thống mạng, mạng xương sống (Backbone) đóng vai trò quan trọng. Mạng Backbone là một mạng tốc độ cao kết nối các mạng có tốc độ thấp hơn. Một công ty sử dụng mạng Backbone để kết nối các mạng LAN có tốc độ thấp hơn. Mạng Backbone Internet được xây dựng bởi các mạng tốc độ cao kết nối các mạng tốc độ cao. Nhà cung cấp Internet hoặc kết nối trực tiếp với mạng backbone Internet, hoặc một nhà cung cấp lớn hơn.

1.3             Mô hình phân tầng

            Hoạt động gởi dữ liệu đi trong một mạng từ máy trạm đến máy đích là hết sức phức tạp cả mức vật lý lẫn logic. Các nhiều vấn đề đặt ra như vấn đề biến đổi tín hiệu số sang tín hiệu tương tự, tránh xung đột giữa các gói tin (phân biệt các gói tin), phát hiện và kiểm tra lỗi gói tin, định tuyến gói tin đi tới đích, ... Nhằm quản lý được hoạt động này, các hoạt động giao tiếp mạng liên quan được phân tách vào các tầng, hình thành mô hình phân tầng. Có hai dạng mô hình phân tầng phổ biến: OSI, TCP/IP.

1.3.1        Mô hình OSI

            Mô OSI trình bày bảy tầng đã rất thành công và nó hiện đang được sử dụng như là một mô hình tham chiếu để mô tả các giao thức mạng khác nhau và chức năng của chúng. Các tầng của mô hình OSI phân chia các nhiệm vụ cơ bản mà các giao thức mạng phải thực hiện, và mô tả các ứng dụng mạng có thể truyền tin như thế nào. Mỗi tầng có một mục đích cụ thể và được kết nối với các tầng ở ngay dưới và trên nó.
·            Tầng ứng dụng (Application): định nghĩa một giao diện lập trình giao tiếp với mạng cho các ứng dụng người dùng, bao gồm các ứng dụng sử dụng các tiện ích mạng. Các ứng dụng này có thể thực hiện các tác vụ như truyền tệp tin, in ấn, e-mail, duyệt web,…

Ứng dụng

 

Trình bày
 

Phiên
 

Vận chuyển
 

Mạng
 

Liên kết
 

Vật lý
 

Máy B
 

·            Tầng trình diễn (Presentation): có trách nhiệm mã hóa/giải mã), nén/giải nén dữ liệu từ tầng ứng dụng để truyền đi trên mạng và ngược lại.
·            Tầng phiên (Session): tạo ra một liên kết ảo giữa các ứng dụng. Ví dụ các giao thức FTP, HTTP, SMTP, ...
·            Tầng giao vận (Transport): cho phép truyền dữ liệu với độ tin cậy cao chẳng hạng gói tin gởi đi phải được xác thực hay có thông điệp truyền lại nếu dữ liệu bị hỏng hay bị thất lạc, hay dữ liệu bị trùng lặp.
·            Tầng mạng (Network): cho phép truy xuất tới các nút trong mạng bằng cách sử dụng địa chỉ logic được sử dụng để kết nối tới các nút khác. Các địa chỉ MAC của tầng 2 chỉ có thể được sử dụng trong một mạng LAN, nên địa chỉ IP được sử dụng để đánh địa chỉ của tầng 3 khi truy xuất tới các nút trong mạng WAN. Các router ở tầng 3 được sử dụng để định đường đi trong mạng.
·            Tầng liên kết dữ liệu (Data Link): truy xuất tới một mạng vật lý bằng các địa chỉ vật lý. Địa chỉ MAC là địa chỉ của tầng 2. Các nút trên LAN gửi thông điệp cho nhau bằng cách sử dụng các địa chỉ IP, và các địa chỉ này phải được chuyển đổi sang các địa MAC tương ứng. Giao thức phân giải địa chỉ (ARP: Address Resolution Protocol) chuyển đổi địa chỉ IP thành địa chỉ MAC. Một vùng nhớ cache lưu trữ các địa chỉ MAC để tăng tốc độ xử lý này, và có thể kiểm tra bằng tiện ích arp -a,
·            Cuối cùng, tầng vật lý (Physical): bao gồm môi trường vật lý như các yêu cầu về cáp nối, các thiết bị kết nối, các đặc tả giao tiếp, hub và các repeater,...

1.3.2       Mô hình TCP/IP

            Mô hình ISO phức tạp nên ít được sử dụng nhiều trong thực tế. Mô hình TCP/IP đơn giản và thích hợp được sử dụng cho mạng Internet. Mô hình này gồm có bốn tầng.
·            Tầng ứng dụng: các phần mềm ứng dụng mạng như trình duyệt Web (IE, Firefox, ..), game online, chat, ... sử dụng các giao thức như HTTP (web), SMTP, POP, IMAP (email), FTP, FSP, TFTP (chuyển tải tập tin), NFS (truy cập tập tin), ...
·            Tầng vận chuyển: đảm bảo vận chuyển gói tin tin cậy bằng cách sử dụng giao thức TCP hoặc UDP.
·            Tầng Internet: cho phép định tuyến để gởi gói tin tới đích trên mạng bằng cách sử dụng giao thức IP.
·            Tầng Host to Network: vận chuyển dữ liệu thông qua thiết bị vật lý như dây cáp quang đến tần Host to Network của hệ thống ở xa.

1.4             Các giao thức mạng

            Các giao thức biểu diễn khuôn dạng thông tin dữ liệu tại mỗi mức giao tiếp trong mạng. Giao thức thường được phân loại theo mức độ áp dụng tại mỗi tầng trong các mô hình mạng. Trong mỗi loại giao thức được phân loại dựa vào sự phân tầng, giao thức lại được phân loại dựa vào chức năng. Ví dụ giao thức ở tầng phiên trong mô hình OSI, gồm HTTP (web), SMTP, POP, IMAP (email), FTP, FSP, TFTP (chuyển tải tập tin), NFS (truy cập tập tin), ...

1.4.1       TCP-Transmission Control Protocol

            Giao thức TCP được sử dụng ở tầng vận chuyển (OSI) đảm bảo cho dữ liệu gởi đi tin cậy và xác thực giữa các nút mạng. Giao thức TCP phân chia dữ liệu thành các gói tin gọi là datagram. TCP gắn thêm trường header vào datagram. Trường head được mô tả trong hình vẽ bên dưới.
Source port
Destination port
Sequence Number
Acknowledge Number
Offset
Reserved
Flags
Window
Checksum
Urgent pointer
Options
Padding
Start of Data
Bảng 11 Minh họa cấu của thông tin header của TCP
Trường
Mô tả
Cổng nguồn (source port)
Số hiệu cổng của nguồn
Cổng đích (destination port)
Số hiệu cổng đích
Số thứ tự (Sequence Number)
Số thứ tự được tạo ra bởi nguồn và được sử dụng bởi đích để sắp xếp lại các gói tin để tạo ra thông điệp ban đầu, và gửi xác thực tới nguồn.
Acknowledge Number
Cho biết dữ liệu được nhận thành công.
Data offset
Các chi tiết về nơi dữ liệu gói tin bắt đầu
Reserved
Dự phòng
Flags
chỉ ra rằng gói tin cuối cùng hoặc gói khẩn cấp
Window
chỉ ra kích thước của vùng đệm nhận. Phía nhận có thể thông báo cho phía gửi kích thước dữ liệu tối đa mà có thể được gửi đi bằng cách sử dụng các thông điệp xác thực
Checksum
xác định xem gói tin có bị hỏng không
Urgent Pointer
thông báo cho phía nhận biết có dữ liệu khẩn
Options
vùng dự phòng cho việc thiết lập trong tương lai
Padding
chỉ ra rằng dữ liệu kết thúc trong vòng 32 bit.

1.4.2       UDP-User Datagram Protocol

            Giao thức UDP này được sử dụng ở tầng giao vận (OSI) thực hiện cơ chế không liên kết. Nó không cung cấp dịch vụ tin cậy như TCP. UDP sử dụng IP để phát tán các gói tin này.
            Nhược điểm của UDP là: Các thông điệp có thể được nhận theo bất kỳ thứ tự nào. Thông điệp được gửi đầu tiên có thể được nhận sau cùng. Không có gì đảm bảo là các gói tin sẽ đến đích, và các thông điệp có thể bị thất lạc, hoặc thậm chí có thể nhận được hai bản sao của cùng một thông điệp.
            Ưu điểm của UDP là: UDP một giao thức có tốc độ truyền tin nhanh vì nó chỉ xác định cơ chế tối thiểu để truyền dữ liệu. Cụ thể trong cách thức truyền tin unicast, broadcast và multicast.
·            Một thông điệp unicast được gửi từ nút này tới nút khác. Kiểu truyền tin là truyền tin điểm-điểm. Giao thức TCP chỉ hỗ trợ truyền tin unicast.
·            Truyền tin broadcast nghĩa là một thông điệp có thể được gửi tới tất cả các nút trong một mạng.
·            Multicast cho phép các thông điệp được truyền tới một nhóm các nút được lựa chọn.
            UDP có thể được sử dụng cho truyền tin unicast nếu cần tới tốc độ truyền tin nhanh, như truyền tin đa phương tiện, nhưng ưu điểm chính của UDP là truyền tin broadcast và truyền tin multicast. Vì nếu dùng giao thức TCP thì tất cả các nút gửi về các xác thực cho server sẽ làm cho server quá tải.
Bảng 12 Cấu trúc trường Header của UDP
Trường thông tin
Mô tả
Source port (Cổng nguồn)
Xác định cổng nguồn là một tùy chọn với UDP. Nếu trường này được sử dụng, phía nhận thông điệp có thể gửi một phúc đáp tới cổng này
Destination Port
Số hiệu cổng đích
Length
Chiều dài của thông điệp bao gồm header và dữ liệu
Checksum
Để kiểm tra tính đúng đắn
·            Số hiệu cổng
Các số hiệu cổng của TCP và UDP được phân thành ba loại
-       Các số hiệu cổng hệ thống
-       Các số hiệu cổng người dùng
-       Các số hiệu cổng riêng và động
            Các số hiệu cổng hệ thống nằm trong khoảng từ 0 đến 1023. Các cổng hệ thống chỉ được sử dụng bởi các tiến trình được quyền ưu tiên của hệ thống. Các giao thức nổi tiếng có các số hiệu cổng nằm trong khoảng này.
            Các số hiệu cổng người dùng nằm trong khoảng từ 1024 đến 49151. Các ứng dụng server của bạn sẽ nhận một trong các số này làm cổng, hoặc bạn có thể đăng ký số hiệu cổng với IANA .
Hình 11 Minh họa lệnh netsta để xem thông tin các cổng đang sử dụng
            Các cổng động nằm trong khoảng từ 49152 đến 65535. Khi không cần thiết phải biết số hiệu cổng trước khi khởi động một ứng dụng, một số hiệu cổng trong khoảng này sẽ là thích hợp. Các ứng dụng client kết nối tới server có thể sử dụng một cổng như vậy.
            Nếu chúng ta sử dụng tiện ích netstat với tùy chọn –a, chúng ta sẽ thấy một danh sách tất cả các cổng hiện đang được sử dụng, nó cũng chỉ ra trạng thái của liên kết-nó đang nằm trong trạng thái lắng nghe hay liên kết đã được thiết lập.

1.4.3       IP-Internet Protocol   

            Giao thức IP được thiết kế để định tuyến truyền gói tin trong mạng từ nút nguồn tới nút đích. Mỗi nút được định danh bởi một địa chỉ IP (32 bit). Khi nhận gói dữ liệu ở tầng trên (như theo khuôn dạng TCP hoặc UDP),  giao thức IP sẽ thêm vào trường header chứa thông tin của nút đích.
Version
IHL
TOS
Total length
Identification
Flags
Fragmentation Offset
Time to Live
Protocol
Header Checksum
TCP Header
Start of Data
Bảng 13 Thông tin chi tiết của cấu trúc header của giao thức IP
Trường
Mô tả
Version  (Phiên bản IP)
Phiên bản IP. ( Phiên bản giao thức hiện nay là IPv4)
IP Header Length (Chiều dài Header)
Chiều dài của header.
Type of Service
(Kiểu dịch vụ)
Kiểu dịch vụ cho phép một thông điệp được đặt ở chế độ thông lượng cao hay bình thường, thời gian trễ là bình thường hay lâu, độ tin cậy bình thường hay cao. Điều này có lợi cho các gói được gửi đi trên mạng. Một số kiểu mạng sử dụng thông tin này để xác định độ ưu tiên
Total Length
(Tổng chiều dài)



Hai byte xác định tổng chiều dài của thông điệp-header và dữ liệu. Kích thước tối đa của một gói tin IP là 65,535, nhưng điều này là không thực tế đối với các mạng hiện nay. Kích thước lớn nhất  được chấp nhận bởi các host là 576 bytes. Các thông điệp lớn có thể phân thành các đoạn-quá trình này được gọi là quá trình phân đoạn
Identification
(Định danh)
Nếu thông điệp được phân đoạn, trường định danh trợ giúp cho việc lắp ráp các đoạn thành một thông điệp. Nếu một thông điệp được phân thành nhiều đoạn, tất cả các đoạn của một thông điệp có cùng một số định danh.
Flags
Các cờ này chỉ ra rằng thông điệp có được phân đoạn hay không, và liệu gói tin hiện thời có phải là đoạn cuối cùng của thông điệp hay không.
Fragment Offset

13 bit này xác định offset của một thông điệp. Các đoạn có thể đến theo một thứ tự khác với khi gửi, vì vậy trường offset là cần thiết để xây dựng lại dữ liệu ban đầu. Đoạn đầu tiên của một thông điệp có offset là 0
Time to Live
Xác định số giây mà một thông điệp tồn tại trước khi nó bị loại bỏ.
Protocol
Byte này chỉ ra giao thức được sử dụng ở mức tiếp theo cho thông điệp này. Các số giao thức
Header Checksum
Đây là chỉ là checksum của header. Bởi vì header thay đổi với từng thông điệp mà nó chuyển tới, checksum cũng thay đổi.
Source Address
Cho biết địa chỉ IP 32 bit của phía gửi
Destination Address
 Địa chỉ IP 32 bit của phía nhận
Options

Padding


·            Địa chỉ IP
            IPv4-32 bit được dùng để định danh mỗi nút trên mạng TCP/IP. Thông thường một địa chỉ IP được biểu diễn bởi bốn phần x.x.x.x, chẳng hạn 192.168.0.1 . Mỗi phần là một số có giá trị từ 0 đến 255. Một địa chỉ IP gồm hai phần: phần mạng và phần host.
Bảng 14 Minh họa phân loại địa chỉ lớp mạng
Lớp
Byte 1
Byte 2
Byte 3
Byte 4
A (0)
Networks (1-126)
Host (0-255)
Host (0-255)
Host (0-255)
B (10)
Networks (128-191)
Networks (0-255)
Host (0-255)
Host (0-255)
C (110)
Networks (192-223)
Networks (0-255)
Networks (0-255)
Host (0-255)
           
            Trong đó địa chỉ lớp D(1110) được sử dụng cho địa chỉ multicast. Địa chỉ dự phòng (01111111). Địa chỉ 127.0.0.1 là địa chỉ của localhost, và địa chỉ 127.0.0.0 là địa chỉ loopback.
            Để tránh cạn kiệt các địa chỉ IP, các host không được kết nối trực tiếp với Internet có thể sử dụng một địa chỉ trong các khoảng địa chỉ riêng. Các địa chỉ IP riêng không duy nhất về tổng thể, mà chỉ duy nhất về mặt cục bộ trong phạm vi mạng đó. Tất cả các lớp mạng dự trữ các khoảng nhất định để sử dụng như là các địa chỉ riêng cho các host không cần truy cập trực tiếp tới Internet. Các host như vậy vẫn có thể truy cập Internet thông qua một gateway mà không cần chuyển tiếp các địa chỉ IP riêng.
Lớp
Khoảng địa chỉ riêng
A
10
B
172.16-172.31
C
192.168.0-192.168.255

            IPv6 được sử dụng 128 bit để biểu diễn địa chỉ nhằm biểu diễn nhiều hơn số địa chỉ của nút trên mạng. 
Lớp
Cấu trúc địa chỉ IP
Format
Số bit mạng/số bit host
Tổng số mạng/lớp
Tổng số host/mạng
Vùng địa chỉ IP
A
0| netid|hostid
N.H.H.H
 7/24
27-2=126
224-2=17.777.214
1.0.0.1-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-2=4194302
28-2=245
192.0.1.0-223.255.254.0
D
1|1|1|0| địa chỉ multicast
-
 -
-
-
224.0.0.0-239.255.255.255
E
1|1|1|1
-
 -
-
-
240.0.0.0-254.255.255.255
Loopback
-
-
 -
-
-
127.x.x.x
·            Các subnet
            Việc kết nối hai nút của hai mạng khác nhau cần có một router. Định danh host của mạng lớp A cần có 24 bit; trong khi mạng lớp C, chỉ có 8 bit. Để cấp phát địa chỉ IP cho các mạng khác nhau một cách hiệu quả và dễ quản lí, một kĩ thuật được được sử dụng gọi là subnet. Subnet sẽ vay mượn một số bit của hostid để làm subnet mask(mặt nạ mạng).
-       Subnet mask có tất cả các bit network và subnet đều bằng 1, các bit host đểu bằng 0
-       Tất cả các máy trên cùng một mạng phải có cùng một subnet mask
-       Để phân biệt được các subnet (mạng con) khác nhau, bộ định tuyến dùng phép logic AND
Ví dụ: địa chỉ lớp mạng lớp B 128.10.0.0 có thể dùng 8 bit đầu tiên của hostid để subnet:
Subnet mask = 255.255.255.0
Network
Network
Subnet
Host
11111111
11111111
11111111
00000000
255
255
255
0
            Như vậy, số bit dành cho subnet sẽ là 8 -> có tất cả 28-2=254 subnet (mạng con). Địa chỉ của các subnet lần lượt là 128.10.0.1, 128.10.0.2, 128.10.0.3, ..., 128.10.0.245. 8 bit dành cho host nên mỗi subnet sẽ có 28-2=254 host, địa chỉ của các host lần lượt là 128.10.xxx.1, 128.10.xxx.2, 128.10.xxx.3, ..., 128.10.xxx.254

1.5             Mô hình khách/chủ (client/server)

            Hầu hết các chương trình mạng hiện này sử dụng theo mô hình client/server. Một chương trình chạy ở máy chủ-server mạnh, quản lý một lượng dữ liệu lớn. Một chương trình chạy ở máy khách-client (máy tính cá nhân) thực hiện khai thác dữ liệu ở máy chủ. Trong hầu hết trường hợp, máy chủ gửi dữ liệu, máy khách nhận dữ liệu. Thông thường, client sẽ thiết lập cuộc giao tiếp, và server sẽ đợi yêu cầu thiết lập từ client và giao tiếp với nó.

1.6             Socket

            Socket là biểu diễn trừu tượng hóa một cơ chế kết nối giữa hai ứng dụng trên hai máy bằng cách sử dụng kết hợp địa chỉ IP và số hiệu cổng. Nó cho phép các ứng dụng gởi và nhận dữ liệu cho nhau. Cả client và server đều sử dụng socket để giao tiếp với nhau. Trong ngôn ngữ Java, một socket được biểu diễn bằng một đối tượng của một trong các lớp java.net như Socket, ServerSocket, DatagramSocket hoặc MulticastSocket.

1.7             Dịch vụ tên miền

            Địa chỉ IP được viết dưới dạng 4 nhóm con số nên người sử dụng rất khó nhớ. Vì vậy  hệ thống tên miền được sử dụng để hỗ trợ cho người sử dụng. Các máy tính chuyên dụng để lưu trữ và phân giải tên miền bằng cách lưu danh sách địa chỉ IP và tên miền được gọi là Máy chủ DNS. Ví dụ www.microsoft.com, www.bbc.co.uk. Các tên này không bắt buộc phải có ba phần, nhưng việc đọc bắt đầu từ phải sang trái, tên bắt đầu với miền mức cao. Các miền mức cao là các tên nước cụ thể hoặc tên các tổ chức và được định nghĩa bởi tổ chức IANA. Các tên miền cấp cao được liệt kê trong bảng sau. Trong những năm gần đây, một số tên miền cấp cao mới được đưa vào.
Bảng 15 Một số tên miền cao cấp
Tên miền
Mô tả
.aero
Công nghiệp hàng không
.biz
Doanh nghiệp
.com
Các tổ chức thương mại
.coop
Các quan hệ hợp tác
.info
Không ràng buộc về sử dụng
.museum
Các viện bảo tàng
.name
Các tên cá nhân
Bảng 16 Một số tên miền cao cấp khác
Tên miền
Mô tả
.net
Các mạng
.org
Các tổ chức phi chính phủ
.pro
Các chuyên gia
.gov
Chính phủ Hoa Kỳ
.edu
Các tổ chức giáo dục
.mil
Quân đội Mỹ
.int
Các tổ chức được thành lập bởi các hiệp ước quốc tế giữa các chính phủ.

Bảng 17 Tên miền quốc gia
Tên miền
Mô tả
.at
Autralia
.de
Germany
.fr
France
.uk
United Kingdom
.vn
Vietnam

1.7.1       Các server tên miền

            Các hostname được phân giải bằng cách sử dụng các server DNS (Domain Name Service). Các server này có một cơ sở dữ liệu các hostname và các bí danh ánh xạ các tên thành địa chỉ IP. Ngoài ra, các DNS cũng đăng ký thông tin cho các Mail Server, các số ISDN, các tên hòm thư, và các dịch vụ.
            Trong Windows, chính các thiết lập TCP/IP xác định server DNS được sử dụng để truy vấn. Lênh ipconfig/all chỉ ra các server DNS đã được thiết lập và các thiết lập cấu hình khác. Khi kết nối với một hệ thống ở xa sử dụng hostname, trước tiên server DNS được truy vấn để tìm địa chỉ IP. Trước tiên, DNS kiểm tra trong bộ cơ sở dữ liệu của riêng nó và bộ nhớ cache. Nếu thất bại trong việc phân giải tên, server DNS truy vấn server DNS gốc.

1.7.2       Nslookup

            Dịch vụ tên miền (Domain Name Service) Là tập hợp nhiều máy tính được liên kết với nhau và phân bố rộng trên mạng Internet. Các máy tính này được gọi là name server. Chúng cung cấp cho người dùng tên, địa chỉ IP của bất kỳ máy tính nào nối vào mạng Internet hoặc tìm ra những name server có khả năng cung cấp thông tin này.
Hình 12 Minh họa dùng lệnh nslookup để tìm địa chỉ IP
Cơ chế truy tìm địa chỉ IP thông qua dịch vụ DNS
Giả sử trình duyệt cần tìm tập tin hay trang Web của một máy chủ nào đó, khi đó cơ chế truy tìm địa chỉ sẽ diễn ra như sau:
1.      Trình duyệt yêu cầu hệ điều hành trên client chuyển hostname thành địa chỉ IP.
2.      Client truy tìm xem hostname có được ánh xạ trong tập tin localhost, hosts hay không?
a.       Nếu có client chuyển đổi hostname thành địa chỉ IP và gửi về cho trình duyệt.
b.      Nếu không client sẽ tìm cách liên lạc với máy chủ DNS.
3.      Nếu tìm thấy địa chỉ IP của hostname máy chủ DNS sẽ gửi địa chỉ IP cho client.
4.      Client gửi địa chỉ IP cho trình duyệt.
5.      Trình duyệt sử dụng địa chỉ IP để liên lạc với Server.
6.      Quá trình kết nối thành công. Máy chủ gửi thông tin cho client.

1.8             Các vấn đề liên quan Internet

1.8.1        Intranet và Extranet

            Một intranet có thể sử dụng các công nghệ TCP/IP tương tự như với Internet. Sự khác biệt là intranet là một mạng riêng, trong đó tất cả mọi người đều biết nhau. Intranet không phục vụ cho việc truy xuất chung, và một số dữ liệu cần phải được bảo vệ khỏi những truy xuất từ bên ngoài.
            Một extranet là một mạng riêng giống như intranet nhưng các extranet kết nối nhiều Intranet thuộc cùng một công ty hoặc các công ty đối tác thông qua Internet bằng cách sử dụng một tunnel. Việc tạo ra một mạng riêng ảo trên Internet tiết kiệm chi phí nhiều cho công ty so với việc thuê riêng một đường truyền để thiết lập mạng.

1.8.2       Firewall

            Có những kẻ phá hoại trên mạng Internet!. Để ngăn chặn chúng, người ta thường thiết lập các điểm truy cập tới một mạng cục bộ và kiểm tra tất cả các luồng truyền tin vào và ra khỏi điểm truy nhập đó. Phần cứng và phần mềm giữa mạng Internet và mạng cục bộ, kiểm tra tất cả dữ liệu vào và ra, được gọi là firewall.
            Firewall đơn giản nhất là một bộ lọc gói tin kiểm tra từng gói tin vào và ra khỏi mạng, và sử dụng một tập hợp các quy tắc để kiểm tra xem luồng truyền tin có được phép vào ra khỏi mạng hay không. Kỹ thuật lọc gói tin thường dựa trên các địa chỉ mạng và các số hiệu cổng.

1.8.3       Proxy Server

            Khái niệm proxy có liên quan đến firewall. Một firewall ngăn chặn các host trên mạng liên kết trực tiếp với thế giới bên ngoài. Một máy bị ngăn kết nối với thế giới bên ngoài bởi một firewall sẽ yêu cầu truy xuất tới một trang web từ một proxy server cục bộ, thay vì yêu cầu một trang web trực tiếp từ web server ở xa. Proxy server sau đó sẽ yêu cầu trang web từ một web server, và sau đó chuyển kết quả trở lại cho bên yêu cầu ban đầu. Các proxies cũng được sử dụng cho FTP và các dịch vụ khác. Một trong những ưu điểm bảo mật của việc sử dụng proxy server là các host bên ngoài chỉ nhìn thấy proxy server. Chúng không biết được các tên và các địa chỉ IP của các máy bên trong, vì vậy khó có thể đột nhập vào các hệ thống bên trong.
            Trong khi các firewall hoạt động ở tầng giao vận và tầng internet, các proxy server hoạt động ở tầng ứng dụng. Một proxy server có những hiểu biết chi tiết về  một số giao thức mức ứng dụng, như HTTP và FTP. Các gói tin đi qua proxy server có thể được kiểm tra để đảm bảo rằng chúng chứa các dữ liệu thích hợp cho kiểu gói tin. Ví dụ, các gói tin FTP chứa các dữ liệu của dịch vụ telnet sẽ bị loại bỏ.
Vì tất cả các truy nhập tới Internet được chuyển hướng thông qua proxy server, vì thế việc truy xuất có thể được kiểm soát chặt chẽ. Ví dụ, một công ty có thể chọn giải pháp phong tỏa việc truy xuất tới www.playboy.com nhưng cho phép truy xuất tới www.microsoft.com

1.9             Bài tập

1.                  Tìm hiểu các giao thức chuẩn hóa phổ biến khác ở các tầng khác nhau của mô hình OSI.

2.                  Tìm hiểu các giao thức được sử dụng phổ biến trong các ứng dụng trên mạng Internet. Cho biết số hiệu cổng của các ứng dụng này. Liệt kê các ứng dụng thực tế sử dụng giao thức này. Liệt kê các phần mềm nguồn mở đang phát triển sử dụng các giao thức này. 

Thấy Hay Thì Chia Sẻ Giúp Mình Nha (^^)

Bài Viết Liên Quan

Previous
Next Post »

Nội Quy Khi Gửi Bình Luận:

  • - Vui lòng gõ có dấu khi sử dụng tiếng việt.
  • - Nghiêm cấm spam link khác.
  • - Sử dụng ngôn ngữ có văn hóa khi comment.
  • - Chèn hình ảnh bằng code Link hình ảnh
  • - Chèn video bằng code [iframe] Link nhúng video [/iframe]
  • - Ngoài ra bạn có thể thêm những smile bên dưới vào bình luận để thêm sinh động
Biểu Tượng VuiBiểu Tượng Vui