Professional Documents
Culture Documents
Tập trung phần điều khiển tắt nghẽn TCP, 2-3 câu với 1 sơ đồ
Chương 1: Tổng quan các tầng, đơn vị dữ liệu giao thức ở các tầng, bài tập 4
nguồn gây ra độ trễ
Chương 2: Bài tập về các đối tượng HTTP, các giao thức và port mặc định
Chương 3: Bài tập SEQ, ACK TCP. Bài tập tính checksum. Bài tập điều khiển tắc
nghẽn
Chương 4: 50%
BT chia mạng con
BT các thuật toán routing Link-state, Distance Vector
IPv4
Chương 5: 30%
Bài tập tính Checksum, Bit Parity, CRC
Các giao thức đa truy cập ALOHA, CSMA, CSMA/CD
BT xác định địa chỉ MAC
CHƯƠNG 3
TẦNG TRANSPORT
3.1. Điều khiển luồng trong TCP
3.2. Điều khiển tắc nghẽn trong TCP
Tình huống 1: Lặp có lựa chọn
sender window (N=4) sender receiver
012345678 send pkt0
012345678 send pkt1
012345678 send pkt2 receive pkt0, send ack0
012345678 send pkt3 Xloss receive pkt1, send ack1
(wait)
receive pkt3, buffer,
012345678 rcv ack0, send pkt4 send ack3
012345678 rcv ack1, send pkt5
receive pkt4, buffer,
record ack3 arrived send ack4
receive pkt5, buffer,
pkt 2 timeout send ack5
012345678 send pkt2
012345678 (but not 3,4,5)
012345678 rcv pkt2; deliver pkt2,
012345678 pkt3, pkt4, pkt5; send ack2
TCP điều khiển luồng
application
process
Ứng dụng lấy dữ liệu từ bộ
nhớ đệm của TCP socket
TCP socket
receiver buffers
TCP
code
Tầng Network mở gói
IP packet và chuyển
lên tầng Transport
IP
code
from sender
Bên gửi giới hạn số lượng bytes gửi RcvBuffer buffered data
trong gói tin kế tiếp, theo giá trị rwnd
nhận được rwnd free buffer space
time
TCP điều khiển tắt nghẽn
recovery
duplicate ACK
cwnd = cwnd + MSS
transmit new segment(s), as allowed
TCP Slow Start
Host A Host B
RTT
số nhân cho đến sự
kiện mất gói đầu tiên two segm
ents
B Vẫn giữ giá trị như trước khi gặp 3 ACK trùng nhau
C 0
D 1
17
Cho biểu đồ sau, hãy tìm các thời điểm:
3 Timeout: 15, 37
20
Cho biểu đồ sau, hãy tìm các thời điểm:
1 Timeout
22
SSThreshold = 8
Đáp án
24
Segment thứ 71 được truyền trong vòng truyền thứ bao nhiêu?
Giả định 1 vòng truyền = 1 RTT
A 1
B 7
C 35
D 6
26
Giao thức TCP Reno được sử dụng trong hình dưới.
Giả sử TCP Tahoe được sử dụng thay cho TCP Reno.
Bên nhận phát hiện mất gói sau RTT thứ 16 do nhận được 3 ACK
trùng nhau. Hỏi giá trị của cwnd và ssthresh ở RTT thứ 20 là bao
nhiêu?
3-ACK
A cwnd = 1 và ssthresh = 32
B cwnd = 8 và ssthresh = 21
C cwnd = 1 và ssthresh = 21
3ACK
A cwnd = 13 và ssthresh = 13
B cwnd = 7 và ssthresh = 4
C cwnd = 1 và ssthresh = 4
A 8
B 4.5
C 4
D 2.5
29
CHƯƠNG 4
TẦNG NETWORK
4.1. Chức năng, IP
4.2. Routing
Routers làm việc ở lớp nào trong mô hình
OSI
A Layer 1
B Layer 2
C Layer 3
D Layer 4
31
Chức năng chính của tầng Network?
A Segment
B Frame
C Data
D Datagram (Packet)
33
Lớp nào trong mô hình OSI đóng gói dữ liệu
kèm theo IP Header?
A Network layer
B Link layer
C Physical layer
D Transport layer
34
Giao thức và dịch vụ tầng Network
Đảm bảo việc truyền thông logic mobile network
Giá trị
trong header
của packet đến
0111 1
3 2
Thiết lập kết nối
Sử dụng trong một số kiến trúc: ATM, frame relay, X.25
Đảm bảo việc phân phối trong khoảng thời gian nào đó:Không
những đảm bảo gói tin sẽ đến đúng đích mà còn đảm bảo việc
phân phối này trong một khoảng thời gian định trước
Phân phối gói tin đúng thứ tự: Dịch vụ này đảm bảo gói tin đến
đúng đích theo đúng thứ tự nó được gửi đi
Các dịch vụ bảo mật: Mã hóa dữ liệu, đảm bảo tín tin cậy khi
truyền dữ liệu
Mô hình dịch vụ mạng
Kiến trúc mạng Mô hình dịch vụ Đảm bảo băng thông Đảm bảo Thứ tự Đảm bảo Báo hiệu
không mất thời gian nghẽn
dữ liệu
Internet Nỗ lực tối đa Không Không Bất kì thứ tự Không Không
(best effort) nào
ATM CBR Tốc độ luôn được giữ vững Có Theo thứ tự Có Không xảy ra
nghẽn
ATM ABR Đảm bảo tốc độ thấp nhất Không Theo thứ tự Không Báo hiệu khi
xảy ra nghẽn
Dịch vụ connection (hướng kết nối) và
connection-less (phi kết nối)
Mạng datagram cung cấp dịch vụ connectionless tại tầng
network
Mạng mạch ảo (virtual-circuit network) cung cấp dich vụ
connection tại tầng network
Mạng mạch ảo
Được dùng trong ATM, frame-relay, X.25
application
5. Bắt đầu dòng dữ liệu 6. Nhận dữ liệu application
transport transport
network 4. Cuộc gọi được kết nối 3. Chấp nhận cuộc gọi
1. Khởi tạo cuộc gọi network
data link 2. Cuộc gọi đến
data link
physical physical
Mạng Datagram
Không thiết lập cuộc gọi tại tầng network
Mỗi một lần bên gửi muốn gửi 1 gói tin đi, bên gửi sẽ thêm vào gói tin
địa chỉ nguồn gửi và địa chỉ đích sau đó sẽ đẩy gói tin đi trên mạng
(không duy trì trạng thái mạch ảo nào)
Mỗi gói tin đều có địa chỉ nguồn và đích, bộ định tuyến nhờ đó mà
chuyển gói tin đi
application application
transport transport
network 1. Gởi các datagram 2. Nhận datagram network
data link data link
physical physical
Forwarding table
Thuật toán routing Thuật toán routing xác định đường
đi của gói giữa 2 đầu cuối
thông qua network
local forwarding table
header value output link
Bảng forwarding xác định việc
0100 3 chuyển gói bên trong một router
0101 2
0111 2
1001 1
Giá trị
trong header
của packet đến
0111 1
3 2
Bảng Datagram forwarding
Dãy địa chỉ đích Dãy địa chỉ đích (hệ 2) Link
(hệ 10) interface
200 23 16 0 11001000 00010111 00010000 00000000
đến đến 1
200 23 23 255 11001000 00010111 00010111 11111111
200 23 24 0 11001000 00010111 00011000 00000000
đến đến 2
200 23 24 255 11001000 00010111 00011000 11111111
200 23 25 0 11001000 00010111 00011001 00000000
đến đến 3
200 23 31 255 11001000 00010111 00011111 11111111
Khác 4
Bảng Datagram forwarding
So trùng prefix dài nhất
Khi tìm kiếm 1 mục trong bảng forwarding table cho
địa chỉ đích, dùng prefix dài nhất của địa chỉ cái mà
trùng với địa chỉ đích.
A 4
Link
Dãy địa chỉ đích
Interface
B 1 11001000 00010111 00010 1
11001000 00010111 00011000 2
C 2 11001000 00010111 00011 3
Khác 4
D 3
50
Mô hình dịch vụ được sử dụng trong kiến
trúc mạng Internet là:
Tầng link
Tầng physical
Định dạng IPv4 datagram (20 bytes)
Số hiệu phiên bản giao thức IP 32 bits Tổng độ dài datagram (byte)
Độ dài header (4 bit) (*4 bytes) dài (16 bits)
ver head. type of length
=> lớn nhất là 60 bytes len service Dành cho
Loại dịch vụ của kiến trúc Internet fragment phân mảnh/
16-bit identifier flgs
offset tổng hợp
TTL: Số hop còn lại tối đa time to upper header
(giảm xuống tại mỗi router) live layer checksum
32 bit source IP address
Giao thức lớp trên
để đưa payload đến. Ví dụ TCP, UDP 32 bit destination IP address
ver head. type of length version: 4 bits, phiên bản giao thức IP
len service
fragment
16-bit identifier flgs
offset
đang sử dụng
time to upper header IHL (Header length): 4 bits, độ dài của
live layer checksum
32 bit source IP address
Header IP packet dưới dạng word-4-
32 bit destination IP address
byte
length: 16 bits, độ dài của IP packet tính
Tùy chọn (nếu có)
cả header (đơn vị byte)
Dữ liệu (payload)
(độ dài thay đổi,
upper layer (Protocol): chỉ ra giao thức
thông thường là một được sử dụng trong phần IP payload
segment TCP
hoặc UDP)
Địa chỉ IP
223.1.1.1
Địa chỉ IP là 1 địa chỉ 223.1.2.1
logic định danh ứng với
mỗi interface của host. 223.1.1.2
223.1.1.4 223.1.2.9
Phương pháp
223.1.1.1 223.1.1.4
Để xác định các subnet, mỗi
interface của router là 1 vùng 223.1.1.3
mạng
Mỗi mạng độc lập được gọi là một 223.1.9.2 223.1.7.0
subnet
Các interface của thiết bị có phần
net của địa chỉ IP giống nhau 223.1.9.1 223.1.7.1
223.1.8.1 223.1.8.0
Có thể giao tiếp vật lý với nhau mà
223.1.2.6 223.1.3.27
không cần router trung gian can
thiệp 223.1.2.1 223.1.2.2 223.1.3.1 223.1.3.2
Địa chỉ IPv4 gồm bao nhiêu bit
A 6
B 24
C 32
D 48
59
Địa chỉ IPv6 gồm bao nhiêu bit
A 128
B 256
C 512
D 1024
60
Đâu là định dạng đúng của địa chỉ IPv6?
A D539:78A2:949B:C11D:6488:658F:CB6D
B 2222:A1D5::5DC3:F2DE:CF7B
C 2222:A1D5:A5F9:2GH6:711D:5DC3:F2DE:CF7B
D 125.246.254.124.263.325.248.256
61
Trong HEADER của IPv4 packet có chứa
A Source IP address
B Destination IP address
B Checksum
MSS (Maximum Segment Size): Độ dài lớn nhất của phần payload trong 1 segment TCP
MTU (Maximum transmission unit): Độ dài lớn nhất của 1 IP packet (datagram)
Phân mảnh và tổng hợp IP
32 bits
• Các đường link trong mạng có MTU khác nhau
– độ dài lớn nhất của phần data trong frame ver head. type of length
len service Dành cho
• Các kiểu đường link khác nhau, các MTU 16-bit identifier flgs
fragment phân mảnh/
offset
khác nhau time to upper header
tổng hợp
• Ethernet: 1500 bytes live layer checksum
• 802.11 (Wifi): 2304 bytes 32 bit source IP address
32 bit destination IP address
• IP packet (datagram) lớn hơn MTU của đường
link -> được phân mảnh (“fragmented”) Tùy chọn (nếu có)
• “tổng hợp” chỉ được thực hiện ở đích cuối Dữ liệu
cùng (độ dài thay đổi,
thông thường là một
• Các bit của IP header được sử dụng để
segment TCP
xác định, sắp đặt các fragment liên quan hoặc UDP)
Phân mảnh và tổng hợp IP
length ID fragflag offset
Ví dụ: =4000 =x =0 =0
4000 byte datagram 1 datagram lớn thành vài datagram nhỏ hơn
MTU = 1500 bytes
Trường fragflag: bằng 1 khi còn fragment kế tiếp, 0 khi là mảnh cuối
1 đơn vị offset = 8 bytes dữ liệu payload IP packet
Phân mảnh và tổng hợp IP
Trường Length: độ dài của IP packet tính cả header (đơn vị byte)
Giả sử IP header có độ dài là 20 bytes (tối thiểu)
C Chỉ có gói nhỏ đầu tiên có cờ Fragment flag bật lên thành 1
A 60 byte
B 560 byte
C 360 byte
D 120 byte
70
Router R có MTU là 1500 bytes. Một IP Datagram
kích thước 6000 bytes được R phân mảnh. Tất cả các IP
packet có header length là 20 bytes. Hỏi giá trị trường
offset của mảnh (fragment) cuối cùng?
A 740
B 739
C 555
D 530
71
Địa chỉ IP
NETWORK HOST
32 bits
Prefix length:
Ví dụ: 172.16.2.3/16
Địa chỉ mạng và địa chỉ broadcast
A C
B D
C A
D B
78
Cho địa chỉ IP: 172.16.8.159 và subnet mask tương ứng
255.255.255.192. Xác định địa chỉ mạng và địa chỉ
broadcast của subnet trên?
A 172.16.8.128, 172.16.8.191
B 172.16.8.0, 172.16.8.192
C 172.16.8.128, 172.16.8.255
D 172.16.0.128, 172.16.8.255
79
Cho địa chỉ IP 192.168.25.91/26, Subnet Mask sẽ là:
A 255.255.255.128
B 255.255.255.224
C 225.224.255.240
D 255.255.255.192
80
Subnet Mask nào sau đây là hợp lệ:
A 0.255.255.255
B 0.0.0.255
C 255.0.0.255
D 255.255.255.0
81
Hai địa chỉ IP sau có cùng subnet hay không?
172.16.200.100/23 và 172.16.201.200/23
82
Ngữ cảnh DHCP
Làm thế nào để 1 host có được địa chỉ IP của mạng đó?
Tổng quan:
Quá trình 4 bước: DORA
DHCP discover msg [optional]
DHCP offer msg [optional]
DHCP request msg
DHCP ack msg
DHCP hoạt động theo kiến trúc client-server, được đóng gói trong 1 gói
tin UDP:
Server-port: 67
Client-port: 68
DHCP offer
src: 223.1.2.5, 67
Broadcast: I’m a DHCP
dest: 255.255.255.255, 68
server! Here’s an IP
yiaddrr: 223.1.2.4
transaction ID: 654
address
lifetime:you
3600can
secs use
The two steps above can
DHCP request be skipped “if a client
src: 0.0.0.0, 68 remembers and wishes to
dest:: 255.255.255.255, 67 reuse a previously
Broadcast: OK. I would
yiaddrr: 223.1.2.4 allocated network address”
like to transaction
use thisID: IP655
address! [RFC 2131]
lifetime: 3600 secs
DHCP ACK
src: 223.1.2.5, 67
dest: 255.255.255.255, 68
Broadcast: OK. You’ve
yiaddrr: 223.1.2.4
gottransaction
that IPID:address!
655
lifetime: 3600 secs
Giá trị trả về trong DHCP
Bên cạnh địa chỉ IP thì DHCP
còn cung cấp thêm:
Địa chỉ IP của first-hop router,
hay còn là default gateway.
Mặt nạ mạng (network mask)
Địa chỉ IP của DNS server
87
Trong 1 gói IPv4 DHCP request thì:
A IP Address
B Subnet Mask
C DNS Server
D Default Gateway
89
NAT - Network Address Translation
Tại sao lại cần sử dụng NAT:
Giới hạn của số lượng địa chỉ IPv4
Cập nhật bảng định tuyến khi thay đổi địa chỉ IP của
host.
Tăng cường bảo mật
NAT - Network Address Translation
Phần còn lại của Mạng cục bộ
Internet (như là mạng gia đình)
10.0.0/24 10.0.0.1
10.0.0.4
10.0.0.2
138.76.29.7
10.0.0.3
10.0.0.4
138.76.29.7 10.0.0.2
10.0.0.3
Các datagram đi ra: thay thế (địa chỉ IP nguồn, số hiệu cổng
nguồn) mọi datagram đi ra bên ngoài bằng (địa chỉ IP NAT, số hiệu
port mới)
. . . Các client/server ở xa sẽ dùng địa chỉ đó ( địa chỉ IP NAT, số
hiệu port mối) như là địa chỉ đích
NAT - Network Address Translation
Phần còn lại của Mạng cục bộ
Internet (như là mạng gia đình)
10.0.0/24 10.0.0.1
10.0.0.4
138.76.29.7 10.0.0.2
10.0.0.3
Ghi nhớ (trong bảng chuyển đổi NAT) mọi cặp chuyển đổi (địa chỉ
IP nguồn, số hiệu port) sang (địa chỉ IP NAT, số hiệu port mới)
NAT - Network Address Translation
Phần còn lại của Mạng cục bộ
Internet (như là mạng gia đình)
10.0.0/24 10.0.0.1
10.0.0.4
138.76.29.7 10.0.0.2
10.0.0.3
Datagram đi đến: thay thế(địa chỉ IP NAT, số hiệu port mới) trong
các trường đích của mọi datagram đến với giá trị tương ứng (địa
chỉ IP và số hiệu cổng nguồn) trong bảng NAT
NAT - Network Address Translation
Bảng chuyển đổi NAT 1: host 10.0.0.1
2: NAT router WAN side addr LAN side addr
thay đổi địa chỉ nguồn gửi datagram tới
từ 10.0.0.1, 3345 đến 138.76.29.7, 5001 10.0.0.1, 3345 128.119.40.186, 80
138.76.29.7, 5001, …… ……
cập nhật bảng
S: 10.0.0.1, 3345
D: 128.119.40.186, 80
10.0.0.1
1
S: 138.76.29.7, 5001
2 D: 128.119.40.186, 80 10.0.0.4
10.0.0.2
138.76.29.7 S: 128.119.40.186, 80
D: 10.0.0.1, 3345
4
S: 128.119.40.186, 80
D: 138.76.29.7, 5001 3 10.0.0.3
4: NAT router
3: phản hồi đến địa chỉ đích: thay đổi địa chỉ đích từ
138.76.29.7, 5001 138.76.29.7, 5001 tới 10.0.0.1, 3345
ICMP: internet control message protocol
Được sử dụng bởi các host và Thông điệp ICMP:
router để truyền thông thông Loại (Type)
tin, kiểm tra lỗi ở tầng Mã (Code)
Network
8 byte đầu tiên của IP
ICMP được đóng gói trong 1 datagram gây ra lỗi
IP packet
ICMP: internet control message protocol
Loại mã Mô tả Loại mã Mô tả
0 0 echo reply (ping) 8 0 echo request (ping)
3 0 dest. network unreachable
3 1 dest host unreachable 0 0 echo reply (ping)
3 2 dest protocol unreachable
3 3 dest port unreachable
3 6 dest network unknown
3 0 dest. network unreachable
3 7 dest host unknown 3 1 dest host unreachable
4 0 source quench (congestion 3 2 dest protocol unreachable
control - not used)
8 0 echo request (ping) 3 3 dest port unreachable
9 0 route advertisement 3 6 dest network unknown
10 0 router discovery
11 0 TTL expired
3 7 dest host unknown
12 0 bad IP header
11 0 TTL expired
Traceroute và ICMP
Nguồn gửi một chuỗi các Khi thông điệp ICMP đến,
segment UDP đến đích nguồn ghi lại RTTs
Cái đầu tiên có TTL =1
Cái thứ 2 có TTL=2, tương tự.
Tiêu chuẩn dừng:
Khi datagram thứ n đến router Segment UDP lần lượt
thứ n: đến tới host đích
router hủy datagram Đích trả về thông điệp
Và gửi đến nguồn một thông điệp ICMP “port không có
ICMP (loại 11, mã 0)
thực”(loại 3, mã 3)
Thông điệp ICMP bao gồm tên và
địa chỉ IP của router
Nguồn dừng
3 probes 3 probes
3 probes
Cho mô hình chuyển đổi địa chỉ NAT như hình dưới đây.
Hãy xác định địa chỉ IP nguồn và địa chỉ IP đích của gói
tin tại bước 3
S: 128.119.40.186, 80
A
D: 10.0.0.1, 3345
S: 128.119.40.186, 80
B
D: 138.76.29.7, 5001
S: 10.0.0.1, 3345
C
D: 128.119.40.186, 80
99
Thông điệp ICMP được đặt trong gói dữ liệu ?
A UDP
B TCP
C IP
D ICMP
100
Chia mạng con
• Để có thể chia nhỏ một mạng lớn thành nhiều mạng
con bằng nhau, người ta thực hiện mượn thêm một
số bit bên phần host để làm phần network, các bit
mượn này được gọi là các bit subnet
Chia mạng con
Chia theo số subnet:
Gọi n là số bit cần mượn
2n >= số subnet cần chia
Chia theo số host:
Gọi m là số bit còn lại của phần host sau khi mượn
2m – 2 >= số host của mỗi subnet
Chia mạng con
Bài tập thuận:
Cho 1 địa chỉ IP, cho biết số host hoặc số mạng con cần có. Yêu cầu tìm ra địa chỉ các subnet,
địa chỉ đầu (first address), địa chỉ cuối (last address), địa chỉ quảng bá (broadcast address),
host range (dải địa chỉ khả dụng của từng host).
1.Nếu đề không cho subnet mask, prefix length. Tìm Subnet mask mặc định
2.Xác định số bit cần mượn
kiểm tra số IP hợp lệ có thể cấp cho từng mạng con.
3. Xác định địa chỉ cho từng mạng con
4. Xác định dãy địa chỉ IP cho host và địa chỉ broadcast
địa chỉ IP hợp lệ đầu tiên/ cuối cùng, địa chỉ broadcast.
Chia mạng con
Cho địa chỉ mạng 192.168.1.0. Chia mạng trên thành các
mạng con, mỗi mạng chứa được 60 hosts.
Với mỗi mạng con, xác định các thông tin: Subnet ID,
Subnet Mask, Start IP Address, End IP Address, Broadcast
IP. Mỗi mạng con có thể cấp phát tối đa bao nhiêu địa chỉ
IP hợp lệ cho hosts.
Chia mạng con
Cho địa chỉ mạng 172.16.40.0 / 255.255.252.0
Chia mạng trên thành 7 mạng con.
Với mỗi mạng con, xác định các thông tin: Subnet ID,
Subnet Mask, Start IP Address, End IP Address, Broadcast
IP. Mỗi mạng con có thể cấp phát tối đa bao nhiêu địa chỉ
IP hợp lệ cho hosts.
Chia mạng con
Bài tập ngược:
Cho 1 địa chỉ IP của host thuộc 1 subnet nào đó với subnet mask . Xác định số bit đã mượn,
xác định xem địa chỉ đó thuộc subnet nào, địa chỉ IP đã sử dụng để subneting (chia mạng) là
địa chỉ nào.
1. Tìm Subnet mask (prefix length) mặc định bằng cách xác định lớp.
2. Xác định số bit đã mượn
Chia mạng con
Cho địa chỉ 210.4.80.100/26, xác định xem địa chỉ trên
thuộc subnet nào . Liệt kê các subnet.
Thuật toán routing Link-State
Sử dụng thuật toán Dijkstra Ký hiệu:
Giao thức sử dụng Link-state: OSPF • c(x,y): chi phí kết nối từ
node x đến y; = ∞ nếu
Biết chi phí kết nối, cấu trúc mạng của tất không kết nối trực tiếp đến
cả các node neighbor
Tính toán đường đi có chi phí thấp nhất từ • D(v): giá trị chi phí hiện tại
1 node (‘nguồn’) đến tất cả các node khác của đường đi từ nguồn tới
đích v
Cho trước bảng forwarding của node đó
• p(v): node trước nằm trên
Lặp lại: sau k lần lặp lại, biết được đường đường đi từ nguồn tới v
đi có chi phí thấp nhất của k đích • N': tập các node mà chi phí
đường đi thấp nhất đã
được xác định
Thuật toán Dijsktra
1 Khởi tạo:
2 N' = {u}
3 for all nodes v
4 if v adjacent to u
5 then D(v) = c(u,v)
6 else D(v) = ∞
7
8 Lặp
9 find w not in N' such that D(w) is a minimum
10 add w to N'
11 update D(v) for all v adjacent to w and not in N' :
12 D(v) = min( D(v), D(w) + c(w,v) )
13 /* chi phí mới đến v là chính nó hoặc chi phí đường đi ngắn nhất
14 cộng với chi phí từ w đến v*/
15 until all nodes in N'
Thuật toán Dijkstra : ví dụ 1
x
D(v) D(w) D(x) D(y) D(z) 9
Bước N' p(v) p(w) p(x) p(y) p(z)
0 u 7,u 3,u 5,u ∞ ∞ 5 7
uw 4
1 6,w 5,u 11,w ∞
2 uwx 6,w 11,w 14,x 8
3 uwxv 10,v 14,x 3 w z
u y
4 uwxvy 12,y 2
5 uwxvyz 3
7 4
v
Thuật toán Dijkstra: ví dụ 2
5
3
v w 5
2
u 2 1 z
3
1 2
x 1
y
Thuật toán Dijkstra: ví dụ 2
Kết quả cây đường đi ngắn nhất từ u:
v w
u z
x y
A 5, 6, 1, ∞, ∞
6
v 1 w B 5, 6, ∞, ∞, 1
5 4
u 4 z
8 8
1
1 C 5, 6, ∞, 1, ∞
x y
4
D 5, ∞, ∞, 6, 1
114
Thuật toán routing Distance vector
Gọi dx(y) := chi phí của đường đi có chi phí ít nhất từ x tới y
thì
dx(y) = min {c(x,v) + dv(y) }
với mọi v là node liền kề với x
c(a,b): chi phí kết nối từ node a đến b; = ∞ nếu không kết
nối trực tiếp.
Bellman-Ford ví dụ
5
3 Rõ ràng, dv(z) = 5, dx(z) = 3, dw(z) = 3
v w 5
2
u 2 1 z Sử dụng công thức Bellman-Ford:
3
1
x y 2 du(z) = min { c(u,v) + dv(z),
1
c(u,x) + dx(z),
c(u,w) + dw(z) }
= min {2 + 5,
1 + 3,
5 + 3} = 4
Node đạt được tối thiểu là hop kế tiếp trong đường đi
ngắn nhất, được sử dụng trong bảng forwarding
Thuật toán routing Distance vector
Lặp, không đồng bộ: mỗi Mỗi node:
lần lặp cục bộ xảy ra khi:
• Chi phí kết nối cục bộ thay Chờ cho (thay đổi trong chi phí
đổi link cục bộ hoặc thông điệp từ
• Thông điệp cập nhật DV từ neighbor)
neighbor
Phân bố: Tính toán lại các ước lượng
• Mỗi node thông báo đến các
neighbor chỉ khi DV của nó
thay đổi Nếu DV đến đích bất kỳ vừa thay
• Các neighbor sau đó thông đổi, thì thông báo neighbors
báo đến các neighbor của nó
nếu cần thiết
Dx(z) = min{c(x,y) +
Dx(y) = min{c(x,y) + Dy(y), c(x,z) + Dz(y)}
= min{2+0 , 7+1} = 2 Dy(z), c(x,z) + Dz(z)}
= min{2+1 , 7+0} = 3
Bảng Chi phí đến Chi phí đến
node x x y z x y z
x 0 2 7 x 0 2 3
y ∞∞ ∞ y 2 0 1
Từ
Từ
z ∞∞ ∞ z 7 1 0
z ∞∞ ∞
z 7 1 0
Thời gian
Dx(z) = min{c(x,y) +
Dx(y) = min{c(x,y) + Dy(y), c(x,z) + Dz(y)}
= min{2+0 , 7+1} = 2 Dy(z), c(x,z) + Dz(z)}
= min{2+1 , 7+0} = 3
Bảng chi phí đến chi phí đến chi phí đến
node x x y z x y z x y z
x 0 2 7 x 0 2 3 x 0 2 3
y ∞∞ ∞ y 2 0 1
từ
từ y 2 0 1
từ
z ∞∞ ∞ z 7 1 0 z 3 1 0
Bảng chi phí đến chi phí đến chi phí đến
node y x y z x y z x y z y
2 1
x ∞ ∞ ∞ x 0 2 7 x 0 2 3 x z
y 2 0 1 y 2 0 1 y 2 0 1 7
từ
từ
từ
z ∞∞ ∞ z 7 1 0 z 3 1 0
Bảng chi phí đến chi phí đến chi phí đến
node z x y z x y z x y z
x ∞∞ ∞ x 0 2 7 x 0 2 3
y 2 0 1 y 2 0 1
từ
y ∞∞ ∞
từ
từ
z 7 1 0 z 3 1 0 z 3 1 0
Thời gian
Các giao thức nào sau đây hoạt động tại tầng Network?
• half-duplex và full-duplex
• Các node tại các đầu cuối của mỗi kết nối đều có thể truyền và nhận,
nhưng với half duplex thì thao tác này không được thực hiện đồng thời
Internet Checksum
Tính tổng các chuỗi 16-bit sau đó lấy bù 1 (đảo các bit)
10011001 01001110
11100100 01100101
101111101 10110011
1
01111101 10110100
10000010 01001011
Parity Bit
bit parity một chiều: bit parity hai chiều:
phát hiện lỗi 1 bit phát hiện và sửa lỗi 1 bit đơn
row parity
0111000110101011 1
d1,1 ... d1,j d1,j+1
d data bits d2,1 ... d2,j d2,j+1
parity ... ... ... ...
bit di,1 ... di,j di,j+1
column
parity ...
Sử dụng parity chẵn di+1,1 di+1,j di+1,j+1
Thêm vào Bit parity 1
hoặc 0 sao cho số lượng
no errors: 1 0 1 0 1 1 detected 10101 1
bit 1 trong dòng đó là and parity
11110 0 10110 0 error
chẵn correctable
01110 1 single-bit 01110 1
00101 0 error: 00101 0
parity
error
Cho dữ liệu như sau, hãy xác định parity
bit cho các hàng và cột
01110000 01100010| 0
11001000 01001011| 1
10000010 10111110| 0
00011010 00001110| 0
01000010 00011110| 0
-------- -------- -
|
01100010 10000111 1 128
Cho dữ liệu và parity bit như sau. Giả sử
có 1 bit lỗi. Hãy xác định bit lỗi
Mục tiêu: chọn r bits CRC (R) sao cho cụm <D,R> chia hết cho G trong modulo của 2.
• Ban đầu bên gửi và nhận thống nhất với nhau đa thức sinh G
• Bên nhận tiến hành lấy <D,R> chia cho G trong modulo của 2. Nếu phần dư khác 0 thì đã có lỗi
xảy ra.
• Phát hiện được lỗi nếu số bit lỗi < r.
• Được sử dụng nhiều hiện nay (CRC-32, tức r=32 bits)
Cyclic Redundancy Check (CRC): example
We want: G 1 0 1 0 1 1
D.2r XOR R = nG 1 0 0 1 1 0 1 1 1 00 0 0
or equivalently: 1 0 0 1
D.2r = nG XOR R 1 0 1 D * 2r
0 0 0
or equivalently: 1 0 1 0
1 0 0 1
if we divide D.2r by G, want 1 1 0
remainder R to satisfy: 0 0 0
D.2r 1 1 0 0
R = remainder [ ] 1 0 0 1
G 1 0 1 0
1 0 0 1
0 1 1
R
Cyclic Redundancy Check (CRC): example
G = 10101
D = 1001 1100
R hay CRC = ?
6-slot 6-slot
frame frame
1 3 4 1 3 4
Các giao thức MAC phân hoạch kênh: FDMA
FDMA: frequency division multiple access
time
frequency bands
FDM cable
Các giao thức truy cập ngẫu nhiên
• Khi 1 node có packet cần gởi
• Truyền dữ liệu với trọn tốc độ của kênh dữ liệu R.
• Không có sự ưu tiên giữa các node
• 2 hoặc nhiều node truyền “đụng độ”,
• Giao thức truy cập ngẫu nhiên MAC xác định:
• Cách để phát hiện đụng độ
• Cách để giải quyết đụng độ (ví dụ: truyền lại sau đó)
• Ví dụ các giao thức MAC truy cập ngẫu nhiên:
• slotted ALOHA
• ALOHA
• CSMA, CSMA/CD, CSMA/CA
Slotted ALOHA
Giả thuyết: Hoạt động:
• Tất cả các frame có cùng kích • Khi node có được frame
thước
mới, nó sẽ truyền trong slot
• Thời gian được chia thành các kế tiếp
slot có kích thước bằng nhau • Nếu không có đụng độ:
(thời gian để truyền đủ 1 frame)
node có thể gửi frame
• Các node bắt đầu truyền chỉ mới trong slot kế tiếp
ngay tại lúc bắt đầu slot
• Nếu có đụng độ: node
• Các node được đồng bộ hóa truyền lại frame trong mỗi
• Nếu 2 hoặc nhiều node truyền slot tiếp theo với xác suất
trong cùng 1 slot, thì tất cả các p cho đến khi thành công
node đều phát hiện đụng độ
node 2 2 2 2
node 3 3 3 3
C E C S E C E S S
!
Tốt nhất: kênh
hữu dụng trong
khoảng 37% thời
gian!
Pure (unslotted) ALOHA
• unslotted Aloha: đơn giản, không đồng bộ
• Khi frame đến
• truyền lập tức
• Khả năng đụng độ tăng:
• frame được truyền tại thời điểm t0 đụng độ với các
frame khác được truyền trong thời điểm [t0-1,t0+1]
efficiency goes to 1
• as tprop goes to 0
• as ttrans goes to infinity
Hiệu suất tốt hơn ALOHA: đơn giản, chi phí thấp và điều khiển
phân tán!
Các giao thức MAC “Xoay vòng”
Các giao thức phân hoạch kênh MAC (channel
partitioning MAC protocols):
• Chia sẻ kênh hiệu quả và công bằng với tải lớn
• Không hiệu quả ở tải thấp: trễ khi truy cập kênh, 1 node chỉ được
cấp phát 1/N bandwidth ngay cả khi chỉ có 1 node hoạt động!
data
Tầng Link 5-154
Tổng kết các giao thức MAC
• Phân hoạch kênh, theo thời gian, tần số hoặc mã
• Phân chia theo thời gian (Time Division), phân chia theo tần số (Frequency
Division)
• Truy cập ngẫu nhiên (động),
• ALOHA, S-ALOHA, CSMA, CSMA/CD
• Cảm nhận sóng mang (carrier sensing): dễ dàng trong một số
kỹ thuật (có dây), khó thực hiện trong các công nghệ khác
(không dây)
• CSMA/CD được dùng trong Ethernet
• CSMA/CA được dùng trong 802.11
• Xoay vòng
• Điều phối từ đơn vị trung tâm, truyền token
• bluetooth, FDDI, token ring
Tầng Link 5-155
BT xác định miền quảng bá và miền đụng
độ (broadcast domain và collision domain)
Mỗi cổng (port) của router liên kết với 1 subnet và là 1 broadcast
domain
Mỗi cổng (port) switch và router là 1 vùng đụng độ
Hub là thiết bị hoạt động ở tầng 1, gia tăng kích thước của broadcast
và collision domain, và không làm chia nhỏ số lượng broadcast và
collision domain
Broadcast domain Broadcast domain
Collision domain
Media Access Control (MAC): kiểm soát truy
cập truyền thông
Chức năng: được sử dụng “cục bộ” để chuyển frame từ 1 interface này đến 1
interface được kết nối vật lý trực tiếp với nhau (cùng mạng, trong ngữ cảnh vùng
địa chỉ IP)
Địa chỉ MAC 48 bits, viết dưới dạng thập lục phân.
Chia thành 6 nhóm, mỗii nhóm(octet) 8 bits
Được quản lý bởi IEEE, nhà sản xuất mua địa chỉ (là số hữu hạn), được ghi vào
trong NIC ROM; có thiết lập, sửa đổi bằng phần mềm.
VD: 3A-48-CC-9B-5C-5A mỗi số hoặc chữ cái hệ (16) đại diện cho 4 bit.
MAC IP
- 48 bits - 32 bits
- Tầng liên kết - Tầng mạng
- Chứng minh nhân dân - Địa chỉ nhà
- Không phân cấp - Phân cấp, phụ thuộc vào subnet IP được gắn
- Có thể di động, từ LAN này sang LAN khác. - Không di chuyển được
ARP (address resolution protocol)
Làm gì khi nhận được Packets từ tầng Network? IP
Eth
Xác định Interface cần tới của gói tin? Phy
TTL là thời gian lưu trữ của các địa chỉ IP/MAC ánh xạ trong mạng -> Hết thời gian tự động xoá và cập nhật lại
ARP (address resolution protocol)
*TH1: Địa chỉ MAC B nằm trong bảng ARP của A -> gửi gói tin đi
*TH2: Địa chỉ MAC B không nằm trong bảng ARP của A
- A gửi quảng bá (broadcast) gói tin ”ARP query” có chứa địa chỉ IP gói B.
- Địa chỉ MAC đích là FF-FF-FF-FF-FF-FF -> tất cả các node trong mạng
LAN sẽ nhận được gói tin.
- B nhận được gói ARP và phản hồi lại A địa chỉ MAC của B (unicast).
- Những host khác sẽ bỏ gói tin này.
Þ TH1
ARP (address resolution protocol)
- A sẽ lưu lại cặp địa chỉ IP-MAC trong bảng ARP của nó cho tới khi thông tin
này cho đến khi được làm mới ( quá Time to live)
- ARP là giao thức “plug-and-play”
- PnP: Plug-and-play: cắm và chạy: chỉ cần kết nối là hoạt động, không cần
cài đặt phức tạp.
- Các nodes tạo bảng ARP của nó không cần sự can thiệp của người dùng (tự
động gửi ARP query không cần hỏi ý kiến)
Quá trình thay đổi địa chỉ IP và địa chỉ MAC khi gói tin đi
từ A -> B?
165
Quá trình thay đổi địa chỉ IP và địa chỉ MAC khi gói tin đi
từ A -> B?
A -> R R -> B
Source IP: 111.111.111.111 Source IP: 111.111.111.111
Destination IP: 222.222.222.222 Destination IP: 222.222.222.222
Source MAC: 74-29-9C-E8-FF-55 Source MAC: 1A-23-F9-CD-06-9B
Destination MAC: E6-E9-00-17-BB-4B Destination MAC: 88-B2-2F-54-1A-0F
166
Ethernet
Là họ các công nghệ mạng máy tính được dùng trong các mạng LAN, WAN
Những giao thức cho phép kết nối:
- Token Ring: giao thức 802.5, 4 Mbps -> 16 Mbps
- FDDI: giao thức 802.4, 100 Mbps
- Ethernet: giao thức 802.3, 10 Mbps -> 10 Gbps
- Ethernet đơn giản hơn, rẻ hơn => Được sử dụng rộng rãi hơn
Các kiến trúc liên kết mạng
Bus: phổ biến trong giữa thập niên 90 bus
Tất cả các node trong cùng vùng xung đột (collision domain) (có
thể đụng độ lẫn nhau)
Star: chiếm ưu thế ngày nay, switch hoạt động ở trung tâm
Mỗi chặng kết nối Ethernet hoạt động riêng biệt (các node
không đụng độ lẫn nhau) switch star
Cấu trúc Frame Ethernet
type
Preamble (8 byte):
7 byte đầu, mỗi byte có giá trị 10101010, byte cuối có giá trị 10101011
Được sử dụng để đồng bộ tốc độ đồng hồ của bên gửi và nhận
A Bit
B Packet
C PDU
D Frame
170
Địa chỉ MAC (Mac address) là:
A 8.8.8.8
B FF-FF-FF-FF-FF-FF
C 255.255.255.255
D 0.0.0.0
172
Giao thức tìm địa chỉ IP khi biết địa chỉ MAC?
A TCP/IP
B DHCP
C ARP
D RARP
173
Phương thức nào mà trong đó cả hai bên đều có thể
đồng thời gửi dữ liệu đi?
A Simple
B Half-duplex
C Full-duplex
A Bus
B Ring
C Ethernet
D FDDI
175
Giao thức mạng cục bộ nào được sử dụng rộng rãi hiện
nay?
A Bus
B Ring
C Ethernet
D FDDI
176
Switch
A
- Thiết bị tầng Liên kết dữ liệu: đóng vai trò tích cực
C’ B
5 4 3
- Transparent (trong suốt), Plug-and-play
B’ C
- Tự học
A’
switch với 6 interface
(1,2,3,4,5,6)
Lưu (store) và chuyển tiếp (forward ) các frame Ethernet
A
Khi switch nhiều phiên truyền đồng thời C’ B
5 4 3
- A-tới-A’ và B-tới-B’ có thể truyền đồng thời mà
B’ C
không có đụng độ xảy ra
A’
switch với 6 interface
(1,2,3,4,5,6)
Transparent (trong suốt), Plug-and-play
A
- Các host không phát hiện được sự hiện diện của các switch
C’ B
- Các switch không cần được cấu hình
6 1 2
- Giao thức Ethernet được sử dụng trên mỗi đường kết nối 5 4 3
vào, nhưng không có đụng độ B’ C
1. Ghi lại cổng kết nối vào, địa chỉ MAC của host gửi
2. Tạo chỉ mục bảng switch bằng địa chỉ MAC đích
3. Nếu tìm thấy thông tin đích đến
thì {
nếu đích đến nằm trên phân đoạn mạng gửi frame đến
thì bỏ frame
ngược lại chuyển tiếp frame trên interface được chỉ định bởi thông
tin trong bảng switch
}
ngược lại flood (chuyển tiếp trên tất cả interface ngoại trừ interface
nhận frame đó)
Bảng forwarding của các switch sau khi
vận chuyển frame từ A -> H, B -> G?
S4
S1
S3
A S2
F
B C D I
G H
E
A -> H 1
S4
3
S1 2
4
1 4 S3
A 1
S2
2 1 4
3 2
2 3 F
B C D 3 I
G H
E
S1 S2
Port MAC Port MAC
1 MAC A 4 MAC A
4 MAC H
S3 S4
Port MAC Port MAC ADDRESS
1 MAC A 1 MAC A
3 MAC H 3 MAC H
S4
1
B -> F
3
S1 2
4
1 4 S3
A 1
S2
2 1 4
3 2
2 3 F
B C D 3 I
G H
E
S1 S2
Port MAC Port MAC
1 MAC A 4 MAC A
4 MAC H 4 MAC B
2 MAC B 3 MAC F
4 MAC F
S4
S3 Port MAC ADDRESS
Port MAC 1 MAC A
1 MAC A 3 MAC H
3 MAC H 1 MAC B
1 MAC B 2 MAC F
So sánh Switch và Router application
A
transport
datagram network
frame link
Giống nhau:
physical link frame
Đều có thể lưu (store) và chuyển tiếp (forwarding) physical
Đều có bảng định tuyến
switch
Khác nhau:
network datagram
Switch Router link frame
physical
Thiết bị của tầng mạng Thiết bị của tầng liên kết
24 – 48 ports 4 – 6 port application
Tự học bảng fowarding bằng Sử dụng các thuật toán định transport
cơ chế flooding tuyến network
Địa chỉ MAC Địa chỉ IP
link
physical
B
Trên host C, kết nối từ C đến A sẽ sử dụng IP ngầm định (default
gateway) là?
A 128.119.43.135
B 128.119.144.132
C 128.119.144.156
A IP source là 128.119.43.124
B IP đích là 128.119.169.152
A F I
D
H
D Tất cả đều sai B C E G
189
Khi PC1 gửi một frame cho PC3 thì switch sẽ làm gì với gói tin
đó?
A Switch bỏ frame đó
=> Tốn kém, không tận dụng được hết port của switch
VLAN (Virtual Local Area Network)
Port-based VLAN
- Mỗi cổng được gắn với một VLAN xác định. Do đó mỗi host kết
nối với một cổng của switch đều thuộc một VLAN nào đó router
- Traffic isolation (cô lập traffic): các frame đến từ VLAN A chỉ
có thể tới được các thiết bị trong VLAN A
- Thay đổi linh động (dynamic membership): các port có thể
được gán động giữa các VLAN 1
2
7
8
9
10
15
16
- Chuyển tiếp giữa các VLAN: được thực hiện thông qua định
tuyến … …
- Trunk port: kết nối giữa các VLAN được định nghĩa trên
nhiều switch vật lý 7 9 15
1 1 3 5 7
2 8 10 16 2 4 6 8
… …
Hoạt động thường ngày - truy cập web
web page