You are on page 1of 3

Hướng dẫn lập trình Network với C# - Xcross87 | congdongcviet.com | hcegroup.

net

Hướng dẫn lập trình Network với C#

Người hướng dẫn: Xcross87 | congdongcviet.com

Phần 1: Cơ bản về Network và các mô hình

Mạng máy tính là gì?

- Mạng máy tính hay hệ thống mạng (computer network hay network
system) là một tập hợp các máy tính tự hoạt được kết nối với nhau
thong qua các phương tiện truyền dẫn nhằm chia sẻ tài nguyên:
thông tin, âm nhạc, tin tức, máy in…
- Máy tính tự hoạt (autonomous) là máy tính có thể tự khởi động
dịch vụ và tự kích hoạt chương trình đã được cài đặt trong máy và
vận hành không cần có sự điều khiển hay chi phối bên ngoài.

Các thành phần mạng cơ bản

- Hệ thống đầu cuối: có thể là các máy tính kết nối với nhau hay
các phương tiện truyền thông có thể kết nối. Ví dụ: Tivi, PDA,
Mobile…
- Môi trường truyền (media) như cáp quang, cáp điện thoại, song
điện từ…
- Giao thức mạng (Protocol) là quy định cụ thể về cách thức trao
đổi thông tin của thực thể riêng biệt. Ví dụ: HTTP, FTP, POP3,
SMTP…

Các đối tượng chính của mạng

- LAN: Local Area Network: mạng cục bộ


- MAN: Metropolitian Area Network: mạng đô thị
- WAN: Wide Area Network: mạng diện rộng
- Wireless: mạng không dây (theo kiểu LAN)
- Internetwork: liên mạng, các điểm nối lớn thông qua các Gateway
giữa các mạng.

Các mô hình mạng điển hình:

1. OSI: <Open Systems Interconnection Reference Model>


Cấu trúc gồm 7 lớp (layer)
a. Tầng 7 : Lớp ứng dụng – Application Layer
b. Tầng 6 : Lớp trình diễn – Presentation Layer
c. Tầng 5 : Lớp luân phiên – Session Layer
d. Tầng 4 : Lớp vận tải (truyền tải) – Transport Layer
Hướng dẫn lập trình Network với C# - Xcross87 | congdongcviet.com | hcegroup.net

e. Tầng 3 : Lớp mạng – Network Layer


f. Tầng 2 : Lớp liên kết dữ liệu – Data Link Layer
g. Tầng 1 : Lớp vật lý – Physical Layer
2. TCP/IP Model: <Internet reference model>
Cấu trúc gồm 5 lớp
a. Tầng 5 : Lớp ứng dụng – Application Layer
b. Tầng 4 : Lớp vận tải – Transport Layer
c. Tầng 3 : Lớp mạng – Network Layer
d. Tầng 2 : Lớp lien kết dữ liệu – Data Link Layer
e. Tầng 1 : Lớp vật lý – Physical Layer

Cổng (Port) là gì?

- Nếu như bạn đang kết nối Internet và muốn vừa duyệt Web và duyệt
email cùng một lúc, máy tính phải quy định dịch vụ theo hướng
luân chuyển traffic, tức là chia nhánh để nhận và gửi thông tin.
HTTP với cổng 80, POP3 thường với cổng 110 … Bạn có thể tưởng
tượng như một ngôi nhà bạn muốn mở cửa để người ra vào và mở cửa
sổ để ánh nắng vào :D, mỗi cánh cửa chính là một cổng và ngôi nhà
chính là chiếc máy tính.

Một số cổng thông dụng:

20 : FTP (data)

21 : FTP (control)

25 : SMTP(email, outgoing)

53 : DNS (domain names)

80 : HTTP (web)

110: POP3(email, incoming)

119: NNTP(news)

143: IMAP(email, incoming)

Các bạn có thể tham khảo chi tiết tại: www.iana.org

Socket là gì?

Socket có thể hiểu đơn giản là một đối tượng thể hiện điểm truy cập ở
mức độ thấp trong stack của IP. Socket có thể ở được đóng và mở theo
trạng thái kết nối và truyền tải dữ liệu trong kết nối. Dữ liệu thông
Hướng dẫn lập trình Network với C# - Xcross87 | congdongcviet.com | hcegroup.net

thường được truyền tải đi với một block khoảng vài kilobyes (KB) tại
một thời điểm. Mỗi block đó được gọi là một packet.

Các packet di chuyển trong mạng phải được sử dụng với Internet
Protocol hay IP bao gồm địa chỉ đến (destination) và địa chỉ nguồn
(source) nằm trong packet header với thông tin về kiểu cách thức dữ
liệu truyền tải (FTP, HTTP, SMTP…) để được kết nối với một Port nhất
định.

Có 2 loại Protocol nhận nhiệm vụ truyền tải và đảm bảo dữ liệu gửi
nhận là TCP và UDP. UDP có độ latency thấp hơn TCP, nhất là khi khởi
động. Nếu lượng dữ liệu muốn đảm bảo tuyệt đối, không mất mát thì sử
dụng TCP (tất nhiên sẽ chậm), còn UDP thì không đảm bảo, tuy nhiên với
lượng dữ liệu mất đi một chút không ảnh hưởng nhiều. Chú ý: dữ liệu
truyền tải dưới 2 hình thức này chỉ mất khi gặp sự cố ví dụ: mạng trục
trặc, dữ liệu bị treo giữa chừng giữa các điểm nối, dữ liệu bị ăn cắp
(packet capture)…

Ví dụ: HTTP, POP3… sử dụng TCP; Peer2Peer sử dụng UDP.

Công cụ cần thiết để bắt đầu với lập trình Network với C#.

- Visual Studio 2005+


- .NET Framework 2.0+ (không nên xài thấp hơn như 1.1 vì có quá
nhiều Deprecate và Obsolete).
- Component sử dụng chính: System.Net

Kết thúc Phần 1.

You might also like