bai giang mang may tinh phan 2
TRANSCRIPT
Layered Architecture 1
Chương 2: Giao thức và kiến trúc phân tầng
Protocols and Layered Architecture
Layered Architecture 2
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 3
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 thực thể ngang hàng (peering entities) Khuôn dạng và ngữ nghĩa của thông điệp được
trao đổi Giao thức trong cuộc sống hàng ngày:
Luật giao thông, thảo luận bàn tròn…
Layered Architecture 4
Kiến trúc phân tầng hay hệ thống cấp bậc giao thức!?
MMT: phức tạp! nhiều “mảnh”:
trạm (hosts) bộ định tuyến (router) phương tiện truyền thông ứng dụng (applications) giao thức (protocols) phần cứng, phần mềm
(hardware, software)
Câu hỏi: Cách nào để thiết lập
cấu trúc mạng?
Layered Architecture 5
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 dưới cung cấp cho tầng trên
• Giao thức (Protocols): được sử dụng để thi hành (implement) các dịch vụ
• Một tập của các tầng và giao thức được gọi là một kiến trúc mạng (Network Architecture)
Layered Architecture 6
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ệ thống phức tạp
Tầng N dựa vào dịch vụ (services) từ tầng N-1 để cung cấp dịch vụ cho tầng N+1
Dịch vụ cần đến từ tầng dưới độc lập với sự thực thi (implementation) của nó Tầng N thay đổi sẽ không ảnh hưởng
đến các tầng khác Che dấu thông tin và sự phức tạp Tương tự như lập trình hướng đối
tượng
Layered Architecture 7
Ví dụ về kiến trúc phân tầng
Layered Architecture 8
Truyền thông Vật lý, logic
Layered Architecture 9
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 (full-duplex)?
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 10
Dịch vụ hướng kết nối(Connection-oriented Service) Người gởi - Sender
Yêu cầu “kết nối” đến người nhận Chờ đợi Mạng thiết lập kết nối Duy trì kết nối trong khi gởi dữ liệu Ngắt kết nối khi hết nhu cầu
Mạng - Network Nhận yêu cầu kết nối Thiết lập kết nối và thông báo cho người gởi Truyền dữ liệu qua mối kết nối Giải phóng kết nối khi người gởi yêu cầu
Layered Architecture 11
Dịch vụ phi kết nối (Connectionless Service)
Người gởi - SenderTạo các packet để gởiĐánh địa chỉ người nhận trong mỗi góiTruyền gói tin cho mạng để chuyển đi
Mạng - NetworkSử dụng địa chỉ đích để chuyển tiếp gói
tinGiao gói tin đến nơi nhận
Layered Architecture 12
So sánh giữa hướng kết nối và phi kết nối (Connection-Oriented vs. Connectionless)
Connection-Oriented• Telephone System, Virtual Circuit Model
Đường dẫn được thiết lập trước khi dữ liệu được gởi
Chỉ cần định danh mối kết nối Tất cả dữ liệu đi cùng một đường
Connectionless• Postal System, Datagram Model
Không cần thiết lập đường dẫn trước khi truyền dữ liệu
Gói tin chứa địa chỉ nơi nhận Mỗi gói tin được xử lý độc lập
Layered Architecture 13
Connection-Oriented “Gánh nặng” thiết lập kết nối 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 Có thể đặt trước dải thông
Connectionless Không trạng thái và ít gánh nặng Không thể đặt trước tài nguyên Cho phép broadcast/multicast
So sánh giữa hướng kết nối và phi kết nối (Connection-Oriented vs. Connectionless)
Layered Architecture 14
Ví dụ về các hàm dịch vụ nguyên thủy (service primitive)
Layered Architecture 15
Các tổ chức định chuẩn
International Standards Organization (ISO)
International Telecommunications Union– Telecommunication Standards Sector (ITU-T)
Institute of Electrical and Electronics Engineers (IEEE)
Electronic Industries Alliance (EIA)
Telecommunications Industry Association (TIA)
Layered Architecture 16
Mô hình tham chiếu OSI
Layered Architecture 17
Các tầng trong mô hình OSI
Layered Architecture 18
Minh họa về trao đổi thông tin trong mô hình OSI
Layered Architecture 19
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ý
Tầng Vật lý (Physical Layer)
Layered Architecture 20
Data transfer between neighboring elements• Framing and error/flow control• Media access control
Data Link Layer
Layered Architecture 21
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
Tầng Liên kết dữ liệu (Data Link Layer)
Layered Architecture 22
Sự phân phát nút-nútNode-to-node delivery
Layered Architecture 23
Network Layer
- Naming and addressing- Routing of packets within a network- Avoidance of congested/failed links
Layered Architecture 24
Tầng Mạng (network layer)
- Đá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
Layered Architecture 25
Sự phân phát cuối-cuốiEnd-to-end delivery
Layered Architecture 26
Transport Layer
- End-to-end delivery of packets: End-host to end-host communication -> a true end-to-end layer!- Reliable in order delivery, flow/error control
Layered Architecture 27
Tầng Vận chuyển (transport layer)
- Vận chuyển dữ liệu từ nơi gửi đến nơi nhận- Thực hiện vận chuyển tin cậy, đúng thứ tự; kiểm soát lỗi/luồng
Layered Architecture 28
Phân phát thông điệp tin cậy từ hệ thốngđầu cuối này đến hệ thống đầu cuối kiaReliable end-to-end delivery of a message
Layered Architecture 29
Session Layer
- Session setup (authentication)- Recovery from failure (broken session)
Layered Architecture 30
Tầng Phiên (session layer)
- Thiết lập phiên truyền thông (xác thực …)- Khôi phục phiên truyền khi gặp sự cố (phiên truyền bị đứt)
Layered Architecture 31
Presentation Layer
Conversion of data to common formatExample: Little endian vs. big endian byte orders
Layered Architecture 32
Tầng Trình diễn (presentation layer)
Chuyển đổi dữ liệu về một khuôn dạng chung
Layered Architecture 33
Application Layer
- Process-to-process communication-All layers exist to support this layer
X500: Directory ServiceX400: hay là MHS Message Handling SystemsFTAM: File Transfer, Access and Management
Layered Architecture 34
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 SystemsFTAM: File Transfer, Access and Management
Layered Architecture 35
Summary of OSI layers
Layered Architecture 36
Tóm tắt các tầng trong mô hình OSI
Application7Presentation6
Session5Transport4Network3
Physical1
Data link2
cho phép users truy cập các tài nguyên mạng
thiết lập, duy trì và hủy bỏ các phiên truyền
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
truyền dòng bits qua phương tiện truyền; cung cấp các đặc tả kỹ thuật về cơ, điện…
chuyển đổi, mã hóa và nén dữ liệu
cung cấp sự phân phát thông điệp tin cậy giữa các tiến trìnhtổ chức các bits thành khung; vận chuyển dữ liệu giữa các nodes trong cùng một mạng
Layered Architecture 37
TCP/IP Suite
Application7Presentation6
Session5Transport4Network3
Physical1
Data link2
Application4
Transport3Internet2
Host-to-Network1
TCP/IP SuiteOSI Model
Layered Architecture 38
TCP/IP Suite and OSI model
Layered Architecture 39
Internet Protocol “Zoo”
applicatio
n
SMTP
TelnetNFS/Sun RPC
FTP DNSHTTP
RealAudio RealVideo
Layered Architecture 40
The Internet (Network) layer
routingtable
Routing protocols•path selection•RIP, OSPF, BGP
IP protocol•addressing conventions•packet handling conventions
ICMP protocol•error reporting•router “signaling”
Transport layer: TCP, UDP
Link layer
physical layer
Networklayer
Layered Architecture 41
Tầng Internet
Bảng định tuyến
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
Giao thức ICMP•báo lỗi•router “báo hiệu”
Tầng vận chuyển: TCP, UDP
Tầng liên kết dữ liệu
Tầng Vật lý
Networklayer
Layered Architecture 42
Internet Protocol (IP)
Universal service in a heterogeneous world IP over everything
Virtual overlay network Globally unique logical address for a
host Address resolution
logical to physical address mapping
Layered Architecture 43
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ỉ
Ánh xạ từ địa chỉ logic sang địa chỉ vật lý để thực hiện sự phân phát các gói tin.
Layered Architecture 44
Internet Protocol
Connectionless unreliable datagram service
Packets carry a source and a destination address
Each packet routed independently No guarantee that network will not lose
packets• Error recovery is up to end-to-end protocols
Layered Architecture 45
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 (end-to-end protocols)
Layered Architecture 46
Transport between Neighbors
Using underlying link layer transmission mechanism Example: Ethernet, Token Ring, PPP
Mapping from logical IP address to physical MAC address Address Resolution Protocol (ARP)
Layered Architecture 47
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 Example: Ethernet, Token Ring, PPP
Ánh xạ từ địa chỉ logic (IP address) sang địa chỉ vật lý (MAC address) Address Resolution Protocol (ARP) – giao thức phân
giải địa chỉ
Layered Architecture 48
End to End Transport Protocols
TCP service: connection-oriented: setup
required between client, server
reliable transport between sender and receiver
flow control: sender won’t overwhelm receiver
congestion control: throttle sender when network overloaded
UDP service: unreliable data
transfer between sender and receiver
does not provide: connection setup, reliability, flow control, congestion control
Q:Why UDP?
Layered Architecture 49
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
Vận chuyển tin cậy giữa bên gửi và nhậ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: điều chỉnh tốc độ bên gửi khi mạng quá tải
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
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
Tại sao dùng UDP?
Layered Architecture 50
Internet Philosophy
Network provides barebones service Connectionless unreliable datagram by IP
Value-added functions performed “end to end” Error recovery and flow control by TCP
End user/application knows better Packet loss may be tolerable for voice
Also known as “end-to-end argument”
Layered Architecture 51
Triết lý của Internet
Mạng chỉ cung cấp những dịch vụ thiết yếu nhất 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 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ấ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 52
Mối quan hệ giữa các tầng và địa chỉ trong TCP/IP
Layered Architecture 53
Địa chỉ Vật lý (physical addresses)
Layered Architecture 54
Địa chỉ IP (IP addresses)
Layered Architecture 55
Địa chỉ cổng (port addresses)
Layered Architecture 56
Client-Server Paradigm
Typical network app has two pieces: client and server
application
transportnetworkdata linkphysical
application
transportnetworkdata linkphysical
Client: initiates contact with server
(“speaks first”) typically requests service
from serverServer: provides requested service
to client
request
reply
Layered Architecture 57
Mô hình Client-Server
Thông thường một ứng dụng mạng gồm 2 phần: client và server
application
transportnetworkdata linkphysical
application
transportnetworkdata linkphysical
Client: khởi tạo kết nối với server
(“nói trước”) thường là yêu cầu dịch vụ
nào đó từ serverServer: Cung cấp dịch vụ được yêu
cầu cho client
request
reply
Layered Architecture 58
The Web: The HTTP Protocol
HyperText Transfer Protocol
Web’s application layer protocol
client/server model client: browser that
requests, receives, “displays” Web objects
server: Web server sends objects in response to requests
PC runningExplorer
Server running
NCSA Webserver
Mac runningNavigator
http request
http re
quest
http response
http re
sponse
Layered Architecture 59
Ví dụ: Dịch vụ Web (giao thức HTTP)HyperText Transfer
Protocol giao thức tầng ứng dụng cho
dịch vụ Web mô hình client/server
client: là trình duyệt, nó yêu cầu, nhận và “hiển thị” các đối tượng Web
server: là Web server, nó gởi các đối tượng để trả lời cho các yêu cầu từ client
PC runningExplorer
Server running
NCSA Webserver
Mac runningNavigator
http request
http re
quest
http response
http re
sponse
Layered Architecture 60
Protocol Packets
Protocol data units (PDUs): packets exchanged between peer entities Service data units (SDUs): packets handed to a layer by an upper layer Data at one layer is encapsulated in packet at a lower layer
Envelope within envelope: PDU = SDU + (optional) header or trailer
Layered Architecture 61
Đơ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 Envelope within envelope: PDU = SDU + header or (optional) trailer
Layered Architecture 62
Minh họa quá trình đóng gói
Layered Architecture 63
Một ví dụ về sự đóng gói: gởi E-mail
Layered Architecture 64
Comments on Layering
Advantages Modularization eases maintenance and
updating Drawbacks?
Which layer should implement what functionality?• Hop-by-hop basis or end-to-end basis
Duplication of functionality between layers• Error recovery at link layer and transport layer
Layered Architecture 65
Nhận xét về việc phân tầng
Ưu điểmModule hóa giúp cho việc duy trì và
cập nhật dễ dàng hơnNhược điểm
Tầng nào nên thực hiện chức năng gì?• Dựa trên nền tảng hop-by-hop hay end-
to-end Sự trùng lặp chức năng giữa các tầng
• Tầng liên kết dữ liệu và tầng vận chuyển đều có chức năng phục hồi lỗi
Layered Architecture 66
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 & connection-oriented communication; tầng vận chuyển chỉ hỗ trợ connection-oriented communication
Layered Architecture 67
A critique of the OSI model and Protocols
Bad timing Bad technology Bad implementations Bad politics
Layered Architecture 68
A critique of the TCP/IP Reference Model The model does not clearly distinguish the concepts
of service, interface, and protocol. The TCP/IP model is not at all general and is poorly
suited to describing any protocol stack other than TCP/IP.
The host-to-network layer is not really a layer at all in the normal sense of the term as used in the context of layered protocols.
The TCP/IP model does not distinguish (or even mention) the physical and data link layers.
Some protocols are a bit of an embarrassment now.