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, Addison­Wesley, 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, Addision­Wesley,

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ẽn­congestion  Đâ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 (Store­and­forward): 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

Không

Băng thông sẵn có

Cố định

Biến động

Kh  năng lãng phí băng thông

Không

Truyền dẫn lưu giữ­chuy n tiếp

Không

Các gói tin đi theo cùng một lộ trình

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

Packet­switched networks

Circuit­switched 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 N­1

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 (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

30

ể ể

Dịch vụ hướng kết nối (Connection­oriented 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  (Connection­Oriented vs. Connectionless)

 Connection­Oriented

• 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  (Connection­Oriented vs. Connectionless)

 Connection­Oriented

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 (end­to­end 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 Client­Server

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 E­mail

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 hop­by­hop hay end­to­end

ể • 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 & connection­oriented  ể communication; tầng vận chuy n ch  hỗ trợ connection­oriented  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: Signal­to­Noise 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ệ Signal­to­noise 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   có th  được chia hết hoàn toàn b i G (theo modulo 2)  m bên nhận biết G, chia  b i G.  Nếu phần dư khác 0: lỗi bị phát hiện! ở m có th  phát hiện tất c  các lỗi ít hơn r+1 bits ả  được s  dụng rộng rãi trong thực tế (Ethernet, HDLC)

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 CRC­32

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, S­ALOHA, 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 (point­to­point 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: PPP­LCP, 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 3­5/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

10Base­2

Thinnet or Thinwire.

10 Mbps baseband Ethernet over coaxial cable with a maximum distance of 500 meters. Also referred to as Thick Ethernet or

10Base­5

Thicknet or Thickwire.

10Base­T

10 Mbps baseband Ethernet over twisted pair cables with a maximum length of 100 meters.

100Base­FX

100 Mbps baseband Ethernet over two multimode optical fibers.

100Base­T

100 Mbps baseband Ethernet over twisted pair cable.

100Base­T4

100 Mbps baseband Ethernet over four pairs of Category 3 or higher unshielded twisted pair cable.

100Base­TX

100 Mbps baseband Ethernet over two pairs of shielded twisted pair or Category 4 twisted pair cable.

1000Base­CX

1000 Mbps baseband Ethernet over two pairs of 150 shielded twisted pair cable.

1000Base­LX

1000 Mbps baseband Ethernet over two multimode or single­mode optical fibers using longwave laser optics.

1000Base­SX

1000 Mbps baseband Ethernet over two multimode optical fibers using shortwave laser optics.

1000Base­T

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

32­bit 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 IP­to­MAC 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,…,2m­1}.  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/EIA­568­A|B quyết định đến hiệu năng c a cáp  Dùng đầu nối RJ­45  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 RJ­45

RJ­45  Jack

RJ­45 Plug

188

UTP Implementation

 EIA/TIA định rõ đầu nối  RJ­45 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 RJ­45 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 Straight­through 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 (straight­through cable)

UTP Straight­through Cable

Hub or Switch

Host or Router

193

UTP Cross­over 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 Cross­over 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: A­to­A’ và B­to­B’ 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 intra­domain m inter­domain

 những gì bên trong một router?

6­222

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

6­223

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

6­224

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? ử

? ??

6­225

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

6­226

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, frame­relay, 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

6­227

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

6­228

ử 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

6­229

Đị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 ể ụ

ượ

6­230

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

6­231

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

6­232

Đị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!

6­233

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 intra­AS 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 inter­AS 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

6­234

trong­AS”

Intra­AS và Inter­AS 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

inter­AS, intra­AS routing  in  gateway A.c

6­235

Gateways:

Intra­AS và Inter­AS routing

C.b

B.a

Inter­AS  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

Intra­AS routing within AS B

Intra­AS 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 ộ ủ

6­236

ứ 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

6­237

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

6­238

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

6­239

Đị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

6­240

ỉ ả mạng và trạm riêng.  (ta ch  th o luận về IP.)

Xác định lộ trình

ẫ ể ể ừ

ồ ạ

6­241

Đ 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

6­242

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: 32­bits 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

6­243

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

6­244

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”

6­245

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 ể

6­246

Xem địa ch  MAC và IP c a máy tính?

6­247

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.

6­248

Đị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?

6­249

ầ ầ ạ

Đị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 r­Do 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 ộ .

6­250

Đ 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

6­251

ế

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ự

6­252

.

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 .  ỉ

6­253

ủ ả

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 .

6­254

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ý ượ ấ ả

6­255

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

6­256

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.

6­257

Đ 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 ộ ị ạ ị ạ ả ỉ

6­258

ng. ơ ướ ỉ ớ ế t c các tr m trên m ng. ị ỉ ỗ ộ ị ị

ụ ề ị

ỉ ạ

Ví d v đ a ch m ng Examples of network addresses

6­259

ố ị

ỉ ớ

Các kh i đ a ch l p A Blocks in class A

6­260

ố ị

ỉ ớ

Các kh i đ a ch l p B Blocks in class B

6­261

ố ị

ỉ ớ

Các kh i đ a ch l p C Blocks in class C

6­262

ả 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 ổ ủ ả

6­263

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.

6­264

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).

6­265

ả i pháp ngắn hạn:  Các gi ả Sự c i tiến địa ch  IPv4

 CIDR (Classless Inter­Domain 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

6­266

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…

6­267

ử 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

6­268

ể ử ổ ủ ổ 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 ứ 6­269

ỉ ạ ị ỉ

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 ỉ

6­270

 /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.

6­271

ể ỉ ạ ầ ầ ể ị

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 ự

6­272

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

6­273

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á.

6­274

ỉ ả ỉ ỉ

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á. ỉ

6­275

ỉ ả ỉ

Đị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.

6­276

ỉ Đị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?

ỉ ả ị

ư ế

6­277

Địa ch : Mạng và Trạm

192.168.1.0 192.4.0.0

10.2.0.0 172.0.0.0

ề ộ

ầ ạ ớ ị ạ ỉ ớ

6­278

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

ỉ ỉ ả ử ể ỉ

6­279

ả 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

6­280

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

6­281

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? ỉ

6­282

ế

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

6­283

ế

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

6­284

ế

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

6­285

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

6­286

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. ậ ả

ọ ẽ ượ

ỏ ơ ư

6­287

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 .)

6­288

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

6­289

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.

6­290

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.)

6­291

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 / 6­292 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  6­293 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á

6­294

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

6­295

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 ế ế ớ ứ ứ

Đị Đị ệ ố ệ ố

6­296

M t m ng v i h th ng phân c p 3 m c ứ (b chia m ng con)

ớ ệ ố ạ

6­297

Đ a ch trong m t m ng v i phân chia m ng con và không…

6­298

M t n m c đ nh và M t n m ng con

ặ ạ ặ ị

ặ ạ ạ

6­299

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. ũ ừ ủ

6­300

t b thu c nhi u m ng

Các thi ế ị Multihomed devices

6­301

ỉ 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)

6­302

ụ ề ị

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.

6­303

i h n

ụ ề ị

ụ ộ ớ ạ

Ví d v đ a ch qu ng bá c c b /gi Example of limited broadcast address

ỉ ả

ể ở ở

6­304

Đị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). 6­305

ụ ề ộ ạ

ụ ể

ạ 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.

6­306

ụ ề ị

Ví d v đ a ch quay ng c ượ Example of loopback address

6­307

ả i pháp ngắn hạn:  Các gi ả Sự c i tiến địa ch  IPv4

 CIDR (Classless Inter­Domain 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

6­308

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

6­309

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

ổ ủ ả ả

6­310

ỉ với supernetting và sự phân chia lại không gian địa ch  IPv4.

CIDR (Classless Inter­Domain 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 .

6­311

ủ ỉ 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: ề

6­312

172.24.0.0 = 10101100 00011000 00000000 00000000

ử ỉ

CIDR (Classless Inter­Domain 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

ủ ể

6­313

ể ỉ đị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

6­314

ể 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.

6­315

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, đó

6­316

ủ 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

6­317

(172.16.0.0/16).

Ví dụ về tóm tắt tuyến đường (Summarizing Examples)

6­318

ả i pháp ngắn hạn:  Các gi ả Sự c i tiến địa ch  IPv4

 CIDR (Classless Inter­Domain 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

6­319

ặ ạ ạ

ớ ộ

M t n m ng con v i đ dài bi n đ i ế ổ Variable-Length Subnet Mask

6­320

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!”

6­321

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ó…

ế ụ

6­322

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 ấ ả

6­323

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

6­324

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 ạ

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, IS­IS, BGPv4

6­325

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 ấ ữ

6­326

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

6­327

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 ỗ

6­328

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 (longest­bit  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 (sub­subnetting) “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. ể

6­329

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. ả

6­330

ả i pháp ngắn hạn:  Các gi ả Sự c i tiến địa ch  IPv4

 CIDR (Classless Inter­Domain 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

6­331

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í.

6­332

ả i pháp ngắn hạn:  Các gi ả Sự c i tiến địa ch  IPv4

 CIDR (Classless Inter­Domain 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

6­333

ỉ 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   ỉ

ử ể

6­334

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 –đ ế n­m ộ 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 ố   6­335

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

6­336

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

6­337

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

6­338

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

6­339

3

NAT: Network Address Translation

 trường port­number 16­bit:

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­đến­cuố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

6­340

ả 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: control­panel­>network­>configuration­>tcp/ip­>properties m UNIX: /etc/rc.config

 DHCP: Dynamic Host Configuration Protocol: giao thức này sẽ giúp

6­341

host lấy địa ch  động từ DHCP server m “plug­and­play”

Đá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ỉ

6­342

ả ổ đượ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)

ỗ ệ

6­343

ỉ ể

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

6­344

...

ể 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

6­345

ả 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

6­346

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

6­347

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

6­348

ấ 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

6­349

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 ế

6­350

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

16­bit 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)

6­351

32 bits

Khuôn dạng c a IP datagram (tt.) IP datagram (more)

6­352

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   6­353

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

6­354

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

6­355

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ờ  ả

6­356

ả 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

6­357

(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 )

6­358

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)

6­359

ỏ 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

6­360

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

6­361

ở 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

6­362

(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

ỏ ở

6­363

ả 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.

6­364

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

6­365

Application Header + data

IP Protocol Field = 17

Application Header + data

6­366

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. ể

6­367

ể ở ở

ể ủ

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

6­368

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

6­369

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

6­370

ể ủ

ử 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 Time­to­live m Traceroute or Tracert  Khám phá MTU c a đường dẫn (path) ủ

m s  dụng  ử

6­371

Don’t fragment bit

Ping: ICMP Echo  Request  and Echo  Reply

6­372

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.

6­373

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.

6­374

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”

6­375

ả lời bằng thông điệp “

ủ Ví dụ về hoạt động c a DHCP client­server

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 ị

6­376

DHCP client m i đ n c n ớ ế đ a ch trong ỉ m ng này ạ

ủ Ví dụ về hoạt động c a DHCP client­server

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

6­377

DHCP

6­378

DHCP – Lấy các thông tin mạng khác DHCP – Getting more than the IP Address

6­379

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 Intra­AS routing: RIP và OSPF m 6.5.2 Inter­AS routing: BGP

6­380

Đị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 (Two­level 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 r­AS

g ia o  th ức  đ ịnh  tu y ế n  b ê n  tro ng  m ạ n g ẩ

6­381

ro uting  là  BG P

Hệ thống cấp bậc các AS c a Internet  Internet AS Hierarchy

Inter­AS border (exterior gateway) routers

6­382

Intra­AS interior (gateway) routers

Định tuyến bên trong hệ thống tự trị (Intra­AS  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)

6­383

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 BSD­UNIX 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

ả )

6­384

ả 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 ....

6­385

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

6­386

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 ping­pong  ử loops (infinite distance = 16 hops)

6­387

ả 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

6­388

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) ỡ ố ụ

6­389

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)

6­390

ả ỉ 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

6­391

ử có thứ bậc trong các miền lớn.

OSPF có thứ bậc Hierarchical OSPF

6­392

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 .

6­393

tro ng  b a c kb o n e .

Định tuyến giữa các AS trên Internet: BGP Inter­AS 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

6­394

Đị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: ủ

6­395

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ỳ

6­396

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 đ ẽ

6­397

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 ủ

ả ể ư ượ

ế ừ

6­398

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

6­399

ả ở đượ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

6­400

ể dùng đ  đóng kết nối

Tại sao có sự khác nhau về định tuyến giữa Intra­AS và Inter­AS?

Chính sách:   Inter­AS: 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ó.

ả ả

ả ả

 Intra­AS: 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 r­AS : 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  ở

6­401

nă n g

Tóm tắt chương 6:

6­402

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­đến­cuố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 non­persistent 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 16­bit

 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 well­known 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à 0­1023:

ế

http://www.iana.org/assignments/port­numbers 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 11­13­

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 (peer­to­peer).

ẳ ủ

ử ổ

 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 end­to­end (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 slow­start, c a s  được tăng theo hàm mũ.

 Khi CongWin trên ngưỡng/Threshold, bên g i hoạt động  ử ổ congestion­avoidance, 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