----Mạng máy tính và ứng dụng trong đời sống--- Mạng máy tính computer network là hệ thống bao gồm nhiều hệ máy tính đơn lẻ nút mạng được kết nối với nhau theo kiến trúc nào đó và có k
Trang 1Mạng máy tính và ứng dụng trong đời
sống - Mạng máy tính (computer network) là hệ thống bao gồm
nhiều hệ máy tính đơn lẻ (nút mạng) được kết nối với nhau theo
kiến trúc nào đó và có khả năng trao đổi thông tin.
Kết nối (interconnected): dây (wire), sóng (wave)…
Kiến trúc (architecture): cách thức kết nối và trao đổi thông tin
Nút mạng (node): host, workstation, network component…
Lợi ích của mạng:
Chia sẻ, trao đổi thông tin
Tăng cường sức mạnh của hệ thống (distributed system, parallel system)
+Các yếu tố của mạng máy tính:
Đường truyền vật lý (physical media)
Truyền tín hiệu giữa các hệ thống.
Hữu tuyến (cable) và vô tuyến (wireless)
Dải thông (bandwidth):
Tốc độ (speed) hay thông lượng (throughput):
Kiến trúc mạng (network architecture)
Hình trạng mạng (topology)
Giao thức (protocol)
-Phân loại (network classification,
taxonomy) - Theo topo mạng
Broadcast: Truyền quảng bá
Point-to-point (switched): Truyền điểm-điểm
Theo kỹ thuật truyền (transmission technique)
Circuit-switched
Message/Packet-switched
Theo quy mô (scale)
LAN
MAN
WAN
+Circuit switching:
Ưu điểm: Một kênh truyền được dành riêng trong suốt quá trình
giao tiếp do đó tốc độ truyền dữ liệu được bảo đảm, Khi một kênh
được thiết lập sẽ không có độ trễ truy cập, do kênh truyền luôn sẵn sàng
nên việc yêu cầu kênh truyền lại là không cần thiết.
Trang 2Không thiết lập liên kết dành riêng
Mỗi thông báo là khối độc lập
Ưu điểm:Quản lý hiệu quả hơn đối với sự lưu thông của
mạng,Giảm sự tắc nghẽn trên mạng,Tăng hiệu quả sử dụng kênh truyền
Giao thức mạng
(Protocol Giao thức (protocol): Tập hợp các quy tắc giao tiếp giữa các hệ máy tính.
Việc truyền tín hiệu trên mạng cần phải có các qui tắc, qui ước về nhiều mặt, từ khuôn dạng
Yêu cầu về xử lý và trao đổi càng cao thì giao thức càng phức tạp
Được sử dụng cho việc truyền thông giữa các thực thể ở các hệ thống khác nhau
+Các thành phần chủ yếu của giao thức:
Cú pháp - Syntax: Data formats,Signal levels
Ngữ nghĩa - Semantics: Control information,Error handling
Định thời - Timing: Speed matching,Sequencing
Mô hình giao thức mạng hiện nay tuân theo kiến trúc phân tầng
Mỗi tầng đảm nhận những chức năng nhất định
Chỉ có tầng duới cùng là giao tiếp trực tiếp với nhau
Mỗi tầng chỉ giao tiếp với nhiều nhất hai tầng (kề trên, kề dưới)
Thông tin truyền từ tầng N của hệ thống 1 sang tầng N của
hệ thống 2 phải truyền qua các tầng N-1 ◊ N-2 ◊…◊1 của hệ thống 1 và các tầng 1◊2◊…◊N-1 của hệ thống 2
Giao thức truyền thông được chia làm hai loại:
Truyền tin có liên kết: 3 giai đoạn
Thiết lập liên kết ,Truyền dữ liệu ,Huỷ bỏ liên kết
Truyền thông không liên kết: chỉ có giai đoạn truyền dữ liệu
Thường sử dụng cho các tầng thấp, đường truyền có độ tin cậy cao
-Các mô hình tham chiếu (Reference
Models) *OSI
Đưa ra bởi ISO (International Organization for Standardization) năm 1984
Mô hình tham chiếu lý thuyết cho các hệ thống mở nói chung
7 tầng: Physical, Data Link, Network, Transport, Session,
Presentation, Application
*TCP/IP Reference Model: Sử dụng cho mạng Internet, 5 tầng: Physical,
Data Link, Network, Transport, Application
Trang 3TCP/IP Reference Model
***Với mô hình OSI:
Layer 1: The Physical Layer:
Chỉ có tầng vật lý của hai hệ thống được kết nối và truyền thông trực tiếp với nhau
Các đặc tả vật lý nhằm đảm bảo sự kết nối và truyền tín hiệu giữa
hai hệ thống
Đường truyền vật lý dùng để truyền các tín hiệu giữa các máy tính
Môi trường truyền (media): Môi trường truyền có thể là các loại
dây dẫn (dây cáp), sóng (đối với các mạng không dây)
Đường truyền hữu tuyến: Cáp đồng trục,Cáp đôi xoắn,Cáp quang
…
Đường truyền vô tuyến: Sóng cực ngắn,Tia hồng ngoại…
Một số yếu tố khác:Mức điện thế, Thời gian biến thiên hiệu điện thế, Chu kỳ tín hiệu, khoảng cách…
Layer 2: The Data Link Layer
Biến dữ liệu thô nhận được từ tầng vật lý thành dữ liệu có cấu trúc logic cụ thể hơn
Framing
Physical Addressing
Đảm bảo sự tin cậy của tín hiệu truyền giữa hai tầng vật lý.
Kiểm soát lỗi
Kiểm soát luồng
Bao gồm hai tầng con (LLC và MAC)
Layer 3: The Network Layer
Chọn đường đi giữa các nút mạng
Điều khiển luồng mạng con
Phân mảnh & lắp ghép dữ liệu
Kết nối các mạng có kiến trúc khác nhau
Layer 4: The Transport Layer
Tầng trên cùng của quá trình truyền dữ liệu
Đảm bảo dữ liệu được truyền thông suốt và tin cậy giữa hai hệ thống
Phân mảnh/ lắp ghép dữ liệu
Kiểm soát lỗi, kiểm soát luồng
Thiết lập, quản lý các kênh liên lạc
Dồn kênh
Layer 5: The Session Layer
Tầng dưới cùng trong số các tầng thao tác trên dữ liệu nhận về
Thiết lập và quản lý các phiên truyền thông giữa hai hệ thống Chứng thực ,Thiết lập liên kết ,Huỷ bỏ liên kết ,Phản hồi ,Truyền lại
Trang 4Layer 6: The Presentation Layer
Đảm bảo thông tin truyền từ ứng dụng của hệ thống truyền có thể đọc được bởi ứng dụng của hệ thống nhận
Cú pháp và ngữ nghĩa của dữ liệu, Định dạng dữ
liệu,Chuyển đổi dịnh dạng ,Nén dữ liệu
Layer 7: The Application Layer
Cung cấp các phương tiện để người dùng có thể truy cập vào mô hình OSI
Các giao thức truyền thông điệp giữa các chương trình ứng dụng (web, mail…)
Các dịch vụ cho các ứng dụng nằm ngoài mô hình OSI (Word, Access, SQL Server
***Với mô hình TCP/IP:
Mô hình OSI chỉ mang tính chất lý thuyết, phục vụ
nghiên cứu và học tập.
TCP/IP là mô hình áp dụng cho mạng Internet.
TCP = Transmission Control Protocol
IP = Internet Protocol
TCP, IP là hai giao thức phổ biến trong họ giao thức TCP/IP
-Chuẩn mạng máy tính (network
standards) - OSI:
• Chỉ nêu lên chức năng của từng tầng
• Không chỉ ra cài đặt các tầng này như thế nào
• Để hai hệ thống giao tiếp được với nhau thì chúng cần:
• Được cài đặt các chức năng truyền thông chung
• Tổ chức thành cùng một tập tầng
• Hai tầng đồng mức phải có chung giao thức
Từ đó, cần phải chuẩn hoá (standardization)
Ưu điểm của việc đặt ra các chuẩn
• Đảm bảo cho các thiết bị và phần mềm có một thị trường lớn
• Đảm bảo cho các sản phẩm của các nhà cung cấp khác nhau có thể truyền thông với nhau
Nhược điểm
• Làm đông cứng công nghệ (Freeze technology)
• Có thể có nhiều chuẩn cho cùng một loại sản phẩm
Trang 5 Ngày nay, các tổ chức đặt ra các chuẩn đang cộng tác với nhau ngày càng chặt chẽ
-Hệ điều hành trong môi trường
mạng - Không hỗ trợ mạng
DOS
Chương 2:
Giao thức tầng ứng dụng (application layer)
Applications:
Chương trình ứng dụng chạy trên các máy tính
Trao đổi thông điệp (message) với các ứng dụng khác nhằm thực thi vai trò của ứng dụng
Application-layer protocols:
Là một thành phần của chương trình ứng dụng
Định nghĩa các quy tắc trao đổi thông điệp
Giao tiếp với các dịch vụ được cung cấp bởi tầng dưới (TCP, UDP
Mô hình khách-phục vụ (client-server paradigm)
Client
Thiết lập liên kết với server
Yêu cầu dịch vụ từ server
Nhiều clients
Server
Chờ và cung cấp các dịch vụ khi client yêu cầu
Thường chỉ có 1 server, không thay đổi địa chỉ, chạy 24/7
Yêu cầu đối với việc vận chuyển dữ liệu
Data loss
Các ứng dụng audio/video có thể chấp nhận mất mát, sai lệch dữ liệu trong khoảng cho phép
Email, file transfer yêu cầu dữ liệu phải chính xác
Timing
Các ứng dụng online cần độ trễ (delay) nhỏ (phone, games)
Bandwidth
Các ứng dụng multimedia cần đường truyền tốc độ cao để đảm bảo chất lượng
Các ứng dụng email, file transfer mềm dẻo hơn, tuỳ theo tốc độ
-Web &
HTTP - Trang web (web page): một loại tài liệu có chứa trong đó nhiều đối tượng: text, image, audio, Java applet, HTML…
Về cơ bản, web page = HTML file (base HTML)
Trang 6 HTML = Hyper Text Markup Language.
HTML sử dụng các thẻ (tag) để mô tả đối tượng chứa trong nó
Mỗi đối tượng được chỉ ra bởi địa chỉ URL (Uniform Resource Locator)
http://www.hua.edu.vn:80/cs/index.htm
HTTP (Hyper Text Transfer Protocol):
Giao thức tầng ứng dụng web
Sử dụng mô hình client/server
Client (user agent):
Trình duyệt web (web browser)
Yêu cầu truy cập web thông qua URL (URL request)
Server
Máy phục vụ web (web server)
Gửi các đối tượng tới client thông quan phản hồi (response)
HTTP: Quá trình trao đổi thông điệp
Client (browser) thiết lập liên kết tới web server (TCP connection) qua cổng 80 (mặc định)
Server đồng ý kết nối (accept)
Các thông điệp (HTTP messages) được trao đổi giữa browser và server
Ngắt kết nối
Web Caches (proxy server)
Client gửi http requests tới web cache thay vì tới server
Nếu obj có tại web cache: web cache tạo http response msg gửi về cho client
Nếu không, web cache tạo gửi http request tới server, nhận obj, lưu trữ, rồi gửi http response msg tới client
Web cache sẽ khiến người dùng có cảm giác duyệt web nhanh hơn, giảm nghẽn mạng
Web design: HTML
Thiết kế web: Tạo ra tài liệu HTML
HTML (Hyper Text Markup Language)
Trong tài liệu HTML có thể có nhiều đối tượng: Text,
Images, Hyper link
Sử dụng thẻ (tag) để diễn đạt đối tượng.: Thẻ mở ,Thẻ đóng
Công cụ:
Text editor: Notepad, Ultra Edit
Microsoft FrontPage
Macromedia Dreamweaver
Trang 7FTP - File Transfer Protocol:
Truyền/tải tệp (to/from remote host).
Client/server model
Client: đưa ra yêu cầu truyền tải.
Server = remote host.
FTP: RFC 959
FTP sử dụng TCP
FTP sử dụng đồng thời 2 liên kết TCP tại 2 cổng:
TCP control connection, port 21
TCP data connection, port 20: truyền tải tệp
FTP lưu giữ trạng thái client trong phiên làm việc
Electronic Mail:
Ba thành phần chính:
User agents (mail clients)
Soạn, đọc thư (messages):Outlook, Eudora, Netscape
Mail servers
Lưu trữ, xử lý thư|: Exchange, MDeamon…
Protocols: (SMTP), (POP) (IMAP).(HTTP).
SMTP :
Sử dụng liên kết TCP (port 25) để gửi mails:
Từ sender’s mail client tới sender’s mail server.
Từ sender’s mail server tới receiver’s mail server.
Ba pha:
Bắt tay ,Trao đổi messages., Kết thúc.
Command/response:
SMTP sử dụng persistent connection: một liên kết, nhiều thông điệp
Thông điệp (nội dung thư) phải được mã hoá dạng ASCII 7 bit
Đánh dấu kết thúc msg bởi CRLF.CRLF
Một số dữ liệu nhị phân (vd: picture) có thể chứa CRLF.CRLF à cần mã hoá để đảm bảo không có dữ liệu nào trùng với ký hiệu kết thúc message (vd: base64)
So sánh với HTTP:
HTTP: pull protocol <> SMTP: push protocol
Trang 8 Cùng sử dụng ASCII (command/req/resp/status code).
HTTP: mỗi obj chứa trong một msg <> SMTP: cho phép nhiều obj (text, picture…) trong một msg (multipart msg)
DNS services:
DNS không tương tác trực tiếp với users mà cung cấp các dịch vụ cho các chương trình khác (HTTP, FTP…) thuộc tầng ứng dụng:
Host name à IP (hostname to IP resolve)
Host aliasing
Một máy tính có tên chính thức và có thể có bí danh
Mail server aliasing
Load distribution (phân tán tải): Một dịch vụ web có thể được cung cấp tại nhiều server có IP khác nhau để phân tán tải do lượng người
sử dụng cao
Chương 3.
Giao thức tầng giao vận (transport layer)
Transport Layer Services & Principles:
Cung cấp phương tiện truyền thông logic giữa các applications
PDUs: application: messages, transport: segments (đoạn)
Các msg từ tầng application gửi xuống được chia nhỏ thành các đoạn (segments)
Transport protocol được thực thi tại các trạm cuối (end system)
Transport & Network layers
Network layer:
Truyền thông logic giữa các trạm làm việc (host)
PDUs = packets (gói)
IP (Internet Protocol) là giao thức truyền không tin cậy
Transport layer:
Tạo phương thức truyền thông logic giữa các ứng dụng
Nhận các gói tin từ tầng Network gửi lên
Multiplexing/demultiplexing (mux/demux)
Multiplexing (chia kênh): Các msgs từ các apps (P1,P2) được chia nhỏ và đóng thành các segments
Demultiplexing (dồn kênh): Các segments nhận được được gửi tới apps tương ứng (P3, P4)
Connectionless Transport (UDP).
User Datagram Protocol [RFC 768]
chỉ cần những thủ tục cơ bản nhất
thông tin điều khiển cũng chỉ cần cơ bản nhất
Trang 9 “best effort” service: dữ liệu có thể mất mát, sai sót nhưng luôn “cố gắng hết sức” để giảm thiểu
Không có cơ chế bắt tay (handshaking): thiết lập ◊ truyền dữ liệu ◊ kết thúc
Không nắm giữ trạng thái
Các segments được xử lý độc lập với nhau.
RDT2.0: problems
Nếu ACK, NAK bị lỗi?
Giải pháp:
Sender truyền lại nếu như ACK/NAK bị lỗi
Kiểm soát lặp gói tin
Thêm vào gói tin trường số thứ tự
Căn cứ vào số thứ tự gói tin, receiver bỏ qua những gói tin bị lặp
◊ Sender sẽ không gửi gói tin tiếp theo nếu như chưa chắc chắn receiver nhận được gói trước đó
RDT3.0: channels with errors and loss:
Tầng dưới: Có thể có lỗi , Có thể gây mất mát gói tin
Giải pháp:
Sender truyền lại gói tin nếu như chờ ACK một thời gian nhất định nào đó mà không thấy
Nếu ACK hay gói tin chỉ bị chậm thôi?
truyền lại sẽ gây ra hiện tượng lặp gói tin
cần sequence number
TCP Connection management: ngắt liên kết:
Bước 1: client (phía muốn ngắt liên kết) gửi TCP FIN segment
Bước 2: server (phía còn lại) nhận được FIN, gửi ACK, ngắt liên kết, gửi tiếp FIN segment
Bước 3: client nhận FIN, trả lời bằng ACK timed wait (chờ một lúc nữa cho tới khi liên kết đóng hẳn)
Bước 4: server nhận ACK, đóng liên kết
Congestion control:
Nghẽn mạng là điều khó tránh khỏi!!!
Khi mạng bị nghẽn, các gói tin có thể bị trễ hay bị mất
Hai hướng tiếp cận:
End-end congestion control: Thông tin về mức độ nghẽn mạng được suy ra từ lượng tin bị mất mát trong quá trình truyền
Network-assited congestion control: Routers cung cấp các thông tin phản hồi về tình trạng nghẽn mạng tới end systems
Trang 10 Bit thông báo nghẽn mạng ◊ đừng gửi nữa hoăc xin chờ một lát
Tốc độ tối đa cho phép gửi (maximum rate allowed)
TCP sử dụng phương pháp end-end congestion control
Hiện tượng tắc nghẽn (congestion): lưu lượng đến mạng tăng lên,
thông lượng vận chuyển của mạng lại giảm đi
Deadlock: tình trạng tắc nghẽn trầm trọng đến mức mạng bị nghẹt
hoàn toàn, thông lượng vận chuyển của mạng tụt xuống bằng không
Nguyên nhân dẫn đến tắc nghẽn:
Lưu lượng đi đến trên nhiều lối vào đều cần cùng một đường
đi ra
Tốc độ xử lý tại các router chậm
Các đường truyền có bandwidth thấp = cổ chai
*** Tắc nghẽn có khuynh hướng tự nó làm gia tăng
Điều khiển tắc nghẽn (Congestion control)
-Đảm bảo cho mạng có khả năng vận chuyển lưu lượng đưa vào -Đó là một vấn đề toàn cục, liên quan đến hành vi của mọi nút mạng, quá trình chứa và chuyển tiếp trong mỗi nút mạng và các yếu tố khác có khuynh hướng làm giảm thông lượng của mạng
Điều khiển lưu lượng là để tránh tắc nghẽn
Điều khiển tắc nghẽn là để giải quyết vấn đề tắc nghẽn khi
nó xuất hiện hoặc có dấu hiệu sắp xảy ra
Sử dụng TCP hay UDP:
Một số so sánh TCP/UDP:
TCP:
Có liên kết, lưu trữ trạng thái liên kết (quản lý liên kết)
Điểm-điểm
Có độ trễ (delay): thiết lập, quản lý liên kết, luồng, nghẽn…
Segment header lớn (20 bytes)
Bị giới hạn tốc độ truyền (congestion control)
UDP:
Không liên kết, không lưu trữ trạng thái
Điểm-điểm, quảng bá
Độ trễ thấp
Segment header nhỏ (8 bytes)
Không giới hạn tốc độ truyền