Chương 5 trình bày các giao thức tầng network. Chương này gồm có những nội dung chính sau: Các nguyên lý dịch vụ tầng mạng, bộ định tuyến (router), giao thức IP (Internet Protocol), giải thuật chọn đường (định tuyến), định tuyến trong Internet. Mời các bạn tham khảo.
Trang 13 Giao thức IP (Internet Protocol).
4 Giải thuật chọn đường (định tuyến).
4 Giải thuật chọn đường (định tuyến).
5 Định tuyến trong Internet.
Trang 2transport
network data link physical
bangtqh@utc2.edu.vn Chương 5 - Giao thức tầng mạng 3
network
data link physical
5.1 Nguyên lý & dịch vụ tầng mạng (tt)
Gửi các phân đoạn dữ liệu
(segment) từ máy gửi tới máy
nhận
Máy gửi (sender) đóng gói các
segment thành các gói tin
(packet) và vận chuyển nó tới
máy đích
network
data link physical
network
data link physical
network
data link
network
data link physical
network
data link physical
application transport
network
data link physical
máy đích
Tại máy đích (receiver) phát
packet lên tầng transport
Giao thức tầng mạng cần phải
triển khai tại mọi node trên mạng
Các bộ định tuyến kiểm tra
header của mọi packet đi qua nó
network
data link physical
network
data link physical
data link physical
network
data link physical
application transport
network
data link physical
Trang 33 2 2 1
routing algorithm determines end-end-path through network forwarding table determines local forwarding at this router
1
2 3
0111
value in arriving
packet’s header
Trang 45.1 Nguyên lý & dịch vụ tầng mạng (tt)
Tầng vận tải (transport) cần gì ở tầng mạng?
– Tin cậy vào tầng network ?
– Các gói tin có đến đích đúng thứ tự đã gửi ?
– Thời gian truyền có được đảm bảo ?
– Có phản hồi về tình trạng nghẽn mạng ?
bangtqh@utc2.edu.vn
Hai mô hình cơ bản của tầng mạng:
– Kênh ảo (virtual circuit)
– Lược đồ (gram) dữ liệu (datagram)
– Data transfer: Truyền qua dữ liệu qua VC.
– VC teardown: Hủy bỏ VC (sender hoặc receiver ra thông báo ngắt VC)
VC)
Mỗi packet chứa thông tin về kênh mà nó sẽ đi qua (VC identifier number)
Các bộ thiết bị định tuyến luôn nắm giữ trạng thái của
kênh ảo (VC) đi qua nó
Trang 5Virtual Circuit: Signaling protocol
Giao thức truyền các thông điệp giữa end system và network layer để yêu cầu thiết lập, huỷ bỏ VC; giữa các thiết bị chuyển mạch (switches) để thiết lập VC Được sử dụng trong mạng ATM, Frame Relay, X.25.
bangtqh@utc2.edu.vn Chương 5 - Giao thức tầng mạng 9
network
data link physical
1 Initiate call 2 incoming call
3 Accept call
4 Call connected
Datagram network
Không thiết lập kênh truyền
Các thiết bị chuyển mạch không cần nắm giữ trạng thái các kênh
Gói tin được truyền dựa trên địa chỉ của receiving host.Đường đi của các gói tin giữa hai host có thể khác nhau
network
data link physical
Trang 6Datagram or VC network: why?
Tương tác người-người đòi hỏi:
– thời gian truyền.
– độ tin cậy.
bangtqh@utc2.edu.vn
– có khả năng thích nghi,
kiểm soát, khôi phục lỗi.
– kiến trúc bên trong mạng
đơn giản nhưng kết nối các
Các thiết bị cuối đơn giản, dường như cố định:
– điện thoại.
– mức độ phức tạp nằm bên trong mạng.
Nội dung
1 Các nguyên lý dịch vụ tầng mạng
2.
2 Bộ định tuyến (router) Bộ định tuyến (router).
3 Giao thức IP (Internet Protocol).
4 Giải thuật chọn đường (định tuyến).
4 Giải thuật chọn đường (định tuyến).
5 Định tuyến trong Internet.
Trang 75.2 Bên trong bộ định tuyến
Hai chức năng chính
Chạy giải thuật chọn đường (RIP, OSPF, BGP).
Chuyển tiếp (forwarding) các gói tin từ cổng vào tới cổng ra thích hợp.
bangtqh@utc2.edu.vn Chương 5 - Giao thức tầng mạng 13
Cổng vào
Physical layer:
Chuyển mạch không tập trung:
Cho đích của gói tin, tìm cổng ra sử dụng bảng chuyển mạch trong bộ nhớ của cổng vào
Mục tiêu: hoàn thành xử lý ở cổng vào với ‘tốc
Trang 8Các cơ cấu chuyển mạch
Ba cơ cấu
memory
bangtqh@utc2.edu.vn Chương 5 - Giao thức tầng mạng 15
Chuyển mạch qua bộ nhớ
Một máy tính truyền thống với cài đặt cơ chế chuyển mạch dưới sự điều khiển trực tiếp của CPU
Gói tin được chép vào bộ nhớ hệ thống
vận tốc bị hạn chế bởi băng thông của bộ nhớ (mỗi gói đi qua mạch bus 2 hai lần)
input port (e.g., Ethernet)
memory
output port (e.g., Ethernet)
system bus
Trang 9Chuyển gói thông qua mạch dẫn
Gói tin đi từ bộ nhớ của cổng vào tới
bộ nhớ của cổng ra thông qua một
mạch chia sẻ (shared bus)
Tranh giành bus: tốc độ chuyển
mạch bị hạn chế bởi băng thông của
thông của bus
Thiết kế cao cấp: chia gói tin thành
các ô đó qua cơ cấu chuyển mạch.
Cisco 12000: chuyển 60 Gbps
thông qua một mạng kết nối lẫn
nhau
crossbar
Trang 10Cổng ra
Buffering : gói tin đến từ cổng vào nhanh hơn tốc
độ truyền tải Cần đưa vào bộ nhớ đệm.
Nguyên tắc lập lịch: Cơ chế lựa chọn các
datagram từ bộ đệm để tiếp tục gửi đi.
Datagram (packets) can be lost due to congestion, lack of buffers
bangtqh@utc2.edu.vn Chương 5 - Giao thức tầng mạng 19
due to congestion, lack of buffers
Priority scheduling – who gets best performance, network neutrality
5.2 Bên trong bộ định tuyến (tt)
Xếp hàng (queuing ở cổng ra)
switch fabric
switch fabric
Nhớ tạm khi mà tốc độ tới vượt quá tốc độ của đường đi
ra
xếp hàng (trễ) và mất gói là do tràn bộ nhớ tạm của cổng ra!
at t, packets more
from input to output
one packet time later
Trang 115.2 Bên trong bộ định tuyến (tt)
Nhớ tạm (buffering) bao nhiêu thì đủ?
RFC 3439: bộ nhớ đệm trung bình bằng RTT “trung bình” (khoảng 250 msec) nhân với băng thông của liên kết C
5.2 Bên trong bộ định tuyến (tt)
Tranh chấp đầu ra:
Chỉ packet đỏ được đi ra packet đỏ (chậm hơn) bị chặn lại
switch fabric
1 packet đỏ đã được chuyển tới đầu ra;
Packet xanh iếp tục bị
chặn lại
switch fabric
Trang 12Nội dung
1 Các nguyên lý dịch vụ tầng mạng
2 Bộ định tuyến (router).
3.
3 Giao thức IP (Internet Protocol) Giao thức IP (Internet Protocol).
4 Giải thuật chọn đường (định tuyến).
bangtqh@utc2.edu.vn
4 Giải thuật chọn đường (định tuyến).
5 Định tuyến trong Internet.
Tầng
mạng
Trang 13Nội dung
1 Các nguyên lý dịch vụ tầng mạng
2 Bộ định tuyến (router).
3.
3 Giao thức IP (Internet Protocol) Giao thức IP (Internet Protocol).
4 Giải thuật chọn đường (định tuyến).
bangtqh@utc2.edu.vn
4 Giải thuật chọn đường (định tuyến).
5 Định tuyến trong Internet.
time to live
32 bit địa chỉ IP máy gửi
Tổng độ dài gói tin (bytes)
head.
len type of service
fragment offset
upper layer
Timestamp, Danh
Dữ liệu
(Độ dài bất kỳ, thường là 1 segment TCP hoặc UDP)
32 bit địa chỉ IP máy gửi
tiếp còn lại được
đi qua (giảm mỗi khi qua
1 trạm)
Giao thức tầng trên
(Transport)
6 = TCP; 17 = UDP
32 bit địa chỉ IP máy nhận
Thông tin bổ sung (nếu có)
Timestamp, Danh sách router sẽ đi qua, Đường đi
Chi phí cho TCP
20 byte TCP header
20 bytes IP header
= 40 bytes + Header tầng ứng dụng
Trang 14IP datagram - example
Receiver’s MAC address
Sender’s MAC address
Type of upper layer’s protocol
Total length:
72 bytes
Id Flags & Fragment’s offset
TTL Transport’s protocol: UDP Checksum Source’s IP: 192.168.1.10
Trang 15Địa chỉ MAC của sender & receiver ?
Địa chỉ IP của sender và receiver ?
Độ dài tổng của IP datagram ?
Trang 16Phân mảnh và ghép mảnh IP
Fragment: Đường kết nối trong
mạng có kích thước truyền tải
tối đa (MTU) cho 1 packet.
packet ban đầu tại đích.
– các bit trong header IP được
Một datagram lớn được chia thành vài datagram nhỏ hơn
Trang 17Địa chỉ IP: Giới thiệu
– host interface: mỗi máy tính
thường có một NIC, cho
phép nối vào một đường liên
– Mạng tạo bởi các interface
có phần network trong địa
chỉ IP giống nhau.
– Các host cùng subnet có
thể trao đổi dữ liệu không
cần thông qua router.
223.1.1.3
223.1.1.4 223.1.2.9
223.1.2.2
223.1.3.2 223.1.3.1
223.1.3.27
network = 3 IP networks
subnet
Trang 18223.1.7.0 223.1.9.2
bangtqh@utc2.edu.vn Chương 5 - Giao thức tầng mạng 35
223.1.2.2 223.1.2.1
223.1.2.6
223.1.3.2 223.1.3.1
223.1.3.27
223.1.7.1 223.1.8.0
223.1.8.1 223.1.9.1
Đánh địa chỉ IP: Class-Full
Trang 19Đánh địa chỉ IP: Classless
Class-full: sự phân lớp cứng nhắc, không còn thích hợp nữa (mạng con quá lớn/quá nhỏ)
CIDR ( C lassless I nter D omain R outing):
– Số bit dành cho subnet có độ dài bất kỳ (theo ý đồ của nhà cung cấp hoặc người quản trị mạng)
– Ký hiệu: a.b.c.d/x, với x là số lượng bit dành cho phần
host part
Xác định địa chỉ subnet ?
Địa chỉ mạng:
– Tất cả các bit phần host đặt về 0
cho biết địa chỉ mạng
Trang 20Kiểm tra công thức
Ví dụ: hãy cho biết 3 địa chỉ sau địa chỉ nào cùng
Trang 21Địa chỉ quảng bá (broadcast)
Khi một host gửi tin cho tất cả các máy trong cùng subnet
– Cách 1: Gửi N gói tin tới N máy trong subnet
– Cách 2: Gửi 1 gói tin với địa chỉ quảng bá của subnetHai loại địa chỉ quảng bá
bangtqh@utc2.edu.vn
Hai loại địa chỉ quảng bá
– Private broadcast address: 255.255.255.255
– Direct broadcast address: tất các bit phần host = 1
– Địa chỉ địa chỉ mạng: các bit phần host = 0
– Địa chỉ broadcast của mạng: các bit phần host =1
– Số host tối đa trong mạng = 2(32-x) – 2
– Địa chỉ host đầu tiên = a.b.c.d/x + 1
– Địa chỉ host cuối cùng = đ/c broadcast – 1
Địa chỉ loopback 127.x.x.x
– Các gói tin được coi như được gửi tới từ nút khác
Trang 22Địa chỉ IP: How to get one?
Làm thế nào để có địa chỉ IP cho host?
– Người quản trị hệ thống thiết lập
• Windows:
control-panel->network->configuration->tcp/ip->properties
• UNIX: /etc/rc.config
– DHCP (Dynamic Host Configuration Protocol):
• Giao thức cấp địa chỉ IP tự động mỗi khi client tham gia vào mạng
• DHCP server phụ trách việc cấp phát/thu hồi IP
• Client có thể nhận địa chỉ IP khác nhau tuỳ theo thời điểm kết nối.
Trang 23Mục đích: cho phép máy lấy địa chỉ IP động tự động
từ máy chủ trong mạng khi nó tham gia vào mạng – Có thể làm mới địa chỉ
– Cho phép sử dụng lại địa chỉ
– Hỗ trợ người dùng di động (laptop) khi họ muốn tham gia vào mạng
bangtqh@utc2.edu.vn
gia vào mạng
Tổng quan DHCP:
– Client phát tán thông điệp “DHCP discover”
– DHCP server trả lời với thông điệp “DHCP offer”
– Client yêu cầu địa chỉ IP: th/điệp “DHCP request”
– DHCP server gửi địa chỉ: t/điệp “DHCP ack”
223.1.2.1
DHCP server
arriving DHCP client needs address in this network
223.1.2.0/24
223.1.3.0/24
223.1.1.3
223.1.3.2 223.1.3.1
223.1.3.27 223.1.2.2 network
Trang 24DHCP offer
src: 223.1.2.5, 67 dest: 255.255.255.255, 68 yiaddrr: 223.1.2.4
Broadcast: is there a DHCP server out there?
Broadcast: I’m a DHCP server! Here’s an IP
bangtqh@utc2.edu.vn Chương 5 - Giao thức tầng mạng 47
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
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
server! Here’s an IP address you can use
Broadcast: OK I’ll take that IP address!
Broadcast: OK You’ve got that IP address!
Địa chỉ IP: Làm sao để có đ/c mạng
Hỏi: Làm sao ISP lấy được một khối địa chỉ?
Đáp: ICANN : I nternet C orporation for A ssigned
– Cấp phát địa chỉ
– Quản lí DNS
– Đăng kí tên miền, giải quyết tranh chấp
– Đăng kí tên miền, giải quyết tranh chấp
Trang 25Địa chỉ IP: Quản lý địa chỉ phân cấp
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
200.23.16.0/23
Organization 0
bangtqh@utc2.edu.vn Chương 5 - Giao thức tầng mạng 49
“Gửi cho tôi các gói tin với địa chỉ bắt đầu bằng 200.23.16.0/20 ”
ISP - ABC “Gửi cho tôi các gói tin
với địa chỉ bắt đầu bằng
Quản lý địa chỉ phân cấp
Đánh địa chỉ phân cấp cho phép quảng bá thông tin định tuyến một cách hiệu quả:
ISP-ABC có đường đi cụ thể hơn tới ISP-X
“Gửi cho tôi các gói tin với địa chỉ bắt đầu bằng 200.23.16.0/20 ”
ISP - ABC “Gửi cho tôi các gói tin
với địa chỉ bắt đầu bằng
Trang 26Chuyển gói tin IP từ nguồn đích
223.1.1.1
223.1.1.2
223.1.1.4 223.1.2.9
223.1.2.1
Routing table tại A
Dest Net Next router Nhops 222.1.1.0 - 1 223.1.2.0 223.1.1.4 2 223.1.3.0 223.1.1.4 2
Tình huống 1:
– Host A có nhu cầu gửi
tin tới host B
– Datagram được gắn địa
– Host A có nhu cầu gửi
tin tới host E
– Datagram được gắn địa
223.1.1.2
223.1.1.4 223.1.2.9
223.1.2.1
Routing table tại A
Dest Net Next router Nhops 222.1.1.0 - 1 223.1.2.0 223.1.1.4 2 223.1.3.0 223.1.1.4 2
223.1.3.27
B
E
223.1.1.1 223.1.2.2 Data
Trang 27Chuyển gói tin IP từ nguồn đích
Tình huống 2 (tt)
– Router kiểm tra bảng
định tuyến xác định
dest Addr là 223.1.2.0
– Tâng datalink tại router
chuyển ipdatagram tới
223.1.1.1
223.1.1.2
223.1.1.4 223.1.2.9
223.1.2.1
Routing table Router
Dest Net Next Numof Interface
router hops 222.1.1.0 - 1 223.1.1.4 223.1.2.0 - 1 223.1.2.9 223.1.3.0 - 1 223.1.3.27
223.1.3.27
B
E R
NAT: Network Address Translation
10.0.0.1
10.0.0.2 10.0.0.4
138.76.29.7
Mạng nộibộ (vd, mạng gia đình) 10.0.0/24
Phần còn lại của Internet
10.0.0.3 138.76.29.7
Các gói tin trong mạng này đều có đ/c IP nguồn và đích thuộc mạng 10.0.0/24
Tất cả ipdatagrams đi ra khỏi mạng
Nội bộ có cùng một địa chỉ IP nguồn
NAT: 138.76.29.7, và số cổng khác
nhau
Trang 28– Có thể đổi đ/c IP của các host trong mạng nội mà
“không ảnh hưởng tới hòa bình thế giới”
– Đổi ISP khác nhưng không cần thay đổi lại địa chỉ của các thiết bị trong mạng nội bộ
– Các thiết bị, host trong mạng nội bộ “vô hình” với thế giới mạng bên ngoài (điểm cộng cho an ninh mạng)
NAT: Implementation
Triển khai NAT tại các Router
Datagram đi ra: thay thế (source IP, port #) thành (NAT IP, port # mới)
Host ở xa sẽ trả lời sử dụng (IP NAT, port # mới) làm địa chỉ đích
Ghi nhớ (trong bảng) mọi cặp dịch từ (source IP, port #) thành (NAT IP, port # mới)
Datagrams đi vào: thay thế (NAT IP, port # mới) trong
trường destination thành (source IP, port #) tương ứng đã
Trang 29NAT: Implementation
10.0.0.1
S: 10.0.0.1, 3345 D: 128.119.40.186, 80
1:host 10.0.0.1 gửi ipdatagram đến 128.119.40.186, 80
NAT translation table WAN side addr LAN side addr
2
bảng NAT
S: 128.119.40.186, 80 D: 138.76.29.7, 5001 3
3:datagram trả lời có địa chỉ đích là:
138.76.29.7, 5001
4:NAT router Đổi địa chỉ đích 138.76.29.7, 5001 trong gói tin trả lời thành 10.0.0.1, 3345
NAT (tt)
Trường port-number có 16 bit
– Cho phép tới 60.000 kết nối đồng thời tới 1 đ/c LAN
– Nằm ở tầng transport
“Tranh cãi” khi dùng NAT
– Router nên “chỉ làm việc” ở lớp 3 (network layer)
– Router nên “chỉ làm việc” ở lớp 3 (network layer)
– Vi phạm nguyên tắc end-to-end
• Với các ứng dụng P2P thì NAT phải xem xét khi tiết kế
– Việc cạn kiệt không gian địa chỉ IP nên giải quyết bằng IPv6
Trang 30Vấn đề truy cập vào trong NAT
khách muốn truy cập vào máy
để chuyển tiếp yêu cầu kết nối
tới cổng nhất định nào đó sang
138.76.29.7
Vấn đề truy cập vào trong NAT
Plug and Play (UPnP) Internet
Gateway Device (IGD) Cho phép
máy trong mạng NAT:
– Học địa chỉ IP công cộng
10.0.0.1
IGD
138.76.29.7 – Học địa chỉ IP công cộng
Trang 31Vấn đề truy cập vào trong NAT
Giải pháp 3: chuyển tiếp gói (dùng trong Skype)
– Client trong NAT thiết lập kết nối tới máy chủ chuyển tiếp (MCCT)
– Client bên ngoài kết nối tới MCCT
– MCCT tạo cầu nối gói tin giữa 2 kết nối
bangtqh@utc2.edu.vn Chương 5 - Giao thức tầng mạng 61
138.76.29.7
client
1. Kết nối tới MCCT khởi tạo bởi máy trong NAT
2. Kết nối tới
MCCT bởi máy
ngoài NAT
3.Chuyển tiếp được thiết lập
NAT router
10.0.0.1
Giao thức ICMP
ICMP: Internet Control Message Protocol
– Được các máy tính sử dụng để trao đổi thông tin về tầng mạng
• Báo lỗi
• Kiểm tra tính liên thông request/reply (lệnh ping)
Thông điệp ICMP được đặt trong IP datagram
Thông điệp ICMP được đặt trong IP datagram
– “nằm trên” IP (trường “upper layer” của datagram = 1)
ICMP Message:
– Luôn kèm theo 8 byte
của datagram gây lỗi