Mạng Máy Tính Computer Networks
Phạm Văn Nam Email: nampv@ntu.edu.vn; pvnamk19@yahoo.com ỉ Địa ch liên hệ: Văn phòng Bộ môn Mạng & Truyền thông Khoa Công nghệ Thông tin, Trường Đại học Nha Trang Điện thoại: (058) 2471447 Mobile: 0904 38 81 82
1-1
Introduction
Môn học nói về?
Mạng máy tính (MMT) đa năng
ả
Không ph i là những mạng chuyên dụng (vd: telephone)
Những nguyên lý cơ b n c a MMT ả
ả ủ ẩ
ả
Không kh o sát tất c các chu n giao thức hiện hành
ỉ ả
Tập trung vào kiến trúc phần mềm mạng Ch th o luận một số phần cứng mạng thiết yếu
1-2
Introduction
Tài liệu môn học
Tài liệu chính
m Computer Networking by Jim Kurose and Keith Ross, AddisonWesley, 2nd
Edition, 2002
ả
m Mạng máy tính và các hệ thống m , ở Nguyễn Thúc H i, NXB Giáo dục,
1999
m Computer Networks by Andrew S. Tanenbaum, Prentice Hall, 4th Edition,
2002
Tài liệu đọc thêm
m TCP/IP Illustrated Vol. 1 & 2 by W. Richard Stevens, AddisionWesley,
1994
m Computer Networks and Internets by Douglas E. Comer, Prentice Hall, 2nd
Edition, 1998
1-3
Introduction
ả
Chương 1: Các khái niệm cơ b n về mạng máy tính và mạng Internet
ủ
ả
Thế nào là một mạng máy tính? Các thành phần c a một MMT Internet là gì? Kiến trúc Internet (Internet Architecture) Các chiến lược dồn kênh Mạng chuy n mạch kênh, gói ể Những vấn đề cơ b n trong MMT
1-4
Introduction
ở
ẻ
Thế nào là một mạng máy tính? Mạng cung cấp sự kết nối m Một tập các máy tính/thiết bị chuy n mạch được kết nối b i các liên kết truyền thông ể m Nhằm chia s thông tin và tài nguyên Topologies (đồ hình mạng)
Nhiều phương tiện vật lý khác nhau
m Coaxial cable, twisted pair, fiber optic, radio, satellite Mạng cục bộ, Mạng đô thị, Mạng diện rộng, vv…
1-5
Introduction
(Local/Metropolitan/Wide Area Networks – LANs, MANs, WANs, etc.)
ủ
Các thành phần c a một MMT
router
workstation
server
mobile
• ầ ệ ố
local ISP
ạ ụ
ể
ả
regional ISP
•
tr m, h th ng đ u cu i ố ạ – pc’s, workstations, servers – PDA’s, phones, toasters ng d ng m ng ch y các ạ ứ liên k t truy n thông ề ế – fiber, copper, radio, satellite – đi m - đi m và qu ng bá ể – băng thông
ế • switches và routers: chuy n ể ạ
m ng c a
ủ
ạ
•
company network
ạ
ộ
Internet là m t liên m ng công c ng c th ộ
ụ ể
1-6
Introduction
ti p các gói d li u qua m ng ữ ệ internet (liên m ng): ạ các m ngạ •
Internet là gì?
The Internet:
ử
ả
i rộng trên phạm vi toàn thế giới và s dụng
ể
ả
Tập hợp các mạng và bộ định tuyến tr tập giao thức TCP/IP đ hình thành một mạng o cộng tác, đơn.
Intranet:
ể
ở
ủ ổ
thường)
1-7
Introduction
Sự kết nối c a các LANs khác nhau trong một t chức m Riêng tư (Private) m Có th dùng đường thuê bao riêng (leased lines) ể m Thông thường thì nh , nhưng có th bao gồm đến vài trăm routers ể ỏ m Có th được kết nối ra the Internet (hoặc không), b i bức tường l a (thông ử
Internet Architecture (Kiến trúc Internet)
International lines
NAP
regional network
national network
on-line services
ISP
company
ISP
university
access via modem
company
LANs
1-8
Introduction
Internet today
1-9
Introduction
Các chiến lược dồn kênh
ử
ẻ
Chia s tài nguyên mạng giữa nhiều người s dụng
ng ữ ế ượ ồ ườ
• Nh ng chi n l ồ ồ • C hai chi n l c d n kênh thông th • D n kênh chia th i gian-Time Division Multiplexing (TDM) ờ • D n kênh chia t n s -Frequency Division Multiplexing (FDM) ầ ố c trên đ u là k thu t chuy n m ch kênh ậ ả ể ạ ỹ ề
1-10
Introduction
ế ượ (circuit switching technology)
ể
Chuy n mạch kênh: FDMA và TDMA Example:
FDMA 4 users
frequency
time
TDMA
frequency
1-11
Introduction
time
ể
Mạng chuy n mạch kênh Circuit Switched Networks
ả
Tất c tài nguyên (vd: các liên kết truyền thông) cần thiết cho một cuộc gọi
được dành riêng trong suốt cuộc gọi m Ví dụ: mạng điện thoại
1-12
Introduction
Dồn kênh thống kê Statistical Multiplexing
ả
Tương tự như dồn kênh theo thời gian nhưng tùy vào nhu cầu hơn là cố định Kế hoạch lại đường truyền dựa vào nền t ng từng gói Các gói từ các nguồn khác nhau được chèn vào đường truyền Những gói “đấu tranh” dành đường truyền sẽ được đưa vào vùng đệm (buffer) Sự tích tụ vùng đệm được gọi là nghẽncongestion Đây là kỹ thuật chuy n mạch gói, ể
được dùng trong MMT
1-13
Introduction
ể
Mạng chuy n mạch gói Packet Switched Networks
10 Mbps Ethernet
1.5 Mbps
C statistical multiplexing A
queue of packets waiting for output link
B
Dữ liệu đưa lên mạng được được chia thành nhiều “gói” gọi là “packets” Phương pháp Lưu giữ và chuy n tiếp (Storeandforward): packets được lưu giữ trong vùng đệm ể
trước khi được truyền đi
Packets chạy trên mạng chia s tài nguyên với các packets khác ẻ
ử
ẻ
m Việc s dụng tài nguyên tùy thuộc vào nhu cầu hay chia s tài nguyên theo thống kê
Khi tài nguyên hạn chế: độ trễ xếp hàng, mất gói tin
1-14
Introduction
D E
ẻ
Tại sao chia s tài nguyên theo thống kê?
Sự tận dụng hiệu qu tài nguyên mạng
Kịch b n ví dụ ả
ả
ể ử
ỉ
m Link bandwidth (d i thông): 1 Mbps m Mỗi cuộc gọi cần 100 Kbps khi truyền thông tin m Mỗi cuộc gọi có dữ liệu đ g i (“hoạt động”) ch chiếm 10% thời gian
ả
Chuy n mạch kênh Circuit switching
ỉ
m Mỗi cuộc gọi cần 100 Kbps: ch hỗ trợ 10 cuộc gọi đồng thời
ể
Chuy n mạch gói Packet switching
m Hỗ trợ nhiều cuộc gọi hơn với xác suất “tranh giành” nhau là nhỏ
• 35 cuộc gọi đang thực hiện: xác suất mà > 10 cuộc gọi “hoạt động” < 0.0017!
1-15
Introduction
ể
ể
ể
So sánh giữa chuy n mạch kênh và chuy n mạch gói
M c so sánh
Chuy n m ch kênh
Chuy n m ch gói
ụ
ể
ạ
ể
ạ
Đường dẫn “đồng” chuyên biệt
Có
Không
Băng thông sẵn có
Cố định
Biến động
ả
Kh năng lãng phí băng thông
Có
Không
ể
Truyền dẫn lưu giữchuy n tiếp
Không
Có
Các gói tin đi theo cùng một lộ trình
Có
Không
Thiết lập kết nối
Yêu cầu
Không cần thiết
ả
ả
Kh năng tắc nghẽn x y ra khi
Thiết lập kết nối
Đối với mỗi gói tin
Ả
ở
ủ nh hư ng c a tắc nghẽn
Cuộc gọi bị chặn
Độ trễ xếp hàng
1-16
Introduction
Network Taxonomy (Phân loại mạng)
Telecommunication networks
Packetswitched networks
Circuitswitched networks
FDM
TDM
Datagram Networks
Networks with VCs
1-17
Introduction
ả
Những vấn đề cơ b n trong MMT
Đặt tên/Đánh địa chỉ
m Làm thế nào đ tìm tên/địa ch c a đối tác mà bạn muốn giao tiếp ỉ ủ m Địa ch : một chuỗi byte định danh một nút (node) ỉ m Các lọai địa chỉ
ỉ
• Unicast: địa ch đơn hướng • Broadcast: địa ch qu ng bá • Multicast: địa ch đa hướng
ỉ ả ỉ ể
Định tuyến/Chuy n tiếp: là quá trình xác định làm thế nào đ ể
ỉ ủ
ả
ở g i các gói tin đến đích dựa trên địa ch c a nó Tìm “hàng xóm”, xây dựng các b ng dẫn đường
1-18
Introduction
ể
ả
ở
Những tr
ngại cơ b n trong MMT
Nh ng gì có th sai sót?
ể
ở ở
mức bit: do sự nhiễu tín hiệu điện mức gói: mất gói tin do tràn vùng đệm hay nghẽn
ể
ỏ
ữ m Các lỗi m Các lỗi m Sự phân phát sai thứ tự gói tin: các gói tin có th đi theo các con đường khác nhau m H ng hóc tại các nút hoặc đường truyền (link/node failures): đứt cáp hoặc hệ thống bị sập
Nh ng gì có th làm đ
ể
ữ
ượ
ổ
ử
ẩ
ở
bên nhận
ả
c? m B sung thêm các bits dư thừa đ chu n đoán và s a các packets bị lỗi ể m Xác nhận các gói nhận được và truyền lại các gói bị mất m Gán các số chuỗi (sequence numbers) và sắp xếp lại theo thứ tự các gói m “C m nhận” link/node failures và đi vòng qua các failed links/nodes M c tiêu: ụ
ể
ả
đ thu hẹp kho ng cách giữa những gì các ứng dụng mong đợi và những gì
ể
ả
mà công nghệ nền t ng (underlying technology) có th cung cấp
1-19
Introduction
Tóm tắt chương
Những thành phần c a một mạng máy tính ủ
m Kiến trúc Internet
ể
ể
Chuy n mạch kênh và chuy n mạch gói
m Dồn kênh theo thống kê
ả
Các vấn đề cơ b n trong mạng máy tính ể
ỉ
m Đặt tên/đánh địa ch và định tuyến/chuy n tiếp m Ki m soát lỗi/luồng/tắc nghẽn
1-20
Introduction
ể
ả
Một số site tham kh o tốt
http://www.isoc.org http://www.ietf.org http://www.w3.org http://www.acm.org http://www.acm.org/sigcomm/ http://www.ieee.org http://ieeexplore.ieee.org/ http://www.comsoc.org http://www.computer.org http://www.vitec.org.vn/
1-21
Introduction
Chương 2: Giao thức và kiến trúc phân tầng Protocols and Layered Architecture
Layered Architecture
22
Giao thức và kiến trúc phân tầng:
Thế nào là giao thức (protocols)? Kiến trúc phân tầng và các hệ thống cấp bậc giao thức (protocol
hierarchies)
Các vấn đề cần lưu ý khi thiết kế các tầng Phương thức hoạt động: hướng kết nối và phi kết nối Mô hình tham chiếu OSI (The Open Systems Interconnection
Reference Model)
Mô hình TCP/IP (The Transmission Control Protocol/Internet
Protocol Model)
So sánh giữa mô hình tham chiếu OSI và TCP/IP
Layered Architecture
23
Giao thức (Protocols)
Giao thức: những luật giúp những thành phần mạng (network
elements) hội thoại với nhau Giao thức định nghĩa sự th a thuận (agreement) giữa những ỏ
ể
ả
Giao thức trong cuộc sống hàng ngày: m Luật giao thông, th o luận bàn tròn…
Layered Architecture
24
thực th ngang hàng (peering entities) m Khuôn dạng và ngữ nghĩa c a thông điệp được trao đ i ổ ủ
Kiến trúc phân tầng hay hệ thống cấp bậc giao thức!?
ả
Câu h i:ỏ ể
Cách nào đ thi t l p c u ế ậ ấ
trúc m ng?ạ
software)
Layered Architecture
25
MMT: phức tạp! nhiều “m nh”: m trạm (hosts) m bộ định tuyến (router) m phương tiện truyền thông m ứng dụng (applications) m giao thức (protocols) m phần cứng, phần mềm (hardware,
Kiến trúc phân tầng
• Các t ng (Layers) ầ
ệ
ụ
• Giao di n (Interfaces): đ nh ị nghĩa các thao tác nguyên th y và các d ch v mà t ng ầ ị i cung c p cho t ng trên d ủ ướ ấ ầ
c ượ
• Giao th c (Protocols): đ ứ s d ng đ thi hành ể ử ụ (implement) các d ch v ụ ị
ọ
ế
Layered Architecture
26
• M t t p c a các t ng và ộ ậ ầ ủ c g i là m t giao th c đ ộ ượ ứ ki n trúc m ng (Network ạ Architecture)
Kiến trúc phân tầng (2)
Phân tầng giúp đơn gi n hóa kiến trúc c a hệ ả
ủ
Tầng N dựa vào dịch vụ (services) từ tầng N1
thống phức tạp
Dịch vụ cần đến từ tầng dưới độc lập với sự
ả
ể đ cung cấp dịch vụ cho tầng N+1
khác
m Che dấu thông tin và sự phức tạp m Tương tự như lập trình hướng đối tượng
Layered Architecture
27
thực thi (implementation) c a nóủ m Tầng N thay đ i sẽ không nh hư ng đến các tầng ở ổ
Ví dụ về kiến trúc phân tầng
Layered Architecture
28
Truyền thông Vật lý, logic
Layered Architecture
29
Các vấn đề thiết yếu khi thiết kế các tầng
Cơ chế định danh người g i, nhận? Truyền dữ liệu theo chế độ nào: đơn công (simplex), bán song công (half
ở
duplex), song công (fullduplex)?
Ki m soát lỗi? (Error control) Ki m soát luồng? (Flow control) Tháo rời (disassembling) và ráp lại (reassembling) các thông điệp dài Dồn và tách kênh (Multiplexing & demultiplexing) Chọn đường
Layered Architecture
30
ể ể
Dịch vụ hướng kết nối (Connectionoriented Service) Người g i Sender ở
m Yêu cầu “kết nối” đến người nhận m Chờ đợi Mạng thiết lập kết nối m Duy trì kết nối trong khi g i dữ liệu ở m Ngắt kết nối khi hết nhu cầu
Mạng Network
m Nhận yêu cầu kết nối m Thiết lập kết nối và thông báo cho người g iở m Truyền dữ liệu qua mối kết nối m Gi ả
Layered Architecture
31
ở i phóng kết nối khi người g i yêu cầu
Dịch vụ phi kết nối (Connectionless Service)
ỉ
ể
ể
Người g i Sender ở m Tạo các packet đ g iể ở m Đánh địa ch người nhận trong mỗi gói m Truyền gói tin cho mạng đ chuy n đi
Mạng Network ỉ
ử
ể
m S dụng địa ch đích đ chuy n tiếp gói tin ể m Giao gói tin đến nơi nhận
Layered Architecture
32
So sánh giữa hướng kết nối và phi kết nối (ConnectionOriented vs. Connectionless)
ConnectionOriented
• Telephone System, Virtual Circuit Model
ỉ
m Đường dẫn được thiết lập trước khi dữ liệu được g iở m Ch cần định danh mối kết nối m Tất c dữ liệu đi cùng một đường
Connectionless
• Postal System, Datagram Model
ả
m Không cần thiết lập đường dẫn trước khi truyền dữ liệu m Gói tin chứa địa ch nơi nhận m Mỗi gói tin được x lý độc lập
Layered Architecture
33
ỉ ử
So sánh giữa hướng kết nối và phi kết nối (ConnectionOriented vs. Connectionless)
ConnectionOriented
m “Gánh nặng” thiết lập kết nối m Thiết bị chuy n tiếp ph i lưu giữ trạng thái c a các kết nối ể đang hoạt động
ủ ả
m Có th đặt trước d i thông
Connectionless
ể ả
m Không trạng thái và ít gánh nặng m Không th đặt trước tài nguyên m Cho phép broadcast/multicast
Layered Architecture
34
ể
ủ
Ví dụ về các hàm dịch vụ nguyên th y (service primitive)
Layered Architecture
35
ổ
ổ ứ
ố ế
ẩ
-
ẩ Các t chức định chu n International Standards Organization (ISO) T ch c tiêu chu n qu c t International Telecommunications Union– Telecommunication Standards Sector (ITU-T) Liên hi p vi n thông qu c t ễ B ph n tiêu chu n truy n thông
ố ế ề
ệ ậ
ẩ
ộ
ỹ
ệ
ệ ử
Institute of Electrical and Electronics Engineers (IEEE) Vi n k ngh đi n và đi n t ệ ệ Electronic Industries Alliance (EIA) Liên minh công nghi p đi n t
ệ ử
ệ
Telecommunications Industry Association (TIA) Hi p h i công nghi p vi n thông ễ
ệ
ệ
ộ
Layered Architecture
36
Mô hình tham chiếu OSI
Layered Architecture
37
Các t ng trong mô hình OSI
ầ
Layered Architecture
38
i thông tin trong mô hình OSI
Minh h a v trao ọ ề
đổ
Layered Architecture
39
T ng V t lý (Physical Layer)
ầ
ậ
Truyền dòng bit “tươi” (raw bits) qua đường truyền vật lý Gi ả
i quyết các giao diện (interfaces) thời gian, điện, cơ;
phương tiện truyền vật lý
Layered Architecture
40
T ng Liên k t d li u (
ế ữ ệ Data Link Layer)
ầ
ể
ể
ể
m Truyền dữ liệu giữa các nút (nodes) láng giềng • Định khung, ki m soát lỗi, ki m soát luồng • Điều khi n truy cập phương tiện truyền
Layered Architecture
41
ự
S phân phát nút-nút Node-to-node delivery
Layered Architecture
42
T ng M ng (network layer)
ạ
ầ
ỉ ị
ế ị
Layered Architecture
43
- Đánh đ a ch - Đ nh tuy n cho các gói tin trên m ng - Tránh các liên k t b t c ngh n/h ng ế ị ắ ạ ỏ ẽ
ự
ố
S phân phát cu i-cu i ố End-to-end delivery
Layered Architecture
44
T ng V n chuy n (transport layer)
ể
ầ
ậ
n i g i đ n n i nh n ậ ữ ệ ừ ơ ử ế ơ
Layered Architecture
45
; ki m soát ậ ứ ự ệ ậ ậ ể
- V n chuy n d li u t ể - Th c hi n v n chuy n tin c y, đúng th t ể l ỗ ự i/lu ng ồ
ti n trình n ti n trình
ậ ừ ế đế ế
i p tin c y t đ ệ u cu i này ố u cu i kia ố
Phân phát thông trên h th ng ệ ố đầ trên h th ng ệ ố đầ Reliable process-to-process delivery of a message
Layered Architecture
46
T ng Phiên (Session Layer)
ầ
t l p phiên truy n thông (xác th c …)
ế ậ
ề
ự ự ố
ụ
ề
ề
ặ
Layered Architecture
47
- Thi - Khôi ph c phiên truy n khi g p s c (phiên truy n b đ t) ị ứ
T ng Trình di n (Presentation Layer)
ễ
ầ
Chuy n đ i d li u v m t khuôn d ng chung ề ộ
ổ ữ ệ
ể
ạ
Layered Architecture
48
T ng ng d ng (application layer)
ầ Ứ
ụ
ế
ề ầ
- Truy n thông gi a ti n trình – ti n trình - Các t ng khác t n t ị
ữ ế i đ h tr t ng này ồ ạ ể ỗ ợ ầ ụ ư ụ
X500: Directory Service (D ch v th m c) X400: hay là MHS Message Handling Systems FTAM: File Transfer, Access and Management
Layered Architecture
49
Tóm t
t các t ng trong mô hình OSI
ắ
ầ
ậ
ổ
cho phép users truy c p các tài nguyên m ngạ
chuy n đ i, mã hóa và nén ể d li u ữ ệ
Application
7
t l p, duy trì và h y b ủ ỏ
ế ậ
Presentation
thi các phiên truy nề
6
ấ ự ệ
ậ
Session
cung c p s phân phát thông đi p tin c y gi a ữ các ti n trình ế
5
ể ồ
Transport
4
ch c các bits thành
chuy n các gói d li u t ữ ệ ừ ngu n đ n đích; cung c p ấ ế tính năng liên m ngạ
ậ
Network
3
t ổ ứ khung; v n chuy n d li u ể ữ ệ gi a các nodes trong cùng m t m ng
ữ ộ
ạ
Data link
2
Physical
1
ề ươ
ng ti n truy n; cung k thu t v ậ ề
truy n dòng bits qua ph ệ ề c p các đ c t ặ ả ỹ ấ c , đi n… ệ ơ
Layered Architecture
50
TCP/IP Suite
TCP/IP Suite OSI Model
Application
7
Application
4
Presentation
6
Session
5
Transport
Transport
4
3
Network
Internet
3
2
Data link
2
Host-to-Network
1
Physical
1
Layered Architecture
51
TCP/IP Suite và OSI model
Layered Architecture
52
Internet Protocol “Zoo”
Telnet HTTP NFS/Sun RPC RealAudio RealVideo DNS FTP SMTP
n o i t a c i l p p a
Layered Architecture
53
Tầng Internet
ủ Các thành phần (chức năng) chính c a tầng mạng trên Internet (được thực hiện
ể Tầng vận chuy n: TCP, UDP
Giao thức định tuyến •chọn đường •RIP, OSPF, BGP
Giao thức IP •qui ước về địa chỉ •khuôn dạng gói tin ử •Những qui ước x lý gói tin
tại các host và router)
B ng ả định tuyến
Giao thức ICMP •báo lỗi •router “báo hiệu”
Tầng liên kết dữ liệu
Tầng Vật lý
Layered Architecture
54
Network layer
Internet Protocol (IP)
Liên kết các công nghệ mạng khác nhau và cung cấp sự kết nối toàn
ả
ỉ
ả
cầu trong một thế giới không đồng nhất. Tạo c m giác về một mạng đơn đồng nhất. Gán địa ch logic duy nhất, toàn cầu cho mỗi host Phân gi
ỉ i địa ch
m Ánh xạ từ địa ch logic sang địa ch vật lý đ thực hiện sự phân phát các ỉ
ể ỉ
Layered Architecture
55
gói tin.
Internet Protocol
ỉ
ể
Dịch vụ datagram phi kết nối, không tin cậy Các gói tin chứa địa ch nguồn và đích Các packets được truyền đi độc lập với nhau Các packets có th bị mất
• Phục hồi lỗi tùy thuộc vào các giao thức đầu cuối (endtoend protocols)
Layered Architecture
56
ể
Vận chuy n giữa các nút trong một mạng
ủ
S dụng các cơ chế truyền dữ liệu c a tầng liên kết dữ liệu
ử m Example: Ethernet, Token Ring, PPP ỉ
ỉ
Ánh xạ từ địa ch logic (IP address) sang địa ch vật lý (MAC
address) m Address Resolution Protocol (ARP) – giao thức phân gi
Layered Architecture
57
ả ỉ i địa ch
Các giao thức vận chuy nể
Giao thức TCP: Hướng kết nối: ph i thiết lập kết nối giữa client, server
ả
Giao thức UDP: Vận chuy n dữ liệu ể không tin cậy giữa bên ử g i và nhận
Vận chuy n tin cậy ể ử g i và nhận ể
giữa bên
Không cung cấp: thiết lập ể kết nối, ki m soát luồng, ki m soát tắc nghẽn
Ki m soát luồng (flow control): bên g i không làm ngập bên nhận ể
Ki m soát tắc nghẽn:
ử ể
Layered Architecture
58
ử Tại sao dùng UDP? ỉ điều ch nh ả tốc độ bên g i khi mạng quá t i
ủ Triết lý c a Internet
ỉ
Mạng ch cung cấp những dịch vụ thiết yếu nhất
m IP chuy n dữ liệu phi kết nối, không tin cậy Các chức năng gia tăng khác được thực hiện ở các đầu cuối ở
ể
m Phục hồi lỗi và ki m soát luồng được thực hiện b i TCP
Ứng dụng đầu cuối biết nhiều hơn
ể
m Mất packet có th chấp nhận được đối với voice
ể
Mọi sự ki m soát được đưa về các hệ thống đầu cuối.
Layered Architecture
59
ể
M i quan ố h gi a ệ ữ các t ng ầ và a ch ỉ đị trong TCP/IP
Layered Architecture
60
a ch V t lý (physical addresses)
Đị
ỉ ậ
Layered Architecture
61
a ch IP (IP addresses)
Đị
ỉ
Layered Architecture
62
a ch c ng (port addresses)
Đị
ỉ ổ
Layered Architecture
63
Mô hình ClientServer
Thông thường một ứng dụng mạng gồm 2
phần: client và server
application transport network data link physical
request
Client:
ế ố ớ
r
ụ
ầ
reply
kh i t o k t n i v i server (“nói ở ạ c”) tr ướ ng là yêu c u d ch v nào đó th ị ườ server t ừ Server:
r
c yêu c u
ị
ụ ượ
ầ
application transport network data link physical
Cung c p d ch v đ ấ cho client
Layered Architecture
64
r
Ví dụ: Dịch vụ Web (giao thức HTTP)
Web
mô hình client/server
PC running Explorer
http request http response
ể
m client: là trình duyệt, nó yêu cầu, nhận và “hi n thị” các đối tượng Web
u e st
ể ả
m server: là Web server, nó g i các đối ở lời cho các yêu cầu từ
tượng đ tr client
h tt p re q h tt p res p o n se
Server running NCSA Web server
Mac running Navigator
Layered Architecture
65
HyperText Transfer Protocol giao thức tầng ứng dụng cho dịch vụ
Đơn vị dữ liệu giao thức và đơn vị dữ liệu dịch vụ
Đơn vị dữ liệu giao thức Protocol data units (PDUs): các gói dữ liệu được trao đ i ổ
ể
giữa các thực th đồng tầng
Đơn vị dữ liệu dịch vụ Service data units (SDUs): các gói dữ liệu do tầng phía trên
đưa xuống
Dữ liệu tại một tầng được bao bọc trong gói (packet) tại tầng dưới
m Envelope within envelope: PDU = SDU + header or (optional) trailer
Layered Architecture
66
Minh họa quá trình đóng gói
67
Layered Architecture
ở
Một ví dụ về sự đóng gói: g i Email
Layered Architecture
68
Nhận xét về việc phân tầng
Ưu đi mể
m Module hóa giúp cho việc duy trì và cập nhật dễ dàng
hơn Nhược đi mể
m Tầng nào nên thực hiện chức năng gì?
m Sự trùng lặp chức năng giữa các tầng
ả • Dựa trên nền t ng hopbyhop hay endtoend
ể • Tầng liên kết dữ liệu và tầng vận chuy n đều có chức năng
Layered Architecture
69
phục hồi lỗi
So sánh giữa OSI và TCP/IP Giống nhau:
Một chồng giao thức độc lập Chức năng c a các tầng na ná giống nhau (roughly similar) ủ
Khác nhau (về mặt mô hình tham chiếu):
Số tầng (7 vs. 4) OSI phân biệt rõ: services, interfaces, protocols => protocols được che dấu
tốt hơn và dễ dàng thay thế hơn khi công nghệ thay đ iổ
ả
OSI: mô hình được nghĩ ra trước, protocols được phát minh sau OSI: tầng mạng hỗ trợ c hai connectionless & connectionoriented ể communication; tầng vận chuy n ch hỗ trợ connectionoriented communication
Layered Architecture
70
ỉ
Chương 3: Tầng Vật lý The Physic Layer
The Physic Layer
71
ả ủ
Các chức năng cơ b n c a tầng Vật lý
ả
ủ
ả
ỉ
Cung cấp các đặc t kỹ thuật về cơ, điện, các hàm, th tục Cung cấp kh năng dò tìm xung đột Ch rõ các loại cáp, đầu nối và các thành phần khác Truyền dòng bit “tươi” qua kênh truyền thông Kích hoạt, duy trì và kết thúc các liên kết vật lý Bao gồm c phần mềm điều khi n thiết bị cho các mạch giao tiếp ể
ả truyền thông
The Physic Layer
72
Các vấn đề cần cân nhắc
Tại sao chúng ta thích truyền thông tín hiệu số hơn truyền thông
tín hiệu tương tự?
Phương tiện truyền vật lý hứa hẹn nhất cho tương lai là gì? Truyền thông vô tuyến có th thay thế hoàn toàn truyền thông ể
hữu tuyến?
“Hệ thống truyền thông cá nhân” là gì?
The Physic Layer
73
Truyền dữ liệu và Tín hiệu số
Các loại tín hiệu truyền qua phương tiện truyền vật lý:
m Tín hiệu số m Tín hiệu tương tự
ể
Dữ liệu có th là digital hoặc analog
m Một số dữ liệu vốn đã được trình bày dưới dạng tín hiệu số
ả
• Ký tự ‘A’ trong b ng mã ASCII: 01000001
m Các dạng dữ liệu khác cần được chuy n đ i từ analog sang
ể ổ
• Âm thanh, video,…
Chúng ta quan tâm đến tín hiệu/dữ liệu số!
The Physic Layer
74
digial
Tại sao lại là tín hiệu số?!
Tín hiệu số tốt hơn tín hiệu tương tự để
The Physic Layer
75
m Lưu trữ m Thao tác, x lýử m Truyền tin
Truyền số liệu (1)
m Chất lượng c a tín hiệu m Các đặc đi m c a phương tiện truyền
ử
ả ả
Việc truyền số liệu phụ thuộc vào ủ ể ủ Cần ph i thực hiện x lý tín hiệu Cần ph i đo lường chất lượng c a tín hiệu nhận được ủ
ỷ
m Analog: t lệ tín hiệu/tạp nhiễu m Digital: Xác suất c a các bit lỗi ể
Đ truyền các dòng bits (0’s or 1’s) ta cần ánh xạ chúng sang
các sóng điện từ => các kỹ thuật điều chế
The Physic Layer
76
ủ
Truyền số liệu (2) Tín hiệu được truyền đi có th bịể
m suy gi mả m bóp méo m sai lệch b i tạp âm ở ả
Sự suy gi m và bóp méo tín hiệu phụ thuộc:
m Loại phương tiện truyền m Tốc độ bit m Kho ng cách ả
Phương tiện truyền xác định
m Tốc độ dữ liệu m D i thông c a kênh truyền ủ
The Physic Layer
77
ả
Truyền số liệu (3)
Phương tiện truyền:
m Hữu tuyến: cáp đôi dây xoắn, cáp đồng trục, cáp quang m Vô tuyến: radio, vệ tinh, tia hồng ngoại, sóng cực ngắn (viba)
ể
Liên kết trực tiếp: đi m – đi m ể m Hai thiết bị chia s phương tiện truyền (các bộ chuy n tiếp, bộ
ẻ ể
ả
Liên kết gián tiếp: nhiều đi m hoặc qu ng bá m Nhiều hơn hai thiết bị chia s phương tiện truyền
ể ẻ Các phương thức truyền: đơn công, bán song công, song
công
ổ ả
Các khái niệm cần lưu ý: tần số, ph , d i thông
The Physic Layer
78
khuếch đại trung gian)
ả
ả
ở
D i tần cơ s và D i tần rộng
ả
ở
D i tần cơ s : Tín hiệu số được truyền trực tiếp qua phương
tiện truyền.
ả
D i tần rộng: Tín hiệu số không được đưa trực tiếp lên phương tiện truyền. Tín hiệu tương tự hay sóng mang được điều biến từ tín hiệu số và truyền đi qua phương tiện truyền.
The Physic Layer
79
Một mô hình truyền thông đơn gi nả A simple model of communications
The Physic Layer
80
Tốc độ truyền dữ liệu tối đa
ổ
Tốc độ tín hiệu: số tín hiệu thay đ i trong một giây ể
M)
m Mỗi tín hiệu có th được truyền theo nhiều tốc độ ( Tốc độ truyền dữ liệu tối đa c a kênh truyền là bao nhiêu với ủ
ngưỡng tần số là H?
Định lý Nyquist:
ể
ỉ
m Tốc độ dữ liệu tối đa = 2H log2M bits/sec m Tín hiệu có th được tái dựng lại ch với 2H mẫu/giây
ả
ể
Trong khoa học máy tính, tốc độ dữ liệu được xem như là d i thông Chúng ta có th đạt được bất kỳ tốc độ truyền dữ liệu nào bằng cách
làm cho M thật lớn?
The Physic Layer
81
Định lý Shannon
Kênh truyền tạp nhiễu
m Nhiễu nhiệt sinh ra do các electrons va chạm nhau m T lệ Tín hiệu/Nhiễu: SignaltoNoise Ratio (SNR)
ủ
ỷ
– 10 log10 (S/N) – S/N = 10 10 dB, 100 20dB
ỷ
Cho kênh truyền tạp nhiễu với tần số H và t lệ tín hiệu/nhiễu là
S/N m Tốc độ dữ liệu tối đa = H log2(1+S/N)
Tốc độ dữ liệu tối đa = min(H log2(1+S/N), 2H log2M)
The Physic Layer
82
ỷ • T lệ c a công suất tín hiệu (S) và công suất nhiễu (N): S/N • Được đo bằng đơn vị dB hay decibels
Ứng dụng định lý Shannon
ỷ ỉ
Hệ thống điện thoại quy ước Được thiết kế đ truyền t i giọng nói ể ả Ngưỡng giới hạn là 3000 Hz T lệ Signaltonoise xấp x bằng 1000 Kh năng truyền tối đa: 3000*log
2(1+1000)=~30000 bps
Kết luận: modems quay số khó vượt được tốc độ 28.8
Kbps
The Physic Layer
83
ả
Phương tiện truyền
Cáp đôi dây xoắn Cáp đồng trục d i tần cơ c ở ả Cáp đồng trục d i tần rộng ả Cáp quang Vô tuyến
The Physic Layer
84
Phương tiện truyền: cáp đôi dây xoắn
Bit: truyền giữa các đôi g i và nhận Liên kết vật lý: là những gì nằm
ử
ể
m Tín hiệu truyền đi trong phương tiện
ử giữa nơi g i và bên nhận Đường truyền hữu tuyến:
truyền: cáp đôi dây xoắn, cáp đồng trục, cáp quang
m CAT 5 UTP: 100Mbps
Đường truyền vô tuyến:
Ethernet
m Tín hiệu được truyền đi trong môi
trường không khí, vd: sóng vô tuyến
The Physic Layer
85
Cáp đôi dây xoắn Hai sợi dây đồng có lớp cách điện xoắn lại với nhau, vd: m Loại 3 (CAT 3): dây điện thoại truyền thống, có th dùng trong mạng Ethernet tốc độ 10 Mbps
Cáp đồng trục, cáp quang
Cáp s i quang: ợ
Cáp đồng trục: Hai đường dây dẫn đồng có cùng
r ợ
ễ ể ỗ một trục chung
S i quang mang các xung ánh sáng, m i xung bi u di n m t ộ bit
ạ ộ
r Ho t đ ng t c đ cao: ẫ
ố ộ m Dùng trong truy n d n đi m – ể ề đi m t c đ cao (vd: 5 Gps)
ố ộ i th p: không b nhi u ễ ấ , có th truy n r t xa
r T l
D i tần rộng:
ể l ỷ ệ ỗ đi n t ệ ừ tr ướ
ị ề ấ ể
Hai chiều D i tần cơ s : ả ở m Kênh đơn trên cáp m Ethernet “di s n”ả ả m Nhiều kênh trên cáp m Dùng trong mô hình lai giữa cáp đồng
và quang (HFC)
The Physic Layer
86
c khi c n đ n repeaters ế ầ
Sóng vô tuyến
ế ế
ể
ế
tín hiệu được mang trong ph ổ
Các lo i liên k t dùng sóng vô tuy n: ạ r Vi ba m t đ t ặ ấ
r M ng không dây di n r ng
ệ ộ (vd: các m ng di
ạ
m vd: các kênh truy n có th lên đ n 45 Mbps ề r M ng không dây c c b ụ ộ (vd: WirelessLAN) ạ m 2Mbps, 11Mbps ạ đ ng)ộ m Vd: m ng di đ ng dùng công ngh 3G có th ể
ệ
ộ
ạ đ t t c đ vài trăm Kbps ạ ố ộ
điện từ
r V tinh ệ m Kênh truy n có th đ t đ n 50Mbps(ho c
ề
ặ
ề
ể ạ ế ề
bao g m nhi u kênh truy n nh ) ỏ m Đ tr cu i - cu i kho ng 270 msec ố
ồ ộ ễ ố
ả
không “dây” vật lý hai chiều những nh hư ng c a môi ả trường truyền: m ph n xạả m các vật c n trả ở m sự nhiễu tín hiệu
The Physic Layer
87
ủ ở
Truy cập mạng và phương tiện truyền
Các hệ thống đầu cuối kết nối đến
router biên như thế nào?
Các mạng truy cập tại nhà riêng Các mạng truy cập tại các công ty,
trường, viện…
Các mạng truy cập di động
ủ
Cần lưu ý: d i thông c a mạng truy cập là bao
ả nhiêu?
ẻ
mạng truy cập chia s hay dành
riêng?
The Physic Layer
88
ể
ể
Truy cập tại nhà: truy cập đi m – đi m Qua modem quay số
m tốc độ truy cập đến router c a nhà cung ể cấp có th đạt đến 56Kbps (thường thì thấp hơn)
m không th ể “luôn trực tuyến”
ủ
r Qua đ ng thuê bao s b t đ i x ng (ADSL): ố ấ ố ứ
m T c đ upstream lên đ n 1 Mbps (hi n nay th ườ ế m T c đ downstream lên đ n 8 Mbps (hi n nay th
ệ
ệ ế ng thì < 256 kbps) ng thì < 1 ườ
m FDM: 50 kHz - 1 MHz cho downstream 4 kHz - 50 kHz cho upstream 0 kHz - 4 kHz cho đi n tho i truy n th ng ạ
ề
ệ
ố
The Physic Layer
89
ườ ố ộ ố ộ Mbps)
Truy cập tại nhà qua cable modems
Hệ thống cáp “lai” giữa đồng trục và quang (HFC: hybrid fiber
ể
coax) m không đối xứng: downstream có th đạt đến 10Mbps, upstream
ể
có th đạt đến 1Mbps
mạng lưới cáp đồng trục và cáp quang “gắn” các hộ gia đình đến
ủ router c a ISP m chia s truy cập đến router giữa các gia đình ẻ m các vấn đề: tắc nghẽn, “kích cỡ” ể
tri n khai: qua các công ty “chạy” cáp, vd: MediaOne (USA), STCV
(Vietnam)…
The Physic Layer
90
Minh họa về hệ thống cung cấp dịch vụ cable modem Residential access: cable modems
Diagram: http://www.cabledatacomnews.com/cmic/diagram.html
The Physic Layer
91
ổ
Kiến trúc mạng cable modem t ng quát Cable Network Architecture: Overview
cable headend
home
cable distribution network (simplified)
The Physic Layer
92
Typically 500 to 5,000 homes
ổ
Kiến trúc mạng cable modem t ng quát Cable Network Architecture: Overview
cable headend
home
cable distribution network (simplified)
The Physic Layer
93
ổ
Kiến trúc mạng cable modem t ng quát Cable Network Architecture: Overview
server(s)
cable headend
home
cable distribution network
The Physic Layer
94
ổ
Kiến trúc mạng cable modem t ng quát Cable Network Architecture: Overview
C O N T R O L
D A T A
D A T A
V I D E O
V I D E O
V I D E O
V I D E O
V I D E O
V I D E O
9
7
8
5
1
2
4
6 3 Channels
cable headend
home
cable distribution network
The Physic Layer
95
FDM:
Truy cập tại cơ quan: mạng cục bộ
mạng cục bộ (LAN) kết nối các hệ thống
đầu cuối đến router biên
Ethernet là công nghệ ph biến hiện nay
ổ
ở cho LANs: m Liên kết chia s hoặc dành riêng kết ẻ nối các hệ thống đầu cuối và routers m 10 Mbs, 100Mbps, Gigabit Ethernet tri n khai: ể các cơ quan, trường, viện; nên
The Physic Layer
96
ổ mạng cục bộ gia đình đang dần tr ph biến hiện nay.
Mạng truy cập không dây
Mạng truy cập không dây chia s kết nối các hệ thống đầu cuối đến router m Thông qua các đi m truy cập dịch vụ không ể
ẻ
dây wireless LANs:
router
m 802.11b (WiFi): 11 Mbps Truy cập không dây diện rộng
ở
m Được cung cấp b i các nhà điều hành viễn
thông
m 3G ~ 384 kbps m WAP/GPRS ở
châu Âu
base station
The Physic Layer
97
mobile hosts
Mạng gia đình
ả ủ ể ử
Các thành phần cơ b n c a mạng gia đình: o ADSL hoặc cable modem đ kết nối đến ISP o Thiết bị định tuyến/tường l a/NAT ẩ o Các thiết bị được nối kết theo chu n Ethernet o Đi m truy cập dịch vụ không dây (wireless access point)
wireless laptops
cable modem
router/ firewall
to/from cable headend
wireless access point
The Physic Layer
98
Ethernet (switched)
ể
Độ trễ và mất mát xuất hiện như thế nào?
ủ
ả
ủ
gói tin đang được truyền (delay)
Các gói tin xếp hàng tại vùng đệm c a router tốc độ các gói tin đến từ liên kết đi vào vượt quá kh năng c a liên kết đi ra ả các gói tin ph i xếp hàng, đợi đến phiên được truyền
A
các gói đang xếp hàng (delay)
ỏ
vùng đệm còn trống; các gói tin đến sẽ bị b đi nếu vùng đệm không còn chỗ trống (loss)
The Physic Layer
99
B
Bốn nguồn gây ra độ trễ
ử
1. x lý tại mỗi nút (nodal
r 2. x p hàng (queueing) m th i gian ch đ i đ đ
c truy n
ề
ế ờ đi t
ạ
ờ ợ ể ượ i các liên k t đ u ra ế ầ m tùy thu c vào m c đ t c ngh n ứ ộ ắ
ẽ
processing) : m ki m tra lỗi bit ể m xác định liên kết đầu ra
ộ c a các router ủ
transmission
A
propagation
queueing
nodal processing
The Physic Layer
100
B
ể
ể ả
Độ trễ trong mạng chuy n mạch gói 3. Độ trễ chuy n giao (transmission delay): R=d i thông c a liên kết
ủ ả ả 4. Độ trễ truyền t i (propagation delay): d = độ dài c a liên kết vật lý ủ s = tốc độ truyền t i trong phương
(bps) tiện truyền (~2x108 m/sec)
độ trễ truyền t i = d/s
L=độ dài gói tin (bits) Thời gian đ chuy n các bits ể ể
ả
xuống link = L/R
ng ạ ượ
transmission
Chú ý: s và R là hai đ i l hoàn toàn khác nhau!
propagation
A
queueing
nodal processing
The Physic Layer
101
B
Sự tương tự như đoàn xe
100 km
100 km
Đoàn xe 10 chiếc
trạm thu phí
trạm thu phí
Xe “chạy propagate” với tốc độ 100
ể
Thời gian đ “đầy” toàn bộ đoàn xe qua trạm thu phí lên đường cao tốc = 12*10 = 120 sec
km/hr
ể
Thời gian đ chiếc xe cuối cùng
Trạm thu phí mất 12 giây đ phục vụ 1 xe (transmission time – thời gian ể chuy n giao)
ể
A: 62 minutes
chạy từ trạm 1 đến trạm 2: 100km/ (100km/hr)= 1 hr
xe~bit; đoàn xe caravan ~ packet Q: Mất bao lâu thì c đoàn xe xếp hàng ngay trước trạm thu phí thứ 2?
The Physic Layer
102
ả
Sự tương tự như đoàn xe (tt.)
100 km
100 km
Đoàn xe 10 chiếc
trạm thu phí
trạm thu phí
Các xe bây giờ “propagate – chạy”
ở trạm 2 và còn 3 xe vẫn
Trạm thu phí mất 1 phút/minute
với tốc độ 1000 km/hr
Yes! Sau 7 phút, xe đầu tiên đã đến tại trạm 1. Bit đầu tiên c a gói có th đến ể ủ router 2 trước khi toàn bộ gói/packet được hoàn toàn chuy n ể giao tại router 1!
ể đ phục vụ một xe
Q: Các xe sẽ đến trạm 2 trước khi tất c các chiếc trong đoàn được phục vụ tại trạm 1?
The Physic Layer
103
ả
Độ trễ tại mỗi node +
=
+
+
d
d
d
d
d
nodal
proc
queue
trans
prop
dproc = độ trễ x lýử
m Thông thường là một vài microsecs hoặc ít hơn
dqueue = độ trễ xếp hàng
m Phụ thuộc vào mức độ tắc nghẽn
dtrans = Độ trễ chuy n giao
m = L/R, đáng chú ý đối với các liên kết tốc độ thấp
dprop = Độ trễ truyền t iả
m Một vài microsecs cho đến vài trăm msecs
The Physic Layer
104
ể
Sự mất gói tin
Dung lượng vùng đệm c a hàng đợi là giới hạn ủ Khi các gói tin đến nhưng hàng đợi đầy, chúng sẽ bị b ỏ
(dropped)
ở
Các gói bị mất có th được truyền lại b i nút liền
ở
ể ử
ả trước, b i nguồn g i, hoặc không được truyền lại gì c .
The Physic Layer
105
Chương 4: Tầng liên kết dữ liệu
ủ
Mục tiêu: Nắm được các nguyên lý đằng sau các dịch vụ c a tầng liên kết dữ
ả
liệu (LKDL) : m định khung và đồng bộ hóa m dò lỗi và s a lỗi ử m cách thức chia s một kênh truyền qu ng bá: đa truy cập ẻ m đánh địa ch ỉ ở m truyền dữ liệu tin cậy, ki m soát luồng
ể
ổ
Tìm hi u một số công nghệ/kỹ thuật ph biến ở
tầng LKDL
106
tầng LKDL ể
“link”
Giới thiệu Một số thuật ngữ: hosts và routers được gọi là các nút
(nodes)
(bridges và switches cũng vậy) Các kênh truyền thông kết nối các nút gần kề dọc theo đường dẫn truyền thông được gọi là các liên kết (links) m các liên kết hữu tuyến m các liên kết vô tuyến m các mạng cục bộ đơn vị dữ liệu giao thức ở
tầng 2 là frame, đóng gói/bao bọc gam dữ liệu
ầ ế ữ ệ có trách nhiệm truyền gam dữ liệu từ
107
T ng liên k t d li u một nút đến nút gần kề qua một liên kết truyền thông
Tầng LKDL: ngữ c nhả Gam dữ liệu được chuyên ch b i ở ở
Lausanne m limo: Princeton đến JFK m plane: JFK đến Geneva m train: Geneva đến Lausanne
khách du lịch = datagram đoạn vận chuy n = ể
ở tầng Tương tự như sự vận chuy nể Một chuyến đi từ Princeton đến
liên kết các giao thức khác nhau LKDL qua các liên kết truyền thông khác nhau: m Vd: Ethernet ở liên kết đầu tiên, ở frame relay các liên kết trung gian, ở 802.11 liên kết cuối cùng (xem hình ở slide trước) Mỗi giao thức ở tầng LKDL cung
phương thức vận chuy n = ể
truyền thông
ể
dữ liệu tin cậy hoặc không qua liên kết truyền thông.
giao cấp các dịch vụ khác nhau m Vd: có th cung cấp dịch vụ chuy n ể
thức tầng lkdl đại lý du lịch = gi ả i thuật định
108
tuyến
ủ Các dịch vụ c a tầng LKDL
Định khung, truy cập đường truyền:
ể
ể
m đóng gói gam dữ liệu vào khung, thêm thông tin điều khi n và ki m soát lỗi
(header, trailer)
ể
ỉ
m truy cập kênh truyền nếu phương tiện truyền là chia sẻ m địa ch vật lý được dùng trong khung đ định danh nguồn và đích
ỉ
• khác với địa ch IP! ể
Chuy n dữ liệu tin cậy giữa các nút liền kề
ỷ
m hiếm khi được thực hiện ở
các liên kết có t lệ lỗi bit thấp (cáp quang, một số loại
ỷ
cáp đôi dây xoắn) m được cung cấp ở
các đường truyền vô tuyến vì t lệ lỗi cao
109
ủ
Các dịch vụ c a tầng LKDL (tiếp theo)
ể
Ki m soát luồng:
m điều ch nh tốc độ giữa các nút g i và nhận (gần kề)
Phát hiện lỗi:
ử ỉ
ả ở
m lỗi bị sinh ra b i sự suy gi m tín hiệu, nhiễu m nơi nhận dò tìm sự xuất hiện c a lỗi:
ủ
ử ể ỏ • báo hiệu cho nơi g i đ truyền lại hoặc b frame lỗi đó
S a lỗi: ử m nơi nhận xác định và s a các bit lỗi mà không ph i viện đến việc truyền lại
Bán song công và song công
ử ả
m với bán song công, các nút tại hai đầu c a liên kết có th truyền dữ liệu
ủ ể
110
nhưng không cùng thời đi mể
Kết nối Host – Mạch giao tiếp mạng
NIC hay card mạng là thiết bị tầng 2, mỗi NIC có một mã duy nhất
Khi lựa chọn một card mạng cần cân nhắc các yếu tố:
m Kiến trúc mạng mà NIC đó hỗ trợ m Hệ điều hành m Loại phương tiện truyền m Tốc độ truyền dữ liệu m Loại bus sẵn có
111
ỉ gọi là địa ch MAC.
Truyền thông giữa các bộ thích ứng mạng
datagram
link layer protocol
rcving node
sending node
frame
frame
adapter
adapter
bên nhận
tầng lkdl được thực thi trên bộ
ể
m tìm các lỗi và thông tin điều khi nể m trích gam dữ liệu và chuy n lên cho nút
nhận
802.11 card
bên g i:ở
NICs là thiết bị bán tự trị thực hiện các chức năng c a tầng ủ
ể
m đóng gói gam dữ liệu vào khung m thêm thông tin điều khi n và
thích ứng mạng m Ethernet card, PCMCIA card,
ể
ki m soát lỗi
112
vật lý và LKDL
Định khung và đồng bộ hóa
ả
ủ
Vấn đề: dồn dòng bit vào các khung Ph i xác định các bit đầu tiên và cuối cùng c a khung m Định khung và đồng bộ hóa có quan hệ chặt chẽ với nhau Thường được thực thi b i card mạng ở Bộ thích ứng mạng lấy/đặt các khung ra từ/vào bộ nhớ
host/switch
113
Các phương pháp định khung
Dựa trên đồng hồ
m Một mẫu bit đặc biệt xuất hiện địnk kỳ đ báo hiệu bắt đầu một khung
Hướng ký tự/byte m Đếm số ký tự/byte
ủ
• Vấn đề: khi trường chứa số ký tự/byte c a khung bị sai lệch do lỗi truyền thì bên
nhận mất đồng bộ.
c các ký t
đ c bi
“thoát” DLE
t m t ký t ộ
ướ
ự
ệ ự ặ “thoát” thì sao?
m Dùng các ký tự bắt đầu và kết thúc • STX (start of text) và ETX (end of text) • Vấn đề: khi dữ liệu có chứa những ký tự bắt đầu hay kết thúc? • Nhồi ký tự – Nh i thêm vào tr ồ – N u d li u ch a ký t ứ ế ữ ệ
ự
114
ể
Các phương pháp định khung (tiếp theo)
Phương pháp hướng bit
m Mỗi frame bắt đầu và kết thúc với một chuỗi bit đặc biệt
• Flag hay preamble 01111110
m Nhồi bit
• Bên g i: khi nào có 5 bits 1 liên tiếp nhau trong phần dữ liệu thì nhồi
ở thêm một bit 0
• Bên nhận: khi 5 bits 1 liên tiếp đến thì ế
ỏ
ế
– n u bit ti p theo là 0 thì b đi bit đó – n u các bit ti p theo là 10: d u hi u k t thúc frame ế ệ – n u các bit ti p theo là 11: l ế
ế ế ế
ấ i ỗ
115
ử
X lý lỗi
ể
Dữ liệu có th bị sai lệch trong quá trình truyền
m giá trị bit thay đ iổ
ể ể
Đưa thêm vào khung thông tin đ ki m soát lỗi
ả
m đặt vào b i bên g i ở ở m được ki m tra b i bên nhận ở ể Dò lỗi so với s a lỗi ử m C hai đều cần thông tin “thừa” m Dò: lỗi có xuất hiện hay không m S a: s a lỗi nếu xuất hiện lỗi
ả
ỉ
Ch là sự đ m b o mang tính thống kê ả
116
ử ử
ử
ể
ể
ể
ả
Sự phát hiện lỗi EDC= các bít “dư thừa” đ dò và s a lỗi D = dữ liệu được b o vệ bằng phương pháp ki m tra lỗi, có th bao gồm các trường điều khi n ể
• Phát hiện lỗi không tin cậy 100%!
ể ể
ể
ử
ể
• các cơ chế dùng đ ki m soát lỗi có th bị sót một số lỗi (hiếm); • trường EDC càng lớn thì có th dò và s a lỗi tốt hơn
117
.
ể
ẻ
Ki m tra tính chẵn l
(Parity Checking)
0
0
118
Two Dimensional Bit Parity: Detect and correct single bit errors Single Bit Parity: Detect single bit errors
Các kỹ thuật phát hiện lỗi khác
ể
Ki m tra t ng (Checksum) ổ
ổ ể
ử
ể
ả
ể
m Xét dữ liệu như là dãy các số nguyên (integers) m Tính và g i số ki m tra t ng ử m X lý được nhiều bit lỗi m Không th x lý được tất c các lỗi ể ử Ki m dư vòng (Cyclic Redundancy Check) m Dùng các hàm toán học đ xét dữ liệu m Tính toán phức tạp hơn rất nhiều m Có th x lý được nhiều lỗi hơn
119
ể ử
Internet checksum (RFC 1071)
Mục tiêu: phát hiện “các lỗi” (vd: các bit bị lật) trong các segment được truyền
Bên g i:ử xem nội dung các segment như là
Bên nhận: tính checksum c a segment vừa nhận ủ
ở ể ỉ (lưu ý: ch được dùng tầng vận chuy n)
checksum: thêm vào t ng phần bù 1
được ể
dãy các số nguyên 16 bit ổ ủ c a nội dung segment
Bên g i đưa giá trị checksum và
ử
ki m tra xem checksum vừa được tính có trùng với giá trị trong trường checksum hay không: m NO – lỗi được phát hiện m YES – không có lỗi bị phát hiện. Tuy ể
trường UDP checksum
120
nhiên, vẫn có th tồn tại lỗi ?!
ể
Ki m dư vòng – Cyclic Redundancy Check
xem các bit dữ liệu, D, như là các số nhị phân chọn đa thức sinh, G , mẫu r+1 bit mục tiêu: chọn r CRC bits, R, sao cho ể
ở
ể ử
m
121
Ví dụ về CRC Ta muốn:
D.2r XOR R = nG
tương đương với:
D.2r = nG XOR R Tương đương với: nếu ta chia D.2r cho G, ta có
phần dư R
D.2r R = phần dư [ ] G
101110011 ở
122
m x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x5 + x4 + x2 + x + 1
ử G i đi: r Ethernet và các mạng token ring s dụng CRC32
Tóm tắt về sự phát hiện lỗi
Đ phát hiện lỗi có th x y ra trong quá trình truyền: ể ả
ở
ể m Bên g i thêm vào gói tin một số thông tin m Bên nhận dựa vào các thông tin trên đ ki m tra
ổ
Các kỹ thuật dò tìm lỗi ph biến:
ể ể
ả
m Ki m tra tính chẵn l m Ki m tra t ng (Checksum) ổ m Ki m dư vòng (Cyclic Redundancy Check) Ch đ m b o phát hiện được lỗi ở
mức thống kê nào đó
ẻ (Parity bit checking)
123
ể ể ể ỉ ả mà thôi!
Giao thức và liên kết đa truy cập
Hai loại “liên kết” : đi m – đi m ể
ể
(dây dẫn hay phương tiện truyền được chia s )ẻ
124
ể m liên kết truy cập đi mđi m qua quay số ể ể m liên kết đi m – đi m giữa Ethernet switch và host ể qu ng bá ả m Ethernet truyền thống m upstream HFC m 802.11 wireless LAN
Giao thức đa truy cập
ả
kênh truyền qu ng bá đơn được chia s ẻ khi có hai hay nhiều trạm truyền đồng thời thì x y ra xung đột
ỉ
thành công tại một thời đi mể
ả
m ch một nút truyền Giao thức đa truy cập gi
ả ẻ i thuật phân tán giúp các nút chia s kênh truyền vd: xác định khi
ể nào một nút có th truyền
truyền thông về việc điều khi n chia s kênh truyền có th dùng một
ể ể ẻ
những gì các giao thức đa truy cập hướng tới (slide tiếp theo) :
125
kênh riêng
Giao thức đa truy cập lý tư ngở
ể ỉ
ể ả Kênh truyền qu ng bá tốc độ R bps 1.Khi ch một nút muốn truyền, nó có th truyền với tốc độ R. 2. Khi có M nút muốn truyền, mỗi nút có th truyền với tốc độ trung
bình là R/M
m không một nút đặc biệt nào sắp xếp việc truyền tin m không cần đến sự đồng bộ hóa đồng hồ, khe (thời gian)
ả 3. Giao thức ph i là hoàn toàn phân tán:
126
4. Đơn gi nả
ể Một sự phân loại việc ki m soát truy cập phương tiện truyền
ỏ
ử
ả
m chia kênh truyền thành những “m nh” nh (theo khe thời gian, tần số, mã) ả m cấp phát các m nh đó cho các nút và chúng được “độc quyền” s dụng
ả
trong kho ng được chia
Truy cập ngẫu nhiên
m không chia kênh truyền, chấp nhận xung đột m vấn đề chính là “phục hồi” việc truyền khi có xung đột
“Luân phiên”
ể
m điều phối chặt chẽ việc truy cập phương tiện truyền đ tránh xung đột
127
Có 3 loại chính: Phân chia kênh truyền
Các giao thức truy cập ngẫu nhiên
khi một nút có gói tin đ g iể ở
ủ
m truyền với tốc độ tối đa c a kênh (R). m không có sự phối hợp từ trước giữa các nút
khi có hai hay nhiều nút truyền đồng thời > “xung đột” Giao thức MAC truy cập ngẫu nhiên định rõ:
ả
m làm thế nào đ dò ra xung đột ể m làm thế nào đ phục hồi khi có xung đột x y ra ể
Một số giao thức MAC truy cập ngẫu nhiên tiêu bi u:ể
m ALOHA m slotted ALOHA m CSMA, CSMA/CD, CSMA/CA
128
ả
CSMA – Đa truy cập c m nhận sóng mang
Tương tự như con người: không ngắt lời người khác!
129
CSMA: “nghe trước khi nói” Nếu kênh truyền rỗi: truyền toàn bộ frame Nếu kênh truyền bận, trì hoãn việc truyền
Xung đột trong CSMA
ủ
Bố trí về mặt không gian c a các nút
ể ả
xung đột vẫn có th x y ra: hai nút không nghe được việc truyền c a ủ nhau do độ trễ truyền tin.
ủ
ả
khi có xung đột: toàn bộ thời gian truyền gói tin là lãng phí do nó bị h ngỏ
130
lưu ý: Vai trò c a kho ng cách và độ trễ truyền tin là rất quan trọng trong việc xác định xác suất xung đột
ả Đa truy cập c m nhận sóng mang có dò xung đột (CSMA/CD) CSMA/CD: “nghe trong khi nói”
ả
m xung đột được phát hiện trong kho ng thời gian ngắn m những truyền thông gây xung đột bị h y b sớm, gi m sự lãng phí ả
ủ ỏ
m dễ thực hiện trong wired LANs: đo lường cường độ tín hiệu, so
kênh truyền phát hiện xung đột:
m khó thực hiện trong wireless LANs
tương tự như con người: người có tài nói chuyện (lịch sự)
131
sánh tín hiệu truyền và tín hiệu nhận được
Minh họa phát hiện xung đột CSMA/CD
132
Các giao thức MAC “luân phiên”
Các giao thức MAC phân chia kênh truyền:
ẻ ả ả
m chia s kênh truyền hiệu qu và công bằng khi t i cao m không hiệu qu khi t i thấp: bị trễ khi truy cập kênh truyền, ch có 1/N
ả ả ỉ
ỉ ả d i thông được cấp nếu ch có một nút hoạt động!
Các giao thức MAC truy cập ngẫu nhiên
ả ể
m hiệu qu khi t i thấp: một nút có th tận dụng toàn bộ kênh truyền ả m t i cao: gánh nặng do xung đột
ả
m tìm kiếm cơ chế tốt nhất từ hai loại giao thức trên
133
Các giao thức “luân phiên”
Các giao thức MAC “luân phiên” (tiếp theo)
ẻ Chuy n th bài: ể
r ể ẻ ể Ki m soát vòng: nút ch “mời” nút tớ truyền dữ
ể
ủ liệu theo lượt r
ả
các vấn đề cần quan tâm: m gánh nặng ki m soát vòng m độ trễ chờ đợi đến lượt m sự hư h ng c a nút ch sẽ làm ủ ủ ỏ gãy vòng
r
ẻ truyền
134
ể th bài điều khi n được chuy n tuần tự từ nút này sang nút khác. ẻ trạm nào có th bài sẽ được quyền truyền thông điệp các vấn đề cần quan tâm: m gánh nặng qu n lý th bài ẻ m độ trễ chờ đợi th bàiẻ m th bài bị mất sẽ làm gãy quá trình
ể Tóm tắt về các giao thức điều khi n truy cập phương tiện truyền chia sẻ
ể
ể
Các phương pháp chính đ điều khi n việc truy cập phương tiện
truyền chia sẻ m Phân chia kênh theo thời gian, tần số, mã
• Time Division, Frequency Division, Code Division
m Truy cập ngẫu nhiên,
ả
ở
• ALOHA, SALOHA, CSMA, CSMA/CD • C m nhận sóng mang: dễ thực hiện trong một số công nghệ (wire) nhưng khó
các
công nghệ khác (wireless)
ử • CSMA/CD được s dụng trong Ethernet
m Luân phiên
ể
ẻ
ể
• Ki m soát vòng bằng một trạm trung tâm, chuy n th bài
135
ể
ể
ể
Điều khi n liên kết dữ liệu đi m – đi m
Một người g i, một người nhận, một kết nối > dễ điều khi n
ử ể
ả
ể
ủ ỉ
truy cập hơn các liên kết qu ng bá: m không ki m soát truy cập phương tiện truyền m không cần sự hiện diện c a địa ch MAC m vd: kết nối quay số, đường truyền ISDN
Các giao thức ki m soát LKDL đi mđi m ph biến:
ể ể ổ
136
ể m Giao thức PPP (pointtopoint protocol) m HDLC: Điều khi n LKDL tầng cao (LKDL từng được xem ể là “tầng cao” trong chồng giao thức!
ủ Các yêu cầu thiết kế c a PPP [RFC 1557]
định khung gói tin: đóng gói gam dữ liệu c a tầng mạng trong khung c a
ủ ủ
ủ tầng LKDL m có th mang ể đồng thời dữ liệu từ tầng mạng c a bất kỳ giao thức
tầng mạng nào (không ch IP) ở ở lại phía bên nhận
ỉ m có kh năng tách ngược tr ể ủ ả tính trong suốt c a bit: có th mang bất cứ mẫu bit nào trong trường dữ
liệu
ỏ
phát hiện lỗi (không s a lỗi) ử sự “sống” c a kết nối: ủ đàm phán về địa ch tầng mạng:
ỉ ể phát hiện, báo hiệu về kết nối h ng cho tầng mạng ỉ ể các đi m cuối có th học/cấu hình địa ch
137
ủ mạng c a nhau
Những điều không yêu cầu đối với PPP
Không phục hồi/s a lỗi Không ki m soát luồng dữ liệu ể Phân phát dữ liệu sai thứ tự vẫn okie Không cần hỗ trợ các kết nối multipoint
ể
Phục hồi lỗi, ki m soát luồng, tái sắp đặt dữ liệu đều được “đá” lên các tầng cao hơn!
138
ử
Cấu trúc khung PPP
ể
ỉ
Flag: cờ đ phân cách giữa các khung Address: không làm gì (ch là một tùy chọn) Control: không làm gì; có th là các trường điều khi n trong ể
ể
tương lai
Protocol: ch giao thức
ỉ ở tầng trên (mạng) mà khung sẽ được phân
ủ
139
ể ể phát (vd: PPPLCP, IP, IPCP, …) info: dữ liệu được mang c a tầng trên check: ki m dư vòng đ phát hiện lỗi
Nhồi Byte
Yêu cầu c a ủ “sự trong suốt dữ liệu” : trong trường dữ liệu có th chứa mẫu
ể
Bên g i:ử “nhồi” thêm một byte <01111110> vào sau mỗi byte <01111110> dữ
bit cờ <01111110> m Câu h i:ỏ khi nhận được <01111110> thì đó là dữ liệu hay cờ?
Bên nhận:
liệu
m nếu nhận được 2 bytes 01111110 liên tục thì b đi byte đầu tiên và tiếp tục
ỏ
m nếu nhận được một byte 01111110 đơn thì đó là cờ
140
thu nhận dữ liệu
Minh họa nhồi byte trong PPP
Mẫu byte cờ trong dữ liệu ể ử đ g i
Mẫu byte cờ được nhồi thêm vào trong dữ liệu được truyền đi
141
ủ Sự hoạt động c a giao thức PPP
ổ
ể ả
cầu hình cho kết nối PPP (độ dài khung
Trước khi trao đ i dữ liệu tầng mạng, các thực th LKDL ngang hàng ph i thực hiện
học/cấu hình thông tin tầng mạng
tối đa, xác thực)
m đối với IP: mang các thông điệp IP Control Protocol (IPCP) (có giá trị trường protocol là 8021) đ cấu hình/học địa ch IPỉ
142
ể
Chương 5: Mạng Cục Bộ (Local Area Networks)
143
Chương 5: Mạng cục bộ LANs
ể
Kết nối các máy tính trong phạm vi ngắn Làm thế nào đ liên kết nhiều máy tính với nhau
ả
ả ẻ
m Mỗi máy kết nối đến tất c các máy khác m Tất c các máy nối đến một liên kết chia s m Nối theo dạng vòng m Tất c nối đến switch
144
ả
Các công nghệ mạng cục bộ
Các vấn đề về tầng LKDL đã được đề cập:
m Các dịch vụ, phát hiện/s a lỗi, đa truy cập, truy cập đi m –
ử ể
Các vấn đề liên quan đến LAN sẽ được đề cập:
m addressing m Ethernet m hubs, bridges, switches
145
đi mể
ủ
Các y ban IEEE 802
802.0 SEC
802.1 High Level Interface (HILI)
802.2 Logical Link Control (LLC)
IEEE 802.3 - 10 Mbit
802.3 CSMA/CD Working Group
IEEE 802.3u - 100 Mbit
802.4 Token Bus
IEEE 802.3z - 1000 Mbit
802.5 Token Ring
802.6 Metropolitan Area Network (MAN)
802.7 BroadBand Technical Adv. Group (BBTAG)
802.8 Fiber Optics Technical Adv. Group (FOTAG)
802.9 Integrated Services LAN (ISLAN)
802.10 Standard for Interoperable LAN Security (SILS)
802.11 Wireless LAN (WLAN)
802.12 Demand Priority
802.14 Cable-TV Based Broadband Communication Network
802.15 Wireless Personal Area Network (WPAN)
802.16 Broadband Wireless Access (BBWA)
146
RPRSG Resilient Packet Ring Study Group (RPRSG)
IEEE 802 LAN Standard Family
Layer 35/7
Layer 2 Data Link
MAC
802.2 Logical Link Control (LLC)
PHY
Layer 1 Physical
802.3 CSMA/CD 802.11 Wireless
147
802.4 Token Bus 802.5 Token Ring
Tầng liên kết dữ liệu (trình bày lại!)
Dịch vụ: phân phát (tin cậy) các gói dữ liệu giữa các trạm gần kề
(hàng xóm) ể
Điều khi n truy cập phương tiện truyền (MAC)
m Quy định việc truyền dữ liệu lên phương tiện truyền chia sẻ m Dựng khung và đánh địa chỉ m Liên hệ với các thành phần vật lý được dùng đ truyền thông tin
ể
Ki m soát kết nối luận lý (LLC)
ể
ể
m Có những chức năng ki m soát quá trình truyền thông với độ tin cậy cao m Làm cầu nối cho phép giao tiếp chung m Nhận thông tin từ tầng mạng
ử ể ổ ở bên g i và chuy n đến c ng thích hợp
148
ủ c a hệ thống đích
Lớp phụ LLC
Packet
Packet
LLC PDU
Frame
Packet
Đơn vị dữ liệu giao thức c a LLC: ể ể
ủ
m DSAP: m SSAP:
ủ ủ
ể ở ỉ đi m truy cập dịch vụ c a hệ thống đích đi m truy cập dịch vụ c a hệ thống nguồn Hỗ trợ các phương pháp ki m soát kết nối được ch rõ b i các giao thức ở
149
tầng trên
ẩ
Chu n Ethernet
Ethernet hiện là họ công nghệ mạng cục bộ được dùng rộng rãi nhất trên thế
giới.
Chu n Ethernet được cung cấp (công bố) lần đầu tiên vào năm 1980 b i một
ẩ ở
ể ti u ban phối hợp giữa the Digital, Intel, và Xerox (DIX).
IEEE lấy DIX Ethernet làm nền t ng cho đặc t kỹ thuật IEEE 802.3 ả
ả
(1985).
Sau đó, IEEE m rộng thêm các y ban mới là 802.3u (Fast Ethernet), ủ 802.3z (Gigabit Ethernet over Fiber), và 802.3ab (Gigabit Ethernet over UTP)...
150
ở
Ethernet Standards
151
ả
Các đặc t kỹ thuật cho Ethernet Ethernet Specifications
Designation
Description
10 Mbps baseband Ethernet over coaxial cable with a maximum distance of 185 meters. Also referred to as Thin Ethernet or
10Base2
Thinnet or Thinwire.
10 Mbps baseband Ethernet over coaxial cable with a maximum distance of 500 meters. Also referred to as Thick Ethernet or
10Base5
Thicknet or Thickwire.
10BaseT
10 Mbps baseband Ethernet over twisted pair cables with a maximum length of 100 meters.
100BaseFX
100 Mbps baseband Ethernet over two multimode optical fibers.
100BaseT
100 Mbps baseband Ethernet over twisted pair cable.
100BaseT4
100 Mbps baseband Ethernet over four pairs of Category 3 or higher unshielded twisted pair cable.
100BaseTX
100 Mbps baseband Ethernet over two pairs of shielded twisted pair or Category 4 twisted pair cable.
1000BaseCX
1000 Mbps baseband Ethernet over two pairs of 150 shielded twisted pair cable.
1000BaseLX
1000 Mbps baseband Ethernet over two multimode or singlemode optical fibers using longwave laser optics.
1000BaseSX
1000 Mbps baseband Ethernet over two multimode optical fibers using shortwave laser optics.
1000BaseT
1000 Mbps baseband Ethernet over four pairs of Category 5 unshielded twisted pair cable.
152
Ethernet Cable and Connector
153
Ethernet Cable and Connector (2)
Coaxial Cable
Fiber Optic Cable
154
Ethernet Cable and Connector (3)
BNC cable connector
Network Interface Card (NIC)
155
Ethernet Cable and Connector (4)
Shielded Twisted Pair Unshielded Twisted
Pair
156
ỉ
Địa ch trong LAN và giao thức ARP
ể
32bit IP address: địa chỉ tầng mạng được dùng khi chuy n gói tin đến mạng IP đích ể LAN (or MAC or physical or Ethernet) address: Được dùng khi chuy n gói tin từ một mạch giao tiếp này đến mạch giao tiếp khác có kết nối về mặt vật lý (cùng một mạng)
ỉ
Địa ch MAC có 48 bit (cho đa số các mạng cục bộ) ủ và được đốt vào ROM c a bộ thích ứng mạng
157
ỉ
Địa ch trong LAN và giao thức ARP (tt)
ỉ
Mỗi bộ thích ứng mạng trên LAN có một địa ch MAC duy nhất
158
ỉ
(tiếp theo)
Địa ch trong LAN
ả ỉ
Sự phân phối địa ch MAC được qu n lý b i IEEE Các nhà s n xuất mua một phần còn trống c a địa ch MAC (đ đ m
ể ả ở ủ ỉ
ả ả b o tính duy nhất)
ỉ ỉ
ể
ể
ỉ ể ỉ
Sự tương tự: (a) địa ch MAC: tương tự số chứng minh nhân dân (b) địa ch IP: tương tự như địa ch thư tín địa ch MAC là bằng ph ng => có th mang đi được ẳ m có th di chuy n một card mạng từ LAN này sang LAN khác Địa ch IP có tính thứ bậc và KHÔNG mang đi được
m phụ thuộc vào mạng IP mà máy đó kết nối vào
159
ỉ
Ví dụ về sự phân phát gói tin
ở Trạm A g i gói dữ liệu cho B với địa
223.1.1.1
A
ỉ
ả
223.1.2.1
223.1.1.2
223.1.1.4 223.1.2.9
r
B
223.1.2.2
ở
223.1.3.27
223.1.1.3
E
r
223.1.3.2
223.1.3.1
frame: địa chỉ đích, nguồn
datagram: địa chỉ nguồn, đích
IP payload
A’s IP addr
B’s IP addr
B’s MAC addr
A’s MAC addr
datagram
160
frame
ch IP đã được biết: ủ ỉ dò tìm địa ch IP c a B trong b ng định tuyến và biết rằng B nằm trên cùng một mạng với A tầng LKDL máy A đóng gói gam dữ liệu vào khung (frame) và g i cho B > B’s MAC?
ả
ARP: Giao thức phân gi
ỉ i địa ch
Mỗi nút IP (Host, Router) trên
ỏ ể
LAN đều có b ng ả ARP
ủ ỉ
ả
ỉ
B ng ARP: ánh xạ giữa địa ch IP và MAC cho một số nút trên LAN
< IP address; MAC address; TTL>
m
ủ ỉ Câu h i: làm thế nào đ xác định địa ch MAC c a host B khi đã biết địa ch IP c a nó?
TTL (Time To Live): thời gian “sống” ả ủ c a mỗi b n ghi trong b ng ARP (thường là 20 phút)
161
ả
Giao thức ARP
A muốn g i gam dữ liệu cho B, và nó
ử
ủ ả
Gi
A lưu giữ cặp IPtoMAC address ủ vào b ng ARP c a nó cho đến khi ở thông tin này tr nên hết hiệu lực (times out)
ỉ đã biết địa ch IP c a B. ả ả ử ủ s trên b ng ARP c a A chưa
A broadcasts gói truy vấn ARP, chứa
ARP là giao thức “cắm là
có B’s MAC address.
ỉ ủ
địa ch IP c a B m mọi máy trên LAN đều nhận ả
chạy”: m Các nút tự mình tạo b ng ARP mà không cần đến sự can thiệp ả ủ c a nhà qu n trị mạng
ả lời cho
ỉ
162
được truy vấn này B nhận gói truy vấn ARP, tr ủ A địa ch MAC c a nó m frame được g i trực tiếp tới A – ở unicast (nhờ A’s MAC address)
ở
Truyền dữ liệu đến một nút
LAN khác
ở
ủ ả ỉ Tình huống: A g i gam dữ liệu cho B qua router R thiết A biết địa ch IP c a B với gi
A
R
163
B
ỉ
ể
ủ
ở
ủ
ể
ỉ
ử
ỉ
A tạo gam dữ liệu với địa ch nguồn là A’s IP address, đích là B’s IP address A dùng ARP đ lấy R’s MAC address c a IP add. 111.111.111.110 A tạo frame dữ liệu với địa ch (MAC) đích là R’s MAC address ỉ Tầng LKDL c a A g i frame đi ủ Tầng LKDL c a router R nhận frame ủ R trích IP datagram từ Ethernet frame, và biết gói IP đó hướng tới B R dùng ARP đ lấy địa ch MAC c a B R tạo khung trong đó chứa gam dữ liệu với địa ch nguồn là A’s IP, đích là B’s IP và g i đến
B
A
R
164
B
Ethernet
ử
ẻ Công nghệ “thống trị” trong mạng cục bộ (LAN): Công nghệ LAN được s dụng rộng rãi đầu tiên Đơn gi n hơn, r ả hơn so với các công nghệ LAN dùng th bài (token) và
Luôn theo kịp trong cuộc đua tốc độ: 10, 100, 1000, 10000 Mbps
Metcalfe’s Ethernet sketch
165
ẻ ATM (Asynchronous Transfer Mode)
ủ
Lý do cho sự thành công c a Ethernet
ủ
Sự thành công c a Ethernet là do các nhân tố chính sau:
ả
ả
m Sự đơn gi n và dễ dàng trong việc duy trì m Kh năng kết hợp các công nghệ mới m Độ tin cậy cao m Chi phí cho sự lắp đặt và nâng cấp là thấp m D i thông c a mạng có th được tăng lên mà không cần ph i ả
ả
166
ả ổ ể ủ thay đ i công nghệ nền t ng
Khuôn dạng khung Ethernet
r
là g n nh
ạ ầ
ầ
10 Mbps đ n
ấ ả ọ ố
ế ữ ệ c u trúc khung ấ ộ c a Ethernet t
ư gi ng ố ế
ủ
ừ
r
ơ
ị
T i t ng liên k t d li u, t c m i t c đ nhau cho t 10,000 Mbps. Ethernet qui đ nh m t khung (frame) không ít h n 64 octets ộ (bytes) và không nhi u h n 1518 octets. ề
ơ
167
IEEE 802.3 Ethernet
168
Cấu trúc khung Ethernet
ở Bộ thích ứng mạng bên g i bao bọc các gam dữ liệu IP (hoặc gói dữ
liệu giao thức tầng mạng khác) trong khung Ethernet
ở Preamble (phần m đầu):
7 bytes với mẫu bit 10101010 được theo sau b i một byte với mẫu
ở
bit 10101011
được s dụng đ đồng bộ nhịp đồng hồ giữa bên g i và bên nhận
169
ử ể ở
Cấu trúc khung Ethernet (tt)
Addresses (địa ch ):ỉ 6 bytes
ỉ
ỉ
ỉ
ỉ
m nếu bộ thích ứng mạng nhận được một frame có địa ch đích trùng với địa ch vật lý c a ủ ỉ ả nó, hoặc địa ch đích là địa ch qu ng bá (vd: gói ARP request), nó sẽ đưa dữ liệu lên cho giao thức (được ch ) tại tầng mạng m nếu không thì nó sẽ loại b khung đó
ỏ Type (loại): ch giao thức ở
ỉ tầng trên (network layer), phần lớn là IP nhưng
ể những giao thức khác cũng có th được hỗ trợ như Novell IPX và AppleTalk); cũng có th kết hợp là
Length (chiều dài) <1536 > Length! ể ể ể CRC (Cyclic Redundancy Check – Ki m dư vòng): được ki m tra tại bên
170
nhận, nếu phát hiện có lỗi, khung đó bị bỏ
Ethernet Dịch vụ phi kết nối, không tin cậy
Phi kết nối: không bắt tay giữa bộ thích ứng mạng bên
ở g i và nhận.
Không tin cậy: bộ thích ứng mạng bên nhận không g i ở
tin báo nhận/không nhận (ACK hay NACK) đến bộ thích ứng mạng bên g iở m dòng c a các gam dữ liệu được chuy n lên cho tầng mạng có ủ
ể
ể ả th có các kho ng trống
m các kho ng trống này sẽ được lấp nếu ứng dụng s dụng TCP
ử ả
ở ể tầng vận chuy n
m nếu không thì, ứng dụng sẽ “thấy” các kho ng trống đó (x lý
ử ả
171
hay không tùy nó)
ử
Ethernet s dụng CSMA/CD
ể
Trước khi cố gắng truyền lại, card mạng đợi một thời đoạn ngẫu nhiên, đó là, truy cập ngẫu nhiên
Một card mạng có th bắt đầu truyền tại bất kỳ thời đi m nào Nhưng nó không truyền nếu c m ả nhận được rằng một (số) card khác đang truyền, đó là, c m ả nhận sóng mang
Card mạng đang truyền sẽ h y b ủ ỏ ngay việc truyền dữ liệu khi nó ả c m nhận được một card khác đang truyền, đó là, sự phát hiện xung đột
172
ể
ả
Gi
i thuật CSMA/CD trong Ethernet
1. Card mạng nhận gam dữ liệu từ 4. Nếu card mạng phát hiện thấy có
tầng mạng và tạo frame
ở ả 2. Nếu c m nhận thấy kênh truyền
sự truyền dữ liệu khác, nó sẽ h y ủ ỏ b việc truyền dữ liệu và g i tín hiệu bồi
ả ủ ỏ 5. Sau khi h y b việc truyền, card
rỗi, nó sẽ bắt đầu truyền frame đi. Nếu c m nhận thấy kênh truyền bận, nó đợi cho đến khi kênh truyền rỗi và truyền dữ liệu
ở mạng bước vào vãn h i theo ồ lu t s mũ ậ ố : sau lần xung đột thứ m, card mạng chọn giá trị K ngẫu nhiên từ {0,1,2,…,2m1}. Card mạng đợi K*512 bit times và tr lại bước 2
173
3. Nếu card mạng truyền xong toàn bộ frame mà không phát hiện thấy việc truyền dữ liệu khác nào, nó xem như việc truyền frame đó đã hoàn thành!
Ethernet’s CSMA/CD (tt)
ả ể ả
ả
ả Tín hiệu bồi: đ đ m b o rằng tất c các trạm đang truyền biết được ả xung đột đang x y ra; 48 bits; Bit time: .1 microsec cho 10 Mbps
Vãn hồi theo luật số mũ : Mục tiêu: thích ứng các nỗ lực truyền lại với t i trọng hiện tại được ước lượng m t i nặng: thời gian đợi ngẫu nhiên sẽ là ả dài hơn
xung đột đầu tiên: chọn K từ {0,1}; độ
ả Ethernet ; với K=1023, thời gian đợi vào kho ng 50 msec
sau xung đột thứ 2: chọn K từ
trễ là K x 512 bit times
sau xung đột thứ 10, chọn K từ
{0,1,2,3}…
174
{0,1,2,3,4,…,1023}
ủ Hiệu suất c a Ethernet
Các tham số liên quan
ả
m chiều dài cáp, tốc độ tín hiệu, kích cỡ khung, d i thông
ủ
ả
ả
Kh năng c a kênh truyền lúc t i nặng
+
1 a4.51
=
=
»
a
PROP TRANS
cablelengt h signalspee d
bandwidth framesize
175
·
Đi dây trong Ethernet đầu tiên Original Ethernet Wiring
176
Heavy coaxial cable, called thicknet, 10Base5
Original Ethernet Wiring (2)
177
Đi dây trong Ethernet thế hệ thứ 2 Second Generation Ethernet Wiring
178
Thinner coaxial cable, called thinnet, 10Base2
Second Generation Ethernet Wiring (2)
179
Đi dây trong Ethernet hiện đại Modern Ethernet Wiring
180
Uses a hub, called twisted pair Ethernet, 10BaseT
Modern Ethernet Wiring (2)
181
182
183
ẩ
Chu n 10 Base2 trong Ethernet 10: 10Mbps; 2: độ dài một đoạn mạng xấp x 200 m Dùng cáp đồng trục m ng, kết nối theo hình trạng dạng bus ỏ
ỉ
ử
repeater được s dụng đ liên kết nhiều đoạn mạng ể repeater chuy n tiếp tín hiệu từ một c ng sang c ng còn lại: là thiết ổ
ể ổ
tầng vật lý! bị
184
ở ở đang dần tr thành một công nghệ lỗi thời
Ưu nhược đi m ể ủ c a cáp đồng trục
u đi m ể :
ẻ
Ư m Yêu cầu ít repeaters hơn so với cáp đôi dây xoắn m R hơn cáp quang m Đã và đang được dùng trong nhiều năm cho việc truyền số liệu, bao
Nh
m Đắt hơn và khó lắp đặt hơn so với cáp đôi dây xoắn m Cần ống dẫn dây lớn hơn so với cáp đôi dây xoắn
185
ả gồm c cáp cho TV c đi m ể : ượ
ẩ
Chu n 10BaseT và 100BaseT
Tốc độ truyền dữ liệu là 10/100 Mbps; chu n 100 còn được gọi là “fast
ẩ
ethernet” ỉ
T ch Twisted Pair (cáp đôi dây xoắn) Các nút kết nối đến một thiết bị tập trung –hub: “dạng hình sao”; kho ng cách
ả
nodes
hub
tối đa từ nút đến hub là 100m
Hub về b n chất là repeater nhiều c ng:
ả ổ
m tín hiệu nhận được từ một c ng và chuy n tiếp đến tất c các c ng khác ổ m không dùng kỹ thuật vùng đệm m không dùng CSMA/CD: card mạng phát hiện xung đột
186
ể ả ổ
Unshielded Twisted Pair (UTP)
ử
Cáp đôi dây xoắn không bọc có bốn đôi dây được kết xoắn được s rộng rãi trong kết
nối mạng hiện nay.
ả
ủ
ể ở
ở
ở
Đặc t kỹ thuật TIA/EIA568A|B quyết định đến hiệu năng c a cáp Dùng đầu nối RJ45 Khi truyền thông diễn ra, tín hiệu được truyền b i bên g i cần được hi u b i bên
nhận.
ể
ở
Tín hiệu được truyền cần được nhận đúng b i mạch kết nối được thiết kế đ nhận
ở
ở
tín hiệu. Chân truyền
trạm nguồn cần được kết nối (sau cùng) với chân nhận
trạm đích.
187
Attach the RJ45
RJ45 Jack
RJ45 Plug
188
UTP Implementation
ể
EIA/TIA định rõ đầu nối RJ45 cho cáp UTP như hình vẽ bên. Dựa vào đó ta có th bấm các loại cáp th ng, chéo… (more later!)
189
ẳ
Sơ đồ chân nối cho RJ45 connector
1: Transmit 2: Transmit 3: Receive 4: Not used 5: Not used 6: Receive 7: Not used 8: Not used
1: Transmit 2: Transmit 3: Receive 4: Not used 5: Not used 6: Receive 7: Not used 8: Not used
ố ộ ề
190
Đ i v i Ethernet t c đ <1000Mbps thì chân 1,2: truy n; chân 3,6: nh n; 4, 5, 7, 8: không dùng đ truy n/nh n d li u ố ớ ậ ậ ữ ệ ể ề
Unshielded Twisted Pair (UTP)
Rollover
Straight-through
Cross-over
Cáp th ng (straight-through): 1-1, 2-2, 3-3, 4-4, 5-5, 6-6, 7-7, 8-8 ẳ
191
Cáp chéo (cross-over): 1-3, 2-6, 3-1, 4-4, 5-5, 6-2, 7-7, 8-8
UTP Straightthrough Cable
Hub or Switch
Host or Router
Đ kết nối một c ng từ Hub hoặc Switch đến c ng c a card mạng trên
ủ ể ổ ổ
192
ẳ máy tính ta dùng cáp th ng (straightthrough cable)
UTP Straightthrough Cable
Hub or Switch
Host or Router
193
UTP Crossover Cable
ủ
ể
ổ
ổ
Đ kết nối từ một c ng c a Switch này đến một c ng c a ủ
Switch khác ta dùng cáp chéo (crossover cable).
194
UTP Crossover Cable
ấ ầ ớ
ố ộ
ư
Đ b m cáp chéo ta đ u chân 1 (đ u này) v i chân 3 (đ u kia); chân 2 ầ ể ấ v i chân 6; ớ N u dùng cho các t c đ 10/100Mbps thì chân 4, 5, 7, 8 không dùng. ế N u mu n b m cáp chéo cho t c đ Gbps thì b m nh cáp chéo bình ế ố ộ 195 ng và đ u thêm chân 4 v i chân 7; chân 5 đ u v i chân 8. th ườ ố ấ ấ ấ ấ ớ ớ
Kết nối các thiết bị
Router
PWR
WIC0 ACT/CH0
WIC0 ACT/CH0
ETH ACT
OK
COL
ACT/CH1
ACT/CH1
V P N
Switch
S e rv e r
IP P h o n e
1 2 3
4 5 6
7 8 9
8 #
*
P C
iMac
Hub
Kết nối các thiết bị cùng nhóm thì ta dùng : cáp chéo Kết nối các thiết bị khác nhóm thì ta dùng: cáp th ngẳ
196
Mã hóa Manchester
Được s dụng trong các chu n 10BaseT, 10Base2 Mỗi bit có một sự chuy n tiếp trạng thái ể Cho phép đồng hồ giữa bên g i và nhận đồng bộ hóa với nhau ở
m không cần một đồng hồ toàn cục, tập trung giữa các nút!
ử ẩ
Lưu ý, đây là “món” c a tầng vật lý!
197
ủ
Gbit Ethernet
ể ể ả
dùng khuôn dạng khung c a Ethernet chu n ẩ ủ cho phép c liên kết đi m – đi m và các kênh truyền chia s chế độ chia s , CSMA/CD được s dụng; đ đạt hiệu qu cao thì
ẻ ả ử ể ẻ
ả
ở kho ng cách giữa các nodes là ngắn ở
đây, hubs được gọi là “Buffered Distributors” đạt tốc độ 1 Gbps
ở ể chế độ truyền song công cho các liên kết đi m –
hiện tại đã có 10 Gbps!
198
đi mể
ủ Tương lai c a Ethernet
Ethernet đã và đang đi qua một cuộc cách mạng từ công nghệ →
→
→
Legacy
Gigabit
Fast ủ
MultiGigabit. Tương lai c a môi trường mạng bao gồm: còn cao hơn) còn cao hơn)
m Cáp đồng (tốc độ lên đến 1000 Mbps, có l ẻ m Không dây (đang tiến đến 100 Mbps, có l ẻ m Cáp quang (hiện tại là 10,000 Mbps và sẽ sớm được nâng cao hơn)
199
Liên kết các đoạn mạng cục bộ
Repeaters Hubs Bridges Switches
m Nhận xét: switches về b n chất là bridges nhiều c ng. ổ ả m Những gì ta nói về bridges cũng đúng cho switchs!
200
Liên kết các đoạn mạng với repeaters
Repeaters
ể
ở
đầu kia
m Là thiết bị tầng Vật lý, nhận bits/tín hiệu một đầu, tái tạo và chuy n tiếp m Liên kết các đoạn mạng Ethernet
Miền xung đột
m Bao gồm một tập các trạm mà nếu có 2 trạm truyền dữ liệu đồng thời thì sẽ có một xung
đột
Repeaters m rộng mạng nhưng đồng thời cũng m rộng miền xung đột Mạng Ethernet có đường kính bị giới hạn (thời gian) là 51.2 m s
m Tối đa ch được 4 repeaters ỉ m Đường kính tối đa £
2,500 m
201
ở ở
Liên kết các đoạn mạng với hubs
ở ả
ở
Dùng hubs làm xương sống liên kết các đoạn mạng cục bộ M rộng kho ng cách tối đa giữa các nodes Nhưng đồng thời cũng m rộng miền xung đột CS và một nút
EE truyền đồng thời: xung đột
m Nếu một nút ở
ở
Không th liên kết 10BaseT & 100BaseT
202
ể
Bridges
Là thiết bị
ở
ể
ể ủ ể ể tầng liên kết dữ liệu m lưu giữ và chuy n tiếp các khung Ethernet m ki m tra phần thông tin điều khi n c a khung và chuy n tiếp có lựa chọn
ỉ các khung dựa trên địa ch MAC đích
m khi khung sẽ được chuy n tiếp trên một đoạn mạng nào đó, s dụng
ử ể
Trong suốt
ể CSMA/CD đ truy cập đoạn mạng đó
m các trạm không biết đến có sự hiện diện c a bridges
Cắm vào là chạy, tự học
ủ
m bridges không cần ph i được cấu hình
203
ả
Bridges: tách biệt lưu lượng
Việc lắp đặt bridge sẽ chia cắt mạng LAN ra thành nhiều đoạn bridges sẽ lọc các khung dữ liệu:
ở
ể
m Những frames được g i cho các nút trong cùng một đoạn mạng cục bộ thường thì không được chuy n tiếp đến các đoạn mạng cục bộ khác các miền xung đột tách biệt
m Các đoạn tr
= hub
bridge
collision domain
collision domain
= host
LAN segment
LAN segment
LAN (IP network)
204
ở thành
Segmentation (Sự phân đoạn)
205
ể
Quyết định chuy n tiếp
ể ể
206
• Làm thế nào đ xác định chuy n tiếp khung dữ liệu đến đoạn mạng nào? • Một vấn đề tựa như định tuyến...
ả Xây dựng b ng cầu nối
Một bridge có một bridge table Một mục trong bridge table bao gồm:
m (Địa ch c a nút trong LAN , Mạch giao tiếp c a Bridge, Thời gian cập
ỉ ủ ủ
nhật vào)
m Những mục cũ sẽ bị b đi (thời gian sống có th là 60 phút)
ể ỏ
bridges học những trạm có th vươn tới được thông qua những mạch giao
ể
ủ ở tiếp nào m khi nhận được một khung, bridge “học” vị trí c a nơi g i: đoạn mạng
cục bộ đi vào
m ghi nhận cặp nút g i/vị trí trong b ng cầu nối
207
ả ở
ể
Lọc/Chuy n tiếp khung dữ liệu
Khi bridge nhận một khung dữ liệu:
ỉ
ỉ Tìm kiếm địa ch MAC đích trong bridge table N u ế một mục được tìm thấy cho địa ch đích đó
thì{
n u ế đích đến nằm trên cùng đoạn mạng nhận được frame
ượ ạ chuy n tiếp frame đó đến mạch giao tiếp
thì h y b frame đó ủ ỏ i c l ể ổ ỉ
ng (c ng) được ch trong mục tìm được } ng c l i ượ ạ làm lụt ể ả
208
ổ Chuy n tiếp đến tất c các c ng trừ ổ c ng đã nhận được frame đó
ủ
Ví dụ về hoạt động c a Bridge
r Bridge nhận frame từ C
c ng 1
ả
ổ
ả ử ở Gi s C g i frame đến D và D hồi đáp với một frame đến C.
m lưu lại trong bridge table rằng C là ở ổ m vì D chưa có trong b ng, bridge g i frame đó đến c ng 2 và 3 ở frame được nhận b i D ở
209
r
ủ
(tt)
Ví dụ về hoạt động c a Bridge
C | 1
r D tạo ra một frame hồi đáp cho C và g i điở
r
ở ổ
lưu lại trong bridge table rằng D là
c ng 2
m
ở ổ
ể
ổ
bridge biết C là
c ng 1, do đó nó
chỉ chuy n tiếp frame đó đến c ng 1
210
bridge nhận được frame đó m
Liên kết không xương sống
Không được khuyến nghị do hai lý do:
ở ỏ Computer Science bị h ng thì mạng bị sập
211
ả ả nếu hub tất c mọi lưu lượng giữa EE và SE ph i đi qua đoạn CS
Backbone configuration (cấu hình đường trục)
212
Recommended ! Khuyến nghị!
ả
i rộng đ tăng độ tin cậy, thiết yếu ph i có nhiều đường dẫn luân phiên, dư từ ả
Bridges và cây tr ể nguồn đến đích
với nhiều đường dẫn, kết qu là dễ tạo ra vòng lặp bridges có th nhận và
ể
ể ả chuy n tiếp một frame mãi mãi
gi ả
ổ ả i pháp: t chức các bridges vào một cây tr i rộng bằng cách tạm thời vô
Disabled
213
ổ hiệu hóa một tập con các c ng nào đó
ủ
ể
Một số đi m đặc trưng c a bridge
Tách được các miền xung đột nên làm cho thông lượng
ủ
tối đa c a mạng tăng lên
ở
ủ
ể
ả
Không bị giới hạn b i số nút và tầm bao ph địa lý Có th kết nối với nhiều loại Ethernet khác nhau Trong suốt (“cắm là chạy”): không cần thiết ph i cấu
hình
214
Ethernet Switches thực chất là bridge nhiều c ngổ lọc và chuy n tiếp frame dữ liệu s ử
Switching: AtoA’ và BtoB’ truyền dữ liệu đồng thời mà không bị xung đột
có nhiều mạch giao tiếp (c ng)ổ thông thường thì các trạm kết nối dạng
ể ỉ dụng địa ch vật lý
215
hình sao đến switch m Ethernet, nhưng không xung đột!
ủ
Các lợi ích c a Switch
Cung cấp sự phân đoạn Tăng gấp đôi d i thông giữa các ả
Truyền dữ liệu không xung đột Kết hợp nhiều c ng với tốc độ
nút
ể ổ
Cho phép nhiều mạch hoạt động
ổ khác nhau (10/100/1000 Mbps) và ẻ các c ng này có th được chia s hoặc dành riêng
216
đồng thời
ể
Các cách thức chuy n mạch Store-and-forward:
m
ể
Toàn bộ frame được nhận trước khi nó được chuy n tiếp đi.
m Độ trễ tăng lên đối với các frame lớn. m Kh năng dò tìm lỗi là cao.
ả Cut-through:
ỉ
ể Chuy n tiếp frame ngay khi ki m tra xong địa ch (vật lý) đích.
ể
m ể m Không ki m tra lỗi m
Sinh ra độ trễ thấp nhất Fragment-free switching:
m
ể
m
Chuy n tiếp frame sau khi nhận được 64 bytes đầu tiên. Lọc được các frame xung đột (có kích cỡ < 64 bytes)
217
ể
Forwarding Decision (Quyết định chuy n tiếp)
218
ổ
Ví dụ về một dạng mạng LAN ph biến (IP network)
Dedicated
Shared
219
ử
Minh họa một mạng s dụng Switches
220
ổ So sánh t ng kết Summary comparison
h ub s
b r id g e s
r o ut e r s
s wit c h e s
no
y e s
y e s
y e s
t r af f ic is o lat io n
plug & play
y e s
y e s
no
y e s
no
no
y e s
no
y e s
no
no
y e s
o pt im al r o ut ing c ut t h r o ug h
221
Chương 6: Tầng Mạng ổ T ng quan: các dịch vụ c a tầng mạng ủ các nguyên tắc định tuyến: lựa chọn
đường đi
đến sự phát tri n c a mạng m router làm việc như thế nào m các ch đề nâng cao: IPv6,
ủ mobility (read!)
định tuyến theo thứ bậc giao thức IP các giao thức định tuyến trên Internet
ể
ổ
Tìm hi u một số công nghệ và kỹ thuật ph biến trên Internet
m intradomain m interdomain
những gì bên trong một router?
6222
Mục tiêu: nắm được các nguyên lý đằng ủ sau các dịch vụ c a tầng mạng: m định tuyến (lựa chọn đường đi) m gi ả i quyết các vấn đề liên quan ể ủ
Chương 6 Nội dung
6.1 Giới thiệu về các mô hình dịch vụ mạng 6.2 Các nguyên tắc định tuyến 6.3 Định tuyến theo thứ bậc 6.4 Giao thức IP – Internet Protocol 6.5 Định tuyến trên Internet
6223
ủ
Các chức năng c a tầng mạng
chuy n các gói tin từ trạm nguồn đến
ể trạm đích
ở
các giao thức thuộc tầng mạng xuất mọi trạm và router
hiện
application transport network data link physical
network data link physical
network data link physical
network data link physical
network data link physical
network data link physical
ả
ba chức năng quan trọng: xác định đường đi: là lộ trình mà các gói tin sẽ đi từ nguồn đến đích. Các gi
network data link physical
network data link physical
i thuật định tuyến chuy n tiếp: ể ủ
network data link physical
ể chuy n các gói tin từ đầu vào c a router đến đầu ra thích hợp
thiết lập kênh truyền o:ả một số kiến
application transport network data link physical
ả
trúc mạng yêu cầu router ph i thiết lập ả kênh truyền o trước khi dữ liệu được truyền đi
6224
Mô hình dịch vụ mạng
ể
Khái niệm trừu tượng quan trọng nhất mà tầng mạng cung cấp:
mạch o ả hay gam dữ liệu?
ể Q: Kênh truyền có th cung cấp những ể mô hình dịch vụ gì đ chuy n các gói tin từ nguồn đến đích? đ m b o về d i thông? ả ả ả không bị jitter? phân phát không mất mát? phân phát đúng thứ tự? ph n hồi tình trạng tắc nghẽn cho nơi g i? ử
ả
? ??
6225
Mạch oả
“đường dẫn từ nguồn đến đích hoạt động giống như mạch điện
ủ ỏ
thiết lập và h y b kênh truyền cho mỗi cuộc gọi trước khi dữ liệu có th ể
“ch y”ả
ả
mỗi gói tin mang một định danh kênh o (không ph i là định danh trạm đích) ả mọi router trên đường dẫn từ nguồn đến đích duy trì “trạng thái” cho mỗi kết
ở
ể
ỉ
nối m kết nối
ể
tầng vận chuy n ch bao gồm hai hệ thống đầu cuối các tài nguyên như mối kết nối, router (bandwidth, buffers) có th được cấp
ể
ể
phát cho kênh oả m đ đạt được hiệu suất như mạng chuy n mạch kênh
6226
thoại” m sự thực thi thông minh m mạng tác động dọc theo đường dẫn từ nguồn đến đích
ả
Mạch o: các giao thức báo hiệu
ể
ử ử
ử
được s dụng đ thiết lập, duy trì và kết thúc các mạch o ả được s dụng trong các công nghệ mạng như ATM, framerelay, X.25 không được s dụng trong Internet ngày nay
6. Nhận dữ liệu
ở
3. Chấp nhận kết nối 2. Tín hiệu báo kết nối đến
5. Dữ liệu bắt đầu được truyền 4. Cuộc gọi được thiết lập 1. Kh i tạo cuộc gọi
application transport network data link physical
application transport network data link physical
6227
Các mạng Datagram: mô hình Internet
không thiết lập kết nối tại tầng mạng routers: không lưu giữ trạng thái c a các kết nối giữa các thiết bị đầu cuối ủ
m không có khái niệm “kết nối” tại mức mạng
các gói tin được chuy n tiếp bằng cách s dụng địa ch trạm đích
ể
m các gói tin giữa cùng hai trạm nguồn – đích có th đi theo các con đường khác nhau
ử ể ỉ
application transport network data link physical
application transport network data link physical
6228
ử 1. G i dữ liệu 2. Nhận dữ liệu
Chương 6 Nội dung
6.1 Giới thiệu về các mô hình dịch vụ mạng 6.2 Các nguyên tắc định tuyến
m Định tuyến theo trạng thái kết nối m Định tuyến theo vector kho ng cách
6.3 Định tuyến theo thứ bậc 6.4 Giao thức IP – Internet Protocol 6.5 Định tuyến trên Internet
6229
ả
Định tuyến
Giao thức định tuyến
5
B
C
Mục tiêu: xác định đường dẫn “tốt” (chuỗi các routers) qua mạng từ nguồn đến đích.
3
A
F
5 2
D
E
2 1 3 1 2 ả Khái niệm trừu tượng về đồ thị cho i thuật định tuyến: các gi 1
các nút trên đồ thị là các router các cạnh c a đồ thị là các liên kết
ủ
ủ r
ng ườ i thi u ể
ng d n “t đ ẫ ườ m thông th ườ d n v i chi phí t ớ ẫ t” : ố ng là đ ố
c áp d ng
đ
m các chính sách khác có th ể ụ
ượ
6230
vật lý m chi phí c a kết nối/liên kết: độ trễ, giá $, hay mức độ tắc nghẽn…
ả
Phân loại các gi
i thuật định tuyến
Thông tin định tuyến là toàn cục hay phi
tập trung?
Tĩnh hay động? Tĩnh: các đường đi được thay đ i chậm
ả
ổ
Toàn c c:ụ tất c routers có đầy đ thông tin về chi phí kết ủ
ủ
nối và hình trạng c a mạng
i thuật “trạng thái kết nối”
qua thời gian
ổ
Động: các đường đi được thay đ i ổ
ả
ả
nhanh chóng m cập nhật theo chu kỳ m đáp lại sự thay đ i về chi phí ổ
kết nối
các gi ả Phi t p trung: ậ Mỗi router biết các chi phí liên kết đến các router bên cạnh có kết nối vật lý với nó quá trình tính toán chi phí và trao đ i thông tin với các router hàng xóm được lặp đi lặp lại i thuật “ vector kho ng cách”
Các gi
6231
Chương 6 Nội dung
6.1 Giới thiệu về các mô hình dịch vụ mạng 6.2 Các nguyên tắc định tuyến 6.3 Định tuyến theo thứ bậc 6.4 Giao thức IP – Internet Protocol 6.5 Định tuyến trên Internet
6232
Định tuyến theo thứ bậc
Các nguyên lý đ nh tuy n mà chúng ta đã đ c p là m t s lý t ng hóa ộ ự ề ậ ế ị ưở
r
ư r m ng là “b ng ph ng” t c các router là nh nhau t ấ ả ạ ằ ẳ … không đúng trong th c ti n ự ễ
ả mức độ: với kho ng 200 triệu đích
ể
ả
ỉ
ể
ả
không th lưu trữ tất c địa ch đích
ả ủ đến:
ả
trong b ng định tuyến! ổ
ể ki m soát việc định tuyến trong mạng c a họủ
ủ
việc trao đ i thông tin liên quan đến b ng định tuyến đã đ làm ngập các kết nối!
ả
6233
sự tự trị trong qu n trị liên mạng = mạng c a các mạng các nhà qu n trị mạng có th muốn
Định tuyến theo thứ bậc
gateway routers các router đặc biệt trong
Tập hợp các router lại thành các vùng/miền gọi là “các hệ thống tự trị” (AS)
AS
Các router trong cùng AS chạy cùng giao thức định tuyến m giao thức định tuyến “bên
ả
chạy intraAS routing protocol với tất c các router khác trong AS hơn nữa chịu trách nhiệm định tuyến cho các mạng đích ngoài AS m chạy interAS routing protocol với các gateway routers khác
m các router thuộc AS khác ể nhau có th chạy các giao thức định tuyến “bên trong AS” khác nhau
6234
trongAS”
IntraAS và InterAS routing
C.b
B.a
A.a
b
c
A.c
a
a
C
b
B
a
•định tuyến giữa các AS •định tuyến bên trong AS với các routers khác trong hệ thống
d
c
b
A
network layer
link layer
physical layer
interAS, intraAS routing in gateway A.c
6235
Gateways:
IntraAS và InterAS routing
C.b
B.a
InterAS routing between A and B
A.a
b
Host h2
c
A.c
a
a
C
b
B
a
d
c
Host h1
b
A
IntraAS routing within AS B
IntraAS routing within AS A
ữ ế
ọ ị ẽ ộ ố ế
r Minh h a đ nh tuy n gi a các ASs và bên trong các ASs r Chúng ta s nghiên c u m t s giao th c đ nh tuy n bên trong m t ộ ủ
6236
ứ ph n sau c a bài gi ng này. AS và gi a các AS ữ ứ ị ả ầ ở
Chương 6 Nội dung
6.1 Giới thiệu về các mô hình dịch vụ mạng 6.2 Các nguyên tắc định tuyến 6.3 Định tuyến theo thứ bậc 6.4 Giao thức IP – Internet Protocol
ỉ
ả
ể ủ
m 6.4.1 Địa ch IPv4 m 6.4.2 Truyền một gói từ nguồn đến đích m 6.4.3 Khuôn dạng gói IP m 6.4.4 Sự phân m nh gói IP m 6.4.5 ICMP: Giao thức thông điệp điều khi n c a Internet m 6.4.6 DHCP: Giao thức cấu hình host động
6.5 Định tuyến trên Internet
6237
The Internet Network layer
ủ Các thành phần (chức năng) chính c a tầng mạng trên Internet (được thực hiện
tại các host và router)
Giao thức định tuyến •chọn đường •RIP, OSPF, BGP
Giao thức IP •qui ước về địa chỉ •khuôn dạng gói tin ử •Những qui ước x lý gói tin
ể Tầng vận chuy n: TCP, UDP
B ng ả định tuyến
Giao thức ICMP •báo lỗi •router “báo hiệu”
Network layer
Tầng liên kết dữ liệu
6238
Tầng Vật lý
Định danh các nút trên mạng ầ
ử
ỉ
T ng m ng ạ có trách nhiệm truyền dữ liệu qua một tập các mạng. Các protocols hỗ trợ cho tầng mạng s dụng địa ch có thứ bậc (
hierarchical
addressing)
ể
ỉ
ỉ
Các protocols (dùng đ đánh địa ch ) không có tầng mạng ch làm việc được trong
các mạng nội bộ nhỏ.
ử
ể
Các protocols không có tầng mạng s dụng ki u địa ch ph ng
ỉ ẳ (flat addressing
ở
scheme) thì không m rộng tốt được
6239
ỉ
Địa ch : Mạng & Trạm
ị ỉ ạ giúp xác định đường đi qua liên mạng
Đ a ch m ng Địa ch mạng được chia làm hai phần: ỉ ầ ầ
m Ph n m ng - Network ạ m Ph n tr m - host ạ
Các giao thức mạng khác nhau có cách chia địa ch mạng ra thành hai phần
ỉ
6240
ỉ ả mạng và trạm riêng. (ta ch th o luận về IP.)
Xác định lộ trình
ẫ ể ể ừ
ồ ạ
ị
6241
Đ ng d n đ chuy n gói tin t ườ m ng ngu n đ n m ng đích ế ạ c xác đ nh b i các giao th c đ ứ ở ượ đ nh tuy n (OSPF, EIGRP, RIP, ế ị vv...) – more later!
15 16
31
0
4-bit Version
16-bit Total Length (in bytes)
4-bit Header Length
8-bit Type Of Service (TOS)
3-bit Flags
13-bit Fragment Offset
16-bit Identification
IP – Layer 3
8-bit Protocol
16-bit Header Checksum
8 bit Time To Live TTL
32-bit Source IP Address 32-bit Destination IP Address Options (if any) Data
Application Header + data
6242
ỉ
Giới thiệu về địa ch IPv4:
223.1.1.1
223.1.2.1
223.1.1.2
223.1.2.9
223.1.1.4
IPv4 address: 32bits dùng ể đ định danh cho host, router interface
interface: kết nối giữa
223.1.2.2
223.1.3.27
223.1.1.3
interface
223.1.3.2
223.1.3.1
ể
m host cũng có th có nhiều
interfaces
ỉ
m mỗi địa ch IP được kết hợp
với một interface
223.1.1.1 = 11011111 00000001 00000001 00000001
223
1
1
1
6243
host/router và liên kết vật lý m router thông thường có nhiều
(tt)
ỉ Địa ch IP
223.1.1.1
IP address:
223.1.2.1
ỉ
m phần địa ch mạng (các bits trọng số
223.1.1.2
cao)
223.1.2.9
223.1.1.4
223.1.2.2
223.1.1.3
223.1.3.27
m địa ch trạm (các bits trọng số thấp) (nhìn dưới khía
ủ
223.1.3.2
223.1.3.1
ỉ
ỉ Địa ch mạng là gì? ỉ ỉ cạnh địa ch IP) m interfaces c a các thiết bị trong cùng một mạng có cùng phần địa ch mạng ể
m có th thông nhau về mặt vật lý mà không cần đến sự can thiệp c a ủ router
LAN
6244
Mạng bao gồm 3 mạng IP
223.1.1.2
(tt)
ỉ Địa ch IP
223.1.1.1
223.1.1.4
223.1.1.3
223.1.7.0
223.1.9.2
223.1.9.1
223.1.7.1
223.1.8.1
223.1.8.0
223.1.2.6
223.1.3.27
223.1.2.1
223.1.2.2
223.1.3.1
223.1.3.2
Tìm các mạng như thế nào? tách mỗi interface từ router, host tạo các “vùng mạng tách biệt”
6245
Một hệ thống liên mạng bao gồm 6 mạng
ủ
ỉ
Tính di động c a máy tính Địa ch tầng 2 (Ethernet) và tầng 3 (IP) là cần thiết: Địa ch MAC/tầng 2
ủ
m Được đốt (burn) vào trong ROM c a NIC m Không thay đ i được ổ m Là định danh thực c a thiết bị ủ
Địa ch IP/tầng 3 ỉ
ả
ổ
m Được đặt qua phần mềm m Là địa ch “thư từ” c a thiết bị ủ ỉ m Cần ph i thay đ i khi thiết bị dịch chuy n ể
6246
ỉ
ủ
ỉ
Xem địa ch MAC và IP c a máy tính?
6247
ỉ
Cấu trúc địa ch IPv4
32 bits, g m 2 ph n: ph n đ a ch m ng và ph n đ a ch ỉ ị
ỉ ạ
ầ
ầ
ầ
ồ
ị
M t đ a ch IPv4 có ỉ tr m trên m t m ng.
ộ ị ạ
ạ
ộ
ị
ặ ạ ạ
ỉ ạ
ồ
ộ
Ph n đ a ch m ng bao g m bao nhiêu bit tùy thu c vào m t n m ng con (ph n sau).
ầ ầ
Được chia thành 4 octets.
Chuyển đổi từ hệ nhị phân sang thập phân.
6248
Địa ch IPỉ
ỉ
Một địa ch IP có 2 phần: ỉ ạ ỉ ạ
m ph n đ a ch m ng ị m ph n đ a ch tr m (host) trên m ng ị
ỉ ỉ
Những bits nào đề cập đến địa ch mạng? Những bits nào đề cập đến địa ch trạm?
6249
ầ ầ ạ
Địa ch IPỉ lời:
ả
m Giá tr octet đ u tiên
Tr Kỹ thuật cũ Classful IP Addressing (k ti p)
ầ
ị
ử
ủ
ể
ả
trạ m . m Được s d ụ ng với nh ững g ia o th ức đ ịnh tuy ế n th e o lớp , vd nh ư R IP v1 . m C ấ u trúc b ng đ ịnh tuy ế n c a C is c o c ũ ng c ó c ấ u trúc th e o ki u p h â n
lớp .
ế ế ỉ ỉ xá c đ ịnh p h ầ n đ ịa c h m ạ ng và p h ầ n đ ịa c h
Kỹ th u ậ t m ới Classless IP Addressing (ph n sau)
ầ
ặ ạ ạ
ỉ
ỉ xá c đ ịnh p h ầ n đ ịa c h m ạ ng và đ ịa c h trạ m .
m M t n m ng con m G iá trị c a o c te t đ ầ u tiê n kh ô ng c ó ý ng h ĩa q uy ế t đ ịnh (nh ư là tro ng ủ
c la s s ful IP a d d re s s ing )
m Định tuy ế n liê n vùng kh ô ng p h â n lớp C la s s le s s Inte rDo m a in R o uting
ử
(C IDR ) . ỉ
m Địa c h IP kh ô ng p h â n lớp đ ược s
d ụ ng trê n Inte rne t và tro ng p h ầ n lớn
c á c m ạ ng nộ i b ộ .
6250
Đ a ch IP phân l p
ớ
ị
ỉ
ủ
ổ
Trong những ngày đầu c a Internet, địa ch IP được cấp phát cho các t chức dựa trên ỉ
yêu cầu hơn là nhu cầu thực sự.
ổ
ỉ
Khi một t chức được cấp phát một địa ch mạng IP, địa ch đó được kết hợp với một ỉ
“l p”, A, B, ho c C.
ớ
ị
ặ ỉ ủ
ầ
ỉ
c a địa ch sẽ xác định mạng đó thuộc lớp nào và bao nhiêu bits trong
Đó chính là Đ a ch IP phân l p - Classful IP Addressing ớ Octet đ u tiên ỉ
ỉ
địa ch IP thuộc về địa ch mạng.
ở
đây.
Không có mặt nạ mạng con Mãi cho đến năm 1992 khi IETF giới thiệu CIDR (Classless InterDomain Routing), làm
ỉ
ỉ
ị ả
ạ
cho địa ch địa ch phân lớp mất ý nghĩa. Đó chính là Đ a ch IP không phân l p - Classless IP Addressing ỉ ớ . Hiện tại, tất c những gì mà ta cần biết đó là
ế ủ
ấ
ả
M ng ngày nay là không phân ị và những
6251
ứ
ế
ị
l pớ , trừ một số thứ như c u trúc b ng đ nh tuy n c a Cisco mạng vẫn đang còn dùng các giao th c đ nh tuy n phân l p ớ .
ỉ
Các lớp địa ch IPv4
ủ
ỉ
Không có địa ch cho những mạng với số lượng host cỡ trung bình Trong những ngày đầu c a Internet, địa ch IP được cấp phát cho
ổ
ỉ
các t chức dựa trên yêu cầu hơn là nhu cầu thực sự
6252
.
ủ
Mạng được xác định dựa vào giá trị c a octet đầu tiên
Phần địa ch mạng c a địa ch IP phụ thuộc vào octet đầu tiên. ỉ Không có “Mặt nạ mạng cơ s ” “Base Network Mask” được cung cấp b i ở ở
ủ ỉ
ISP.
Mặt nạ mạng là vốn có ngay trong b n thân c a địa ch . ỉ
6253
ủ ả
ỉ
Các lớp địa ch IPv4 (tt.)
ị ỉ ớ
ả
ử ể ỉ Đ a ch l p D Mộ t đ ịa c h lớp D b ắ t đ ầ u với c á c b its 111 0 tro ng o c te t đ ầ u tiê n . ỉ G iá trị o c te t đ ầ u tiê n n ằ m tro ng kh o ng từ 2 2 4 đ ế n 2 3 9 . Địa c h lớp D đ ược s d ụ n g đ đ ạ i d iệ n c h o m ộ t nh ó m c á c
trạ m đ ược g ọ i là a h o s t g ro up , o r m ultic a s t g ro u p .
Đ a ch l p E ỉ ớ ị
ủ ỉ O c te t đ ầ u tiê n c a đ ịa c h IP b ắ t đ ầ u với c á c b its 1111
ỉ
C á c đ ịa c h lớp E đ ược d à nh riê n g c h o m ụ c đ íc h th í ng h iệ m và kh ô n g n ê n d ùng đ á n h đ ịa c h c h o c á c trạ m h a y c á c m u ltic a s t g ro up s .
6254
ỉ
Các lớp địa ch IPỉ
1st octet
2nd octet
3rd octet
4th octet
Class A Network Host Host Host
Class B Network Network Host Host
Class C Network Network Network Host
c c p/qu n ỉ ạ ượ ấ ả
(American Registry for Internet
c c p/qu n lý ượ ấ ả
6255
N = Đ a ch m ng - Network number: đ ị lý b i ARIN ở Numbers) H = Đ a ch tr m - Host number: đ ỉ ạ ị b i các nhà qu n tr m ng ị ạ ở ả
Đ a ch l p A
M t n m c đ nh: 255.0.0.0 (/8)
ỉ ớ
ị
ặ ạ ặ ị
Giá tr octet đ u tiên: 0 – 127, b t đ u v i bit 0 ắ ầ ớ ầ ị
Network Host Host Host
8 bits
8 bits
8 bits
ớ ạ ị 24 đ a ch tr m khác ỉ ạ
S trong ố kho ng 0 - 127 ả
C ó 1 2 6 đ ịa c h m ạ ng th u ộ c lớp A. ỉ
ử
m 0 và 1 2 7 c ó ý ng h ĩa đ ặ c b iệ t và kh ô ng đ ược s
ể d ụ ng đ c ấ p p h á t.
ả
ỉ
ỉ
ỉ
ỉ
ỉ
1 6 ,7 7 7 ,2 1 4 đ ịa c h trạ m /m ạ ng , m ộ t đ ịa c h c h đ ịa c h m ạ ng và m ộ t đ ịa c h q u ng b á
ả
c á c trạ m trê n m ạ ng .
c h o tấ t c ỉ
ủ
ổ
C h nh ững t c h ức lớn nh ư q uâ n đ ộ i, c ơ q ua n c h ính p h , c á c trường đ ạ i h ọ c lớn và
ỉ
nh ững tậ p đ o à n lớn m ới c ó đ ịa c h lớp A (đ a ng n ó i đ ế n Mỹ !) .
ỉ
ỉ
ỉ
ỉ
V i 24 bits dành cho đ a ch ỉ tr m, có 2 ị nhau, hay 16,777,216 nodes!
Ví d ụ nh ư IS P s c ó đ ịa c h 2 4 .0 .0 .0 và 6 3 .0 .0 .0 Địa c h lớp A c h iế m tới 2 ,1 4 7 ,4 8 3 ,6 4 8 đ ịa c h IP v4 . ỉ Bằ ng 5 0 % kh ô ng g ia n đ ịa c h đ ơn h ướng , n uế đ ịa c h p h â n lớp vẫ n đ a ng đ ược s
ử
6256
d ụ ng trê n Inte rne t!
Đ a ch l p B
ỉ ớ
ị
M t n m c đ nh: 255.255.0.0 (/16) ặ ạ ặ ị
Giá tr octet đ u tiên: 128 – 191, b t đ u v i các bits 10 ắ ầ ớ ầ ị
Network Network Host Host
8 bits
8 bits
ớ ạ ị 16 đ a ch tr m khác ỉ ạ
V i 16 bits dành cho đ a ch ỉ tr m, có 2 ị nhau, hay 65,536 nodes!
S trong ố kho ng ả 128 - 191
ỉ
ỉ ả
ỉ
ỉ
ỉ
ỉ
một địa ch ch địa ch mạng và một địa ch qu ng bá cho
Có 16,384 (214) địa ch mạng thuộc lớp B. Mỗi mạng có 65,534 địa ch trạm,
ả
tất c các trạm trên mạng
.
ỉ
ỉ ỉ
ổ
Địa ch lớp B chiếm 25% không gian địa ch IPv4 đơn hướng. Địa ch lớp B được cấp cho những t chức lớn như Cisco, các cơ quan chính ph , ủ
trường học cấp vùng.
6257
Đ a ch l p C
ỉ ớ
ị
M t n m c đ nh: 255.255.255.0 (/24) ặ ạ ặ ị
Giá tr octet đ u tiên: 192 – 223, b t đ u v i các bits 110 ắ ầ ớ ầ ị
Network Network Network Host
8 bits
ớ ạ
V i 8 bits dành cho đ a ch ị ỉ 8 đ a ch tr m khác tr m, có 2 ỉ ạ ị nhau, hay 256 nodes!
S trong ố kho ng ả 192 - 223
ộ ớ ị
ỉ ạ ị ỉ ạ ỉ ạ ạ ỉ ỉ
r Có 2,097,152 đ a ch m ng thu c l p C. r M i m ng có 254 đ a ch tr m, m t đ a ch ch đ a ch m ng và ấ ả
r Đ a ch l p C chi m 12.5% không gian đ a ch IPv4 đ n h
m t đ a ch qu ng bá cho t ộ ị ạ ị ạ ả ỉ
6258
ng. ơ ướ ỉ ớ ế t c các tr m trên m ng. ị ỉ ỗ ộ ị ị
ụ ề ị
ỉ ạ
Ví d v đ a ch m ng Examples of network addresses
6259
ố ị
ỉ ớ
Các kh i đ a ch l p A Blocks in class A
6260
ố ị
ỉ ớ
Các kh i đ a ch l p B Blocks in class B
6261
ố ị
ỉ ớ
Các kh i đ a ch l p C Blocks in class C
6262
ủ
ỉ
ả Sự kh ng ho ng địa ch IP
Sự thiếu hụt địa chỉ Sự bùng n c a b ng định tuyến trên Internet ổ ủ ả
6263
ả
ỉ
Một gi
i pháp cho địa ch IPv4
ặ ạ ạ
ả
ỉ
M t n m ng con - Subnet Mask Một gi
i pháp cho sự thiếu hụt địa ch IP chính là mặt nạ mạng
con – subnet mask.
ẩ
Được chu n hóa vào năm 1985 (RFC 950), mặt nạ mạng con
giúp chia một mạng thuộc lớp A, B hay C thành những phần nh ỏ hơn.
ủ
ể
Điều đó cho phép một nhà qu n trị mạng có th chia mạng c a ả
họ ra thành nhiều mạng con.
ủ
ỉ
Routers vẫn còn kết hợp một địa ch mạng với octet đầu tiên c a
ỉ địa ch IP.
6264
ả
Gi
i pháp dài hạn: IPv6
ử
IPv6, hay IPng (IP – the Next Generation) s dụng một không gian địa ỉ
ể
ỉ
ch gồm 128 bits, sinh ra số địa ch có th cung cấp là
ả
ỏ
340,282,366,920,938,463,463,374,607,431,768,211,456 IPv6 vẫn đang được tri n khai một cách chậm chạp ể IPv6 đòi h i phần mềm mới; đội ngũ IT ph i được đào tạo lại Trong những năm tới phần lớn kh năng là IPv6 sẽ cùng tồn tại với ả
IPv4.
ở
Một số chuyên gia tin tư ng rằng IPv4 vẫn sẽ tồn tại thêm vài năm nữa
ả (đến kho ng 2015).
6265
ỉ
ả i pháp ngắn hạn: Các gi ả Sự c i tiến địa ch IPv4
CIDR (Classless InterDomain Routing) – RFCs 1517, 1518, 1519,
VLSM (Variable Length Subnet Mask) – RFC 1009 Private Addressing RFC 1918 NAT/PAT (Network Address Translation / Port Address Translation) – RFCs 2663, 2993, 3022, 3027, 3235
6266
1520
Mặt nạ mạng Subnet Mask
192.168.1.0/24 192.4.0.0/24
10.2.0.0/16 172.0.0.0/8
Định danh mạng hay phần địa ch mạng
ể
ỉ
m Trạm trên một mạng ch có th truyền thông trực tiếp với các thiết bị khác nếu như chúng
ẳ
có cùng định danh mạng, ch ng hạn như cùng mạng hay cùng mạng con.
m M t n m ng (subnet mask)
ỉ
ỉ
xác định phần địa ch mạng và phần địa ch trạm
ỉ
ặ ạ ạ ỉ cho một địa ch IP.
ỉ
ỉ
ử
m Địa ch mạng không th được s dụng như là một địa ch cho bất kỳ thiết bị nào kết nối
ể vào mạng, ví dụ như hosts, router interfaces…
6267
ử S dụng mặt nạ mạng – subnet mask
Subnet mask cho ta biết phần nào c a địa ch IP thuộc phần địa ch ỉ
ủ ỉ
ỉ mạng và phần nào thuộc địa ch trạm trên một mạng.
Khi có được một địa ch IP, một địa ch trạm hay một địa ch mạng, từ
ỉ ỉ ỉ
ặ ạ ạ ơ ở Base Network
một ISP (Internet Service Provider), họ cũng sẽ cung cấp cho ta một subnet mask , còn được gọi là M t n m ng c s - Mask.
Ta có th s a đ i mặt nạ mạng con này (làm cho nó dài ra), đ phân chia
ể
6268
ể ử ổ ủ ổ mạng con c a cơ quan/t chức mình.
Subnet Masks Binary
1st octet
2nd octet
3rd octet
4th octet
172.0.0.0 Network Host Host Host
11111111
00000000
00000000
00000000
Subnet Mask
192.4.0.0 Network Network Host Host
11111111
11111111
00000000
00000000
Subnet Mask
192.168.1.0 Network Network Network Host
11111111
11111111
11111111
00000000
Subnet Mask
ộ ằ ươ ng ng ứ
ị ỉ ạ ỉ
M t bit “1” trong subnet mask có nghĩa r ng bit t trong đ a ch IP thu c v đ a ch m ng ề ị ộ M t bit “0” trong subnet mask có nghĩa r ng bit t trong đ a ch IP thu c v đ a ch tr m. ề ị ộ
ằ ộ ươ ng ng ứ 6269
ỉ ạ ị ỉ
Subnet Masks – dưới dạng dấu chấm thập phân
1st octet
2nd octet
3rd octet
4th octet
Network Host Host Host
255
0
0
0
172.0.0.0 Subnet Mask: 255.0.0.0 or /8
192.4.0.0 Network Network Host Host
255
255
0
0
Subnet Mask: 255.255.0.0 or /16
192.168.1.0 Network Network Network Host
255
255
255
0
Subnet Mask: 255.255.255.0 or /24
ế
i “ranh gi
i octet t
nhiên”
t bao nhiêu bit “1” trong subnet mask. t ph i k t thúc t ớ
ả ế
ế
ạ
ự
ấ ả
ỉ ạ
ị
t c các bit đ u b ng 0 trong ph n đ a ch ỉ
ề
ằ
ầ
ị
6270
/n “slash” cho ta bi Subnet masks không nh t thi ấ - “natural octet boundaries”. –Các đ a ch m ng có t tr m.ạ
Subnet Masks – dotted decimal 1st octet
2nd octet
3rd octet
4th octet
192.4.0.0 Network Network Host Host
255
255
0
0
Subnet Mask: 255.255.0.0 or /16
Network Network Network Host
255
255
255
0
10.2.0.0 Subnet Mask: 255.255.255.0 or /24
ộ ả
C n ph i ki m tra m t n m ng con vì m t octet trong ặ ạ ạ ph n đ a ch m ng có th là 0.
6271
ể ỉ ạ ầ ầ ể ị
Tại sao cần đến mặt nạ mạng con: Số trạm trên mạng!
Subnet Mask:
1st octet
2nd octet
3rd octet
4th octet
255.0.0.0 or /8
Network Host Host Host
255.255.0.0 or /16
Network Network Host Host
255.255.255.0 or /24
Network Network Network Host
t ph i k t thúc t
i “ranh gi
i octet
ế
ấ
ạ
ớ
nhiên” - “natural octet boundaries”.
ả ế
Subnet masks không nh t thi t ự
6272
Subnet: 255.0.0.0 (/8)
Network Host Host Host
8 bits
8 bits
8 bits
ớ ạ ị 24 đ a ch tr m khác ỉ ạ
ỉ
ổ
ủ
Ch những t chức lớn như quân đội, cơ quan chính ph , các trường đại học lớn và những tập đoàn lớn mới có những mạng cần số địa ch ỉ nhiều như vậy.
Ví dụ: Một ISP cung cấp dịch vụ cable modem có đ/c 24.0.0.0 và một ISP
cung cấp dịch vụ DSL có đ/c 63.0.0.0
6273
V i 24 bits dành cho đ a ch ỉ tr m, có 2 ị nhau, hay 16,777,216 nodes!
Subnet: 255.255.0.0 (/16)
Network Network Host Host
8 bits
8 bits
ớ ạ ị 16 đ a ch tr m khác ỉ ạ
V i 16 bits dành cho đ a ch ỉ tr m, có 2 ị nhau, hay 65,536 nodes!
Có 65,534 địa ch trạm, một địa ch mạng và một địa ch qu ng bá.
6274
ỉ ả ỉ ỉ
Subnet: 255.255.255.0 (/24)
Network Network Network Host
8 bits
ớ ạ
V i 8 bits dành cho đ a ch ỉ ị tr m, có 2 8 đ a ch tr m khác ỉ ạ ị nhau, hay 256 nodes!
254 địa ch trạm, một địa ch mạng và một địa ch qu ng bá. ỉ
6275
ỉ ả ỉ
Địa ch IPỉ
ể
ỉ
ể
ỉ
Có một sự cân bằng giữa: Số bits địa ch mạng hay số mạng mà ta có th có được… VÀ Số bits địa ch trạm hay số trạm trên mỗi mạng mà ta có th có được.
ở
Ta sẽ xem xét kỹ hơn
các slides tiếp theo.
ử
ể
ỉ
ỉ
Địa ch mạng không th được s dụng như là một địa ch cho bất kỳ thiết bị nào kết nối vào
mạng, ví dụ như hosts, router interfaces… ả
ở
ỉ
ỉ
Địa ch mạng: tất c các bit
ả
ỉ
phần địa ch trạm đều bằng 0. ể
m Lưu ý: Cần ph i xét thêm mặt nạ mạng vì địa ch mạng có th bao gồm các bit 0.
6276
ỉ Địa ch IP (tt.)
192.168.1.0 192.4.0.0
Đ a ch qu ng bá - Broadcast Address
10.2.0.0 172.0.0.0
ỉ
ả
ể
ề
ằ
ị
ử ấ ả ả
ể
ị m Được s dụng đ truyền dữ liệu đến tất c các thiết bị trong cùng mạng ả m T t c các bit trong ph n đ a ch tr m đ u b ng 1 ỉ ạ ầ m Tất c các thiết bị đều lắng nghe gói tin qu ng bá ả m Địa ch qu ng bá không th được dùng đ gán cho bất kỳ thiết bị nào kết nối vào mạng. ể m Tìm đ a ch qu ng bá cho m t m ng nh th nào?
ỉ ả ị
ư ế
ộ
ạ
ả
ỉ
6277
ỉ
Địa ch : Mạng và Trạm
192.168.1.0 192.4.0.0
10.2.0.0 172.0.0.0
ề ộ
ầ ạ ớ ị ạ ỉ ớ
6278
C n ph i có routers khi hai tr m v i đ a ch IP thu c v hai ạ m ng/m ng con khác nhau c n liên l c v i nhau. ầ • M t s ví d v đ a ch tr m? ỉ ạ ụ ề ị ả ạ ộ ố
ỉ Địa ch trạm Host Addresses
ỉ
ỉ
ỉ
Địa ch mạng bao gồm một d i các địa ch (IP) trạm ả Với mỗi mạng (hay mạng con) hai địa ch không th được dùng ể
ỉ
ỉ
làm địa ch trạm (HOST IP addresses): 1. Địa ch mạng (Network Address) – Địa ch đại diện cho mạng đó. 2. Địa ch qu ng bá (Broadcast Address) – Địa ch được s dụng đ liên
ỉ ỉ ả ử ể ỉ
6279
ả lạc với tất c các thiết bị trên mạng đó.
Đánh đ a ch cho các tr m ỉ
ạ
ị
Cho đ a ch ị
ỉ 172.16.0.0 và m t n m ng con là 255.255.0.0:
ặ ạ ạ
Network Network Host Host
172 16 0 0
M tộ đ a ch m ng,
ỉ ạ
ị
ả
ỉ
ị
65,534 đ/c tr m, ạ m tộ đ a ch qu ng bá.
172 16 0 0
172 16 0 1
1 đ/c mạng 65,534 đ/c trạm 172 16 Etc. Etc.
216 2 172 16 255 254
6280
172 16 255 255 1 đ/c quảng bá
Mặt nạ mạng con: Ranh giới
ế ả ầ
ủ ớ ở
ố
ố ủ ế ả
Subnet masks không c n thi t ph i k t ế ự thúc ranh gi i t nhiên c a octet ầ (s bit 1 trong subnet mask không c n ộ thi t ph i là m t b i s c a 8)
Chuy n sang d ng nh phân:
ể ạ ộ ị
Network Address Subnet Mask 172.1.16.0 255.255.240.0
6281
192.168.1.0 255.255.255.224
Mặt nạ mạng con: Ranh giới
ế ế ả ầ
ủ ớ ở
Subnet masks không c n thi t ph i k t ự thúc ranh gi i t nhiên c a octet
172.1.16.0
10101100.00000001.00010000.00000000
255.255.240.0
11111111.11111111.11110000.00000000
D i đ a ch tr m d
ạ ị ỉ ướ ạ ậ i d ng th p phân và
ả ị nh phân?
ị ỉ
ạ ị
Đ a ch qu ng bá? ả Bao nhiêu đ a ch tr m? ỉ
6282
ở
ớ
ế
ầ
ả
Mặt nạ mạng con: Ranh giới Subnet masks không c n thi t ph i k t thúc ranh gi i ế
ủ
ự
t nhiên c a octet
172.1.16.0 255.255.240.0
10101100.00000001.00010000.00000000 11111111.11111111.11110000.00000000
10101100.00000001.00010000.00000001 10101100.00000001.00010000.00000010 10101100.00000001.00010000.00000011
10101100.00000001.00010000.11111111 10101100.00000001.00010001.00000000 10101100.00000001.00010001.00000001
172.1.16.1 172.1.16.2 172.1.16.3 … 172.1.16.255 172.1.17.0 172.1.17.1 … 172.1.31.254
10101100.00000001.00011111.11111110
6283
ở
ớ
ế
ầ
ả
Mặt nạ mạng con: Ranh giới Subnet masks không c n thi t ph i k t thúc ranh gi i ế
ự
ủ
t nhiên c a octet
172.1.16.0 255.255.240.0
10101100.00000001.00010000.00000000 11111111.11111111.11110000.00000000
10101100.00000001.00010000.00000001
172.1.16.1 … 172.1.31.254
10101100.00000001.00011111.11111110
10101100.00000001.00011111.11111111
172.1.31.255 (broadcast)
ố ượ
S l
ạ ng tr m: 2
12 – 2 = 4,096 – 2 = 4,094 hosts
6284
ở
ớ
ế
ầ
ả
Mặt nạ mạng con: Ranh giới Subnet masks không c n thi t ph i k t thúc ranh gi i ế
ủ
ự
t nhiên c a octet
192.168.1.0 255.255.255.224
11000000.10101000.00000001.00000000 11111111.11111111.11111111.11100000
11000000.10101000.00000001.00000001 11000000.10101000.00000001.00000010 11000000.10101000.00000001.00000011
192.168.1.1 192.168.1.2 192.168.1.3 … 192.168.1.29 192.168.1.30
11000000.10101000.00000001.00011101 11000000.10101000.00000001.00011110
11000000.10101000.00000001.00011111
6285
192.168.1.31 (broadcast)
ở
ớ
ế
ầ
ả
Mặt nạ mạng con: Ranh giới Subnet masks không c n thi t ph i k t thúc ranh gi i ế
ự
ủ
t nhiên c a octet
192.168.1.0 255.255.255.224
11000000.10101000.00000001.00000000 11111111.11111111.11111111.11100000
11000000.10101000.00000001.00000001
192.168.1.1 … 192.168.1.30
11000000.10101000.00000001.00011110
11000000.10101000.00000001.00011111
192.168.1.31 (broadcast)
ố ượ
S l
ạ ng tr m: 2
5 – 2 = 32 – 2 = 30 hosts
6286
Mạng con và Mặt nạ mạng con
ứ
ộ
ơ
Đ c chính th c hóa vào năm 1985, m t n ặ ạ m ng con chia m t m ng đ n thành nhi u ề ạ . m ng con
ng ng trong đ a ch
ượ ạ ạ ộ
ằ
ươ
ứ
ị
ỉ
IP thu c v đ a ch m ng ề ị
ộ
M t bit “1” trong subnet mask có nghĩa r ng bit t ỉ ạ M t bit “0” trong subnet mask có nghĩa r ng bit t
ằ
ộ
ươ
ng ng trong đ a ch ỉ
ứ
ị
ộ
IP thu c v đ a ch tr m. ề ị
ủ
ữ
ạ
ạ
ọ
ỉ ạ ả nh h n hay g i là các
Các u đi m s đ
Cho phép các nhà qu n tr m ng chia m ng c a h thành nh ng m ng ị ạ . m ng con ạ c th o lu n sau. ậ ả
ọ ẽ ượ
ỏ ơ ư
ể
6287
Subnetting (chia mạng con) là gì?
Network Network Host Host
172 16 0 0
ở
ỉ
ể
Subnetting là quá trình mượn các bits
phần địa ch trạm đ chia một mạng lớn hơn thành
nhiều mạng nh .ỏ
ỉ
ỉ
Subnetting KHÔNG cho ta nhiều địa ch trạm, mà ngược lại làm bớt đi số địa ch trạm. ỉ Ta s ẽ m ấ t 2 đ /c IP c h o m ỗ i m ạ ng c o n, m ộ t c h o đ ịa c h m ạ ng c o n và m ộ t
ỉ
ả
ủ
ể
ả
ủ
ỉ
c h o đ ịa c h q u ng b á c a m ạ ng c o n đ ó . Ta c ó th b ị m ấ t s ub ne t c u ố i c ùng và tấ t c
ỉ
ả
ủ
c á c đ ịa c h trạ m c a nó d o đ ịa ủ
ả
ỉ
ỉ
ể
ỉ
c h q u ng b á c a s ub ne t n à y trùng với đ ịa c h q u ng b á c a m ạ ng (lớn) . Tro ng c ô ng ng h ệ c ũ , ta c ò n b ị m ấ t s ub ne t đ ầ u tiê n, d o đ ịa c h m ạ ng c o n ử trùng với đ ịa c h m ạ ng (lớn) . (Ng à y na y th ì m ạ ng c o n n à y c ó th đ ược s d ụ ng .)
6288
Network Network Subnet Host
c khi chia m ng con
ạ
Sự tương tự Tr
ướ (subnetting):
Trong bất kỳ mạng (hay mạng con) nào, ta
ể
ỉ
ể
ả
không th dùng tất c địa ch IP đ đánh đ/c trạm.
ỉ
ỉ
ỉ
ỉ
Ta mất 2 địa ch cho mỗi mạng hay mạng con. ể ỉ 1. Địa ch mạng – là địa ch dành riêng đ ch mạng (con) đó. Ví dụ như: 172.16.0.0 /16 ể 2. Địa ch qu ng bá – là địa ch dành riềng đ
ỉ ả ả
ỉ
ch tất c các trạm trên mạng (con) đó. Ví dụ như: 172.16.255.255
ể
ỉ
Do đó nó cho ta t ng ổ 65,534 địa ch có th cấp
phát được cho các trạm
6289
98 Apples (100 – 2)
Sự tương tự
10 barrels x 10 apples = 100 apples
10 10 10
98 Apples (100 – 2) 10 10 10
Tương tự như việc chia 100 trái táo từ
10 10 10
ỏ
một thùng lớn ra 10 thùng nh , mỗi thùng 10 trái.
6290
10
2 = 1 network address + 1 broadcast address
9 barrels x 8 apples = 72 apples
(less 2)
(less 2)
(less 2)
8 8 8
8 8 8
(less 2)
(less 2)
(less 2)
98 Apples (100 – 2)
(less 2)
(less 2)
(less 2)
ả
ỉ
8 8 8
ể
ỉ ỉ ả ủ
ả
ỉ
ỉ ả
ỉ ả
ủ
Tuy nhiên, trong việc chia mạng con ta sẽ bị mất 2 qu táo/địa ch trên một thùng/mạng con, một cho địa ch mạng (con) và một cho địa ch qu ng bá. Ta có th bị mất subnet cuối cùng và tất c các địa ch trạm c a nó do địa ch qu ng bá c a subnet này trùng với địa ch qu ng bá c a mạng (lớn).
10X
X
ủ ỉ
Trong công nghệ cũ, ta còn bị mất subnet đầu tiên, do địa ch mạng con
ể
ỉ
ử trùng với địa ch mạng (lớn). (Hiện nay thì mạng con này có th được s dụng.)
6291
172.16.0.0
Ví d v m ng con Đ a ch m ng ị
ụ ề ạ ỉ ạ
Mặt nạ mạng cơ sở 255.255.0.0 hay /16
Network Network Host Host
11111111
11111111
00000000
00000000
M t n m ng ặ ạ ạ c s : ơ ở 255.255.0.0 hay /
ặ ạ ạ
Network Network Subnet Host 16M t n m ng con: 255.255.255.0 hay /24
11111111
11111111
11111111
00000000
Áp d ụ ng m ộ t m ặ t nạ lớn h ơn m ặ t nạ m ạ ng c h ín h /c ơ s
ở (m ặ t
nạ m ạ n g c o n) , s ẽ c h ia m ộ t m ạ ng ra th à n h nh iề u m ạ ng c o n.
Mặ t n ạ m ạ n g c h ính /c ơ s ở là 2 5 5 .2 5 5 .0 .0 h a y /1 6 Mặ t n ạ m ạ n g c o n đ ược s ử d ụ n g
ở đ â y là 2 5 5 .2 5 5 .
2 5 5 .0 h a y / 6292 2 4
Ví d v m ng con
ụ ề ạ
172.16.0.0 v i /16 M t n m ng c s
ị
ỉ ạ
ặ ạ ạ
ớ
ơ ở
Đ a ch m ng Sử dụng Mặt nạ mạng con 255.255.255.0 hay /24
Network Network Subnet Host
172 16 0 0
Địa chỉ mạng con 172 16 1 0
172 16 2 0
172 172 16 16 3 Etc. 0 0 254 mạng con
172 16 254 0
172 16 255 0
28 2 Có thể không được sử dụng subnet cuối cùng do nó chứa đ/c 6293 quảng bá
Ví d v m ng con
ụ ề ạ
172.16.0.0 v i /16 M t n m ng c s
ị
ỉ ạ
ặ ạ ạ
ớ
ơ ở
Đ a ch m ng Sử dụng Mặt nạ mạng con 255.255.255.0 hay /24
ỉ ạ ỗ ị ỉ
D i đ a ch tr m và đ a ch qu ng bá cho m i subnet là gì? ả ả ị Network Network Subnet Host
Subnets 172 16 0 Host
172 16 1 Host
172 16 2 Host
255 Subnets
172 172 16 16 3 Etc. Host Host
28 1 172 16 254 Host
172 16 255 Host
Có thể không được sử dụng subnet cuối cùng do nó chứa đ/c quảng bá
6294
Ví d v m ng con
ụ ề ạ
Đ a ch m ng
172.16.0.0 v i /16 M t n m ng c s
ỉ ạ
ị
ặ ạ ạ
ơ ở
ớ
Sử dụng Mặt nạ mạng con 255.255.255.0 hay /24
Network Network Subnet Hosts
Broadca st
172 16 0 1 255 254
172 16 1 1 255 254
172 16 2 1 255 254
255 254
172 172 16 16 3 Etc. 1 1 255 254
172 16 254 1 255 254
172 16 255 Host
Mỗi subnet có 254 hosts, 28 – 2
6295
ạ
M t m ng v i h th ng phân c p ấ ớ ệ ố ộ 2 m c (không b chia m ng con) ị
ứ
ạ
L u ý: L u ý:
c thi c thi
ư ư
a ch IP ỉ a ch IP ỉ
h th ng phân c p 2 m c. h th ng phân c p 2 m c.
đượ đượ ấ ấ
t k v i ế ế ớ t k v i ế ế ớ ứ ứ
Đị Đị ệ ố ệ ố
6296
ạ
ộ
ấ
M t m ng v i h th ng phân c p 3 m c ứ (b chia m ng con)
ớ ệ ố ạ
ị
6297
ị
ỉ
ớ
ộ
ạ
Đ a ch trong m t m ng v i phân chia m ng con và không…
ạ
6298
M t n m c đ nh và M t n m ng con
ặ ạ ặ ị
ặ ạ ạ
6299
So sánh gi a m t n m c đ nh và m t n m ng con
ặ ạ ặ ị
ặ ạ ạ
ữ
ư ư
ố ạ ố ạ
L u ý: S m ng con ph i là m t s ộ ố ả L u ý: S m ng con ph i là m t s ả ộ ố l y th a c a 2. ũ ừ ủ l y th a c a 2. ũ ừ ủ
6300
t b thu c nhi u m ng
ộ
ề
ạ
Các thi ế ị Multihomed devices
6301
ỉ Một số địa ch IP đặc biệt
ở
phần hostId = 0
ả
ở
phần hostId = 1
ả
ỉ ỉ ả ỉ ả ỉ
ể
ả ả này : tất c các bit
phần netId = 0
Địa ch mạng: tất c các bit ả Địa ch qu ng bá trực tiếp: tất c các bit Địa ch qu ng bá cục bộ: tất c các bit đều = 1 Địa ch trạm cục bộ (trạm này): tất c các bit = 0 Một nút cụ th trên mạng ở Địa ch quay ngược ỉ
m network id = 127, bất kỳ hostId nào (vd 127.0.0.1)
6302
ụ ề ị
ả
ỉ
Ví d v đ a ch qu ng bá tr c ti p ự ế Example of direct broadcast address
ỉ ả
ể ở
ử
ả
ỉ ả
ử
ở Địa ch qu ng bá trực tiếp được s dụng b i router đ g i một thông điệp đến tất c các trạm trên mạng cục bộ. Mọi trạm/router đều nhận và x lý gói tin với địa ch qu ng bá trực tiếp.
6303
i h n
ụ ề ị
ả
ụ ộ ớ ạ
ỉ
Ví d v đ a ch qu ng bá c c b /gi Example of limited broadcast address
ỉ ả
ử
ở
ả
ể
ể ở ở
6304
Địa ch qu ng bá cục bộ/giới hạn được s dụng b i một trạm đ g i một gói tin đến tất c các trạm trong cùng mạng. Tuy nhiên, mặc định thì gói tin sẽ bị chặn b i router đ giới hạn gói tin trong mạng cục bộ đó.
ụ ề ạ này trên m ng ạ này Ví d v tr m Example of this host on this address
ỉ
ỉ
ỉ
ủ ể ở
ể
ỉ
ỉ
ử Một trạm khi nó chưa biết địa ch IP c a nó s dụng địa ch IP 0.0.0.0 như là địa ch nguồn và 255.255.255.255 như là địa ch đích đ g i một thông điệp lên bootstrap server (đ yêu cầu cấp phát địa ch IP). 6305
ụ ề ộ ạ
ụ ể
ạ này
Ví d v m t tr m c th trên m ng Example of specific host on this network
ỉ
ử
ở
ể ở
ể
Địa ch này được s dụng b i một router hoặc một trạm đ g i một thông điệp đến một trạm cụ th trong cùng một mạng.
6306
ụ ề ị
ỉ
Ví d v đ a ch quay ng c ượ Example of loopback address
6307
ỉ
ả i pháp ngắn hạn: Các gi ả Sự c i tiến địa ch IPv4
CIDR (Classless InterDomain Routing) – RFCs 1517, 1518, 1519,
1520
VLSM (Variable Length Subnet Mask) – RFC 1009 Private Addressing RFC 1918 NAT/PAT (Network Address Translation / Port Address Translation) – RFCs 2663, 2993, 3022, 3027, 3235
6308
IP addressing: CIDR
Địa ch phân lớp(A, B, C…) :
ử
ả
ả
ỉ ỉ
ủ
ả
m S dụng không hiệu qu kho ng địa ch , kho ng địa ch bị cạn kiệt nhanh chóng ả ỉ m Ví dụ: một mạng thuộc lớp B có kh năng cấp đ địa ch cho 65 ngàn trạm khác nhau, mặc dù
ỉ
nhiều trường hợp ch có 2 ngàn trạm trong mạng đó
ủ
ở
ủ
ỉ phần mạng c a địa ch
CIDR: Classless InterDomain Routing m phần mạng c a địa ch có độ dài tùy ý ỉ m khuôn dạng địa ch : ỉ a.b.c.d/x, trong đó x là số bit m Còn được gọi là ký hiệu gạch chéo (slash)
ỉ
host part network part 11001000 00010111 00010000 00000000
6309
200.23.16.0/23
ể
CIDR – Định tuyến liên vùng không phân lớp Đến năm 1992, các thành viên trong IETF đã rất lo lắng về sự phát tri n theo hàm số mũ c a Internet và tính m rộng c a b ng định tuyến trên Internet. ủ
ủ ở
ủ ả ỉ
IETF cũng quan tâm đến sự cạn kiệt c a địa ch IPv4. Có những dự đoán rằng vấn đề sẽ tr
ở nên đặc biệt nghiêm trọng cho đến năm
ả i pháp với khái niệm Supernetting hay CIDR, đọc là “cider”.
ỉ
ỉ 1994 hay 1995. IETF đưa ra gi Đối với những router hỗ trợ CIDR, địa ch phân lớp là không còn nhiều ý
length), ví dụ như /8, /19,…
ỉ
ỉ
nghĩa. m Phần địa ch mạng được xác định dựa vào mặt nạ mạng con hay độ dài tiền tố (prefix
m Octet đầu tiên KHÔNG được dùng đ xác định phần địa ch mạng và địa ch trạm. ể CIDR đã giúp làm gi m bớt sự bùng n c a b ng định tuyến trên Internet
ổ ủ ả ả
6310
ỉ với supernetting và sự phân chia lại không gian địa ch IPv4.
CIDR (Classless InterDomain Routing)
Được bắt đầu tri n khai vào năm 1994, CIDR đã c i thiện đáng k tính m ở
ể
ể ả
ép cấp phát hiệu qu hơn
ỉ
không gian địa ch IPv4.
ể
ở
ả
m Hỗ trợ sự tập hợp các tuyến đường (summarization), còn được biết đến là supernetting, với kỹ thuật này thì hàng ngàn tuyến đường có th được đại diện b i một đường đơn trong b ng định tuyến.
• Sự tập hợp tuyến đường còn giúp ngăn chặn sự chập chờn về đường đi cho các router trên
ử
ó th lể à một mối quan ngại sâu sắc đối với
ủ
Internet s dụng BGP. Sự chập chờn về đường đi c các router trên lõi c a Internet.
ể ả ủ ỉ ỉ rộng và hiệu qu c a địa ch IPv4 bằng cách cung cấp các đặc tính sau: m Loại b cỏ ác địa ch theo lớp A, B, C truyền thống đ cho ph ả
CIDR cho phép router t ng h p
ổ
ể
ỉ
tắ , th ô ng tin đ ịnh tuy ế n ợ , hay tóm t ả ả
và d o đ ó là m g i m kíc h c ỡ c a c á c b ng đ ịnh tu yế n. m C h m ộ t s ự kế t h ợp g iữa đ ịa c h và m ặ t nạ c ó th đ ạ i d iệ n c h o nh iề u
d ụ ng b i c á c IG P ro ute rs b ê n tro ng m ộ t AS và EG P ro ute rs
m Được s
ử g iữa c á c AS s .
6311
ủ ỉ tuy ế n đ ường đ i đ ế n nh iề u m ạ ng . ở
Không CIDR, một ả router ph i có một mục cho mỗi mạng thuộc lớp B trong ả b ng định tuyến.
V i CIDR
ớ
, m t ộ router có th ể tóm t t nh ng ữ ắ ng tuy n đ ườ ế này thành m t ộ đ a ch m ng ị ỉ ạ đ n b ng c ách ằ ơ s d ng m t ộ ử ụ ti n t 13-bit: ề ố 172.24.0.0 /13
1. Đ m s bit liên ti p gi ng nhau t
trái sang,
/13 (255.248.0.0)
ố
ố
ế
ế
ừ
Các b c:ướ
2. Các bit còn l
ạ
i (không kh p) đ u cho b ng 0: ề
ớ
ằ
6312
172.24.0.0 = 10101100 00011000 00000000 00000000
ử ỉ
CIDR (Classless InterDomain Routing) Bằng cách s dụng một địa ch tiền tố đ tóm tắt các tuyến đường, các nhà tình trạng có th qu n lý được,
ể ả ể ả ả ở
ể qu n trị có th giữ cho b ng định tuyến điều đó có nghĩa là:
ị
ệ
ủ
ủ
ả
(c a router) khi tính toán lại b ng định
ể
ả
ố
ề ộ
ầ
m Đ nh tuy n hi u qu h n ả ơ ế m Gi m ả s l ng chu kỳ x lý c a CPU ử ố ượ tuyến, hay khi tìm kiếm các mục trong b ng định tuyến đ tìm đường khớp m Yêu c u v b nh đ i v i router gi m xu ng ớ ố ớ
ả Sự tóm tắt tuyến đường còn được biết đến là:
m Sự t ng hợp tuyến đường ổ m Supernetting
ng . ả
i v i subnetting ỏ ỉ
Supernetting về b n chất là c l ượ ạ ớ CIDR chuy n trách nhiệm phân phối địa ch ra kh i một quyền lực tập trung ể
(InterNIC).
Thay vào đó, các ISPs có th được cấp cho một số khối nào đó c a không gian
ủ ể
6313
ể ỉ địa ch , và chúng có th được “chia lô” cho khách hàng theo nhu cầu.
Ví dụ về Supernetting Công ty XYZ cần địa ch cho 400 hosts. ỉ ISP cấp cho họ hai địa ch mạng lớp C liền nhau:
m 207.21.54.0/24 m 207.21.55.0/24
ỉ
Công ty XYZ có th dùng một tiền tố là 207.21.54.0 /23 đ supernetting hai
ể
207.21.54.0 /23 m 207.21.54.0/24 m 207.21.55.0/24
6314
ể mạng liền nhau đó. (sinh ra 510 hosts)
23 bits in common
Ví dụ về Supernetting
ỉ ể
ả
ủ
ể
ả
Với ISP đóng vai trò là nhà qu n lý địa ch cho một khối địa ch ki u CIDR, các mạng ỉ khách hàng c a ISP, bao gồm công ty XYZ, có th được qu ng bá giữa các router trên Internet như là một supernet đơn.
6315
Các hạn chế c a CIDR ả ở
ủ Các giao thức định tuyến động ph i g i thông tin ả dài tiền tố) trong các b n cập nhật đường đi.
Hay nói cách khác, CIDR yêu cầu các giao thức định tuyến không phân lớp cho
m ng và m t n ạ ặ ạ (độ
việc định tuyến động.
Tuy nhiên, ta vẫn có th cấu hình các tuyến đường tóm tắt tĩnh, sau cùng, đó
ể
6316
ủ là những gì c a một tuyến đường 0.0.0.0/0.
t:
ng c th và đ ụ ể
ườ
ượ
ế
Các tuy n đ c tóm t ắ Kh p nhi u bit nh t (Longest-bit Match)
ớ
ề
ấ
Merida
Summarized Update
Specific Route Update
172.16.0.0/16
172.16.5.0/24
172.16.5.0/24
172.16.1.0/24
Quito
Cartago
172.16.2.0/24
172.16.10.0/24
ể
Merida nhận được một cập nhật tóm tắt /16 từ Quito và một cập nhật cụ th hơn /24
từ Cartago.
ả
ả
ủ
ả
Merida sẽ bao gồm c hai tuyến đường trong b ng định tuyến. Merida sẽ forward tất c các gói khớp ít nhất 24 bits đầu tiên c a 172.16.5.0 đến
Cartago (172.16.5.0/24), khớp nhiều bit nhất.
Merida sẽ forward các packets khác khớp ít nhất 16 bits đầu tiên đến Quito
6317
(172.16.0.0/16).
Ví dụ về tóm tắt tuyến đường (Summarizing Examples)
6318
ỉ
ả i pháp ngắn hạn: Các gi ả Sự c i tiến địa ch IPv4
CIDR (Classless InterDomain Routing) – RFCs 1517,
1518, 1519, 1520
VLSM (Variable Length Subnet Mask) – RFC 1009 Private Addressing RFC 1918 NAT/PAT (Network Address Translation / Port Address Translation) – RFCs 1631, 2663, 2993, 3022, 3027, 3235
6319
ặ ạ ạ
ớ ộ
M t n m ng con v i đ dài bi n đ i ế ổ Variable-Length Subnet Mask
6320
VLSM (Variable Length Subnet Mask)
ủ ỉ
Sự hạn chế c a việc ch s dụng một mặt nạ mạng con xuyên suốt ỉ ử network-prefix ) (số lượng bit 1 trong
cho một địa ch mạng ( ổ mặt nạ) đó chính là t chức đó bị khóa chặt vào một số cố định các mạng con có kích cỡ cố định.
ể
ỉ
Năm 1987, RFC 1009 ch rõ làm thế nào đ một mạng được chia
ể ử
mạng con có th s dụng nhiều hơn một mặt nạ mạng con. ạ
ỏ ộ
VLSM = Subnetting a Subnet (chia nh m t m ng con)
m “Nếu biết chia subnet, ta có th thực hiện VLSM!”
6321
ể
VLSM – Ví dụ đơn gi nả
1st octet
2nd octet
3rd octet
4th octet
10.0.0.0/8 Host Host Host 10
10.0.0.0/16 10 Subnet Host Host
10.0.0.0/16 10 0 Host Host
10.1.0.0/16 10 1 Host Host
10.2.0.0/16 10 2 Host Host
10.n.0.0/16 10 … Host Host
10.255.0.0/16 10 255 Host Host
ạ
ử ụ
ộ
ộ
ặ ạ ỗ
ớ
Chia m ng con m t subnet /8 s d ng m t m t n /16 cho chúng ta 256 subnets v i 65,536 hosts trên m i subnet. L y subnet 10.2.0.0/16 và ti p t c chia m ng con cho nó…
ế ụ
ấ
ạ
6322
VLSM – Ví dụ đơn gi nả
Network
Subnet
Host
Host
10.2.0.0/16 10 Host Host 2
10.2.0.0/24 10 Subnet Host 2
10.2.0.0/24 10 0 Host 2
10.2.1.0/24 10 1 Host 2
10.2.n.0/24 10 … Host 2
L u ý: 10.2.0.0/16 bây gi
10.2.255.0/24 10 255 Host 2
t c a
là m t s tóm t ộ ự
ắ ủ
ư ờ t c 10.2.0.0/24 subnets. t ấ ả
6323
VLSM – Ví dụ đơn gi nả
10.0.0.0/8 “đ
c chia m ng con s d ng /16”
ượ
ử ụ
ạ
Subnet 1st host Last host Broadcast 10.0.0.0/16 10.0.0.1 10.0.255.254 10.0.255.255 10.1.0.0/16 10.1.0.1 10.1.255.254 10.1.255.255
Broadcast
10.2.0.0/16 “được tiếp tục chia mạng con s dụng /24” ử m Subnet 1st host Last host m 10.2.0.0/24 10.2.0.1 10.2.0.254 10.2.0.255 m 10.2.1.0/24 10.2.1.1 10.2.1.254 10.2.1.255 m 10.2.2.0/24 10.2.2.1 10.2.2.254 10.2.2.255 m Etc. m 10.2.255.0/24 10.2.255.1 10.2.255.254
10.2.255.255
10.3.0.0/16 10.3.0.1 10.3.255.254 10.0.255.255 v.v. 10.255.0.0/16 10.255.0.1 10.255.255.254 10.255.255.255
6324
KHÔNG là m t ộ
t.
VLSM – Một ví dụ đơn gi nả M t ví d v VLSM, ụ ề ộ t k m ng t thi ế ế ạ
10.2.0.0/24
ố 10.1.0.0/16
10.7.0.0/16
10.2.1.0/24
Subnets 10.0.0.0/16 10.1.0.0/16 10.2.0.0/16
10.3.0.0/16
10.2.6.0/24
10.2.8.0/24
10.8.0.0/16
10.4.0.0/16
10.5.0.0/16
10.2.0.0/24 10.2.1.0/24 10.2.2.0/24 Etc. 10.2.255.0/24
10.2.4.0/24
10.2.3.0/24
10.2.5.0/24
10.6.0.0/16
10.3.0.0/16 Etc. 10.255.0.0/16
ạ
ờ
có th có ể
ớ
m i m ng con ạ
ỗ
VÀ
256 /24 subnets v i 254 hosts
M ng c a ta bây gi ủ ớ
255 /16 subnets v i 65,534 hosts ỗ
m i m ng con. ạ T t c nh ng gì ta c n đ làm cho nó ho t đ ng là m t giao th c đ nh tuy n
ấ ả
ữ
ứ
ể
ế
ị
ầ ẽ
ộ ỉ
trong các thông đi p ệ
ớ
ạ ộ ề mặt nạ mạng cùng v i ớ địa ch mạng
không phân l p, nó s truy n c p nh t đ nh tuy n.
ậ ị
M t s giao th c đ nh tuy n không phân l p:
ứ
ế
ậ ộ ố
ế ị
ớ RIPv2, EIGRP, OSPF, ISIS, BGPv4
6325
ử
Ví dụ khác về VLSM s dụng /30 subnets
c chia m ng con thành tám /27 (255.255.255.224)
ạ
ượ
ạ
M ng 207.21.24.0/24 đ subnets
207.21.24.192/27 subnet, đ
ạ
c chia m ng con thành 8 / ượ 30 (255.255.255.252) subnets
M ng này có
b y /27 subnets v i 30 hosts
ạ
ớ
ả
ỗ
m i m ng ạ m i m ng con. ạ
ỗ
ớ /30 subnets là r t h u d ng cho các serial networks. ụ
con VÀ tám /30 subnets v i 2 hosts ấ ữ
6326
207.21.24.192/27 207.21.24. 11000000 /30 Hosts Bcast 2 Hosts 0 207.21.24.192/30 207.21.24. 110 00000 01 10 11 .193 & .194 1 207.21.24.196/30 207.21.24. 110 00100 01 10 11 .197 & .198 2 207.21.24.200/30 207.21.24. 110 01000 01 10 11 .201 & .202 3 207.21.24.204/30 207.21.24. 110 01100 01 10 11 .205 & .206 4 207.21.24.208/30 207.21.24. 110 10000 01 10 11 .209 & .210 5 207.21.24.212/30 207.21.24. 110 10100 01 10 11 .213 & .214 6 207.21.24.216/30 207.21.24. 110 11000 01 10 11 .217 & .218 7 207.21.24.220/30 207.21.24. 110 11100 01 10 11 .221 & .222
6327
207.21.24.192/3 0
207.21.24.128/27
207.21.24.96/27
207.21.24.204/3 0 207.21.24.216/3 0 207.21.24.64/27
207.21.24.212/3 0
207.21.24.196/3 0
207.21.24.208/3 0 207.21.24.200/3 0
207.21.24.32/27
207.21.24.0/27
207.21.24.224/27
207.21.24.160/27 ả
ạ
ỗ
ớ
VÀ b y ả /
30 subnets v i 2 hosts
m i subnet (còn m t subnet).
b y /27 subnets v i 30 hosts m i subnet ộ
ỗ
M ng trên có ớ ớ
/30 subnets v i 2 hosts trên m i subnet không gây lãng phí đ a ỗ
ị
6328
ch tr m trên các serial networks .
ỉ ạ
Các lưu ý về VLSM
ể
Bất cứ khi nào có th , tốt nhất là nhóm những tuyến đường tiếp ể giáp lại với nhau đ cho chúng có th được tóm tắt (t ng hợp) ở b i upstream routers. ả
ể
ả
ể
ả
ể
m Ngay c khi nếu như không th nhóm được tất c các tuyến đường ử tiếp giáp lại với nhau, thì router sẽ s dụng khớp nhiều bit nhất (longestbit match) khi so khớp trong b ng định tuyến đ chon một tuyến đường cụ th hơn thay vì một tuyến đường được tóm tắt
ể ổ
Ta có th tiếp tục chia nh mạng (subsubnetting) “sâu” bao nhiêu
ỏ
Ta có th có các subnets với kích cỡ đa dạng khi dùng kỹ thuật
ể lần tùy theo ý muốn. ể
6329
VLSM.
Đường chập chờn (Route flapping)
ủ
ổ
Tuyến đường chập chờn xuất hiện khi một interface c a router thay đ i liên tục giữa hai
trạng thái up và down.
ể
Route flapping có th làm tê liệt một router với việc liên tục tính toán lại và cập nhật tuyến
đường.
Tuy nhiên, việc cấu hình tóm tắt sẽ ngăn chặn tuyến đường chập chờn xuất phát từ RTC nh ả
ở
hư ng đến các router khác.
ổ
ủ
Việc đứt một mạng không làm mất hiệu lực tuyến đường t ng hợp đến supernet. Trong khi RTC có th bị bận bịu với việc gi ả ể
i quyết tuyến đường chập chờn c a nó, RTZ, và
ả
tất c upstream routers, là không biết về vấn đề phía dưới (downstream).
Sự tóm tắt tuyến đường cách ly hiệu qu cho các router khác về vấn đề route flapping. ả
6330
ỉ
ả i pháp ngắn hạn: Các gi ả Sự c i tiến địa ch IPv4
CIDR (Classless InterDomain Routing) – RFCs 1517,
1518, 1519, 1520
VLSM (Variable Length Subnet Mask) – RFC 1009 Private Addressing RFC 1918 NAT/PAT (Network Address Translation / Port Address Translation) – RFCs 1631, 2663, 2993, 3022, 3027, 3235
6331
Private IP addresses (RFC 1918)
ể
ử
ỉ
ỉ
Nếu cần đánh địa ch cho những mục đích sau, thì những địa ch riêng tư có th được s dụng thay vì các
ể ử
địa duy nhất toàn cầu: Một intranet không công khai Một phòng lab đ th nghiệm Một mạng gia đình ả ỉ Các địa ch toàn cầu ph i được cấp từ một nhà cung cấp hoặc cơ quan đăng ký nào đó với một số lệ phí.
6332
ỉ
ả i pháp ngắn hạn: Các gi ả Sự c i tiến địa ch IPv4
CIDR (Classless InterDomain Routing) – RFCs 1517, 1518,
1519, 1520
VLSM (Variable Length Subnet Mask) – RFC 1009 Private Addressing RFC 1918 NAT/PAT (Network Address Translation / Port Address Translation) – RFCs 1631, 2663, 2993, 3022, 3027, 3235
6333
ỉ Dịch địa ch mạng NAT
NAT: Network Address Translatation NAT, được định nghĩa trong RFC 1631, là một tiến trình thay một địa ch ỉ
ể ủ ỉ này bằng một địa ch khác trong phần điều khi n c a gói IP.
Trong thực tế, NAT được s dụng đ cho phép các hosts dùng địa ch ỉ
ử ể
6334
riêng tư truy cập Internet.
Network Address Translation (NAT)
TCP Source Port 1026
2.2.2.2 TCP Source Port 1923
TCP Source Port 1026
2.2.2.2 TCP Source Port 1924
ỉ
ể ả
ử
ị
d ch đ a ch ỉ ị
Dịch địa ch mạng NAT có th x y ra động hoặc tĩnh. Tính năng mạnh nhất c a các router hỗ trợ NAT là kh năng s dụng cơ chế ả
ổ
ỉ
ủ c ng - port address translation (PAT), nó c h o p h é p nh iề u đ ịa c h b ê n ỉ tro ng đ ược á nh xạ đ ế n c ùng m ộ t đ ịa c h to à n c ầ u.
ỉ
ử
ể
Kỹ th u ậ t đ ó c ò n đ ược g ọ i là việ c d ịc h đ ịa c h m ạ ng nh iề u –đ ế nm ộ t. Với PAT, h à ng tră m no d e s
d ụ ng đ ịa c h riê ng tư c ó th truy c ậ p Inte rne t
ử
ỉ ỉ
b ằ ng c á c h s
d ụ ng d uy nh ấ t m ộ t đ ịa c h to à n c ầ u.
NAT ro ute r lưu vế t c á c c uộ c h ộ i th o ạ i kh á c nh a u b ằ ng c á c h á nh xạ c á c s ố 6335
ổ
h iệ u c ng T C P và UDP.
NAT: Network Address Translation
10.0.0.1
phần còn lại ủ c a Internet
10.0.0.4
10.0.0.2
138.76.29.7
10.0.0.3
ỉ
ỉ
Các datagrams với địa ch nguồn và đích trong mạng này có địa ch nguồn, đích thuộc 10.0.0/24 (như bình thường)
Tất cả datagrams rời mạng cục bộ ỉ có cùng một địa ch NAT IP nguồn: 138.76.29.7, ổ số hiệu c ng nguồn khác nhau
6336
mạng cục bộ (vd, mạng gia đình) 10.0.0/24
NAT: Network Address Translation
Động cơ thúc đ y:ẩ mạng cục bộ ch dùng một địa ch IP đ đi ra thế giới bên
ể ỉ ỉ
ả ỉ ỉ ngoài với những yếu tố được quan tâm: m không cần ph i được cấp phát một d i địa ch IP từ ISP: ch một địa
ả ỉ ch toàn cầu s dụng cho tất c các thiết bị
m có th thay đ i địa ch c a các thiết bị trong mạng cục bộ mà không cần
ỉ ủ ể ả ử ổ
ả ph i báo cho thế giới bên ngoài biết
m có th thay đ i ISP mà không cần thay đ i địa ch c a các thiết bị trong
ỉ ủ ổ ổ
ể mạng cục bộ
m Các thiết bị trong mạng cục bộ không bị thấy địa ch một cách rõ ràng đối
ỉ
6337
với thế giới bên ngoài (an toàn hơn).
NAT: Network Address Translation
Sự thi hành: NAT router ph i:ả
m các gói đi ra ngoài: thay (source IP address, port #) c a tất c các gói đi ra
ủ ả
ngoài thành (NAT IP address, new port #) ở ử . . . clients/servers phía kia sẽ đáp ứng s dụng (NAT IP address, new
ỉ port #) như là địa ch đích.
m lưu giữ (trong b ng dịch địa ch mạng – NAT table)
ả ả tất c các cặp
ỉ (source IP address, port #) thành (NAT IP address, new port #)
m các gói đi vào: thay (NAT IP address, new port #) trong các trường đích ỉ ủ c a tất c các gói đi vào với địa ch tương ứng (source IP address, port #) đã được lưu trong NAT table
6338
ả
NAT: Network Address Translation
NAT translation table WAN side addr LAN side addr
1: host 10.0.0.1 ở g i gói tin đến 128.119.40.186, 80
138.76.29.7, 5001 10.0.0.1, 3345 …… ……
S: 10.0.0.1, 3345 D: 128.119.40.186, 80
2: NAT router ỉ thay địa ch source trong gói từ, 10.0.0.1, 3345 thành 138.76.29.7, 5001, cập nhật NAT table
10.0.0.1
S: 138.76.29.7, 5001 D: 128.119.40.186, 80
10.0.0.4
1
10.0.0.2
138.76.29.7
S: 128.119.40.186, 80 D: 10.0.0.1, 3345
2
10.0.0.3
4
ỉ
lời đến với địa ch đích:
ỉ
S: 128.119.40.186, 80 D: 138.76.29.7, 5001 ả 3: Tr 138.76.29.7, 5001
4: NAT router ổ thay đ i địa ch đích từ 138.76.29.7, 5001 thành 10.0.0.1, 3345
6339
3
NAT: Network Address Translation
trường portnumber 16bit:
m 60,000 kết nối đồng thời với một địa ch công cộng!
NAT có th gây tranh cãi: ể ỉ
m routers ch nên x lý đến tầng 3 ử m vi phạm các th a thuận cuốiđếncuối ỏ
ể
• các nhà thiết kế ứng dụng ph i quan tâm đến các vấn đề mà NAT có th gây
ả ra cho ứng dụng c a mình, ví dụ như các ứng dụng dạng P2P
ỉ
ủ ỉ
m sự thiếu hụt địa ch về lâu về dài nên được gi
6340
ả i quyết bằng IPv6
ể
ỉ
Làm thế nào đ có một địa ch IP?
ỉ
Q: Làm thế nào đ ể host có được địa ch IP?
được người qu n trị hệ thống lưu vào trong một file
m Wintel: controlpanel>network>configuration>tcp/ip>properties m UNIX: /etc/rc.config
DHCP: Dynamic Host Configuration Protocol: giao thức này sẽ giúp
ả
ỉ
6341
host lấy địa ch động từ DHCP server m “plugandplay”
ỉ
Đánh địa ch IP tĩnh
Ta ph i đến mỗi thiết bị ỉ
m s sách ghi chép địa ch được cấp ph i ả
m không được trùng địa ch IPỉ
6342
ả ổ được lưu giữ
ỉ
Đánh địa ch IP động i ệ ệ ạ
ử
ả
m Kế vị c a BO O T P ủ m C h o p h é p h o s t nh ậ n IP a d d re s s đ ộ ng và nh a nh c h ó ng m S d ụ ng m ộ t d i đ ịa c h IP đ ã đ ược đ ịnh ng h ĩa trước ỉ m xe m p h ầ n s a u!
Công ngh hi n t Dynamic Host Configuration Protocol (DHCP)
ỗ ệ
ỉ
ỉ
ử
ỉ
6343
ỉ ể
m G ắ n đ ịa c h MAC với đ ịa c h IP BOOTstrap Protocol (BOOTP) m Dùng UDP đ m a ng c á c th ô ng đ iệ p ể m S d ụ ng c á c g ó i IP q u ng b á ả m Địa c h MAC đ ã đ ược kh ớp với đ ịa c h IP từ trước m C ó th c h ứa th ê m c á c th ô ng tin (d e fa ult g a te wa y )
i th i Các công ngh đã l ờ Reverse Address Resolution Protocol (RARP)
ỉ
ể Làm thế nào đ có địa ch IP?
ủ
ỉ
Q: Làm thế nào đ ể mạng có được phần địa ch mạng c a IP
addr?
ở
ỉ A: nhận được từ phần địa ch được cấp b i ISP ISP's block 11001000 00010111 00010000 00000000 200.23.16.0/20
Organization 0 11001000 00010111 00010000 00000000 200.23.16.0/23 Organization 1 11001000 00010111 00010010 00000000 200.23.18.0/23 Organization 2 11001000 00010111 00010100 00000000 200.23.20.0/23 ... ….. …. …. Organization 7 11001000 00010111 00011110 00000000 200.23.30.0/23
6344
ỉ
...
ể Làm thế nào đ có địa ch IP
ể
ỉ Q: Làm thế nào đ một ISP có được khối địa ch ? A: ICANN: Internet Corporation for Assigned Names and Numbers m cấp địa chỉ m qu n lý DNS ả m cấp tên miền, gi
6345
ả i quyết các tranh chấp liên quan
Chương 6 Nội dung
6.1 Giới thiệu về các mô hình dịch vụ mạng 6.2 Các nguyên tắc định tuyến 6.3 Định tuyến theo thứ bậc 6.4 Giao thức IP – Internet Protocol
ỉ
ả
ể ủ
m 6.4.1 Địa ch IPv4 m 6.4.2 Truyền một gói từ nguồn đến đích m 6.4.3 Khuôn dạng gói IP m 6.4.4 Sự phân m nh gói IP m 6.4.5 ICMP: Giao thức thông điệp điều khi n c a Internet m 6.4.6 DHCP: Giao thức cấu hình host động
6.5 Định tuyến trên Internet
6346
Truyền một gói tin từ nguồn đến đích
Dest. Net. next router Nhops
B ng đ nh tuy n t i A ế ạ ả ị
223.1.1 1 223.1.2 223.1.1.4 2 223.1.3 223.1.1.4 2
data
223.1.1.1
A
source IP addr
misc fields
IP datagram:
223.1.2.1
ổ ,
223.1.1.2
dest IP addr ữ ệ không b thay đ i ồ
223.1.2.9
223.1.1.4
r
B
223.1.2.2
gói d li u khi nó đi t ừ ở tr
ị ngu n đ n đích ế đây ta quan tâm đ n các ế ỉ ườ
ng đ a ch ị
223.1.1.3
223.1.3.27
E
223.1.3.2
223.1.3.1
6347
r
Truyền một gói tin từ nguồn đến đích B ng đ nh tuy n t Dest. Net. next router Nhops
223.1.1.1
223.1.1.3
data
misc fields
i A ế ạ ả ị
223.1.1 1 223.1.2 223.1.1.4 2 223.1.3 223.1.1.4 2
i A, g i gói IP có đ a ị ở ạ
Xu t phát t ỉ
ủ
ả
223.1.1.1
A
ỉ ạ ế
223.1.2.1
r
ạ
ớ
223.1.1.2
r
223.1.2.9
223.1.1.4
ự ế
ủ
B
223.1.2.2
223.1.1.3
223.1.3.27
E
r
223.1.3.2
223.1.3.1
6348
ấ ch đích là B: tra đ a ch m ng c a B trong b ng ị đ nh tuy n ị th y r ng B cùng m ng v i A ấ ằ t ng LKDL s g i gói IP tr c ti p ầ ẽ ở đ n B bên trong frame c a nó ế m B và A là k t n i tr c ti p ế ố ự ế
Truyền một gói tin từ nguồn đến đích B ng đ nh tuy n t Dest. Net. next router Nhops
223.1.1.1
223.1.2.2
data
misc fields
i A ế ạ ả ị
223.1.1 1 223.1.2 223.1.1.4 2 223.1.3 223.1.1.4 2
B t đ u t ế
ủ
223.1.1.1
A
r i A, đích đ n là E: ỉ ạ
223.1.2.1
ự ế
223.1.1.2
cùng m t m ng ộ
223.1.2.9
223.1.1.4
r
ế ế
ế
ị
B
223.1.2.2
223.1.1.3
223.1.3.27
E
r
ế
ở
223.1.3.2
223.1.3.1
r
i 223.1.1.4
ế ạ
r
6349
r ắ ầ ạ tra đ a ch m ng c a E trong ị b ng đ nh tuy n ế ị ả E m ng khác ở ạ m A, E không g n tr c ti p ắ ạ b ng đ nh tuy n: router k ti p ả đ đ n E là 223.1.1.4 ể ế T ng lkdl g i gói IP đ n router ầ 223.1.1.4 bên trong frame c a nóủ gói IP đ n t ti p t c... ế ụ
Truyền một gói tin từ nguồn đến đích B ng đ nh tuy n t ế ạ
Dest. Net router Nhops interface
223.1.1.1
223.1.2.2
data
misc fields
i router ả ị
223.1.1 - 1 223.1.1.4 223.1.2 - 1 223.1.2.9 223.1.3 - 1 223.1.3.27
Đ n t i 223.1.1.4, đi đ n ế
ủ
223.1.1.1
A
223.1.2.1
r
ớ
223.1.1.2
223.1.2.9
223.1.1.4
ủ
B
r
ự ế
ắ
223.1.2.2
223.1.1.3
223.1.3.27
m t m ng
ạ
ộ
E
ế ạ 223.1.2.2 tra c u đ a ch m ng c a E trong ỉ ạ ứ ị b ng đ nh tuy n c a router ế ủ ị ả E n m ằ cùng m ng v i interface ạ 223.1.2.9 c a router m router, E g n tr c ti p cùng
ở
ế
223.1.3.2
223.1.3.1
r
!!!
t ng lkdl g i gói tin đ n 223.1.2.2 ầ bên trong frame c a nó qua ủ interface 223.1.2.9 gói tin đ n 223.1.2.2 ế
6350
r
ủ Khuôn dạng c a IP datagram IP datagram format
total datagram length (bytes)
ver
length
type of service
head. len
IP protocol version number header length (bytes) “type” of data
flgs
for fragmentation/ reassembly
16bit identifier upper layer
time to live
fragment offset Internet checksum
32 bit source IP address
max number remaining hops (decremented at each router)
32 bit destination IP address
upper layer protocol to deliver payload to
Options (if any)
E.g. timestamp, record route taken, specify list of routers to visit.
data (variable length, typically a TCP or UDP segment)
6351
32 bits
ủ
Khuôn dạng c a IP datagram (tt.) IP datagram (more)
6352
15 16
31
0
4-bit Version
16-bit Total Length (in bytes)
4-bit Header Length
8-bit Type Of Service (TOS)
3-bit Flags
13-bit Fragment Offset
16-bit Identification
8-bit Protocol
16-bit Header Checksum
8 bit Time To Live TTL
32-bit Source IP Address 32-bit Destination IP Address Options (if any) Data
ủ
ỉ
ỉ
Ph n thông ầ tin đi u ề khi n c a gói ủ ể IP VERS (4bits) ch version hiện hành c a IP được cài đặt HLEN (4 b its ) – c h đ ộ d à i p h ầ n đ ầ u (h e a d e r) , tính th e o đ ơn vị từ (wo rd =
3 2 b its )
type of service (8 b its ) – “lo ạ i” d ịc h vụ : g a m d ữ liệ u n ê n đ ược “đ ố i x ” ử
nh ư th ế nà o
ể
ỉ
total length (1 6 b its ) – c h đ ộ d à i to à n b ộ g ó i IP (th ô ng tin đ iề u kh i n +
d ữ liệ u)
ể
d a ta g ra m đ c h o p h é p nh iề u MT U kh á c nh a u trê n liê n m ạ ng
identification, flags, fragment offset – c ung c ấ p s ự p h â n đ o ạ n c h o c á c 6353
Ph n thông tin đi u khi n c a gói IP (tt.)
ể ủ
ề
ầ
0
15 16
31
TTL Tim e To Live : q uy đ ịnh
4-bit Version
16-bit Total Length (in bytes)
4-bit Header Length
8-bit Type Of Service (TOS)
th ời g ia n tồ n tạ i c a ủ d a ta g ra m trê n liê n m ạ ng
3-bit Flags
13-bit Fragment Offset
16-bit Identification
8-bit Protocol
16-bit Header Checksum
ở
protocol – c h g ia o th ức tầ ng ỉ trê n kế tiế p s ẽ nh ậ n vù ng d ữ liệ u
8 bit Time To Live TTL
ể
ỉ
trạ m đ íc h header checksum – m ã ki m s o á t lỗ i 1 6 b its th e o p h ương p h á p C R C , c h c h o p h ầ n h e a d e r
ỉ
32-bit Source IP Address 32-bit Destination IP Address Options (if any) Data
source IP address: địa ch ỉ trạm nguồn và destination IP address – đ ịa c h trạ m đ íc h IP options (đ ộ d à i th a y đ i) – ổ
ở
kh a i b á o c á c o p tio ns về ne two rk te s ting , d e b ug g ing , s e c urity … d o b ê n g i y ê u c ầ u Data – vùng d ữ liệ u, tố i đ a là
6 5 5 3 5 – (2 0 …6 0 ) b y te s
6354
IP Header 0
15 16
31
4-bit Version
16-bit Total Length (in bytes)
4-bit Header Length
8-bit Type Of Service (TOS)
3-bit Flags
13-bit Fragment Offset
16-bit Identification
8-bit Protocol
16-bit Header Checksum
8 bit Time To Live TTL
32-bit Source IP Address 32-bit Destination IP Address Options (if any) Data
Application Header + data
6355
ả
Phân m nh gói IP và ráp lại
Mỗi mạng (con) có một đơn vị truyền dữ liệu tối đa (MTU) riêng
m Maximum Transmission Unit
Một gói IP bị ch ra thành nhiều m nh nh hơn nếu
ủ
ả
ẻ ỏ
m
ủ
ả
Mỗi gam dữ liệu có một identification – định danh duy nhất định danh gốc c a gói IP more được bật
Tất c các đoạn (fragments) đều mang số Tất c các đoạn trừ đoạn cuối cùng đều có cờ ả
6356
ả m Kích cỡ c a gói lớn hơn MTU c a mạng ủ m Cờ Don’t fragment (kh ô ng p h â n m nh ) kh ô ng đ ược b ậ t
ả
Phân m nh gói IP và ráp lại (2)
Việc ráp lại thành gam dữ liệu ban đầu ch được thực hiện
ỉ ở đích
ủ
S dụng định danh c a gam dữ liệu (datagram id) đ ráp các
ỉ ở
ả
more là 0
ỉ
ủ
ủ ể
Thiết lập một reassembly timer (đồng hồ ráp nối) sau khi nhận
đến c a gói tin (bên nhận) m Tại sao không ráp lại tại router? ử ả m nh lại với nhau m M nh cuối cùng được ch b i giá trị bit m Địa ch Offset cùng với độ dài cho ta biết • Có bị mất đoạn nào c a gói hay không
ả
ả
ả
ả
ể phép, gói sẽ được chuy n lên cho tầng cao hơn
ả
ả
m nếu một số m nh không đến kịp giờ, tất c các m nh sẽ bị h y b ủ ỏ ả
ả Không phục hồi các đoạn/m nh bị mất
đoạn/m nh đầu tiên m nếu tất c các m nh đến và được ráp nối trong kho ng thời gian cho
6357
(tại sao?)
ả
Phân m nh gói IP và ráp lại (3)
Các liên kết mạng có MTU – khung lkdl
lớn nhất có th .ể m loại liên kết khác nhau, MTUs
khác nhau
ỏ
Gói IP lớn sẽ được chia nh (“phân
ỏ
phân m nh: ả vào: một gam dữ liệu lớn ra: 3 gam dữ liệu nh hơn
ở
thành nhiều
ả m nh”) bên trong mạng m một gam dữ liệu tr gam dữ liệu
m “ráp nối lại” ch thực hiện tại bên ỉ
ráp nối lại
nhận
ể
ỉ
ả
m các bits trong IP header sẽ được dùng đ định danh, ch thứ tự ủ c a các m nh liên quan (các trường identification, flags, fragment offset )
6358
ả
Phân m nh gói IP và ráp lại (4)
length =4000
ID =x
fragflag =0
offset =0
Ví dụ r M t gam d li u ộ
ữ ệ
4000 bytes
r MTU = 1500 bytes
length =1500
ID =x
fragflag =1
offset =0
length =1500
ID =x
fragflag =1
offset =1480
length =1040
ID =x
fragflag =0
offset =2960
ủ
ở
đây nói đến offset c a dữ liệu trong gam dữ liệu ban đầu. Đó là lý do vì sao có ả
Lưu ý: offset số 1480 trong m nh thứ 2 (20 bytes là phần IP header)
6359
ỏ Một gam dữ liệu lớn được chia thành nhiều gam dữ liệu nh hơn
Tr
ng TTL trong gói IP – Time To Live (1)
ườ
IP’s TTL – Time To Live field (1)
IP Header 0
15 16
31
4-bit Version
16-bit Total Length (in bytes)
4-bit Header Length
8-bit Type Of Service (TOS)
3-bit Flags
13-bit Fragment Offset
16-bit Identification
8-bit Protocol
16-bit Header Checksum
8 bit Time To Live TTL
32-bit Source IP Address 32-bit Destination IP Address Options (if any) Data
6360
IP Header 0
15 16
31
4-bit Version
16-bit Total Length (in bytes)
4-bit Header Length
8-bit Type Of Service (TOS)
3-bit Flags
13-bit Fragment Offset
16-bit Identification
ng TTL trong
ườ
8-bit Protocol
16-bit Header Checksum
8 bit Time To Live TTL
Tr gói IP – Time To Live (2)
32-bit Source IP Address 32-bit Destination IP Address Options (if any) Data
Khi gói mới được tạo ra, một giá trị được gán cho trường TTL. Ban đầu, trường TTL được đặt là số giây, nhưng điều này khó đ thi ể
hành/cài đặt và được hỗ trợ rất ít.
Hiện nay, trường TTL được đặt một giá trị cụ th và nó sẽ được trừ đi
ể
6361
ở một b i mỗi router.
(3)
Tr
ng TTL trong gói IP – Time To Live
ườ
IP Header 0
15 16
31
4-bit Version
16-bit Total Length (in bytes)
4-bit Header Length
8-bit Type Of Service (TOS)
3-bit Flags
13-bit Fragment Offset
16-bit Identification
8-bit Protocol
16-bit Header Checksum
8 bit Time To Live TTL
Tr đi 1, n u 0 thì b gói.
ừ
ỏ
ế
32-bit Source IP Address 32-bit Destination IP Address Options (if any) Data
ể
ỉ
Nếu một router gi m trường TTL về 0, nó sẽ b gói đó (trừ khi gói đó được ch định cụ th cho ỏ
ả router đó, ví dụ như ping, telnet, …).
ở
ổ
Giá trị trường TTL được đặt b i một số hệ điều hành ph biến:
m UNIX: 255 m Linux: 64 hay 255 tùy thuộc vào vendor và version m Microsoft Windows 95: 32 m Các hệ điều hành Microsoft Windows khác: 128
6362
(4)
Tr
ng TTL trong gói IP – Time To Live
ườ
IP Header 0
15 16
31
4-bit Version
16-bit Total Length (in bytes)
4-bit Header Length
8-bit Type Of Service (TOS)
3-bit Flags
13-bit Fragment Offset
16-bit Identification
8-bit Protocol
16-bit Header Checksum
8 bit Time To Live TTL
Tr đi 1, n u 0 thì b gói.
ừ
ỏ
ế
32-bit Source IP Address 32-bit Destination IP Address Options (if any) Data
Ý tư ng đằng sau trường TTL đó là các gói IP không th di chuy n
ể ể ở
loanh quanh Internet mãi được, từ router này đến router khác.
Cuối cùng là, các gói với trường TTL bằng 0 và bị b b i router, ngay
ỏ ở
6363
ả c khi lặp định tuyến xuất hiện đâu đó trên mạng.
Trường giao thức (The protocol field) xác định giao thức tầng 4 (tầng vận
ể chuy n) đang được mang đi trong gói IP.
ử
ể có th được dùng tại tầng vận chuy n.
ủ ả
s hi u ố ệ
Mặc dù phần lớn lưu lượng IP s dụng giao thức TCP, giao thức UDP cũng ể Mỗi IP header ph i định danh giao thức tầng 4 c a bên nhận cho gam dữ liệu. Các giao thức tầng vận chuy n được đánh số, tương tự như là ể .
Gói IP bao gồm protocol number trong trường protocol.
6364
c ng - port numbers ổ
IP Header 0
15 16
31
4-bit Version
16-bit Total Length (in bytes)
4-bit Header Length
8-bit Type Of Service (TOS)
3-bit Flags
13-bit Fragment Offset
16-bit Identification
8-bit Protocol
16-bit Header Checksum
8 bit Time To Live TTL
32-bit Source IP Address 32-bit Destination IP Address Options (if any) Data
Application Header + data
6365
Application Header + data
IP Protocol Field = 17
Application Header + data
6366
IP Protocol Field = 6
ả
Tất c các TCP/IP hosts đều thực thi ICMP. Thông điệp ICMP được ch đi trong các gói IP và được dùng đ g i thông báo lỗi và các thông điệp điều khi n. ể
6367
ể ở ở
ể ủ
Giao thức thông điệp điều khi n c a Internet Internet Control Message Protocol (ICMP)
Một cơ chế đ báo lỗi ể m Time exceeded
• Gói bị b vì trường TTL bằng 0
ỏ m Destination unreachable
ủ
ể
• Router không th định vị được đích đến c a gói
m Source quench
ả
ở • Vùng đệm bị tràn, yêu cầu nguồn gi m tốc độ g i
m Redirect
• Đề nghị một router tốt hơn
6368
ICMP: Internet Control Message Protocol
ử
ở
được s dụng b i hosts, routers,
ổ
ể
gateways đ trao đ i thông tin tầng mạng m báo lỗi: unreachable host, network ,
port, protocol
ử
m echo request/reply (được s dụng
ở b i ping)
thuộc tầng mạng “trên” IP:
m thông điệp ICMP được mang
trong các gói IP
ủ
thông điệp ICMP bao gồm: type, code cùng với 8 bytes đầu tiên c a gói IP gây ra lỗi
Type Code description 0 0 echo reply (ping) 3 0 dest. network unreachable 3 1 dest host unreachable 3 2 dest protocol unreachable 3 3 dest port unreachable 3 6 dest network unknown 3 7 dest host unknown 4 0 source quench (congestion control - not used) 8 0 echo request (ping) 9 0 route advertisement 10 0 router discovery 11 0 TTL expired 12 0 bad IP header
6369
ể
Vận chuy n thông điệp ICMP
ở
ử
Các thông điệp ICMP được ch trong các IP datagrams Được đối x như các gói IP khác
m Nhưng không có thông điệp báo lỗi được g i nếu
• Thông điệp ICMP gây ra lỗi
ở
m 8 bytes đầu tiên c a phần thông tin điều khi n c a gói IP gây
Thông điệp được g i tới nguồn (source) ở ủ ra lỗi được bao gồm
6370
ể ủ
ử S dụng ICMP
ể
Ki m tra thông mạng
m ICMP echo request/reply m ping
Dò vết lộ trình đi đến một đích nào đó
m s dụng trường Timetolive m Traceroute or Tracert Khám phá MTU c a đường dẫn (path) ủ
ử
m s dụng ử
6371
Don’t fragment bit
Ping: ICMP Echo Request and Echo Reply
6372
Ping – A TCP/IP Application
ẩ
ể
PING (Packet Internet Groper) là một tiện ích ch n đoán được ử s dụng đ xác định xem một máy tính được kết nối đúng cách đến các thiết bị/liên mạng hay không.
6373
Traceroute – A TCP/IP Application
Traceroute là một chương trình, có sẵn trên nhiều hệ thống, tương tự như PING, tuy nhiên traceroute cung cấp nhiều thông tin hơn so với PING.
Traceroute lưu vết đường đi mà một gói đi đến đích, và được
ể
dùng đ gỡ rối các vấn đề về định tuyến.
6374
Giao thức cấu hình host động DHCP: Dynamic Host Configuration Protocol
ể
ử
ỉ
ử
ỉ
ỉ
ủ ỉ Much đích: cho phép trạm có được địa ch IP động từ máy ch mạng khi
nó gia nhập mạng ử Có th làm mới hợp đồng s dụng địa ch đang s dụng ỉ Cho phép s dụng lại địa ch (ch giữ địa ch trong khi kết nối Hỗ trợ mobile users muốn gia nhập mạng
ổ T ng quan về DHCP :
DHCP discover”
m host qu ng bá thông điệp “ ả m DHCP server tr DHCP offer” m host yêu cầu IP address: thông điệp “DHCP request” m DHCP server g i địa ch : thông điệp “ ỉ ở DHCP ack”
6375
ả lời bằng thông điệp “
ủ Ví dụ về hoạt động c a DHCP clientserver
223.1.2.1
223.1.1.1
A
223.1.1.2
223.1.2.9
223.1.1.4
B
223.1.2.2
223.1.1.3
223.1.3.27
E
DHCP server
ầ
223.1.3.1
223.1.3.2 ị
6376
DHCP client m i đ n c n ớ ế đ a ch trong ỉ m ng này ạ
ủ Ví dụ về hoạt động c a DHCP clientserver
DHCP server: 223.1.2.5
DHCP discover
arriving client
src : 0.0.0.0, 68 dest.: 255.255.255.255,67 yiaddr: 0.0.0.0 transaction ID: 654
DHCP offer
src: 223.1.2.5, 67 dest: 255.255.255.255, 68 yiaddrr: 223.1.2.4 transaction ID: 654 Lifetime: 3600 secs
DHCP request
src: 0.0.0.0, 68 dest:: 255.255.255.255, 67 yiaddrr: 223.1.2.4 transaction ID: 655 Lifetime: 3600 secs
time
DHCP ACK
src: 223.1.2.5, 67 dest: 255.255.255.255, 68 yiaddrr: 223.1.2.4 transaction ID: 655 Lifetime: 3600 secs
6377
DHCP
6378
DHCP – Lấy các thông tin mạng khác DHCP – Getting more than the IP Address
6379
Chương 6 Nội dung
6.1 Giới thiệu về các mô hình dịch vụ mạng 6.2 Các nguyên tắc định tuyến 6.3 Định tuyến theo thứ bậc 6.4 Giao thức IP – Internet Protocol 6.5 Định tuyến trên Internet
m 6.5.1 IntraAS routing: RIP và OSPF m 6.5.2 InterAS routing: BGP
6380
Định tuyến trên Internet
Internet toàn cầu bao gồm các hệ thống tự trị Autonomous Systems
(AS) liên kết với nhau: m Stub AS: tậ p đ o à n nh c h b a o g ồ m m ộ t kế t nố i đ ế n c á c ỉ
ỏ
m Multihomed AS: tậ p đ o à n lớn (kh ô ng tra ns it) : c ó nh iề u kế t
AS kh á c
m Transit AS: nh à c u ng c ấ p , m ó c n ố i nh iề u AS s lạ i với nh a u
Định tuyến hai mức (Twolevel routing):
nố i đ ế n c á c AS s kh á c
m Intra-AS: ng ười q u n trị m ạ n g c h ịu trá c h nh iệ m lựa c h ọ n
ả
m Inter-AS: g ia o th ức đ ịnh tu y ế n c h u n d u y nh ấ t c h o in te rAS
g ia o th ức đ ịnh tu y ế n b ê n tro ng m ạ n g ẩ
6381
ro uting là BG P
ủ
Hệ thống cấp bậc các AS c a Internet Internet AS Hierarchy
InterAS border (exterior gateway) routers
6382
IntraAS interior (gateway) routers
Định tuyến bên trong hệ thống tự trị (IntraAS Routing)
Còn được xem là Interior Gateway Protocols (IGP) Các giao thức định tuyến bên trong hệ thống tự trị ph biến:
m RIP: Routing Information Protocol
m OSPF: Open Shortest Path First
m IGRP: Interior Gateway Routing Protocol (Cisco proprietary)
6383
ổ
RIP ( Routing Information Protocol)
Giao thức định tuyến theo vector kho ng cách Được bao gồm trong b n phân phối BSDUNIX vào năm 1982 ả Thông số kho ng cách: số hops (max = 15 hops)
ả
ả m Lý dó vì sao?
ả
Vector kho ng cách: được trao đ i giữa các hàng xóm cứ mỗi 30 giây qua ổ Response Message (còn được gọi là qu ng cáo - advertisement Mỗ i q u ng c á o : d a n h s á c h lê n đ ế n 2 5 m ạ ng đ íc h b ê n tro n g
ả )
6384
ả h ệ th ố n g tự trị
RIP: Example
z
w x y
A D B
C
Next Router Num. of hops to dest.
Destination Network
A B B -- …. w y z x …. 2 2 7 1 ....
6385
R o uting ta b le in D
RIP: Example
Advertisement from A to D
DstN Next hops w x z ….
- 1 - 1 C 4 … ...
z
w x y
A D B
C
Next Router Num. of hops to dest.
Destination Network
6386
w y z x …. A B B A -- …. 2 2 7 5 1 ....
R o utin g ta b le in D
ỏ RIP: liên kết bị h ng và sự khôi phục
ả Nếu không có qu ng cáo nào được nghe sau 180 giây > hàng xóm/liên
ả ở
ả ả kết được xem là chết m các tuyến đường qua hàng xóm này bị mất hiệu lực m các qu ng cáo mới được g i đến các hàng xóm khác m đến lượt mình, các hàng xóm g i qu ng cáo mới (nếu b ng định ở
tuyến bị thay đ i)ổ
m thông tin về liên kết bị h ng sẽ nhanh chóng được lan truyền ra
ỏ
toàn mạng
m kỹ thuật poison reverse được s dụng đ ngăn chặn các pingpong ử loops (infinite distance = 16 hops)
6387
ể
ủ
ả Tiến trình xây dựng b ng định tuyến c a RIP
B ng định tuyến c a RIP được qu n lý b i một tiến trình thuộc
ả ở
ứ ụ g ọ i là ro u te d (d a e m o n ) (đ a ng n ó i
ủ ả t ng ng d ng ầ về R IP im p le m e nta tio n n g uy ê n b n)ả
C á c q u n g c á o đ ược g i tro n g c á c g ó i UDP, và đ ược
ả ở
lặ p lạ i th e o c h u kỳ
Transprt (UDP)
forwarding table
network forwarding (IP) table
link physical
Transprt (UDP) network (IP) link physical
6388
routed routed
Ví dụ về RIP Table
Router: giroflee.eurocom.fr
Destination Gateway Flags Ref Use Interface -------------------- -------------------- ----- ----- ------ --------- 127.0.0.1 127.0.0.1 UH 0 26492 lo0 192.168.2. 192.168.2.5 U 2 13 fa0 193.55.114. 193.55.114.6 U 3 58503 le0 192.168.3. 192.168.3.5 U 2 25 qaa0 224.0.0.0 193.55.114.6 U 3 0 le0 default 193.55.114.129 UG 0 143454
r ộ ớ
r c k t n i vào ượ ế ố
r ể
r ng: 224.0.0.0 ị
r Th dùng câu l nh:
r c k t n i vào (LANs) Ba m ng thu c l p C đ ượ ế ố ạ t các tuy n đ n các LANs đ Router ch bi ế ế ỉ ế c s d ng đ “đi lên” Default router đ ượ ử ụ Đ a ch multicast đ qu ng bá tuy n đ ế ườ ể ả ỉ Loopback interface (cho m c đích g r i) ỡ ố ụ
6389
netstat -rn ử ệ
Giao thức OSPF (Open Shortest Path First)
“open”: hoàn toàn m đối với công cộng S dụng gi ả
ổ
ả
ở
i thuật Dijkstra
ử i thuật trạng thái đường liên kết m ph biến các gói chứa thông tin về trạng thái đường liên kết m mỗi nút đều có b n đồ hình trạng mạng (topology map) ả m tính toán tuyến đường s dụng gi ử
qu ng cáo OSPF mang thông tin một mục / router Các qu ng cáo được ph biến ra ổ
ả
toàn bộ hệ thống tự trị AS (qua địa
dùng TCP hay UDP)
6390
ả ỉ ch multicast) m được mang trong các thông điệp OSPF một cách trực tiếp qua gói IP (không
ủ Các tính năng “tiên tiến” c a OSPF (không có trong RIP)
An toàn/b o mật: ể
ả ể ả tất c các thông điệp OSPF đều có th được xác
thực (đ ngăn chặn sự xâm phạm gây hại)
Cho phép nhiều đường dẫn/tuyến đường có cùng “giá” đ đi đến một
ể
Với mỗi liên kết, nhiều thông số về giá cho loại dịch vụ khác nhau (ví dụ, giá liên kết satellite được đặt là “thấp” cho nỗ lực tối đa; cao cho thời gian thực)
Hỗ trợ kết hợp giữa đơn hướng và đa hướng (multicast):
ỉ mạng đích (ch một đường dẫn trong RIP)
m Multicast OSPF (MOSPF) s dụng cùng cơ s dữ liệu về hình ử
ở
trạng mạng như OSPF
S dụng OSPF
6391
ử có thứ bậc trong các miền lớn.
OSPF có thứ bậc Hierarchical OSPF
6392
OSPF có thứ bậc
Hệ thống cấp bậc 2 mức: local area, backbone.
ỉ ả
m Ch qu ng cáo về trạng thái liên kết bên trong vùng (area) m Mỗi nút có thông tin chi tiết về topology c a vùng; ch biết hướng (đường
ủ ỉ
dẫn ngắn nhất) đi đến các mạng thuộc các vùng khác.
ủ
Area border routers (router biên c a vùng): “tó m tắ t” c á c ủ
ả ả
Backbone routers: c h ạ y đ ịnh tuy ế n O S P F đ ược g iới h ạ n
ủ kh o ng c á c h đ ế n c á c m ạ n g b ê n tro ng vùn g c a n ó , q u ng c á o c h o c á c ro ute r b iê n c a c á c vù ng kh á c .
Boundary routers: kế t nố i đ ế n c á c h ệ th ố ng tự trị (AS ) kh á c .
6393
tro ng b a c kb o n e .
Định tuyến giữa các AS trên Internet: BGP InterAS routing in the Internet: BGP
R4
R5
BGP
R3
A S 3 (O S PF int r a AS r o ut ing )
BGP
A S 1 (RI P int r a AS r o ut ing )
A S 2 ( O S PF int r a AS r o ut ing )
R1
R2
Figure 4.5.2-new2: BGP use for inter-domain routing
6394
Định tuyến giữa các AS trên Internet: BGP
BGP (Border Gateway Protocol): một chu n trên thực tế
ẩ the de facto
standard
Giao thức Vector đ
ườ
ả
ả
ể
ả ng d n ẫ : m T ương tự n h ư g ia o th ức Ve c to r kh o n g c á c h m Mỗ i Bo rd e r G a te wa y q u n g b á đ ế n c á c h à n g xó m (p e e rs ) toàn bộ đường dẫn (ví dụ, chuỗi các hệ thống tự trị) đ đi đến đích m BGP định tuyến đến các hệ thống tự trị (ASs), chứ không ph i đến các
ể
trạm riêng lẻ
m Ví dụ, Gateway X có th g i
ể ở đường dẫn c a nó đ đến đích Z: ủ
6395
Path (X,Z) = X,Y1,Y2,Y3,…,Z
Định tuyến giữa các AS trên Internet: BGP
ủ ở
m vì các lý do như cost (chi phí), policy (chính sách) (không định tuyến qua
ể ể ở s :ả ử gateway X g i đường dẫn c a nó đến peer gateway W Gi W có th hoặc không tuy n chọn đường dẫn cung cấp b i X
ể ả ở các AS cạnh tranh), ngăn chặn vòng lặp định tuyến. Nếu W tuy n chọn đường dẫn được qu ng cáo b i X, thì:
ể ể ể ả Path (W,Z) = w, Path (X,Z) Lưu ý: X có th ki m soát lưu lượng đến bằng cách ki m soát các qu ng
ể ả cáo tuyến đường đến các peers: m Ví dụ: không muốn chuy n lưu lượng đến Z > không qu ng bá bất kỳ
6396
tuyến đường nào đến Z
ể
ở
BGP: ki m soát ai g i lưu lượng đến
legend:
B
provider network
X
W
A
customer network:
C
Y
ạ
ủ ấ
ể ư ượ
Figure 4.5-BGPnew: a simple BGP scenario r A,B,C là m ng c a các nhà cung c p ấ ủ r X,W,Y là các khách hàng (c a các m ng c a nhà cung c p) ạ ủ r X là dual-homed: k t n i đ n hai m ng ạ ế ố ế ng t ừ ế
m X không mu n chuy n l u l ố m .. do đó X s không qu ng cáo đ n B tuy n đ ẽ
6397
B qua X đ n C ế ế ườ ả ng đ n C ế
ể
ở
(2)
BGP: ki m soát ai g i lưu lượng đến
legend:
B
provider network
X
W
A
customer network:
C
Y
r A qu ng cáo đ n B đ r B qu ng cáo đ n X đ r B có nên g i đ n C đ
ng CBAW
ế ế ở ế ườ ườ ườ
Figure 4.5-BGPnew: a simple BGP scenario ng d n AW ẫ ả ng d n BAW ẫ ả ng d n BAW? ẫ ệ ậ
ể ư ượ
do W và C đ u không ph i là khách hàng c a B
ề
ế
ố
m Không! B B không có “thu nh p” cho vi c chuy n l u l ả ể ư ượ ng đ n/t
khách hàng c a nó!
m B mu n b t C ph i chuy n l u l ắ m B chỉ mu n chuy n l u l ố
ủ ng đ n w qua A ủ
ả ể ư ượ
ế ừ
6398
ủ
Hoạt động c a BGP
Q: Một BGP router làm gì? Nhận và lọc các qu ng cáo tuyến đường từ các hàng xóm kết nối
ả
Lựa chọn tuyến đường.
trực tiếp.
m Đ đi đến đích X, đường dẫn nào (giữa nhiều đường dẫn
ể
ả
6399
ả ở được qu ng cáo) sẽ được lựa chọn? G i qu ng cáo tuyến đường đến các hàng xóm.
Các thông điệp BGP
Các thông điệp BGP được trao đ i s dụng TCP. Các thông điệp BGP:
ổ ử
ở
ả
m OPEN: m kết nối TCP đến các peer và xác thực người g i ử m UPDATE: qu ng cáo đường dẫn mới (hoặc rút lại các đường cũ) m KEEPALIVE giữ cho kết nối sống trong trường hợp không g i các thông
ở
m NOTIFICATION: thông báo các lỗi trong thông điệp trước; còn được
điệp UPDATES; cũng là ACKs cho các yêu cầu OPEN
6400
ể dùng đ đóng kết nối
Tại sao có sự khác nhau về định tuyến giữa IntraAS và InterAS?
Chính sách: InterAS: người qu n trị muốn ki m soát lưu lượng c a họ được định tuyến
ủ ể ả
ủ như thế nào, ai được truyền lưu lượng qua mạng c a nó.
ả ả
ả ả
IntraAS: cùng một nhà qu n trị, chính sách qu n trị là không cần thiết Qui mô (Scale): Định tuyến theo thứ bậc giúp làm gi m kích cỡ b ng định tuyến, gi m lưu ả lượng cập nhật thông tin định tuyến ệ
:
ể
ể ả Hi u năng Intra AS : c ó th tậ p trung và o h iệ u nă n g Inte rAS : c h ính s á c h c ó th c ó n h h ư n g lớn h ơn s o với h iệ u ở
6401
nă n g
Tóm tắt chương 6:
6402
Các nội dung đã đề cập: Các dịch vụ tầng mạng Các nguyên tắc định tuyến: link state và distance vector Định tuyến theo thứ bậc IPv4 Các giao thức định tuyến trên Internet: RIP, OSPF, BGP
Chương 7: Tầng Vận chuy nể
Học về các giao thức tầng vận
ể
ủ
ể
ể
ể ể
chuy n trên Internet: m UDP: vận chuy n phi kết nối ể m TCP: vận chuy n hướng kết nối ể m Ki m soát tắc nghẽn c a TCP
7-403
Transport Layer
Mục tiêu: Hi u rõ các nguyên lý đằng sau ể ể ủ các dịch vụ c a tầng vận chuy n: m multiplexing/demultiplexing m vận chuy n dữ liệu tin cậy m ki m soát luồng m ki m soát tắc nghẽn
Chương 7 – Nội dung
7.1 Các dịch vụ c a tầng Vận
7.4 Vận chuy n hướng kết nối: ể
ủ
ả
7.2 Multiplexing và demultiplexing 7.3 Vận chuy n phi kết nối: ể
chuy nể
ể ể
TCP m cấu trúc segment m qu n lý kết nối m truyền dữ liệu tin cậy m ki m soát luồng UDP
7.5 Ki m soát tắc nghẽn c a
ủ
7-404
Transport Layer
TCP
ượ
ể
ủ
ử
ở
ể
Tầng Vận chuy n cho phép một thiết bị c a người s dụng phân đoạn dữ liệu tầng trên đ đặt vào cùng dòng dữ liệu tầng 4, và cho phép
ể
ể ể
ủ c a các ứng dụng thiết bị nhận ráp nối lại các đoạn dữ liệu đó đ chuy n lên cho tầng trên. Dòng dữ liệu tầng 4 là một kết nối logic giữa các đi m cuối c a mạng, và cung
ể
ủ cấp các dịch vụ vận chuy n từ một trạm đến một đích nào đó.
Điều đó đôi khi còn được xem như là dịch vụ cuốiđếncuối.
7-405
Transport Layer
L u ý, T ng 4 và các t ng phía trên đ ầ ư t o ra b i các thi ở ạ c t b đ u cu i (computer). ố ầ ế ị ầ
ể
Các dịch vụ vận chuy n và giao thức
cung cấp truyền thông logic giữa các
tiến trình ứng dụng chạy trên các trạm khác nhau
l o
application transport network data link physical
network data link physical
ể
g i c
các giao thức vận chuy n chạy trên các
network data link a l physical
e
n
d
-
network data link physical
e
n
d
network data link physical
t r
a
n
s
p
network data link physical o
r t
ể
hệ thống đầu cuối m bên gới: ch các thông điệp tầng ẻ ứng dụng thành segments, đưa chúng xuống cho tầng mạng m bên nhận: ráp nối các segments lại thành các thông điệp, đưa lên cho tầng ứng dụng có nhiều giao thức ở
tầng vận chuy n
application transport network data link physical
ể đ phục vụ cho tầng ứng dụng m Internet: TCP và UDP
7-406
Transport Layer
ể
Tầng Vận chuy n so với Tầng mạng
tầng mạng: truyền thông logic
tầng vận chuy n:ể truyền
giữa các trạm
Tương tự như các hộ gia đình: ở 12 kids g i thư cho 12 kids tiến trình = kids thông điệp tầng ứng dụng = các bức
thông logic giữa các tiến trình trên các trạm m dựa vào và nâng cao các dịch vụ và tầng mạng cung cấp
ể
thư trong bì thư các trạm = các nhà giao thức vận chuy n = Ann và Bill giao thức tầng mạng = dịch vụ bưu
7-407
Transport Layer
điện
ể
Các giao thức tầng Vận chuy n trên Internet
phân phát tin cậy, có thứ tự
l o
application transport network data link physical
network data link physical
g i c
network data link a l physical
e
n
d
-
ể ể
network data link physical
e
n
d
network data link physical
t r
phân phát không tin cậy, không
a
n
s
p
network data link physical o
r t
(TCP) m thiết lập kết nối m ki m soát tắc nghẽn m ki m soát luồng
application transport network data link physical
ả ả
ả
các dịch vụ không sẵn có: m đ m b o về độ trễ ả m đ m b o về d i thông ả
7-408
Transport Layer
thứ tự: UDP m không có sự m rộng đặc biệt nào ở so với “nỗ lực tối đa” c a IPủ
Chương 7 – Nội dung
7.1 Các dịch vụ c a tầng Vận
7.4 Vận chuy n hướng kết nối: ể
ủ
ả
7.2 Multiplexing và demultiplexing 7.3 Vận chuy n phi kết nối: ể
chuy nể
ể ể
TCP m cấu trúc segment m qu n lý kết nối m truyền dữ liệu tin cậy m ki m soát luồng UDP
7.5 Ki m soát tắc nghẽn c a
ủ
7-409
Transport Layer
TCP
ạ ạ
Demultiplexing t
i tr m nh n:
ạ ạ
ậ
ợ ữ ệ ừ
ề
c đ n đúng socket
phân phát các segments nh n ậ đ ượ ế
Multiplexing/demultiplexing i tr m g i: Multiplexing t ở nhi u t p h p d li u t ề ậ sockets, bao b c d li u v i ọ ữ ệ ớ thông tin đi u khi n (đ ph c ể ụ ể v cho demultiplexing sau này) ụ
= socket = process
P4 application P2 P3 application P1 P1 application
transport transport transport
network network network
link link link
host 3
host 2
host 1
7-410
Transport Layer
physical physical physical
Demultiplexing làm việc như thế nào trạm nhận các IP datagrams ỉ
32 bits
m mỗi datagram có địa ch IP nguồn,
ỉ địa ch IP đích
source port #
dest port #
m mỗi datagram mang một segment
ể ủ c a tầng Vận chuy n
other header fields
ổ
m mỗi segment có số hiệu c ng (port)
nguồn và đích
ổ
ể
application data (message)
trạm dùng địa ch IP và số hiệu c ng ỉ ể đ chuy n segment đến socket thích hợp
TCP/UDP segment format
7-411
Transport Layer
Demultiplexing trong phi kết nối
ổ
Khi trạm nhận UDP segment: m ki m tra giá trị c ng đích trong
Tạo sockets với các số hiệu c ng:ổ DatagramSocket mySocket1 = new
DatagramSocket(99111);
m g i UDP segment đến socket đang
DatagramSocket mySocket2 = new
DatagramSocket(99222);
ể segment ử ở m tại c ng đó
ổ IP datagrams với địa ch IP
UDP socket được định danh b i bộ
ỉ ở
ổ
hai: ỉ (địa ch IP đích, số hiệu c ng đích)
7-412
Transport Layer
ử nguồn khác nhau và/hoặc số hiệu ổ c ng nguồn khác nhau cũng được g i đến cùng socket
Demultiplexing trong phi kết nối (tt.)
DatagramSocket serverSocket = new DatagramSocket(6428);
SP: 6428 DP: 9157
SP: 6428 DP: 5775
SP: 5775 DP: 6428
SP: 9157 DP: 6428
client IP: A
Client IP:B
server IP: C
SP cung c p “đ a ch tr l
i”
ỉ ở ạ
ấ
ị
7-413
Transport Layer
P2 P1P1 P3
Multiplexing và demultiplexing
7-414
Transport Layer
Demultiplexing trong hướng kết nối
TCP socket được định danh
Máy ch có th hỗ trợ nhiều
ủ ể
sockets TCP đồng thời: m Mỗi socket được định danh bằng
b 4ộ c a nóủ
bằng bộ 4: m địa ch IP nguồn ỉ m số hiệu c ng nguồn ổ m địa ch IP đích ỉ m số hiệu c ng đích
Web servers có các sockets khác nhau cho mỗi client đang kết nối m nonpersistent HTTP sẽ có socket khác nhau cho mỗi yêu cầu
ổ trạm nhận s dụng c bốn giá ử ể ử trị trên đ g i segment đến socket thích hợp
7-415
Transport Layer
ả
Demultiplexing trong hướng kết nối (tt.)
SP: 80 DP: 9157
SP: 80 DP: 5775
SP: 9157 DP: 80
SP: 5775 DP: 80
client IP: A
Client IP:B
server IP: C
7-416
Transport Layer
P2 P3 P4 P1P1
Multiplexing và demultiplexing
7-417
Transport Layer
Chương 7 – Nội dung
7.1 Các dịch vụ c a tầng Vận
7.4 Vận chuy n hướng kết nối: ể
ủ
ả
7.2 Multiplexing và demultiplexing 7.3 Vận chuy n phi kết nối: ể
chuy nể
ể ể
TCP m cấu trúc segment m qu n lý kết nối m truyền dữ liệu tin cậy m ki m soát luồng UDP
7.5 Ki m soát tắc nghẽn c a
ủ
7-418
Transport Layer
TCP
V trí c a UDP trong ch ng giao th c TCP/IP
ủ
ứ
ồ
ị
7-419
Transport Layer
UDP: User Datagram Protocol [RFC 768]
ể
Là một giao thức vận chuy n “cơ
ả b n” trên Internet
tăng thêm độ trễ) ả
đơn gi n: không trạng thái kết nối
ở
dịch vụ “nỗ lực tối đa” service, UDP segments có th bị:ể m mất m phân phát sai thứ thự đến tầng
ứng dụng phía nhận
tại bên g i và bên nhận ể ủ
thông tin điều khi n c a segment
phi kết nối:
nhỏ
ể
m không bắt tay giữa UDP g i, ở
ể
nhận
không ki m soát tắc nghẽn: UDP ả có th đi nhanh nhất trong kh năng
m mỗi UDP segment được x lý ử độc lập với các segments khác
7-420
Transport Layer
Tại sao lại cần đến UDP? không thiết lập kết nối (nó có th ể
UDP: tiếp theo
Thường được s dụng cho các ứng ử
32 bits
source port #
dest port #
ề
checksum
length
Chi u dài c a ủ UDP segment tính b ng byte, ằ bao g m c ả ồ header
dụng streaming multimedia m chấp nhận mất mát (loss tolerant) m nhạy về tốc độ (rate sensitive) Ví dụ về s dụng UDP ử
m DNS m SNMP ể
Application data (message)
vận chuy n tin cậy qua UDP: b ổ sung sự tin cậy tại tầng ứng dụng m phục hồi lỗi tại ứng dụng cụ
th !ể
UDP segment format
7-421
Transport Layer
UDP checksum
M c đích: i” (vd nh các bits b l t) trong các ị ậ ư
ụ segments đ dò tìm “l ượ ỗ c truy n ề
các số intergers 16bit
ể
checksum: tính tồng (t ng phần bù
ổ 1) nội dung c a segment
ở
Bên g i:ở xem nội dung c a segment như là ủ
ủ
ể
Những vẫn có th có lỗi?
ủ bên g i đưa giá trị checksum vào trường checksum c a UDP segment
7-422
Transport Layer
Bên nhận: tính checksum c a segment nhận được ủ ki m tra xem số tính được có bằng giá trị trong trường checksum hay không: m NO – lỗi bị phát hiện m YES – không có lỗi bị phát hiện.
Encapsulation và decapsulation Encapsulation and decapsulation
7-423
Transport Layer
UDP versus IP UDP so v i IPớ
7-424
Transport Layer
S hi u c ng ố ệ ổ Port numbers
7-425
Transport Layer
ỉ
ớ ố ệ ổ
a ch IP so v i s hi u c ng Đị IP addresses versus port numbers
7-426
Transport Layer
ả ố ệ ổ
đị
D i s hi u c ng do IANA quy nh IANA ranges
More later!
IANA: Internet Assigned Numbers Authority
7-427
Transport Layer
ỉ
a ch Socket Đị Socket addresses
7-428
Transport Layer
Chương 7 – Nội dung
7.1 Các dịch vụ c a tầng Vận
7.4 Vận chuy n hướng kết nối: ể
ủ
ả
7.2 Multiplexing và demultiplexing 7.3 Vận chuy n phi kết nối: ể
chuy nể
ể ể
TCP m cấu trúc segment m qu n lý kết nối m truyền dữ liệu tin cậy m ki m soát luồng UDP
7.5 Ki m soát tắc nghẽn c a
ủ
7-429
Transport Layer
TCP
V trí c a TCP trong ch ng giao th c TCP/IP
ủ
ứ
ồ
ị
7-430
Transport Layer
RFCs: 793, 1122, 1323, 2018, 2581
đi mđếnđi m:
dữ liệu song công hoàn toàn:
m Luồng dữ liệu hai hướng trên cùng
kết nối
ổ TCP: T ng quan ể ể m một bên g i, một bên nhận ở tin cậy, dòng byte có thứ tự: m không “ranh giới thông điệp”
m MSS: maximum segment size
ủ
đường ống dẫn: ể ể
ử ổ
m ki m soát tắc nghẽn c a TCP và ki m soát luồng đặt kích cỡ c a s
ể
ở
vùng đệm g i và nhận
hướng kết nối: m bắt tay (trao đ i các thông điệp điều ổ khi n) giữa bên g i và bên nhận ổ trước khi trao đ i dữ liệu
ki m soát luồng:
ở
ở
nhận
a p p l i c a t i o n w r i t e s d a t a
a p p l i c a t i o n r e a d s d a t a
s o c k e t d o o r
s o c k e t d o o r
T C P s e n d b u f f e r
T C P r e c e i v e b u f f e r
s e g m e n t
7-431
Transport Layer
ể m bên g i sẽ không làm ngập/lụt bên
ị
giúp đ nh danh các đi m ể đ u cu i c a k t n i ố ủ ế ố
ầ
Cấu trúc TCP segment
32 bits
ể
source port #
dest port #
(th
URG: d li u kh n ẩ ữ ệ ng không dùng đ n) ế
ườ
sequence number
Đ xác đ nh các ị bytes d li u ữ ệ (không ph iả segments!)
acknowledgement number
ACK: s ACK ố có hi u l c ệ ự
Receive window
head len
PSH: đ y dl ngay ẩ ng không dùng đ n)
(th
ế
ườ
not used checksum
Urg data pnter
# bytes bên nh n s n ậ ẵ sàng ch p nh n ậ ấ
Options (variable length)
RST, SYN, FIN: t l p, các c đ thi ờ ể ế ậ ng t k t n i ắ ế ố
application data (variable length)
Internet checksum nh UDP)
(t
ng t
ự ư
ươ
7-432
Transport Layer
FSRPAU
0
15 16
31
16-bit Destination Port Number
16-bit Source Port Number
TCP Segment Header
32-bit Sequence Number 32 bit Acknowledgement Number
4-bit Header Length
16-bit Window Size
U R G
A C K
P S H
R S T
S Y N
F I N
16-bit Urgent Pointer
6-bit (Reserved) 16-bit TCP Checksum
Options (if any) Data (if any)
ổ
ả
ể
ổ
ể ỉ
ủ
ủ
source port – số hiệu c ng nguồn (bên gọi) ổ destination port – số hiệu c ng đích (bên được gọi) sequence number – số chuỗi, được s dụng đ đ m b o dữ liệu đến đúng theo thứ tự ể ả ử acknowledgment number – byte tiếp theo mà bên nhận đang đợi HLEN – chiều dài header, tính bằng đơn vị từ (32 bits) reserved – được đặt là 0 code bits – chức năng điều khi n (vd: thiết lập và kết thúc một kết nối) ể window – số octets mà bên nhận đang sẵn sàng tiếp nhận checksum – t ng ki m tra c a phần thông tin điều khi n và dữ liệu ủ urgent pointer – ch vị trí kết thúc c a dữ liệu kh n ẩ option – ví dụ về một option được định nghĩa: maximum TCP segment size data – dữ liệu giao thức c a tầng trên
7-433
Transport Layer
0
15 16
31
16-bit Destination Port Number
16-bit Source Port Number
32-bit Sequence Number 32 bit Acknowledgement Number
TCP Segment Header
4-bit Header Length
16-bit Window Size
U R G
A C K
P S H
R S T
S Y N
F I N
16-bit Urgent Pointer
6-bit (Reserved) 16-bit TCP Checksum
Options (if any) Data (if any)
1. ki m soát lu ng
TCP (Transmission Control Protocol) Giao thức hướng kết nối, tin cậy Cung cấp: ể
ử ổ
ồ được cung cấp thông qua cơ chế c a s trượt,
2.
kênh
tin c yậ được cung cấp thông qua các số chuỗi và cơ chế hồi báo (ACKs). TCP g i lại bất cứ đoạn dữ liệu nào mà bên kia không nhận được và cung cấp một ở
oả giữa các ứng dụng c a các hệ thống đầu cuối. ủ
phân phát đ m b o
ể ủ
ả
Ưu đi m c a TCP là nó cung cấp dịch vụ
ả các segments.
7-434
Transport Layer
Encapsulation và decapsulation Encapsulation and decapsulation
7-435
Transport Layer
TCP Segment Header
0
15 16
31
16-bit Destination Port Number
16-bit Source Port Number
32-bit Sequence Number 32 bit Acknowledgement Number
4-bit Header Length
16-bit Window Size
U R G
A C K
P S H
R S T
S Y N
F I N
16-bit Urgent Pointer
6-bit (Reserved) 16-bit TCP Checksum
Options (if any) Data (if any)
7-436
Transport Layer
t ng v n chuy n: ở ầ ể ậ ứ ử ụ
M t s giao th c s d ng TCP ộ ố HTTP Telnet FTP
TCP so v i IPớ TCP versus IP
7-437
Transport Layer
S hi u c ng ố ệ ổ Port numbers
7-438
Transport Layer
TCP Header
0
15 16
31
16-bit Destination Port Number
16-bit Source Port Number
32-bit Sequence Number 32 bit Acknowledgement Number
4-bit Header Length
16-bit Window Size
U R G
A C K
P S H
R S T
S Y N
F I N
HTTP is Port 80
16-bit Urgent Pointer
6-bit (Reserved) 16-bit TCP Checksum
Options (if any) Data (if any)
ả
ử
ổ
ể
ể
s dụng số hiệu c ng đ chuy n
7-439
Transport Layer
C hai TCP và UDP thông tin lên tầng trên.
ố ệ
Application Header + data
S hi u c ng đ d ng đ bi ể ế ụ li u” cho ng d ng nào ứ ệ
ụ
c s ượ ử ổ t nên g i “d ữ ở ở phía bên nh n.ậ
ố ệ
Application Header + data
S hi u c ng đ d ng đ bi ể ế ụ li u” cho ng d ng nào ứ ệ
ụ
c s ượ ử ổ t nên g i “d ữ ở ở phía bên nh n.ậ
7-440
Transport Layer
TCP Header
0
15 16
31
16-bit Destination Port Number
16-bit Source Port Number
32-bit Sequence Number 32 bit Acknowledgement Number
4-bit Header Length
16-bit Window Size
U R G
A C K
P S H
R S T
S Y N
F I N
16-bit Urgent Pointer
6-bit (Reserved) 16-bit TCP Checksum
Options (if any) Data (if any)
HTTP is Port 80
Các nhà phát tri n phần mềm ứng dụng đã thống nhất với nhau trong
ổ
ể well-known port numbers (c ng thông ử việc s dụng các d ng)ụ được định nghĩa trong RFC 1700.
Ví dụ, bất kỳ hội thoại nào gắn với một ứng dụng FTP đều s dụng c ng
ử ổ
7-441
Transport Layer
ẩ chu n là 21.
TCP Header
0
15 16
31
16-bit Destination Port Number
16-bit Source Port Number
32-bit Sequence Number 32 bit Acknowledgement Number
4-bit Header Length
16-bit Window Size
U R G
A C K
P S H
R S T
S Y N
F I N
16-bit Urgent Pointer
6-bit (Reserved) 16-bit TCP Checksum
Options (if any) Data (if any)
HTTP is Port 80
Các hội thoại mà không bao gồm một ứng dụng với một wellknown port ả number thì được gán số hiệu c ng ngẫu nhiên, được lựa chọn từ một d i cụ th . ể
ổ
Những số hiệu c ng này được s dụng như là địa ch nguồn và địa ch ỉ ử
ổ ỉ
7-442
Transport Layer
đích trong TCP segment.
TCP Header
HTTP is Port 80
0
15 16
31
16-bit Destination Port Number
16-bit Source Port Number
32-bit Sequence Number 32 bit Acknowledgement Number
4-bit Header Length
16-bit Window Size
U R G
A C K
P S H
R S T
S Y N
F I N
16-bit Urgent Pointer
6-bit (Reserved) 16-bit TCP Checksum
Options (if any) Data (if any)
ể
ể
ả
ổ
Một số c ng dành riêng cho c TCP và UDP, mặc dù các ứng dụng có th không được viết đ hỗ trợ
chúng. ả
ả
ổ
ở
D i số hiệu c ng được gán được qu n lý b i IANA là 01023:
ổ
ế
http://www.iana.org/assignments/portnumbers m Các c ng thông dụng (The
Well Known Ports) có số từ 0 đ n 1023.
(Được cập nhật cho đến 1113
ổ
2002. Trước đó, 0 – 255 được xem là các c ng thông dụng.)
ổ
ổ
1024 đ n 49151 ế
m Các c ng được đăng ký (The
Registered Ports) là những c ng từ
(thường được
ủ
đăng ký cho các ứng dụng định trước c a các nhà cung cấp thiết bị)
ổ
ổ
49152 đ n 65535 ế
m Các c ng động (The
Dynamic and/or Private Ports) là những c ng từ
7-443
Transport Layer
TCP Header TCP Header
0
15 16
31
16-bit Destination Port Number
16-bit Source Port Number
32-bit Sequence Number 32 bit Acknowledgement Number
4-bit Header Length
16-bit Window Size
U R G
A C K
P S H
R S T
S Y N
F I N
16-bit Urgent Pointer
6-bit (Reserved) 16-bit TCP Checksum
Options (if any) Data (if any)
Các hệ thống đầu cuối s dụng các số hiệu c ng đ chọn ứng dụng thích
ử ể ổ
hợp.
Các số hiệu c ng nguồn kh i nguồn, thường là các số lớn hơn 1023,
ổ ở
7-444
Transport Layer
ở được gán động b i trạm nguồn.
1028
23
23
1028
Client
Server
Client
Server
ồ
ổ
Chú ý s khác nhau trong vi c s hi u c ng ngu n và đích ệ ự c s d ng nh th nào v i clients và servers:
đ
ố ệ ớ
ư ế ụ
ị
c gán đ ng)
ượ ử ụ Client (kh i t o d ch v Telnet): ở ạ C ng đích = 23 (telnet) C ng ngu n = 1028 (đ ồ
ổ ổ
ượ
ộ
ứ
ị
ủ
Server (đáp ng d ch v Telnet): ụ C ng đích = 1028 (c ng ngu n c a client) ồ ổ C ng ngu n = 23 (telnet) ồ
ổ ổ
7-445
Transport Layer
ứ
ố
ố ổ
ố ổ ể ị
ệ
ấ
Phiên http th hai gi a cùng client và server. ữ Gi ng s c ng đích, nh ng khác s c ng ư ngu n đ đ nh danh duy nh t cho phiên duy t ồ web này.
ế ứ
http đ n ế www.cisco.com
Dest. Port = 80 G i ở packets đ n ng d ng web server
ụ
http đ n ế www.cisco.com
Dest. Port = 80 G i packets ở đ n ng ế ứ d ng web ụ server
1030
80
1031
80
ỉ
ử ổ
ử
ổ
Ví dụ ch ra hai c a s trình duyệt có cùng URL. TCP/IP s dụng các số hiệu c ng
7-446
ử ổ
ể
ể
Transport Layer
nguồn đ biết thông tin được chuy n đến c a s nào.
ở ố ổ
Yếu tố nào xác định tính duy nhất cho mỗi kết nối? Kết nối được định nghĩa b i cặp các số: m Đ a ch IP ngu n, S c ng ngu n ồ ồ m Đ a ch IP đích, S c ng đích
ỉ ỉ
ị ị
ố ổ ể
Các kết nối khác nhau có th dùng cùng số hiệu c ng đích trên trạm ch ủ
ổ
7-447
Transport Layer
ổ ỉ miễn là các số c ng nguồn hay địa ch IP nguồn là khác nhau.
Connection State
Source IP
Destination IP
TCP or UDP
Source Port
Destination Port
L u ý: ư
ở
Trên thực tế, khi ta m một trang html đơn, thông thường có nhiều
ỉ
phiên TCP được tạo ra, chứ không ch là một.
ủ
Hình trên minh họa nhiều kết nối TCP c a một phiên http đơn.
7-448
Transport Layer
Chương 7 – Nội dung
7.1 Các dịch vụ c a tầng Vận
7.4 Vận chuy n hướng kết nối: ể
ủ
ả
7.2 Multiplexing và demultiplexing 7.3 Vận chuy n phi kết nối: ể
chuy nể
ể ể
TCP m cấu trúc segment m qu n lý kết nối m truyền dữ liệu tin cậy m ki m soát luồng UDP
7.5 Ki m soát tắc nghẽn c a
ủ
7-449
Transport Layer
TCP
ắ
c ướ
B t tay ba b Three-way handshaking
7-450
Transport Layer
ả
ủ
Qu n lý kết nối c a TCP
Bắt tay ba bước:
ở
Bước 1: client g i SYN TCP segment đến
ủ
ử ở
lời với
ở
ủ
ở
Nhắc lại: Bên g i và nhận (s dụng TCP) thiết lập “kết nối” trước khi trao ổ đ i các segments dữ liệu Kh i tạo các tham số cho TCP: ở m số chuỗi (sequence number) m thông tin về bộ đệm, ki m soát ử ổ
ể luồng (vd: c a s nhận) client: bên kh i tạo kết nối Socket clientSocket = new Socket("hostname","port number");
ả
Step 3: client nhận SYNACK, tr
ở
ể
server m định rõ số chuỗi kh i tạo c a client ở m không chứa dữ liệu ả Step 2: server nhận SYN , tr SYNACK segment m server cấp phát bộ đệm m định rõ số chuỗi kh i tạo c a server lời với ACK segment, nó có th chứa dữ liệu
server: được liên hệ b i client Socket connectionSocket = welcomeSocket.accept();
7-451
Transport Layer
TCP Header
0
15 16
31
16-bit Destination Port Number
16-bit Source Port Number
32-bit Sequence Number 32 bit Acknowledgement Number
4-bit Header Length
16-bit Window Size
U R G
A C K
P S H
R S T
S Y N
F I N
16-bit Urgent Pointer
6-bit (Reserved) 16-bit TCP Checksum
Options (if any) Data (if any)
Đ một kết nối được thiết lập, hai trạm cuối ph i đồng bộ với nhau về số
ể ả
ở
Số chuỗi được s dụng đ theo dõi thứ tự c a các gói và đ đ m b o rằng
ủ chuỗi kh i tạo c a TCP (ISNs). ử ể ả ể ả
ủ không có gói nào bị mất trong quá trình truyền.
ở
Số chuỗi kh i tạo là con số bắt đầu khi một kết nối TCP được thiết lập. Trao đ i số chuỗi bắt đầu trong suốt quá trình kết nối đ m b o rằng dữ liệu bị
ả ả ổ
7-452
Transport Layer
ể mất có th được phục hồi.
TCP Header
0
15 16
31
16-bit Destination Port Number
16-bit Source Port Number
32-bit Sequence Number 32 bit Acknowledgement Number
4-bit Header Length
16-bit Window Size
U R G
A C K
P S H
R S T
S Y N
F I N
16-bit Urgent Pointer
6-bit (Reserved) 16-bit TCP Checksum
Options (if any) Data (if any)
S đ ng b ự ồ
ở
ổ
synchronize (đồng bộ). (Các segments mang bit
ộ được thiết lập bằng cách trao đ i các segments có mang các số chuỗi kh i tạo ể và bit điều khi n SYN được bật, có nghĩa là SYN còn được gọi là SYNs.)
ể
ở
Kết nối thành công đòi h i một cơ chế phù hợp đ chọn một số chuỗi kh i tạo và một cách liên
ỏ ể
quan đến việc “bắt tay” đ trao đ i số chuỗi kh i tạo ( ISNs).
ủ
ở ở
Sự đồng bộ yêu cầu rằng mỗi bên g i số chuỗi kh i tạo (ISN) c a nó và nhận một sự xác nhận
ổ ở và ISN từ phía bên kia c a kết nối.
ả
ở
ủ ủ
Mỗi bên ph i nhận ISN c a phía bên kia và g i báo nhận (ACK) trong một thứ tự cụ th . ể
7-453
Transport Layer
TCP Header
0
15 16
31
16-bit Destination Port Number
16-bit Source Port Number
32-bit Sequence Number 32 bit Acknowledgement Number
4-bit Header Length
16-bit Window Size
U R G
A C K
P S H
R S T
S Y N
F I N
16-bit Urgent Pointer
6-bit (Reserved) 16-bit TCP Checksum
Options (if any) Data (if any)
ể
ở
ể ử
Đ thiết lập kết nối, ba packets được g i giữa hai trạm đầu cuối. Bắt tay ba bước là cần thiết vì TCPs (trên các hệ thống đầu cuối) có th s dụng các cơ ở
ể
chế khác nhau đ chọn ra một số chuỗi kh i tạo (ISN).
ể
ả
Người nhận gói SYN đầu tiên không có cách nào đ biết được nó có ph i là một
ử
ể
ả
ả
ở
segment cũ bị trễ hay không trừ khi nó nhớ được số chuỗi cuối cùng được s dụng cho kết nối đó, điều này không ph i lúc nào cũng có th thực hiện được, và nó ph i yêu cầu người g i xác minh lại gói SYN này
7-454
Transport Layer
TCP Header
0
15 16
31
16-bit Destination Port Number
16-bit Source Port Number
32-bit Sequence Number 32 bit Acknowledgement Number
4-bit Header Length
16-bit Window Size
U R G
A C K
P S H
R S T
S Y N
F I N
16-bit Urgent Pointer
6-bit (Reserved) 16-bit TCP Checksum
Options (if any) Data (if any)
ể ể ả
ể
Tại thời đi m này, c hai bên đều có th bắt đầu truyền thông, và c ả hai đều có th ngắt mối liên kết truyền thông này vì TCP là phương thức truyền thông đồng đ ng (cân bằng).
7-455
Transport Layer
ẳ
ả
ủ Qu n lý kết nối c a TCP (tiếp theo)
close
FIN
đóng client socket:
client server Đóng một kết nối:
clientSocket.close();
ở
close
ể
A C K
F I N
ả
lời
Bước 1: client g i segment điều khi n TCP FIN đến server
ACK
với ACK. Đóng kết nối, g i FIN.
t i a w d e m
i t
closed
7-456
Transport Layer
Bước 2: server nhận FIN , tr ở
ả
ủ Qu n lý kết nối c a TCP (tiếp theo)
ả
lời
closing
FIN
với ACK. m Vào trạng thái “chờ đợi một
ả
thời gian” – sẽ tr lời với ACK cho FINs nhận được
closing
A C K
client server Bước 3: client nhận FIN , tr
F I N
đã được đóng.
ACK
closed
t i a w d e m
i t
closed
7-457
Transport Layer
Bước 4: server, nhận ACK. Kết nối
ắ
c ố ướ
B t tay B n b Four-way handshaking
7-458
Transport Layer
ả
ủ Qu n lý kết nối c a TCP (tiếp theo) TCP Connection Management (cont.)
TCP server lifecycle
TCP client lifecycle
7-459
Transport Layer
Chương 7 – Nội dung
7.1 Các dịch vụ c a tầng Vận
7.4 Vận chuy n hướng kết nối: ể
ủ
ả
chuy nể
7.2 Multiplexing và demultiplexing 7.3 Vận chuy n phi kết nối: ể
TCP m cấu trúc segment m qu n lý kết nối m truyền dữ liệu tin cậy & ki m ể
soát luồng ể
7.5 Ki m soát tắc nghẽn c a
UDP ủ
7-460
Transport Layer
TCP
TCP Header
0
15 16
31
16-bit Destination Port Number
16-bit Source Port Number
32-bit Sequence Number 32 bit Acknowledgement Number
4-bit Header Length
16-bit Window Size
U R G
A C K
P S H
R S T
S Y N
F I N
16-bit Urgent Pointer
6-bit (Reserved) 16-bit TCP Checksum
Options (if any) Data (if any)
ể
ự
ồ
ậ
ể ể
ể
Ki m soát lu ng và s tin c y Đ ki m soát luồng dữ liệu giữa các thiết bị, TCP dùng một cơ chế ki m soát
luồng đồng đ ng (peertopeer).
ẳ ủ
ử ổ
ủ
Tầng TCP c a trạm nhận thông báo một kích thước c a s cho tầng TCP c a trạm
g i. ở Kích th
ướ ử ổ này định rõ số bytes, bắt đầu từ số báo nhận (ACK
ở
ẩ
ể
c c a s number), mà tầng TCP
. bên nhận hiện tại đang chu n bị đ nhận
7-461
Transport Layer
TCP Header
0
15 16
31
16-bit Destination Port Number
16-bit Source Port Number
32-bit Sequence Number 32 bit Acknowledgement Number
4-bit Header Length
16-bit Window Size
U R G
A C K
P S H
R S T
S Y N
F I N
16-bit Urgent Pointer
6-bit (Reserved) 16-bit TCP Checksum
Options (if any) Data (if any)
ể
TCP – một giao thức hướng kết nối, tin cậy; cung cấp ki m soát lu ng ồ
ử ổ , và tin c yậ bằng cách cung cấp các số
qua việc cung cấp các c a s trượt chuỗi và hồi báo.
TCP g i lại bất kỳ đoạn nào không được nhận và cung cấp một
ở kênh oả
ủ “TCP” giữa các ứng dụng c a người dùng đầu cuối.
Sự thuận lợi c a TCP đó là nó cung cấp dịch vụ
phân phát b o đ m ủ ả ả các
7-462
Transport Layer
segment.
TCP Header
0
15 16
31
16-bit Destination Port Number
16-bit Source Port Number
32-bit Sequence Number 32 bit Acknowledgement Number
4-bit Header Length
16-bit Window Size
U R G
A C K
P S H
R S T
S Y N
F I N
16-bit Urgent Pointer
6-bit (Reserved) 16-bit TCP Checksum
Options (if any) Data (if any)
Kích c c a s một hồi báo (ACK).
ể ỡ ử ổ nói đến số bytes có th được truyền đi trước khi nhận
Sau khi một trạm truyền một số bytes bằng c a kích cỡ c a s , nó ph i nhận
ủ ả
ể
Kích cỡ c a s xác định bao nhiêu dữ liệu mà trạm nhận có th tiếp nhận tại
ử ổ ở một hồi báo trước khi thêm bất kỳ dữ liệu nào có th được g i. ể
7-463
Transport Layer
ử ổ một thời đi m. ể
TCP Header
0
15 16
31
16-bit Destination Port Number
16-bit Source Port Number
32-bit Sequence Number 32 bit Acknowledgement Number
4-bit Header Length
16-bit Window Size
U R G
A C K
P S H
R S T
S Y N
F I N
16-bit Urgent Pointer
6-bit (Reserved) 16-bit TCP Checksum
Options (if any) Data (if any)
Với kích thước c a s bằng 1, mỗi segment ch mang một byte dữ liệu và
ử ổ ỉ
ả ph i được hồi báo trước khi segment khác được truyền.
ử ủ
ể
Điều này làm cho việc s dụng gi ả ả i thông c a trạm không hiệu qu . Mục đích c a c a s là đ c i tiến ki m soát luồng và sự tin cậy. ể ả ủ ử ổ Nhưng với kích thước c a s là 1, ta thấy việc s dụng gi ử ổ
ử ả i thông là rất
7-464
Transport Layer
không hiệu qu .ả
0
15 16
31
16-bit Destination Port Number
16-bit Source Port Number
TCP WINDOW
TCP Header
32-bit Sequence Number 32 bit Acknowledgement Number
4-bit Header Length
16-bit Window Size
U R G
A C K
P S H
R S T
S Y N
F I N
16-bit Urgent Pointer
6-bit (Reserved) 16-bit TCP Checksum
Options (if any) Data (if any)
c c a s TCP (TCP Window Size)
ướ ử ổ ử
ể
Kích th TCP s dụng kích thước c a s , số bytes, mà bên nhận sẵn sàng đ tiếp nhận, và
ử ổ ở
ả thông thường được qu n lý b i tiến trình nhận.
ồ
ợ
TCP s dụng ử
h i báo mong đ i (expectational acknowledgments) ,
ở
nghĩa là số hồi báo nói đến byte tiếp theo mà người g i hồi báo muốn nhận.
ử ổ
Kích thước c a s càng lớn cho phép càng nhiều dữ liệu được truyền trước khi ph i ả
chờ hồi báo.
ủ
ở
Lưu ý: Số chuỗi đang được g i chính là số chuỗi c a byte đầu tiên trong segment đó.
7-465
Transport Layer
0
15 16
31
16-bit Destination Port Number
16-bit Source Port Number
TCP WINDOW
TCP Header
32-bit Sequence Number 32 bit Acknowledgement Number
4-bit Header Length
16-bit Window Size
U R G
A C K
P S H
R S T
S Y N
F I N
16-bit Urgent Pointer
6-bit (Reserved) 16-bit TCP Checksum
Options (if any) Data (if any)
c c a s TCP (TCP Window Size)
ể
Kích th ướ ử ổ TCP cung cấp d ch v song công hoàn toàn ụ ị
, nghĩa là dữ liệu có th chạy trên
mỗi hướng, độc lập với hướng còn lại.
ử ổ
ử ổ
ở
Kích thước c a s ,các số chuỗi và số hồi báo là độc lập cho mỗi luồng dữ liệu. Bên nhận g i kích thước c a s chấp nhận được đến người g i trong mỗi segment được
ử ổ
ả
ở
ử ổ
ể ử
ở ể truyền đi (ki m soát luồng) m nếu quá nhiều dữ liệu đang được g i, kích thước c a s chấp nhận được bị gi m xuống m nếu có th x lý nhiều dữ liệu, kích thước c a s được tăng lên ừ
ử ổ D ng-và-Đ i
Kỹ thuật này được biết đến như là một giao thức c a s
ợ (Stop-and-
Wait).
7-466
Transport Layer
0
15 16
31
16-bit Destination Port Number
16-bit Source Port Number
TCP Header
32-bit Sequence Number 32 bit Acknowledgement Number
4-bit Header Length
16-bit Window Size
U R G
A C K
P S H
R S T
S Y N
F I N
16-bit Urgent Pointer
6-bit (Reserved) 16-bit TCP Checksum
Options (if any) Data (if any)
ể
ỏ ồ
ủ
ể
Packets có th bị b dọc đường, hết thời gian, hay bị sai lệch. TCP cung cấp các h i báo lũy tích (cumulative acknowledgments). Hiện tại không có cách đ hồi báo các m nh được chọn lọc c a dòng dữ liệu (data ả
stream).
ở
ỉ
Nếu octets 4, 5, và 6 đã được g i, nhưng 5 bị mất, bên nhận ch hồi báo cho đến 4 bằng
cách g i một Ack là 5.
ở ở ở
ể
ể
ở
ở
ở
Bên g i g i lại 5 và đợi đ nghe từ phía nhận nó nên bắt đầu lại từ đâu. Bên nhận g i Ack 7, do đó bên g i biết nó có th bắt đầu g i tiếp từ octet 7.
7-467
Transport Layer
ượ
ờ
c g i ở ư c ượ ng) thì
ườ
Ch m t octet đ ỉ ộ i m i th i đi m, nh ng t ể ỗ ạ n u nhi u bytes đ ề ế g i (thông th ở sao?
ở
ủ
ể
ở ở
ử
ủ
ủ
ủ
ở
ủ
ữ
ệ
ề
L u ýư Bên g i: Giá trị c a số chuỗi là c a byte đầu tiên trong dòng dữ liệu. ủ Làm thế nào đ bên nhận biết bao nhiêu dữ liệu được g i, g i giá trị hồi báo là bao nhiêu? Bên nhận: S dụng gói IP c a bên g i và thông tin c a TCP segment, giá trị c a ACK là:: IP Length: (IP header) Total length - Header length - TCP header length (TCP header): Header length ------------------------------------------------- Chi u dài c a d li u trong TCP segment
(Length of data in TCP segment)
ủ
ữ
ố
ỗ
ề
ệ
ồ ACK = S chu i cu i cùng đã h i báo + Chi u dài c a d li u trong
ượ
TCP (đ ể
ố ở c tính trên) ỗ
ể
ể ắ
ị ấ
ố
ệ
ế
ạ
Ki m tra s chu i đ phát hi n các segments b m t và đ s p x p l i
ế các segments đ n sai th t .
ứ ự ố
ị ủ
ố
Giá tr c a ACK là cho s chu i c a byte mà b n (receiver) mu n nh n. ủ
ỗ ằ
ề
ạ
ậ
ấ
ả
ượ
ậ c t t c các bytes
ế
ạ Khi ta ACK 101, đi u đó nói r ng b n đã nh n đ cho đ n 100.
7-468
Transport Layer
ủ
ể
Ki m soát luồng c a TCP
ủ
ậ ậ
bên nhận c a kết nối TCP có ủ một bộ đệm nhận dữ liệu:
ồ
ộ ệ ằ ề
ki m soát lu ng ể bên g i s không làm ở ẽ ng p b đ m c a bên nh n b ng cách truy n ề quá nhi u, quá nhanh
dịch vụ tốc độ thích hợp: điều ỉ ở ch nh tốc độ g i phù hợp với ả kh năng c a ứng dụng bên nhận
ủ
r ứ ụ
ọ ữ ệ
7-469
Transport Layer
ti n trình ng d ng có th ể ế b ch m lúc đ c d li u ị ậ vùng đ m t ừ ệ
ủ
ể Ki m soát luồng c a TCP: hoạt động như thế nào
Bên nhận thông báo chỗ còn
Bên g i giới hạn các dữ liệu
trống bằng cách bao gồm giá trị c a ủ RcvWindow trong các segments ở
(Gi
ủ
ả
ỏ ủ ả ử s bên nhận c a kết nối TCP loại b các segment sai thứ tự)
ả nhận không bị tràn
chưa được ACK đến RcvWindow m đ m b o rằng bộ đệm c a bên
chỗ còn trống trong vùng đệm = RcvWindow = RcvBuffer-[LastByteRcvd -
LastByteRead]
7-470
Transport Layer
ử ổ
C a s trượt
Kích th
ướ ử ổ
ướ ử ổ
ạ ộ
c c a s kh i t o ở ạ C a s có th s d ng
ể ử ụ
ử ổ
Kích th Đã g iở ch a ACK ư
c c a s ho t đ ng Có th s d ng ể ử ụ Có th g i ngay ể ở
Có th g i ngay ể ở
t ứ ử ổ ượ ử ổ
ả
ể i thuật c a s trượt là một phương pháp ki m soát luồng cho việc truyền dữ liệu trên mạng
Giao th c c a s tr Gi ử ổ ử s dụng kích cỡ c a s (Window size).
ử ổ
ể ử
ể
ở
Bên g i tính c a s có th s dụng được, nó cho biết bao nhiêu byte dữ liệu có th được g i g i ở ở
ngay.
ử ổ
ể
ả
Theo thời gian, c a s trượt này di chuy n sang bên ph i, khi bên nhận hồi báo cho dữ liệu đã
nhận đúng.
ủ
ở
ả ủ ử ổ
ử
ể
ả
Bên nhận g i hồi báo khi bộ đệm nhậnTCP c a nó trống. Ngôn ngữ được s dụng đ mô t sự dịch chuy n c a gờ trái và gờ ph i c a c a s trượt đó ể ủ
là:
ở
ả ở
ả
ả
ở
ả 1. Gờ trái đóng (di chuy n sang bên ph i) khi dữ liệu được g i và được hồi báo. 2. Gờ ph i m (di chuy n sang ph i) cho phép nhiều dữ liệu hơn được g i. Điều này x y ra khi bên
ể ể nhận hồi báo đã nhận một số byte nào đó. ể
ả
ở
ở
3. Gờ giữa m (di chuy n sang ph i) khi dữ liệu đã được g i, nhưng chưa được hồi báo.
7-471
Transport Layer
Host A - Sender
Host B - Receiver
1
2
3
4
5
6
7
8
9
10
11
12
13
1
2
3
4
5
6
7
8
9
10
11
12
13
1
2
3
4
5
6
7
8
9
10
11
12
13
1
2
Octets received
3
Window size = 6 Octets sent
Usable Window
1
2
3
4
5
6
7
8
9
10
11
12
13
ACK 4
Not ACKed
Can send ASAP
c là 6 (octets).
Host B đ a cho Host A m t c a s kích th ổ Host A b t đ u b ng cách g i các octets đ n Host B: octets 1, 2, và 3
ư ắ ầ
ướ ế
và tr
ượ ử
ằ ổ ủ
c g i. ở
ượ
ể ử
ỉ ổ
Host B
ủ
ừ
ậ ặ ấ ả
ậ
ộ ử ở t c a s c a nó (g gi a) đ ch 3 octets đã đ ờ ữ Host A s ẽ không tăng kích th c c a s có th s d ng (Usable ể ử ụ ướ Window) c a nó lên 3, cho đ n khi nó nh n m t h i báo t ộ ồ ế t c các octets. c m t s ho c t r ng nó đã nh n đ ộ ố ằ Host B, không đ i t t c 6 octets đ n, sau khi nh n octet th 3 g i m t ế
ượ ợ ấ ả
ứ
ậ
ộ
ở
ACK mong nh n có giá tr là 4 đ n Host A.
ế
ậ
ị
7-472
Transport Layer
Host A - Sender
Host B - Receiver
1
2
3
4
5
6
7
8
9
10
11
12
13
1
2
3
4
5
6
7
8
9
10
11
12
13
1
2
3
4
5
6
7
8
9
10
11
12
13
1
2
3
1
2
3
4
5
6
7
8
9
10
11
12
13
ACK 4
1
2
3
4
5
6
7
8
9
10
11
12
13
4
5
1
2
3
4
5
6
7
8
9
10
11
12
13
1
2
3
4
5
6
7
8
9
10
11
12
13
ACK 6
Window size = 6 Octets sent
Usable Window
Not ACKed
Can send ASAP
Host B đ ti p t c g i d li u, cho đ n
Host A không c n ph i đ i m t h i báo t
ộ ồ
ừ
ở ữ ệ
ế
ể ế ụ c c a s đ t đ n 6, do đó nó g i octet 4 và 5.
ả ợ ổ ạ ế
ồ
ở ể tr có th
tượ c a s c a nó cho đ 6
ổ ủ
ử
ầ ử Host A nh n h i báo ACK 4 và bây gi c g i – ch a đ
c
ờ ượ
ượ
ư
ở
c h i báo c ng v i 3 octets có th đ ớ
ồ
ộ
ủ ể ượ
khi kích th ướ ậ octets, 3 octets đã đ g i ngay l p t c.
ậ ứ
ở
7-473
Transport Layer
Host A - Sender
Host B - Receiver
1
2
3
4
5
6
7
8
9
10
11
12
13
1
2
3
4
5
6
7
8
9
10
11
12
13
1
2
3
4
5
6
7
8
9
10
11
12
13
1
Window size = 6 Octets sent
Usable Window
2
Not ACKed
Can send ASAP
3
1
2
3
4
5
6
7
8
9
10
11
12
13
ACK 4
1
2
3
4
5
6
7
8
9
10
11
12
13
4
5
1
2
3
4
5
6
7
8
9
10
11
12
13
1
2
3
4
5
6
7
8
9
10
11
12
13
ACK 6
1
2
3
4
5
6
7
8
9
10
11
12
13
6
7
1
2
3
4
5
6
7
8
9
10
11
12
13
1
2
3
4
5
6
7
8
9
10
11
12
13
1
2
3
4
5
6
7
8
9
10
11
12
13
8
9
1
2
3
4
5
6
7
8
9
10
11
12
t
13 7-474
Transport Layer
Các c a s tr (ti p theo)
ử ổ ượ ế
Chương 7 – Nội dung
7.1 Các dịch vụ c a tầng Vận
7.4 Vận chuy n hướng kết nối: ể
ủ
ả
chuy nể
7.2 Multiplexing và demultiplexing 7.3 Vận chuy n phi kết nối: ể
TCP m cấu trúc segment m qu n lý kết nối m truyền dữ liệu tin cậy & ki m ể
soát luồng ể
7.5 Ki m soát tắc nghẽn c a
UDP ủ
7-475
Transport Layer
TCP
ủ
ể
Ki m soát tắc nghẽn c a TCP
Bên g i nhận thấy tắc nghẽn như thế
Tiếp cận ki m soát tắc nghẽn theo
ở nào?
Sự kiện mất mát = timeout hoặc 3
ể
Bên g i giới hạn số lượng dữ liệu chưa
ở ả
lần acks giống nhau Bên TCP g i gi m tốc độ
hướng endtoend (không có sự hỗ trợ ủ c a tầng mạng) ở
ả
ủ
(CongWin) sau sự kiện mất mát i thuật
Ba thành phần chính c a gi ủ
được báo nhận:
rate =
Bytes/sec
ể ki m soát tắc nghẽn c a TCP: m AIMD m slow start/bắt đầu chậm m thận trọng/dè dặt sau các sự kiện
ỉ ủ
LastByteSent-LastByteAcked £ min{CongWin, RcvWindow) Tốc độ xấp x c a bên g i: ở CongWin RTT
timeout
CongWin được thay đ i khi nhận
7-476
Transport Layer
ổ thấy có tắc nghẽn trên mạng
ả
TCP AIMD (Tăng cộng, gi m nhân)
additive increase: tăng multiplicative decrease: gi m ả
CongWin xuống một n a ử sau khi có sự kiện mất mát
c o n g e s t i o n w i n d o w
2 4 K b y t e s
ỗ ệ
1 6 K b y t e s
8 K b y t e s
t i m e
Long-lived TCP connection
7-477
Transport Layer
CongWin lên 1 MSS (Maximum Segment Size) m i RTT khi không có s ự ki n m t mát: ấ probing/thăm dò
TCP Slow Start
Khi kết nối bắt đầu, CongWin = 1 MSS m Ví dụ: MSS = 500 bytes & RTT =
r Khi k t n i b t đ u, tăng ế ố ắ ầ t c đ nhanh chóng theo ố ộ hàm mũ cho đ n khi g p s ặ ự ế ki n m t mát đ u tiên.
200 msec
ả
ể
m tốc độ kh i tạo = 20 kbps ở Băng thông sẵn có có th lớn ể hơn rất nhiều so với MSS/RTT m cần thiết ph i nhanh chóng nh y ả lên đến tốc độ đáng k chứ không nên tăng từ từ
7-478
Transport Layer
ệ ầ ấ
TCP Slow Start (tiếp theo)
one segment
T T R
Khi kết nối bắt đầu, tăng tốc độ theo hàm mũ cho đến khi gặp sự mất mát đầu tiên: m gấp đôi CongWin sau mỗi
RTT
two segments
Host A Host B
m được thực hiện bằng việc tăng CongWin cho mỗi ACK nhận được
four segments
ở
Tóm tắt: tốc độ kh i tạo thì chậm nhưng nh y lên thật nhanh theo hàm mũ
time
7-479
Transport Layer
ả
ả Sự c i tiến
Tri
t lý:
ế
Sau 3 ACKs trùng lặp:
ặ ể
m CongWin được gi m một n a ử m sau đó nó được tăng lên tuyến
ả ả
Nhưng sau sự kiện timeout:
tính ướ
ạ ộ
m CongWin được đặt về 1 MSS; m sau đó tăng nó lên theo hàm mũ m khi đến một threshold (ngưỡng),
• 3 ACKs trùng l p bi u th ị m ng có kh năng phân phát ạ m t s segments ộ ố • timeout tr c khi 3 ACKs trùng l p nghĩa là tình tr ng ặ t c ngh n đ c “báo đ ng ẽ ượ ắ nhi u h n” ơ ề
7-480
Transport Layer
tăng lên tuyến tính
ả
Sự c i tiến (tiếp theo)
ể
14
Q: Khi nào thì chuy n từ việc tăng theo hàm mũ sang tăng tuyến tính?
e z i
12
A: Khi CongWin đạt
10
i
8
6
) s t n e m g e s (
được 1/2 giá trị mà nó đã có được trước khi có sự kiện timeout.
4
threshold
2
s w o d n w n o i t s e g n o c
TCP Tahoe
TCP Reno
0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Transmission round
Series1
Series2
ủ
7-481
Transport Layer
Sự thi hành: S dụng biến Threshold ử Khi có sự kiện timeout, Threshold được đặt bằng 1/2 giá trị c a CongWin ngay trước khi sự kiện mất mát x y raả
ủ
ể
Tóm tắt về ki m soát tắc nghẽn c a TCP
Khi CongWin dưới ngưỡng/Threshold, bên g i hoạt động
ở
ở ử ổ pha slowstart, c a s được tăng theo hàm mũ.
ở
Khi CongWin trên ngưỡng/Threshold, bên g i hoạt động ử ổ congestionavoidance, c a s tăng tuyến tính.
Khi một ACK trùng lặp ba lần xuất hiện, Threshold được
ở pha
đặt về CongWin/2 và CongWin được đặt về ngưỡng/Threshold.
Khi timeout xuất hiện, Threshold được đặt về CongWin/2 và CongWin được đặt về 1 MSS.
7-482
Transport Layer
Chương 7: Tóm tắt
Các nguyên lý đằng sau các dịch vụ c a tầng vận chuy n:
ủ ể
m multiplexing, demultiplexing m chuy n giao dữ liệu tin cậy ể m ki m soát luồng m ki m soát tắc nghẽn
Thuyết minh bằng ví dụ cụ th và sự cài đặt/sự thi hành các dịch ể
ể ể
7-483
Transport Layer
vụ đã nêu trên môi trường Internet m UDP m TCP