bai giang mang may tinh phan 2

68
Layered Architecture 1 Chương 2: Giao thức và kiến trúc phân tầng Protocols and Layered Architecture

Upload: ccmm030050

Post on 28-Mar-2015

103 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: bai giang mang may tinh phan 2

Layered Architecture 1

Chương 2: Giao thức và kiến trúc phân tầng

Protocols and Layered Architecture

Page 2: bai giang mang may tinh phan 2

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

Page 3: bai giang mang may tinh phan 2

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…

Page 4: bai giang mang may tinh phan 2

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?

Page 5: bai giang mang may tinh phan 2

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)

Page 6: bai giang mang may tinh phan 2

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

Page 7: bai giang mang may tinh phan 2

Layered Architecture 7

Ví dụ về kiến trúc phân tầng

Page 8: bai giang mang may tinh phan 2

Layered Architecture 8

Truyền thông Vật lý, logic

Page 9: bai giang mang may tinh phan 2

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

Page 10: bai giang mang may tinh phan 2

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

Page 11: bai giang mang may tinh phan 2

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

Page 12: bai giang mang may tinh phan 2

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

Page 13: bai giang mang may tinh phan 2

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)

Page 14: bai giang mang may tinh phan 2

Layered Architecture 14

Ví dụ về các hàm dịch vụ nguyên thủy (service primitive)

Page 15: bai giang mang may tinh phan 2

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)

Page 16: bai giang mang may tinh phan 2

Layered Architecture 16

Mô hình tham chiếu OSI

Page 17: bai giang mang may tinh phan 2

Layered Architecture 17

Các tầng trong mô hình OSI

Page 18: bai giang mang may tinh phan 2

Layered Architecture 18

Minh họa về trao đổi thông tin trong mô hình OSI

Page 19: bai giang mang may tinh phan 2

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)

Page 20: bai giang mang may tinh phan 2

Layered Architecture 20

Data transfer between neighboring elements• Framing and error/flow control• Media access control

Data Link Layer

Page 21: bai giang mang may tinh phan 2

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)

Page 22: bai giang mang may tinh phan 2

Layered Architecture 22

Sự phân phát nút-nútNode-to-node delivery

Page 23: bai giang mang may tinh phan 2

Layered Architecture 23

Network Layer

- Naming and addressing- Routing of packets within a network- Avoidance of congested/failed links

Page 24: bai giang mang may tinh phan 2

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

Page 25: bai giang mang may tinh phan 2

Layered Architecture 25

Sự phân phát cuối-cuốiEnd-to-end delivery

Page 26: bai giang mang may tinh phan 2

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

Page 27: bai giang mang may tinh phan 2

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

Page 28: bai giang mang may tinh phan 2

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

Page 29: bai giang mang may tinh phan 2

Layered Architecture 29

Session Layer

- Session setup (authentication)- Recovery from failure (broken session)

Page 30: bai giang mang may tinh phan 2

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)

Page 31: bai giang mang may tinh phan 2

Layered Architecture 31

Presentation Layer

Conversion of data to common formatExample: Little endian vs. big endian byte orders

Page 32: bai giang mang may tinh phan 2

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

Page 33: bai giang mang may tinh phan 2

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

Page 34: bai giang mang may tinh phan 2

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

Page 35: bai giang mang may tinh phan 2

Layered Architecture 35

Summary of OSI layers

Page 36: bai giang mang may tinh phan 2

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

Page 37: bai giang mang may tinh phan 2

Layered Architecture 37

TCP/IP Suite

Application7Presentation6

Session5Transport4Network3

Physical1

Data link2

Application4

Transport3Internet2

Host-to-Network1

TCP/IP SuiteOSI Model

Page 38: bai giang mang may tinh phan 2

Layered Architecture 38

TCP/IP Suite and OSI model

Page 39: bai giang mang may tinh phan 2

Layered Architecture 39

Internet Protocol “Zoo”

applicatio

n

SMTP

TelnetNFS/Sun RPC

FTP DNSHTTP

RealAudio RealVideo

Page 40: bai giang mang may tinh phan 2

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

Page 41: bai giang mang may tinh phan 2

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

Page 42: bai giang mang may tinh phan 2

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

Page 43: bai giang mang may tinh phan 2

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.

Page 44: bai giang mang may tinh phan 2

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

Page 45: bai giang mang may tinh phan 2

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)

Page 46: bai giang mang may tinh phan 2

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)

Page 47: bai giang mang may tinh phan 2

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ỉ

Page 48: bai giang mang may tinh phan 2

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?

Page 49: bai giang mang may tinh phan 2

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?

Page 50: bai giang mang may tinh phan 2

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”

Page 51: bai giang mang may tinh phan 2

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.

Page 52: bai giang mang may tinh phan 2

Layered Architecture 52

Mối quan hệ giữa các tầng và địa chỉ trong TCP/IP

Page 53: bai giang mang may tinh phan 2

Layered Architecture 53

Địa chỉ Vật lý (physical addresses)

Page 54: bai giang mang may tinh phan 2

Layered Architecture 54

Địa chỉ IP (IP addresses)

Page 55: bai giang mang may tinh phan 2

Layered Architecture 55

Địa chỉ cổng (port addresses)

Page 56: bai giang mang may tinh phan 2

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

Page 57: bai giang mang may tinh phan 2

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

Page 58: bai giang mang may tinh phan 2

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

Page 59: bai giang mang may tinh phan 2

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

Page 60: bai giang mang may tinh phan 2

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

Page 61: bai giang mang may tinh phan 2

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

Page 62: bai giang mang may tinh phan 2

Layered Architecture 62

Minh họa quá trình đóng gói

Page 63: bai giang mang may tinh phan 2

Layered Architecture 63

Một ví dụ về sự đóng gói: gởi E-mail

Page 64: bai giang mang may tinh phan 2

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

Page 65: bai giang mang may tinh phan 2

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

Page 66: bai giang mang may tinh phan 2

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

Page 67: bai giang mang may tinh phan 2

Layered Architecture 67

A critique of the OSI model and Protocols

Bad timing Bad technology Bad implementations Bad politics

Page 68: bai giang mang may tinh phan 2

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.