Các tên như vậy được bắt đầu bằng một số để chỉ ra tốc độ truyền tối đa, tiếp theo là một từ được sử dụng để xác định công nghệ truyền dẫn, và cuối cùng là một số để chỉ ra khoản[r]
Trang 1Giáo trình: Mạng máy tính
Trang 2Chương 1
Các khái niệm căn bản về mạng và giao thức mạng
1 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 đó
Chúng ta có thể phân loại mạng theo qui mô của nó:
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
Khi nói đến các mạng máy tính, người ta thường đề cập tới mạng xương sống (backbone) 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.1 Các đường kết nối trong mạng WAN
Để kết nối tới một mạng WAN, có một số tùy chọn như sau:
Khi một khách hàng cụ thể yêu cầu sử dụng mạng với thông lượng xác định, chúng ta có thể sử dụng các đường thuê bao (leased line)
Các đường chuyển mạch (switched lines) được sử dụng bởi dịch vụ điện thoại thông thường Một mạch được thiết lập giữa phía nhận và phát trong khoảng thời gian thực hiện cuộc gọi hoặc trao đổi dữ liệu Khi không còn cần dùng đường truyền nữa, thì cần phải giải phóng đường truyền cho khách hàng khác sử dụng
Các ví dụ về các đường chuyển mạch là các đường POTS , ISDN, và DSL
Mạng chuyển mạch gói là mạng mà trong đó nhà cung cấp dịch vụ cung cấp công nghệ chuyển mạch để giao tiếp với mạng xương sống Giải pháp này cung cấp hiệu năng cao và khả năng chia sẻ tài nguyên giữa các khách hàng
Trang 3Các giao thức được sử dụng cho các mạng chuyển mạch bao gồm X.25 (64Kbps), Frame Relay (44.736Mbps), và ATM (9.953 Gbps)
Kiến trúc mạng: Một trong những vấn đề cần quan tâm đối với một mạng máy tính là kiến trúc mạng Nó cập tới hai khía cạnh là Hình trạng mạng và Giao thức mạng
Hình trạng mạng: Là cách nối các máy tính với nhau Người ta phân
loại mạng theo hình trạng mạng như mạng sao, mạng bus, mạng ring…
Giao thức mạng: Là tập hợp các qui tắc, qui ước truyền thông của
mạng mà tất cả các thực thể tham gia truyền thông phải tuân theo
1.2 Giao thức Ethernet
Để có được sự hiểu biết tốt hơn về các mạng vật lý hoạt động như thế nào, chúng ta sẽ xem xét một số giao thức LAN phổ biến: giao thức Ethernet Chín mươi phần trăm các thiết bị gắn với một mạng LAN sử dụng giao thức Ethernet, ban đầu được phát triển bởi Xerox, Digital Equipement, và Intel năm 1972
Ngày nay, Ethernet có thể hỗ trợ các đường truyền 100Mbps và 1Gbps Rất nhiều công nghệ đường truyền có thể được sử dụng với một Ethernet Người ta sử dụng một số qui ước để đặt tên giao thức Enternet Tên này chỉ ra tốc độ của mạng Ethernet và các thuộc tính của công nghệ đường truyền Các tên như vậy được bắt đầu bằng một số để chỉ ra tốc độ truyền tối đa, tiếp theo
là một từ được sử dụng để xác định công nghệ truyền dẫn, và cuối cùng là một số để chỉ ra khoảng cách giữa hai nút Ví dụ, 10Base2 ký hiệu một Ethernet hoạt động với tốc độ 10Mbps sử dụng kỹ thuật truyền trên băng tần
cơ sở, với các cáp có chiều dài tối đa là 200m Một số cấu hình thông dụng khác như sau:
Chuẩn
Ethernet
10Base5 10Mbps Cáp đồng
trục
Đây là chuẩn ban đầu cho Ethernet
10BaseT 10Mbps Cáp đồng 10BaseT là một mạng 10Mbps
với cáp xoắn
100BaseTX 100Mbs Cáp đồng 100Mbps công nghệ cáp xoắn và
khả năng truyền song công 1000BaseSX 1000Mbps Cáp đa chế
độ
1000Mbps với cáp sợi quang S :Short wavelength (850nm)
Trang 4Bảng 1.1
CSMA/CD (Carrier Sense Multiple Access/Collision Detect).
Nhiều thiết bị được kết nối vào cùng một mạng và tất cả đều cùng có quyền truy xuất đồng thời Khi một thông điệp được gửi đi, nó được truyền thông qua một mạng Phía nhận được định danh bởi một địa chỉ duy nhất, và chỉ có nút này đọc thông điệp, còn các nút khác thì bỏ qua
Một vấn đề đặt ra là khi có nhiều nút cùng cố gắng gửi thông điệp tại cùng một thời điểm, điều này có thể phá hỏng các gói tin Giải pháp cho vấn
đề này là mỗi nút mạng giám sát mạng và có thể phát hiện mạng đang rảnh hay bận Một nút chỉ có thể bắt đầu gửi dữ liệu khi không có dữ liệu nào được gửi đi trên mạng trước đó CSMA là một bộ phận của CSMA/CD
Tuy nhiên vẫn có khả năng là hai nút, sau khi kiểm tra thấy mạng không bận, bắt đầu gửi gói tin cùng một thời điểm trên cùng cáp mạng Điều này có thể gây lên xung đột giữa hai gói tin, kết quả là phá hỏng dữ liệu Cả hai phía gửi đều nhận thức được gói tin bị hỏng bởi vì nó vẫn lắng nghe mạng khi gửi
dữ liệu, và vì thế có thể phát hiện xung đột Đây là CD (Collision Dection) trong CSMA/CD Cả hai nút dừng việc truyền dữ liệu ngay tức thời, và chờ một thời điểm nhất định trước khi kiểm tra mạng trở lại để xem mạng có rỗi hay không và truyền lại
Mỗi nút trên mạng sử dụng một địa chỉ MAC (Media Access Control)
để định danh duy nhất Địa chỉ này được định nghĩa bởi thiết bị giao tiếp mạng Một gói tin được gửi đi trên mạng, nhưng nếu thiết bị mạng không nhận diện host của nó như một host nhận, nó sẽ bỏ qua gói tin và chuyển tiếp nó
Các giao thức khác
IBM đã phát triển giao thức Token Ring (IEEE802.5), trong đó các nút mạng được kết nối theo một vòng Với Ethernet, bất kỳ một nút nào cũng có thể gửi một thông điệp khi không có gói tin nào trên mạng Với Token Ring mỗi nút có một quyền truy xuất tới mạng theo một thứ tự định trước Một token lưu chuyển vòng quanh vòng, và chỉ nút lệnh nào có thẻ bài mới có thể gửi thông điệp Ngày nay, Ethernet đang thay thế dần các mạng Token Ring bởi vì các mạng này tốn kém và khó cài đặt
AppleTalk là một giao thức mạng LAN được phát triển bởi Apple tương đối phổ biến trong các trường học, các nhà máy,
Trang 5ATM là một giao thức khác có thể tìm thấy trong mạng LAN Nó hỗ trợ các mạng tốc độ cao sử dụng kỹ thuật chuyển mạch và có đảm bảo chất lượng dịch vụ
1.3 Các thành phần vật lý
Một vấn đề quan trọng để biết về mạng là biết về phần cứng Chúng ta
sẽ xem xét các thành phần chủ yếu của một mạng LAN sau:
o Thiết bị giao tiếp mạng
o Hub
o Switch
o Router
Thiết bị giao tiếp mạng (Network Interface Thiết bị)
NIC là thiết bị giao tiếp được sử dụng để kết nối một thiết bị với mạng LAN Nó cho phép chúng ta gửi và nhận các thông điệp từ mạng Một NIC có một địa chỉ MAC duy nhất mà cung cấp định danh duy nhất cho từng thiết bị Địa chỉ MAC là một số 12 byte-hệ 16 được gán cho thiết bị mạng Địa chỉ này có thể được thay đổi bởi một trình điều khiển mạng một cách linh hoạt (như trong trường hợp của hệ thống DECnet, mạng được phát triển bởi Digital Equipment), nhưng thông thường địa chỉ MAC không thay đổi
Ta có thể tìm địa chỉ MAC của một máy sử dụng hệ điều hành Windows bằng cách dùng tiện ích dòng lệnh ipconfig trong DOS với tham số switch
Hình 1.1
Hub
Trang 6String line=userInput.readLine();
if(line.equals("exit"))break;
byte[] data=line.getBytes();
DatagramPacket dp=new DatagramPacket(data,data.length,server,port);
ds.send(dp);
Thread.yield();
} }
catch(IOException e) {
System.err.println(e);
} }
}
Client Echo
import java.net.*;
import java.io.*;
public class UDPEchoClient
{
public final static int DEFAULT_PORT=7;
public static void main(String[] args)
{
String hostname="localhost";
int port= DEFAULT_PORT;
if(args.length>0) {
hostname=args[0];
} try{
Trang 7InetAddress ia=InetAddress.getByName(args[0]);
SenderThread sender=new SenderThread(ia,DEFAULT_PORT);
sender.start();
ReceiverThread receiver=new ReceiverThread(sender.getSocket());
receiver.start();
} catch(UnknownHostException e) {
System.err.println(e);
} catch(SocketException e) {
System.err.println(e);
} }
}
7 Kết luận
Trong chương này, chúng ta đã thảo luận những khái niệm căn bản về giao thức UDP và so sánh nó với giao thức TCP Chúng ta đã đề cập tới việc cài đặt các chương trình UDP trong Java bằng cách sử dụng hai lớp
DatagramPacket và DatagramSocket Một số chương trình mẫu cũng được giới thiệu để bạn đọc tham khảo và giúp hiểu sâu hơn về các vấn đề lý thuyết