Tầng mạng Network Layer • Gồm 4 giao thức quan trọng: - IP Internet Protocol: Gán địa chỉ cho dữ liệu.. →TCP cung cấp khả năng truyền dữ liệu một cách an toàn giữa các thành phần trong
Trang 1BÀI GIẢNG
MÔN: MẠNG MÁY TÍNH
Giảng viên: Hoàng Thanh Hòa
Trang 2CHƯƠNG 4
HỌ GIAO THỨC TCP/IP
Mô hình TCP/IP 4.1
4.2 Các giao thức trong họ giao
thức TCP/IP
4.3 Địa chỉ IPv4
Trang 34.1 Mô hình TCP/IP
TCP/IP (Transmission Control
Protocol/Internet Protocol) là chồng giao
thức cùng hoạt động nhằm cung cấp các
phương tiện truyền thông liên mạng
Năm 1981, TCP/IP phiên bản 4 (IPv4) hoàn
thành và sử dụng phổ biến đến ngày nay
Năm 1994 phiên bản IPv6 được hình thành
3
Trang 4- Hoạt động theo mô hình Client- Server
- TCP/IP hỗ trợ cho liên mạng (internetworking)
và định tuyến
Trang 54.1 Mô hình TCP/IP
4.1.1 Mô hình kiến trúc TCP/IP
4.1.2 Vai trò chức năng các tầng trong mô hình
TCP/IP
4.1.3 Quá trình đóng gói dữ liệu
4.1.4 Quá trình phân mảnh dữ liệu
5
Trang 64.1.1 Mô hình kiến trúc TCP/IP
• Để cho các máy tính trao đổi dữ liệu với nhau TCP/IP sử dụng mô hình truyền thông 4 tầng
Trang 74.1.2 Vai trò và chức năng
các tầng trong mô hình TCP/IP
• Tầng truy cập mạng (Network Access Layer)
• Tầng mạng (Internet Layer)
• Tầng vận chuyển (Transport Layer)
• Tầng ứng dụng (Applycation Layer)
7
Trang 8• Các giao thức thuộc tầng này:
-CSMA/CD
-Ethernet
-Token Ring
-Token Bus
Trang 9Tầng mạng (Network Layer)
• Nằm bên trên tầng truy cập mạng, tương ứng với tầng mạng (Network Layer) trong mô hình OSI
• Chức năng gán địa chỉ, đóng gói và định
tuyến (Route) dữ liệu
9
Trang 10Tầng mạng (Network Layer)
• Gồm 4 giao thức quan trọng:
- IP (Internet Protocol): Gán địa chỉ cho dữ liệu
- ARP (Address Resolution Protocol): B iên dịch địa chỉ IP của máy đích thành địa chỉ MAC
- ICMP (Internet Control Message Protocol):
Thông báo lỗi trong trường hợp truyền dữ liệu bị hỏng
- IGMP (Internet Group Management Protocol):
Điều khiển truyền đa hướng (Multicast)
Trang 11Tầng vận chuyển
• Ứng với tầng vận chuyển trong mô hình OSI
• Chức năng thiết lập phiên truyền thông giữa
các máy tính và quy định cách thức truyền dữ liệu
• Gồm có 2 giao thức quan trọng:
- UDP (User Datagram Protocol): Cung cấp các kênh truyền thông phi kết nối nên nó
không đảm bảo truyền dữ liệu 1 cách tin cậy
- TCP (Transmission Control Protocol): Cung
cấp các kênh truyền thông hướng kết nối và đảm bảo truyền dữ liệu 1 cách tin cậy
11
Trang 12Tầng ứng dụng
• Tầng ứng dụng ứng với các tầng Session,
Presentation và Aplication trong mô hình OSI
• Hỗ trợ các ứng dụng cho các giao thức tầng Host to Host
• Cung cấp giao diện cho người sử dụng mô
hình TCP/IP
• Các giao thức ứng dụng gồm TELNET(truy
nhập từ xa), FTP (truyền File), SMTP (thư
điện tử),
Trang 13Mô hình TCP/IP
13
Trang 14Quá trình đóng gói dữ liệu
Trang 15Quá trình phân mảnh dữ liệu
15
Dữ liệu có thể được truyền qua nhiều mạng
khác nhau, kích thước cho phép cũng khác
nhau
Kích thước lớn nhất của gói dữ liệu trong
mạng gọi là đơn vị truyền cực đại MTU
Nếu một mạng nhận dữ liệu có kích thước lớn hơn MTU của nó, dữ liệu sẽ được phân mảnh
ra thành gói nhỏ hơn để chuyển tiếp
Phân mảnh làm tăng thời gian xử lý, làm giảm tính năng của mạng và ảnh hưởng đến tốc độ trao đổi dữ liệu trong mạng
Trang 164.2 Một số giao thức trong
bộ giao thức TCP/IP
4.2.1 Giao thức điều khiển truyền TCP
(Transmission Control Protocol)
4.2.2 Giao thức gói tin người dùng UDP (User
Datagram Protocol)
4.2.3 Giao thức liên mạng IP (Internet Protocol) 4.2.4 Giao thức phân giải địa chỉ ARP (Address
Resolution Protocol)
4.2.5 Giao thức phân giải địa chỉ ngược RARP
(Reverse Address Resolution Protocol)
4.2.6 Giao thức thông báo điều khiển mạng
ICMP (Internet Control Message Protocol)
Trang 174.2.1 Giao thức TCP
17
• Là giao thức hướng liên kết: thiết lập kết nối logic tạm thời khi truyền dữ liệu
• Phân đoạn dữ liệu nhận từ tầng trên và
chuyển giao cho tầng mạng
• Truyền các segment từ một thiết bị đầu cuối
này đến thiết bị đầu cuối khác
→TCP cung cấp khả năng truyền dữ liệu
một cách an toàn giữa các thành phần trong liên mạng, các chức năng kiểm tra tính
chính xác của dữ liệu khi đến đích và truyền lại dữ liệu khi có lỗi xảy ra
Trang 194.2.1 Giao thức TCP (tt)
19
• Quá trình thiết lập và kết thúc liên kết TCP:
Trang 204.2.1 Giao thức TCP (tt)
• Khuôn dạng gói tin TCP:
Trang 214.2.1 Giao thức TCP (tt)
21
• Điều khiển lưu lượng trong TCP: Gồm có 3
cơ chế điều khiển
- Cơ chế của sổ động
- Cơ chế phát lại thích nghi
- Cơ chế điều khiển tắc nghẽn
Trang 234.2.2 Giao thức UDP (tt)
23
• Cấu trúc gói tin UDP:
Trang 244.2.3 Giao thức IP
• Chức năng của giao thức IP:
- IP (Internet Protocol) là giao thức không liên kết
- Cung cấp các dịch vụ Datagram và các khả năng kết nối các mạng con thành liên mạng
để truyền dữ liệu với phương thức chuyển
mạch gói IP Datagram
- Thực hiện tiến trình định địa chỉ và chọn
đường
- IP thực hiện việc tháo rời và khôi phục các
gói tin theo yêu cầu kích thước
- IP kiểm tra lỗi thông tin điều khiển
Trang 254.2.3 Giao thức IP
25
• Cấu trúc gói dữ liệu IP:
Trang 264.2.3 Giao thức IP
• Cấu trúc gói dữ liệu IP:
- VER (4 bits): Version hiện hành của IP đƣợc cài đặt
- IHL(4 bits): Internet Header Length của
Datagram, tính theo đơn vị word (32 bits)
- Type of service(8 bits): Thông tin về loại dịch vụ
và mức ƣu tiên của gói IP:
- Total Length (16 bits): Chỉ độ dài Datagram,
- Identification (16bits): Định danh cho một
Datagram trong thời gian sống của nó
- Flags(3 bits): Liên quan đến sự phân đoạn
(Fragment) các Datagram:
Trang 274.2.3 Giao thức IP
27
• Cấu trúc gói dữ liệu IP:
- Fragment Offset (13 bits): Chỉ vị trí của Fragment
trong Datagram
- Time To Live (TTL-8 bits): Thời gian sống của một gói
dữ liệu
- Protocol (8 bits): Chỉ giao thức sử dụng TCP hay UDP
- Header Checksum (16 bits): Mã kiểm soát lỗi
CRC(Cycle Redundancy Check)
- Source Address (32 bits): địa chỉ của trạm nguồn
Trang 284.2.3 Giao thức IP
• Cấu trúc gói dữ liệu IP:
- Destination Address (32 bits): Địa chỉ của trạm
đích
- Option (có độ dài thay đổi): Sử dụng trong trường
hợp bảo mật, định tuyến đặc biệt
- Padding (độ dài thay đổi): Vùng đệm cho phần
Header luôn kết thúc ở 32 bits
Trang 294.2.4 Giao thức ARP
29
• ARP là giao thức để thực hiện việc tìm địa chỉ vật lý của trạm đích
• Tiến trình của ARP đƣợc mô tả nhƣ sau:
- IP yêu cầu địa chỉ MAC
- Tìm kiếm trong bảng ARP
- Nếu tìm thấy sẽ trả lại địa chỉ MAC
- Nếu không tìm thấy, tạo gói ARP yêu cầu và gửi tới tất cả các trạm
- Tuỳ theo gói tin trả lời, ARP cập nhật vào
bảng ARP và gửi địa chỉ MAC cho IP
Trang 304.2.4 Giao thức ARP (tt)
Trang 324.2.6 Giao thức ICMP
• ICMP là giao thức điều khiển của tầng IP
• Chức năng:
- Điều khiển lưu lượng (Flow Control)
- Thông báo lỗi
- Định hướng lại các tuyến (Redirect Router)
- Kiểm tra các trạm ở xa
• Có 2 loại thông điệp ICPM:
- Thông điệp truy vấn: nhận thông tin xác nhận
từ một node khác
- Thông điệp báo lỗi
Trang 344.3 Địa chỉ IPv4 (tt)
• Chuyển đổi hệ nhị phân sang hệ thập phân:
Trang 354.3 Địa chỉ IPv4 (tt)
35
• Chuyển đổi hệ thập phân sang hệ nhị phân:
Đổi số 201 sang nhị phân:
• Khi thương số bằng 0, ghi các số dư theo thứ tự
ngược với lúc xuất hiện, kết quả: 201 = 11001001
Trang 384.3 Địa chỉ IPv4 (tt)
• Địa chỉ IP IPv4:
Trang 404.3 Địa chỉ IPv4 (tt)
• Các lớp địa chỉ IPv4:
Trang 41Các lớp địa chỉ IP
41
• Lớp A: Dành 1 byte cho phần network_id và 3
byte cho phần host_id
Trang 42Các lớp địa chỉ IP (tt)
• Lớp A (Class A):
- Bit đầu tiên của byte đầu tiên phải là bit 0
Dạng nhị phân của octet này là 0xxxxxxx
- Những địa chỉ IP có byte đầu tiên nằm trong khoảng từ 0 (=00000000(2)) đến 127
(=01111111(2)) sẽ thuộc lớp A
- Ví dụ: 50.14.32.8
Trang 43Các lớp địa chỉ IP (tt)
43
• Lớp A (Class A):
- Byte đầu tiên này cũng chính là network_id,
trừ đi bit đầu tiên làm ID nhận dạng lớp A,
còn lại 7 bit để đánh thứ tự các mạng, ta
được 128 (=27 ) mạng lớp A khác nhau
- Bỏ đi hai trường hợp đặc biệt là 0 và 127 Kết quả là lớp A chỉ còn 126 địa chỉ mạng, 1.0.0.0 đến 126.0.0.0
Trang 45Các lớp địa chỉ IP (tt)
45
• Lớp B: Dành 2 byte cho phần network_id và 2
byte cho phần host_id
Trang 47Các lớp địa chỉ IP (tt)
47
• Lớp B (Class B):
- Phần network_id chiếm 16 bit bỏ đi 2 bit làm
ID cho lớp, còn lại 14 bit cho phép ta đánh
thứ tự 16384 (=214) mạng khác nhau
(128.0.0.0 đến 191.255.0.0)
- Phần host_id dài 16 bit hay có 65536 (=216) giá trị khác nhau Trừ đi 2 trường hợp đặc
biệt còn lại 65534 host trong một mạng lớp B
- Ví dụ đối với mạng 172.29.0.0 thì các địa chỉ host hợp lệ là từ 172.29.0.1 đến
172.29.255.254
Trang 48
Các lớp địa chỉ IP (tt)
• Lớp C: Dành 3 byte cho phần network_id và 1
byte cho phần host_id
Trang 50Các lớp địa chỉ IP (tt)
Trang 52Các loại địa chỉ IP
Địa chỉ mạng:
Trang 54Các loại địa chỉ IP (tt)
Địa chỉ Subnet Mask:
- Là địa chỉ để máy tính xác định đƣợc NetID
và HostID trong một địa chỉ IP
- Subnet Mask là 1 địa chỉ 32 bit đƣợc sử dụng
để che 1 phần của địa chỉ IP
Địa chỉ
lớp
Địa chỉ Subnet Mask nhị phân Giá trị Subnet
Mask thập phân Lớp A 11111111.00000000.00000000.00000000 /8 – 255.0.0.0
Lớp B 11111111.11111111.00000000.00000000 /16 – 255.255.0.0
Lớp C 11111111.11111111.11111111.00000000 /24 – 255.255.255.0
Trang 554.3.4 Kỹ thuật chia mạng con
- Đơn giản hóa việc quản trị
- Có thể thay đổi cấu trúc bên trong của mạng
- Tăng cường tính bảo mật của hệ thống
- Cô lập các luồng giao thông trên mạng
Trang 564.3.4 Kỹ thuật chia mạng con
Trang 574.3.4 Kỹ thuật chia mạng con
57
Nguyên tắc chia mạng con:
- Phần nhận dạng mạng (Network ID) của địa chỉ mạng ban đầu đƣợc giữ nguyên
- Phần nhận dạng máy tính của địa chỉ mạng ban đầu đƣợc chia thành 2 phần : Phần nhận dạng mạng con (Subnet ID) và Phần nhận
dạng máy tính trong mạng con (Host ID)
Trang 584.3.4 Kỹ thuật chia mạng con
Nguyên tắc chia mạng con:
- Số bit dùng trong Subnet_ID tuỳ thuộc vào chiến lƣợc chia mạng con Tuy nhiên số bit tối đa có thể mƣợn phải tuân theo công thức:
- Số lƣợng bit tối đa có thể mƣợn:
- Lớp A: 22 (=24 – 2) bit -> 222 = 4194304 mạng con
- Lớp B: 14 (=16 – 2) bit -> 214 = 16384 mạng con
Trang 594.3.4 Kỹ thuật chia mạng con
59
Nguyên tắc chia mạng con:
- Số bit trong phần Subnet_ID xác định số
lƣợng mạng con Với số bit là x thì 2^x là số lƣợng mạng con có đƣợc
- Ngƣợc lại từ số lƣợng mạng con cần thiết
theo nhu cầu, tính đƣợc phần Subnet_ID cần bao nhiêu bit Nếu muốn chia 6 mạng con thì cần 3 bit (2^3=8), chia 12 mạng con thì cần 4 bit (2^4>=12)
Trang 604.3.4 Kỹ thuật chia mạng con
Mặt nạ mạng con (Subnet Mask ID):
- Là một địa chỉ IP mà giá trị các bit ở phần
nhận dạng mạng (Network Id) và Phần nhận dạng mạng con (Subnet Id) đều là 1
- Giá trị của các bits ở Phần nhận dạng máy
tính (Host Id) đều là 0
Trang 614.3.4 Kỹ thuật chia mạng con
Trang 624.3.4 Kỹ thuật chia mạng con
Quy ước địa chỉ IP:
- Nếu có địa chỉ IP nhƣ 172.29.8.230 thì chƣa thể biết đƣợc host này nằm trong mạng nào,
có chia mạng con hay không và có nếu chia thì dùng bao nhiêu bit để chia Chính vì vậy
khi ghi nhận địa chỉ IP của một host, phải cho
biết Subnet mask của nó
- Ví dụ: 172.29.8.230/255.255.255.0 hoặc
172.29.8.230/24 (có nghĩa là dùng 24 bit đầu
tiên cho NetworkID)
Trang 634.3.4 Kỹ thuật chia mạng con
63
Thực hiện 3 bước:
- Bước 1: Xác định lớp (class) và subnet mask
mặc nhiên của địa chỉ
- Bước 2: Xác định số bit cần mƣợn và subnet
mask mới, tính số lƣợng mạng con, số host thực sự có đƣợc
- Bước 3: Xác định các vùng địa chỉ host và
chọn mạng con muốn dùng
Trang 644.3.4 Kỹ thuật chia mạng con
Bài tập 1:
Cho địa chỉ IP sau: 172.16.0.0/16
Hãy chia thành 8 mạng con và có tối thiểu 1000 host trên mỗi mạng con
đó
Trang 654.3.4 Kỹ thuật chia mạng con
Trang 664.3.4 Kỹ thuật chia mạng con
Trang 674.3.4 Kỹ thuật chia mạng con
67
Bước 3: Xác định vùng địa chỉ của Host
STT SubnetID Vùng HostID Broadcast
Trang 684.3.4 Kỹ thuật chia mạng con
- Các máy trên có cùng mạng hay không ?
- Hãy liệt kê tất cả các địa chỉ IP thuộc các
mạng vừa tìm đƣợc?
Trang 694.3.4 Kỹ thuật chia mạng con
Trang 704.3.4 Kỹ thuật chia mạng con
Thực hiện phép AND địa chỉ IP với Subnet Mask
Trang 714.3.4 Kỹ thuật chia mạng con
71
Chuyển IP sang dạng thập phân:
0000 1001
Trang 724.3.4 Kỹ thuật chia mạng con
Địa chỉ IP thứ hai: 192.168.5.39/28
Trang 734.3.4 Kỹ thuật chia mạng con
73
Xét 2 địa chỉ trên có cùng mạng không?
- 192.168.5.9/28
- 192.168.5.39/28
Trang 744.3.4 Kỹ thuật chia mạng con
Liệt kê tất cả các địa chỉ IP:
Trang 754.3.4 Kỹ thuật chia mạng con
75
Bài tập 3:
Hãy xét đến một địa chỉ IP class B,
139.12.0.0, với subnet mask là
255.255.0.0 Một Network với địa chỉ thế này có thể chứa 65534 nodes hay
computers Đây là một con số quá lớn
Hãy chia network thành 5 mạng con
Trang 764.3.4 Kỹ thuật chia mạng con
Xác định Subnet Mask:
- Để chia thành 5 mạng con thì cần thêm 3 bit (vì 𝟐𝟑 > 5)
- Do đó Subnet mask sẽ cần: 16 (bits trước
đây) + 3 (bits mới) = 19 bits
- Địa chỉ IP mới sẽ là 139.12.0.0/19 (để ý con
số 19 thay vì 16 như trước đây)
Trang 774.3.4 Kỹ thuật chia mạng con
77
Liệt kê ID của Subnet Mask mới:
Trang 784.3.4 Kỹ thuật chia mạng con
NetworkID của các mạng con mới:
Trang 794.3.4 Kỹ thuật chia mạng con
79
Vùng địa chỉ IP của các HostID:
Trang 804.3.4 Kỹ thuật chia mạng con
80
Cách tính nhanh vùng địa chỉ IP:
- n – số bit làm subnet
- Số mạng con: S = 2^n
- Số gia địa chỉ mạng con: M = 2^(8-n) (n≤8)
- Byte cuối của IP địa chỉ mạng, ví dụ lớp C: (k-1)*M
Trang 814.3.4 Kỹ thuật chia mạng con
Trang 824.3.4 Kỹ thuật chia mạng con
Bài tập 4:
Cho địa chỉ IP: 102.16.10.107/12
- Tìm địa chỉ mạng con? Địa chỉ host
- Dải địa chỉ host có cùng mạng với IP
trên?
- Broadcast của mạng mà IP trên thuộc
vào?
Trang 834.3.4 Kỹ thuật chia mạng con
Trang 844.3.4 Kỹ thuật chia mạng con
Trang 854.3.4 Kỹ thuật chia mạng con
Trang 864.3.4 Kỹ thuật chia mạng con
Bài tập 5: Cho địa chỉ IP 172.19.160.0/21 Chia làm 4 mạng con
Liệt kê các thông số gồm địa chỉ mạng,
dãy địa chỉ host, địa chỉ broadcast của
các mạng con đó
Trang 874.3.4 Kỹ thuật chia mạng con
87
Bước 1:
- Chia làm 4 mạng con nên phải mƣợn 2 bit
- Do /21 nên 2 byte đầu tiên của IP đã cho
không thay đổi Xét byte thứ 3
- 160 = 10100000(2)
- Phần 2 bit 00 là nơi ta mƣợn làm subnet
Trang 884.3.4 Kỹ thuật chia mạng con
Bước 2: Xác định địa chỉ mạng con
Trang 894.3.4 Kỹ thuật chia mạng con
89
Bước 3: Xác định dải địa chỉ Host
Trang 904.3.4 Kỹ thuật chia mạng con
Bài tập 6: Cho địa chỉ IP 172.16.192.0/21 Chia làm 4 mạng con
Liệt kê các thông số gồm địa chỉ mạng,
dãy địa chỉ host, địa chỉ broadcast của
các mạng con đó
Trang 914.3.4 Kỹ thuật chia mạng con
91
Bước 1:
- Chia làm 4 mạng con nên phải mƣợn 2 bit
- Do /18 nên 2 byte đầu tiên của IP đã cho
không thay đổi Xét byte thứ 3
- 192 = 11000000(2)
- Phần 2 bit 00 là nơi ta mƣợn làm subnet
Trang 924.3.4 Kỹ thuật chia mạng con
Bước 2: Xác định địa chỉ mạng con
Trang 934.3.4 Kỹ thuật chia mạng con
93
Bước 3: Xác định dải địa chỉ Host
Trang 944.3.4 Kỹ thuật chia mạng con
94
Bài tập 7: Cho giải địa chỉ IP
50.68.16.0/20 Sử dụng kỹ thuật VLSM, hãy phân chia địa chỉ trên cho các mạng sau:
- Mạng 1 yêu cầu 60 host
- Mạng 2 yêu cầu 632 host
- Mạng 3 yêu cầu 2 host
- Mạng 4 yêu cầu 1200 host
- Mạng 5 yêu cầu 315 host
Trang 954.3.4 Kỹ thuật chia mạng con
95
Theo kỹ thuật VSLM, ta phải sắp sếp các
mạng có số host từ cao nhất xuống thấp nhất nhƣ sau:
- Mạng 4 yêu cầu 1200 host
- Mạng 2 yêu cầu 632 host
- Mạng 5 yêu cầu 315 host
- Mạng 1 yêu cầu 60 host
- Mạng 3 yêu cầu 2 host
Trang 964.3.4 Kỹ thuật chia mạng con
96
Bước 1:
- Gọi n là số bít cần mƣợn để chia mạng con thỏa mãn mạng 4
- Gọi h là số bit còn lại dành cho hostID
- Vì mạng 4 yêu cầu số host là 1200
2h − 2 ≥ 1200 → h = 11
n= 32- 20- 11= 1 (bit) có 2 mạng con,
subnet mask mới là 20+ 1 = /21
Mỗi mạng con có: 2ℎ- 2 = 211 - 2 = 2046 địa
chỉ IP