Tải bản đầy đủ (.pdf) (104 trang)

Tài liệu KIẾN THỨC MẠNG CƠ BẢN doc

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.42 MB, 104 trang )


0



KIẾN THỨC MẠNG CƠ BẢN












1
CHƯƠNG I. MẠNG MÁY TÍNH

I. Mạng máy tính 5
II. Phân loại mạng máy tính 6
II.1. Phân loại theo kiến trúc (topology) của mạng 6
II.1.1. Mạng điểm-điểm (point-to-point network) 6
II.1.2. Mạng quảng bá (broadcast network) 7
II.2. Phân loại theo phương thức chuyển mạch (Swiched Method) 7
II.2.1. Chuyển mạch kênh (Circuit Swiched Network) 7
II.2.2. Chuyển mạch tin báo (Message Swiched Network) 8
II.2.3. Chuyển mạch gói (Packed Swiched Network) 8
II.3. Phân loại theo phạm vi hoạt động 8


II.3.1. Mạng LAN (Local Area Network) 8
II.3.2. Mạng MAN (Metropolian Area Network) 8
II.3.3. Mạng WAN (Wide Area Network) 8
II.3.4. Liên mạng (internet) 8


CHƯƠNG II. GIAO THỨC TRUYỀN THÔNG VÀ CÁC MÔ HÌNH
THAM CHIẾU

I. Giao thức truyền thông 11
II. Mô hình tham chiếu OSI 12
II.1. Giới thiệu mô hình OSI 12
II.2. Các tầng của mô hình OSI 14
II.2.1. Tầng vật lý (Physical layer) 14
II.2.2. Tầng liên kết dữ liệu (Data link layer) 14
II.2.3. Tầng mạng (Network layer) 15
II.2.4. Tầng giao vận (Transport layer) 15
II.2.5. Tầng phiên (Session layer) 16
II.2.6. Tầng trình diễn (Presentation layer) 16
II.2.7. Tầng ứng dụng (Application layer) 16
II.3. Những vấn đề về OSI 16
III. Kiến trúc giao thức IPX/SPX 17
III.1. Kiến trúc giao thức IPX/SPX 17
III.2. Gói tin IPX 18
III.3. Cơ chế hoạt động của Novell Netware 19


CHƯƠNG III. BỘ GIAO THỨC TCP/IP

I. Bộ giao thức TCP/IP 20

II. Kiến trúc của bộ giao thức TCP/IP 21

2
II.1. Kiến trúc phân tầng của TCP/IP 21
II.2. Cơ chế địa chỉ Internet 24
II.2.1. Địa chỉ lớp A 25
II.2.2. Địa chỉ lớp B 26
II.2.3. Địa chỉ lớp C 26
II.3. Mạng con và Subnet mask 26
III. Tầng mạng (Network Layer) 29
IV. Tầng Internet (Internet Layer) 30
IV.1. Gói tin IP 31
IV.2. Giao thức chuyển địa chỉ ARP (Address Resolution Protocol) và
cơ giao thức chuyển ngược địa chỉ RARP (Reverse Address Resolution
Protocol) 34
IV.2.1. Chuyển giao trực tiếp 34
IV.2.2. Chuyển giao địa chỉ động 34
IV.2.3. Gói tin ARP 35
IV.3. Giao thức điều khiển truyền tin (Internet Control Message Protocol
- ICMP) 37
IV.3.1. Gói tin ICMP 37
IV.3.2. Điều khiển dòng dữ liệu 38
IV.3.3. Thông báo lỗi 38
IV.3.4. Định hướng lại 38
IV.3.5. Kiểm tra trạm làm việc 39
IV.4. Thuật toán dẫn đường 39
V. tầng giao vận 43
V.1. Giao thức không kết nối (User Datagram Protocol - UDP) 43
V.1.1. Gói thông tin UDP 43
V.1.2. Phân kênh, hợp kênh và Ports 44

V.2. Giao thức điều khiển truyền tin (Transmission Control Protocol -
TCP) 46
V.2.1. Gói tin TCP 49
V.2.2. Cổng, kết nối và điểm kết nối 49
VI. Tầng ứng dụng của TCP/IP 51
VI.1. Dịch vụ tên miền (Domain Name Service - DNS) 51
VI.2. Đăng nhập từ xa (Telnet) 53
VI.3. Thư điện tử (Electronic Mail) 54
VI.4. Giao thức truyền tệp (File Transfer Protocol - FTP) 56
VI.5. Nhóm tin (News groups) 57
VI.6. Tìm kiếm tệp (Archie) 57
VI.7. Tra cứu thông tin theo thực đơn (Gopher) 57
VI.8. Tìm kiếm thông tin theo chỉ số (WAIS) 57
VI.9. Siêu văn bản (WWW) 58



3



CHƯƠNG IV. XÂY DỰNG CHƯƠNG TRÌNH TRUYỀN TỆP

I. Giao diện lập trình 59
I.1. Giao diện lập trình 59
I.2. Network I/O và file I/O 60
I.3. Làm việc với Socket 61
I.3.1. Socket 61
I.3.2. Địa chỉ Socket 62
I.3.3. Một số lời gọi tạo lập socket 64

I.3.4. Một số lời gọi gửi dữ liệu qua socket 68
I.3.5. Một số lời gọi nhận dữ liệu từ socket 69
II. Mô hình Client-Server 70
II.1. Mô hình Client-Server sử dụng dịch vụ không kết nối 71
II.2. Mô hình Client-Server sử dụng dịch vụ hướng kết nối 72
III. Xây dựng chương trình truyền tệp 73
III.1. Thiết kế và cài đặt chương trình 73
III.1.1. Giao thức ứng dụng được xây dựng và sử dụng trong chương
trình 73
III.1.2. Cài đặt chương trình 75
III.2. Một số vấn đề nảy sinh trong quá trình thực hiện và cách giải quyết78
III.2.1. Vấn đề chuyển đổi tệp giữa hai hệ điều hành. 78
III.2.2. Vấn đề về một số lệnh tương tác 80


Phụ lục A. MỘT SỐ MẠNG CỤC BỘ

I. Mạng Ethernet và IEEE 802.3 82
II. Mạng Token-Pasing Rings (IEEE 802.5) 82
III. Mạng Token-Passing Busses (IEEE 802.4) 84


Phụ lục B. MỘT SỐ KỸ THUẬT CHỌN ĐƯỜNG ĐI NGẮN NHẤT

I. Giải thuật Dijkstra cho việc chọn đường tập trung 86
II. Giải thuật Ford& Fulkerson cho việc chọn đường phân tán 87


Phụ lục C. VĂN BẢN CHƯƠNG TRÌNH (PHẦN CLIENT)


I. Chương trình chính (main.c) 89

4
II. Thư viện sử dụng (Socket.c) 96

5















 CHƯƠNG I . MẠNG MÁY TÍNH
I. MẠNG MÁY TÍNH

6
Mạng máy tính là hệ thống các máy tính độc lập (autonomous) được kết nối
với nhau. Khái niệm độc lập ở đây có nghĩa là chúng không có mối quan hệ
chủ/tớ (master/slave) rõ ràng. Hai máy tính được gọi là được kết nối với nhau
nếu chúng có khả năng trao đổi thông tin. Sự kết nối có thể thông qua dây
dẫn, tia laser, sóng điện từ hay vệ tinh viễn thông Việc kết nối các máy tính

có những ưu điểm sau
 Sử dụng chung tài nguyên (resource sharing): Chương trình, dữ liệu,
thiết bị có thể được dùng chung bởi người dùng từ các máy tính trên mạng.
 Tăng độ tin cậy của hệ thống thông tin (reliability): Nếu một máy tính
hay một đơn vị dữ liệu nào đó bị hỏng thì luôn có thể sử dụng một máy
tính khác hay một bản sao khác của dữ liệu, nhờ đó, khả năng mạng bị
ngừng sử dụng được giảm thiểu.
 Tạo ra môi trường truyền thông mạnh giữa nhiều người sử dụng trên
phạm vi địa lý rộng: Mục tiêu này ngày càng trở nên quan trọng nhất là
khi mạng máy tính đã phát triển trên phạm vi toàn cầu như ngày nay.
 Tiết kiệm chi phí: Do tài nguyên được dùng chung, hệ thống tin cậy hơn
nên chi phí thiết bị và bảo dưỡng của mạng máy tính thấp hơn so với
trường hợp máy tính riêng lẻ.
II. PHÂN LOẠI MẠNG MÁY TÍNH
II.1. Phân loại theo kiến trúc (topology) của mạng
Phân loại theo kiến trúc là cách phân loại mạng máy tính theo cách kết nối các
máy tính trong mạng
II.1.1. Mạng điểm-điểm (point-to-point network)
Các đường truyền nối các cặp nút với nhau, mỗi nút có trách nhiệm lưu trữ
tạm thời sau đó chuyển tiếp dữ liệu tới đích. Cách làm việc này còn gọi là lưu
và chuyển tiếp (store-and-forward). Mạng điểm-điểm cần sử dụng lượng cáp
nối lớn hoặc nhiều đường điện thoại thuê riêng (leased telephone lines), mỗi

7
đường nối một cặp điểm làm việc. Nếu 2 điểm làm việc muốn gửi thông tin
cho nhau mà không có đường truyền trực tiếp, dữ liệu của chúng cần được
truyền qua một số nút khác do đó, thuật toán dẫn đường có vai trò rất quan
trọng trong kiến trúc mạng điểm-điểm.








II.1.2. Mạng quảng bá (broadcast network)
Tất cả các nút cùng dùng chung một đường truyền vật lý. Dữ liệu được tiếp
nhận bởi tất cả các máy tính, nếu máy tính nào kiểm tra thấy gói tin được gửi
cho mình, nó sẽ giữ lại và xử lý. Các mạng quảng bá thường cho phép sử
dụng địa chỉ broadcasting để gửi thông báo tới toàn mạng.







II.2. Phân loại theo phương thức chuyển mạch (Swiched Method)
II.2.1. Chuyển mạch kênh (Circuit Swiched Network)
Thông tin truyền qua một kênh vật lý cố định, tốc độ và độ tin cậy cao nhưng
lãng phí đường truyền do không sử dụng hết.
Star Tree Ring
Satellite Bus Ring

8
II.2.2. Chuyển mạch tin báo (Message Swiched Network)
Liên lạc được thiết lập khi có thông tin cần truyền, thông tin được định dạng
gồm header và data và có độ dài không cố định: Mối liên lạc được thiết lập và
chỉ giải phóng khi truyền xong dữ liệu do đó không quản lý được thời gian
chiếm đường truyền

II.2.3. Chuyển mạch gói (Packed Swiched Network)
Thông tin được cắt ra thành các gói có độ dài quy định Ví dụ Erthenet IEEE
802.3 chia message thành các gói 1500 bytes. Mỗi gói đều có header và data.
Các gói của các message khác nhau có thể truyền xen kẽ trên đường truyền do
đó thời gian chờ đợi chung của hệ thống giảm.
II.3. Phân loại theo phạm vi hoạt động
Theo phạm vi hoạt động, người ta chia mạng máy tính thành những loại sau
II.3.1. Mạng LAN (Local Area Network)
Thường là mạng được sử dụng cho một công ty, trường học hay trong một toà
nhà, khoảng cách tương đối nhỏ (cỡ vài trăm m tới vài Km) tốc độ truyền lớn,
độ trễ nhỏ.
(Phụ lục A trình bày một số mạng cục bộ thường được sử dụng)
II.3.2. Mạng MAN (Metropolian Area Network)
Mạng được cài đặt trong phạm vi một đô thị hay trung tâm kinh tế - xã hội (có
bán kính khoảng 100 Km)
II.3.3. Mạng WAN (Wide Area Network)
Mạng diện rộng có thể bao trùm một vùng rộng lớn cỡ quốc gia hay lục địa.
II.3.4. Liên mạng (internet)
Phần lớn các mạng cục bộ đều độc lập với nhau về phần cứng cũng như phần
mềm, chúng được thiết lập nhằm mục đích phục vụ những nhóm người cụ thể

9
nào đó. Trong mỗi mạng đó, người dùng tự lựa chọn một công nghệ phần
cứng phù hợp với công việc của họ. Một điều quan trọng nữa là không thể xây
dựng một mạng chung dựa trên một công nghệ sử dụng trên một mạng đơn lẻ
nào đó bởi vì không có công nghệ mạng nào có thể thoả mãn nhu cầu cho tất
cả mọi người. Một số người có nhu cầu sử dụng đường nối cao tốc để truyền
dữ liệu của mình trong khi các mạng LAN không thể mở rộng phạm vi hoạt
động quá xa. Một số mạng tốc độ chậm lại có thể kết nối máy tính tới hàng
ngàn dặm

Liên mạng máy tính (internetworking hay internet) là một công nghệ được
đưa ra nhằm kết nối các mạng thành một thể thống nhất. Công nghệ internet
che dấu đi kiến trúc vật lý của mạng và cho phép máy tính truyền thông một
cách độc lập với liên kết vật lý của mạng. Một liên mạng đã khá quen thuộc
với chúng ta là mạng Internet
Giới thiệu mạng Internet
Internet là một tổ hợp hàng triệu máy được kết nối với nhau thông qua các
thiết bị ghép nối thường gọi là gateway để có thể chia sẻ thông tin với nhau,
trong đó có đủ loại máy tính, và chúng sử dụng nhiều hệ điều hành khác nhau.
Thông tin trên Internet gồm đủ loại từ thư điệu tử, các file đồ hoạ đến video
và còn nhiều thứ khác được cung cấp bởi những người sử dụng Internet bằng
nhiều phương thức, với nhiều tư tưởng khác nhau.
Quy mô của Internet
Có bao nhiêu máy được kết nối vào Internet? Con số cụ thể luôn luôn thay
đổi, những địa chỉ mới luôn luôn được cập nhật từng giây chúng ta có thể truy
nhập địa chỉ Web site của tổ chức Network Wizards

để biết những số liệu mới nhất

Thời gian Số lượng máy
Tháng 1 năm 1996 14,252,000
Tháng 1 năm 1997 21,819,000

10
Tháng 1 năm 1998 29,670,000

Những máy chủ (host) mạnh thường sử dụng những hệ điều hành đa nhiệm,
ví dụ như UNIX, để người sử dụng kết nối vào, như thế có nghĩa là số máy
của người sử dụng mạng nhiều hơn những con số trên. Những máy chủ được
định vị tại các điểm như thư viện, các trường đại học, các tổ chức chính phủ,

các đại lý, các công ty, các trường trung học, tiểu học trên toàn thế giới.
Những máy chủ này được kết nối với nhau qua đường điện thoại và chỉ mất
khoảng 640/1000 giây để bắt đầu nhận thông báo từ Bắc Mỹ tới Nam cực.
Các dịch vụ mà Internet cung cấp
Phần lớn người sử dụng Internet không cần biết đến của công nghệ sử dụng
trên Internet, đối với họ Internet chỉ đơn giản là một bộ chương trình phần
mềm mang lại cho họ những khả năng truyền thông có ích. Chính điều này
mang lại cho Internet số người dùng đông đảo tới như vậy.
Các dịch vụ mức ứng dụng ban đầu trên Internet

 Thư điện tử (Electronic mail) Cho phép người dùng ngồi trước máy tính
tại nhà mình gửi E-mail tới bất cứ ai ở đâu trên thế giới nếu họ có địa chỉ
E-mail. Họ có thể tham gia các nhóm thảo luận (discussion group) về
những đề tài khác nhau hay bắt đầu một nhóm mới về những chủ đề mà họ
ưa thích.
 Truyền file (File Transfer) Nếu cần một chương trình phần mềm mới như
các tiện ích nén file, các chương trình diệt virus, một phần mềm trò chơi,
hình ảnh hay âm thanh, người dùng có thể tải xuống bất cứ lúc nào với
File Transfer.
 Truy nhập từ xa (Remote login) Có lẽ điều thú vị nhất trong các ứng dụng
của Internet là Remote login, nó cho phép người dùng kết nối vào một máy
tính ở xa như một trạm cuối để sử dụng máy tính đó.
Dịch vụ mức mạng của Internet

11
Một lập trình viên viết chương trình ứng dụng trên Internet cần có một cái
nhìn khác với người chỉ đơn giản sử dụng dịch vụ Internet. Ở tầng mạng,
Internet cung cấp 2 kiểu dịch vụ mà các ứng dụng của Internet thường dùng
đó là
 Dịch vụ truyền không kết nối (Connectionless Paket Delivery Service) là

một phương thức truyền dữ liệu mà các mạng chuyển mạch gói cung cấp.
Điều này chỉ đơn giản là mạng Internet chuyển các gói tin từ máy này sang
máy khác dựa vào thông tin địa chỉ của gói đến đích của nó. Việc chia nhỏ
gói tin truyền này có một lợi điểm là nếu một đường đi bị bận hoặc bị đứt,
thì các gói có thể được truyền theo một đường khác.
 Dịch vụ truyền tin cậy (Reliable Stream Transport Service) Phần lớn các
ứng dụng đòi hỏi nhiều dịch vụ hơn chỉ truyền thông không kết nối bởi vì
chúng cần tự động sửa lỗi, kiểm tra tính toàn vẹn của thông tin truyền đi
trên mạng. Reliable Stream Transport Service giải quyết vấn đề này cho ta.






 CHƯƠNG II . GIAO THỨC TRUYỀN THÔNG VÀ CÁC
MÔ HÌNH THAM CHIẾU
I. GIAO THỨC TRUYỀN THÔNG
Để các máy tính trên mạng có thể trao đổi thông tin với nhau, chúng cần có
một bộ những phần mềm cùng làm việc theo một chuẩn nào đó. Giao thức
truyền thông (protocol) là tập quy tắc quy định phương thức truyền nhận
thông tin giữa các máy tính trên mạng.

12
Các mạng máy tính hiện đại được thiết kế bằng cách phân chia cấu trúc ở mức
độ cao nhằm làm giảm sự phức tạp khi thiết kế. Các giao thức mạng thường
được chia làm các tầng (layer), mỗi tầng được xây để dựng dựa trên dịch vụ
của tầng dưới nó và cung cấp dịch vụ cho tầng cao hơn.
II. MÔ HÌNH THAM CHIẾU OSI
II.1. Giới thiệu mô hình OSI

Mô hình mạng máy tính do tổ chức tiêu chuẩn hoá quốc tế (International
Standard Organization - ISO) đưa ra năm 1983 được gọi là mô hình tham
chiếu các hệ thống mở (Open Systems Interconect referent model - OSI).
Các điều khoản mô tả trong mô hình được sử dụng rộng rãi trong lý thuyết
truyền thông, do đó, trong thực tế khó có thể nói về truyền thông mà không sử
dụng thuật ngữ của OSI.

Mô hình tham chiếu OSI chứa 7 tầng mô tả chức năng của giao thức truyền
thông. Mỗi tầng của mô hình OSI miêu tả một chức năng được thực hiện khi
dữ liệu di chuyển giữa các ứng dụng giữa các mạng.

 Tầng ứng dụng bao gồm các trình ứng dụng sử dụng mạng.
 Tầng trình diễn tiêu chuẩn hoá dữ liệu cung cấp cho tầng ứng dụng.
 Tầng phiên quản trị các phiên làm việc giữa các ứng dụng.
 Tầng giao vận cung cấp kết nối trạm-trạm, xử lý lỗi.
 Tầng mạng quản trị việc kết nối qua mạng cho các tầng trên.
 Tầng liên kết dữ liệu cung cấp phân phát dữ liệu tin cậy qua đường
truyền vật lý.
 Tầng vật lý định rõ các đặc thù của thiết bị mạng.

Các lớp giao thức được xếp chồng lớp nọ trên lớp kia. Chính sự xuất hiện của
nó, cấu trúc thường được gọi là stack hoặc giao thức xếp chồng.

13

Việc phân tầng của OSI tuân theo một số nguyên tắc sau
 Một lớp được tạo ra khi cần đến mức trừu tượng hoá tương ứng.
 Mỗi lớp cần thực hiện các chức năng được định nghĩa rõ ràng.
 Việc chọn chức năng cho mỗi lớp cần chú ý tới việc định nghĩa các quy
tắc chuẩn hoá quốc tế.

 Ranh giới các mức cần chọn sao cho thông tin đi qua là ít nhất (tham số
cho chương trình con là ít).
 Số mức phải đủ lớn để các chức năng tách biệt không nằm trong cùng
một lớp và đủ nhỏ để mô hình không quá phức tạp. Một mức có thể được
phân thành các lớp nhỏ nếu cần thiết. Các mức con có thể lại bị loại bỏ.

Hai hệ thống khác nhau có thể truyền thông với nhau nếu chúng bảo đảm
những nguyên tắc chung (cài đặt cùng một giao thức truyền thông). Các chức
năng được tổ chức thành một tập các tầng đồng mức cung cấp chức năng
như nhau. Các tầng đồng mức phải sử dụng một giao thức chung.

Một tầng không định nghĩa một giao thức đơn, nó định nghĩa một chức năng
truyền thông có thể được thi hành bởi một số giao thức. Do vậy, mỗi tầng có
thể chứa nhiều giao thức, mỗi giao thức cung cấp một dịch vụ phù hợp cho
chức năng của tầng. Ví dụ cả giao thức truyền file (File Transfer Protocol -
FTP) và giao thức thư điện tử (Simple Mail Transfer Protocol - SMTP) đều
cung cấp dịch vụ cho người dùng và cả hai đều thuộc tầng ứng dụng. Mỗi
mức ngang hàng giao thức truyền thông (sự bổ xung của các giao thức cùng
mức tương đương trên hệ thống khác). Mỗi mức phải được chuẩn hoá để giao
tiếp với mức tương đương với nó. Trên lý thuyết, giao thức chỉ biết đến
những gì liên quan tới lớp của nó mà không quan tâm tới mức trên hoặc dưới
của nó. Tuy nhiên phải có sự thoả thuận để chuyển dữ liệu giữa các tầng trên
một máy tính, bởi mỗi tầng lại liên quan tới việc gửi dữ liệu từ ứng dụng tới

14
một ứng dụng tương đương trên một máy khác. Tầng cao hơn dựa vào tầng
thấp hơn để chuyển dữ liệu qua mạng phía dưới. Dữ liệu chuyển xuống
ngăn xếp từ tầng này xuống tầng thấp hơn cho tới khi được truyền qua mạng
nhờ giao thức của tầng vật lý. Ở đầu nhận, dữ liệu đi lên ngăn xếp tới ứng
dụng nhận. Những tầng riêng lẻ không cần biết các tầng trên và dưới nó xử lý

ra sao, nó chỉ cần biết cách chuyển nhận thông tin từ các tầng đó. Sự cô lập
các hàm truyền thông trên các tầng khác nhau giảm thiểu sự tích hợp công
nghệ của đầu vào mỗi bộ giao thức. Các ứng dụng mới có thể thêm vào mà
không cần thay đổi tầng vật lý của mạng, phần cứng có thể được bổ sung mà
không cần viết lại các phần mềm ứng dụng.
II.2. Các tầng của mô hình OSI
II.2.1. Tầng vật lý (Physical layer)
 Tầng vật lý liên quan tới việc truyền dòng bit giữa các máy bằng kênh
truyền thông vật lý, ở đây, cấu trúc của dữ liệu không được quan tâm đến.
 Việc thiết kế tầng vật lý cần quan tâm đến các vấn đề về ghép nối cơ khí,
điện tử, thủ tục và môi trường truyền tin bên dưới nó ví dụ mức điện áp
tương ứng với bit 0 - 1, thời gian tồn tại của xung
II.2.2. Tầng liên kết dữ liệu (Data link layer)
 Liên kết, thiết lập, duy trì, huỷ bỏ các liên kết dữ liệu là nhiệm vụ của tầng
data link.
 Ngoài ra tầng data link còn kiểm soát lỗi đường truyền, thông lượng.

Tầng này thực hiện việc đóng gói thông tin gửi thành các frame, gửi các
frame một cách tuần tự đi trên mạng, xử lý các thông báo xác nhận
(Acknowledgement frame) do bên nhận gửi về. Xác định ranh giới giữa các
frame bằng cách ghi một số byte đặc biệt vào đầu và cuối frame. Giải quyết

15
vấn đề thông lượng truyền giữa bên gửi và bên nhận (Vấn đề này có thể được
giải quyết bởi một số lớp trên).
II.2.3. Tầng mạng (Network layer)
 Vấn đề chủ chốt của tầng mạng là dẫn đường, định rõ các gói tin (packet)
được truyền theo những con đường nào từ nguồn đến đích. Các con đường
này có thể cố định, ít bị thay đổi, được thiết lập khi bắt đầu liên kết hay
động (dynamic) thay đổi tuỳ theo trạng thái tải của mạng.

 Nếu có nhiều gói tin truyền trên mạng có thể xảy ra tình trạng tắc nghẽn,
tầng mạng phải giải quyết vấn đề này.
 Thực hiện chức năng giao tiếp với các mạng bao gồm việc đánh lại địa chỉ,
cắt hợp gói tin cho phù hợp với các mạng.
Ngoài ra tầng mạng còn thực hiện một số chức năng kế toán, ví dụ, một số
Firewall (packet filtering) được cài đặt trên tầng này để thống kê số lượng các
gói tin truyền qua mạng hay ngăn cấm hoặc cho phép các gói tin của giao
thức nào đó.
II.2.4. Tầng giao vận (Transport layer)
 Kiểm soát việc truyền tin từ nút tới nut (end-to-end): Bắt đầu từ tầng này,
các thực thể đã có thể nói chuyện một cách logic với nhau.
 Thực hiên việc ghép kênh và phân kênh: Mỗi ứng dụng có thể gửi dữ liệu
đi theo nhiều con đường, một đường truyền lại có thể được nhiều ứng
dụng sử dụng, phân kênh/hợp kênh giải quyết vấn đề phân chia dữ liệu cho
các ứng dụng.
 Khắc phục sai sót trong quá trình truyền tin: Việc khắc phục sai sót được
thực hiện trên nhiều tầng khác nhau, nhưng hiệu quả nhất là ở các tầng
cao, việc khắc phục sai sót làm ở tầng giao vận là hợp lý nhất.

16
II.2.5. Tầng phiên (Session layer)
 Tầng này cho phép người sử dụng trên các máy khác nhau thiết lập, duy
trì, huỷ bỏ, đồng bộ phiên truyền thông giữa họ. Cung cấp một số dịch vụ
hữu ích cho người sử dụng như cho phép người dùng logon vào hệ thống
chia sẻ thời gian, truyền tệp giữa các máy tính.
 Quản lý token: cơ chế thẻ bài được tầng phiên cung cấp để tránh hiện
tượng tranh chấp đường truyền trên mạng.
 Thực hiện đồng bộ (Synchronization): thực hiện đối với những dữ liệu lớn
bằng cách thêm vào các thông tin kiểm tra, sửa lỗi.
II.2.6. Tầng trình diễn (Presentation layer)

 Giải quyết vấn đề liên quan tới cú pháp và ngữ nghĩa của thông tin như
chuyển đổi thông tin theo một chuẩn nào đó được cả hai bên sử dụng (mã
ASCII - EDBCDIC).
 Nén/giãn dữ liệu để giảm số lượng bit truyền trên mạng.
 Mã hoá dữ liệu để thực hiện quyền truy cập.
II.2.7. Tầng ứng dụng (Application layer)
 Tầng ứng dụng cung cấp giao diện sử dụng cho người dùng và môi trường
truyền tin.
 Thực hiện chức năng chuyển file trong đó có giải quyết vấn đề không
tương thích như cách đặt tên file hay các mã điều khiển trong một tệp văn
bản
 Cung cấp các dịch vụ Electronic mail, Remote login, Directory lookup
II.3. Những vấn đề về OSI
Bản thân OSI không phải là một kiến trúc mạng bởi vì nó không chỉ ra chính
xác các dịch vụ và các nghi thức được sử dụng trong mỗi tầng. Mô hình này
chỉ ra mỗi tầng cần thực hiện nhiệm vụ gì. ISO đã đưa ra các tiêu chuẩn cho

17
từng tầng, nhưng các tiêu chuẩn này không phải là một bộ phận của mô hình
tham chiếu.
Mô hình OSI ra đời sau khi các giao thức TCP/IP (TCP/IP sẽ được trình bày ở
phần sau) đã được sử dụng rộng rãi, nhiều công ty đã đưa ra các sản phẩm
TCP/IP, vì vậy, mô hình OSI chỉ được sử dụng trong thực tế như một chuẩn
về lý thuyết.
Trong mô hình OSI, một số chức năng như điều khiển thông lượng, kiểm tra
lỗi xuất hiện lặp lại trong một số tầng. Điều này có nguyên nhân do mô hình
OSI được chia làm các tầng khác nhau, mỗi tầng tương ứng với một đối tượng
độc lập (có dữ liệu và các phương thức riêng của nó, độc lập với các đối
tượng khác).
Mô hình OSI không có các dịch vụ và giao thức không hướng kết nối mặc dù

hầu hết các mạng đều có sử dụng. Mô hình quá phức tạp cho việc cài đặt làm
cho OSI khó có thể ứng dụng rộng rãi trên thực tế.
III. KIẾN TRÚC GIAO THỨC IPX/SPX
Một hệ thống mạng máy PC được sử dụng phổ biến nhất trên thế giới trong
thời gian vừa qua là mạng Novell Netware. Nó được thiết kế cho các công ty,
để chuyển từ việc sử dụng máy tính lớn (Mainframe) sang sử dụng PC. Mỗi
PC làm chức năng khách hàng (client), một số máy mạnh hoạt động như máy
phục vụ (Server), chúng cung cấp các dịch vụ file, các dịch vụ CSDL và các
dịch vụ khác cho một nhóm khách hàng. Nói cách khác, Novell Netware hoạt
động theo mô hình file-server.
III.1. Kiến trúc giao thức IPX/SPX

Application SAP File server
Transport NCP SPX
Network IPX
Datalink Ethernet Token ring ARCnet
Physical Ethernet Token ring ARCnet

18


Novell Netware sử dụng chồng giao thức IPX/SPX dựa trên một hệ thống
mạng cũ của hãng Xerox-XNS
TM
nhưng có một số thay đổi. Novell Netware
ra đời trước OSI và không dựa trên mô hình này.
 Tầng vật lý và tầng Data link có thể được chọn trong số nhiều chuẩn công
nghiệp khác nhau bao gồm Ethernet, IBM token ring và ARCnet.
 Tầng mạng không định hướng nối kết, không bảo đảm (unreliable
connectionless) có tên là IPX (Internet Packet eXchange). Nó chuyển các

packet từ nguồn tới đích một cách trong suốt với người dùng ngay cả khi
nguồn và đích nằm ở các mạng khác nhau. IPX sử dụng địa chỉ 12 byte.
 Tầng giao vận:
 Giao thức NCP (Network Core Protocol) cung cấp nhiều dịch vụ
khác ngoài việc vận chuyển dữ liệu của người sử dụng, nó chính là
trái tim của Novell Netware.
 Giao thức thứ hai của tầng này là SPX (Sequenced Packet
eXchange). Nó chỉ thực hiện việc vận chuyển.
Các ứng dụng có thể lựa chọn sử dụng một trong các giao thức của tầng
này ví dụ hệ thống file sử dụng NCP, Lotus Note sử dụng SPX.
 Tầng Application nằm trên cùng, có nhiều giao thức khác nhau cung cấp
cho người sử dụng các dịch vụ như đã trình bày ở trên.

III.2. Gói tin IPX
Điểm mấu chốt của kiến trúc IPX/SPX là gói tin IPX có cấu trúc như sau

Offset Field Length (byte)

0 Checksum 2
2 Packet length 2
4 Transport control 1
5 Packet type 1
6 Destination Address 12

19
18 Source Address 12
30 ?

 Checksum: ít khi sử dụng vì tầng Data link bên dưới đã cung cấp
checksum

 Packet length: chứa chiều dài của packet tính cả header và data
 Packet type: đánh dấu các packet điều khiển khác nhau.
 Destination Address: địa chỉ đích của gói tin.
 Source Address: địa chỉ nguồn của gói tin.
 Data: Chiếm phần cuối của gói, có độ dài phụ thuộc vào trường paket
length trên.
III.3. Cơ chế hoạt động của Novell Netware
Cứ khoảng mỗi phút một lần, mỗi server lại phát đi (broadcast) một packet,
cho biết địa chỉ của chính nó và các dịch vụ mà nó cung cấp. Việc này sử
dụng giao thức SAP (Service Advertising Protocol). Các packet này được tiến
trình dịch vụ (special agent process) chạy trên các máy router nhận và thu
thập. Các agent sử dụng thông tin chứa trong đó để xây dựng CSDL về các
server.
Khi một máy client khởi động, nó phát một request để hỏi xem server gần
nhất ở đâu. Agent trên máy router địa phương tiếp nhận yêu cầu này, kiểm tra
CSDL về server, lựa chọn server phù hợp gửi lại thông tin cho client. Từ thời
điểm đó, Client có thể thiết lập kết nối NCP với server và sử dụng các dịch vụ
của server. Trong quá trình kết nối, client và server thoả thuận với nhau về
chiều dài cực đại của dữ liệu, trong quá trình sử dụng, client có thể tra cứu
CSDL của server để biết thông tin của các server khác.


20
 CHƯƠNG III. GIAO THỨC TCP/IP
I. GIAO THỨC TCP/IP
Vào cuối những năm 1960 và đầu 1970, Trung tâm nghiên cứu cấp cao
(Advanced Research Projects Agency - ARPA) thuộc bộ quốc phòng Mĩ
(Department of Defense - DoD) được giao trách nhiệm phát triển mạng
ARPANET. Mạng ARPANET bao gồm mạng của những tổ chức quân đội,
các trường đại học và các tổ chức nghiên cứu và được dùng để hỗ trợ cho

những dự án nghiên cứu khoa học và quân đội (Ngày nay, ARPA được gọi là
DARPA). Năm 1984, DoD chia ARPANET ra thành 2 phần: ARPANET sử
dụng cho nghiên cứu khoa học và MILNET sử dụng cho quân đội. Đầu những
năm 1980, một bộ giao thức mới được đưa ra làm giao thức chuẩn cho mạng
ARPANET và các mạng của DoD mang tên DARPA Internet protocol suit,
thường được gọi là bộ giao thức TCP/IP hay còn gọi tắt là TCP/IP.
Năm 1987 tổ chức nghiên cứu quốc gia Hoa Kỳ (National Science Foundation
- NSF) tài trợ cho việc kết nối 6 trung tâm siêu tính trên toàn liên bang lại với
nhau thành một mạng với tên gọi NSFNET. Về mặt vật lý, mạng này kết nối
13 điểm làm việc bằng đường điện thoại cao tốc được gọi là NSFNET
backbone. Khoảng 8 đường backbone đã được xây dựng. NSFNET được mở
rộng với hàng chục mạng địa phương kết nối vào nó và kết nối vào mạng
Internet của DARPA. Cả NSFNET và các mạng con của nó đều sử dụng bộ
giao thức TCP/IP.
TCP/IP có một số ưu điểm như sau:
 Giao thức chuẩn mở sẵn sàng phát triển độc lập với phần cứng và hệ điều
hành. TCP/IP là giao thức lý tưởng cho việc hợp nhất phần cứng và phần
mềm khác nhau, ngay cả khi truyền thông trên Internet. Sự độc lập rành
mạch với phần cứng vật lý của mạng cho phép TCP/IP hợp nhất các mạng
khác nhau. TCP/IP có thể chạy trên mạng Ethernet, mạng Token ring,

21
mạng quay số (Dial-up line), mạng X.25, mạng ảo và mọi loại môi trường
vật lý truyền thông.
 Một sơ đồ địa chỉ dùng chung cho phép mỗi thiết bị TCP/IP có duy nhất
một địa chỉ trên mạng ngay cả khi đó là mạng toàn cầu Internet.
 Tiêu chuẩn hoá mức cao của giao thức phù hợp với ích lợi của dịch vụ
người dùng. Được tích hợp vào hệ điều hành UNIX, Hỗ trợ mô hình
client-server, mô hình mạng bình đẳng, Hỗ trợ kỹ thuật dẫn đường động.
DARPA hỗ trợ việc nghiên cứu kết nối nhiều loại mạng khác nhau lại thành

một mạng toàn cầu Internet. Ngoài việc sử dụng cho tất cả các máy trên
Internet, TCP/IP còn được sử dụng trong mạng nội bộ của một số tổ chức
chính phủ hoặc thương mại, những mạng này gọi là Intranet. TCP/IP vừa có
thể kết nối một số lượng lớn các máy tính (150.000 máy trên nước Mĩ, Châu
Âu, Châu Á) lại có thể chỉ kết nối hai máy tính trong phòng làm việc.
Dưới đây, chúng ta xem xét một số nội dung về bộ giao thức truyền thông
TCP/IP.
II. KIẾN TRÚC CỦA BỘ GIAO THỨC TCP/IP
II.1. Kiến trúc phân tầng của TCP/IP

Application Layer

Presentation Layer Application Layer
Session Layer

Transport Layer Transport Layer
Network Layer Internet Layer
Data link Layer
Physical Layer Network access Layer

Các lớp tương ứng giữa OSI và TCP/IP

22
Có nhiều giao thức trong bộ giao thức truyền thông TCP/IP, nhưng hai giao
thức quan trọng nhất được lấy tên đặt cho bộ giao thức này là TCP
(Transmission Control Protocol) và IP (Internet Protocol).
Bộ giao thức TCP/IP được phân làm 4 tầng
 Tầng mạng (Network Layer)
 Tầng Internet (Internet Layer)
 Tầng giao vận (Transport Layer)

 Tầng ứng dụng (Application Layer)














 FTP (File transfer Protocol): Giao thức truyền tệp cho phép người dùng
lấy hoặc gửi tệp tới một máy khác.
 Telnet: Chương trình mô phỏng thiết bị đầu cuối cho phép người dùng
login vào một máy chủ từ một máy tính nào đó trên mạng.
 SMTP (Simple Mail Transfer Protocol): Một giao thức thư tín điện tử.
 DNS (Domain Name server): Dịch vụ tên miền cho phép nhận ra máy tính
từ một tên miền thay cho chuỗi địa chỉ Internet khó nhớ.

Application
Layer


Transport Layer

(Host Layer)



RIP
SNMP SMTP
Transsmission Control
Protocol
User Datagram

Protocol
TELNET FTP
Internet Protocol
ICMP
ARP
Token Ring

Fiber

Token Bus

Ethernet
DNS
Các tầng của bộ giao thức TCP/IP

23
 SNMP (Simple Network Management Protocol): Giao thức quản trị mạng
cung cấp những công cụ quản trị mạng.
 RIP (Routing Internet Protocol): Giao thức dẫn đường động.
 ICMP (Internet Control Message Protocol): Nghi thức thông báo lỗi.
 UDP (User Datagram Protocol): Giao thức truyền không kết nối cung cấp
dịch vụ truyền không tin cậy nhưng tiết kiệm chi phí truyền.

 TCP (Transmission Control Protocol): Giao thức hướng kết nối cung cấp
dịch vụ truyền thông tin tưởng.
 IP (Internet Protocol): Giao thức Internet chuyển giao các gói tin qua các
máy tính đến đích.
 ARP (Address Resolution Protocol): Cơ chế chuyển địa chỉ TCP/IP thành
địa chỉ vật lý của các thiết bị mạng.















Cũng giống như trong mô hình tham chiếu OSI, dữ liệu gửi từ tầng
Application đi xuống ngăn xếp, mỗi tầng có những định nghĩa riêng về dữ
Application

Transport
Internet
Network Interface
Application


Transport
Internet
Network Interface
Identical
Datagram
Identical Frame

Identical
Packet

Identical Message

Physical Net

Host B

Host A


24
liệu mà nó sử dụng. Tại nơi gửi, mỗi tầng coi gói tin của tầng trên gửi xuống
là dữ liệu của nó và thêm vào gói tin các thông tin điều khiển của mình sau đó
chuyển tiếp xuống tầng dưới. Tại nơi nhận, quá trình diễn ra ngược lại, mỗi
tầng lại tách thông tin điều khiển của mình ra và chuyển dữ liệu lên tầng trên.

Application


Data


Transport
TCP
Header
Data

Internet
IP
Header
TCP
Header
Data

Network
Ethernet
Header
IP
Header
TCP
Header
Data Ethernet
trailer

II.2. Cơ chế địa chỉ Internet
Mạng Internet dùng hệ thống địa chỉ IP (32 bit) để "định vị" các máy tính
liên kết với nó. Có hai cách đánh địa chỉ phụ thuộc vào cách liên kết của từng
máy tính cụ thể:
 Nếu các máy tính được kết nối trực tiếp với mạng Internet thì trung tâm
thông tin Internet (Network Information Centre-NIC) sẽ cấp cho các máy
tính đó một địa chỉ IP (IP Address).
 Nếu các máy tính không kết nối trực tiếp với mạng Internet mà thông qua

một mạng cục bộ thì người quản trị mạng sẽ cấp cho các máy tính đó một
địa chỉ IP (tuy nhiên cũng dưới sự cho phép của NIC)

×