Bài giảng Mạng máy tính - Chương 4: Họ giao thức TCP/IP cung cấp cho người học các kiến thức: Mô hình TCP/IP, các họ giao thức trong học giao thức TCP/IP, địa chỉ IPv4. Mời các bạn cùng tham khảo nội dung chi tiết.
Trang 1Giảng viên: Hoàng Thanh Hòa
Trang 3• 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
Trang 4• Những tính chất của mô hình TCP/IP:
- TCP/IP độc lập với phần cứng mạng vật lý
- TCP/IP sử dụng sơ đồ đánh địa chỉ toàn cục duy nhất
- Chuẩn giao thức mở
- 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.4 Quá trình phân mảnh dữ liệu
Trang 7(Applycation Layer)
Trang 8•Tương ứng với tầng vật lý và tầng liên kết dữ liệu trong mô hình OSI.
•Nhiệm vụ: đưa và nhận dữ liệu từ phương tiện truyền dẫn.
•Gồm các thiết bị phần cứng như: Card mạng, cáp…
•Các giao thức thuộc tầng này:
Trang 9• 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.
Trang 10•Gồm 4 giao thức quan trọng:
- IP (Internet Protocol): Gán địa chỉ cho dữ liệu.
- ARP (Address Resolution Protocol): Biê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 11• Ứ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
Trang 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.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 17• Là giao thức hướng liên kết: thiết lập kết nối logic tạmthờ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 18• Hoạt động của giao thức TCP:
Các kết nối TCP gồm có 3 bước:
- Thiết lập kết nối
- Truyền dữ liệu
- Kết thúc kết nối
Trang 19• Quá trình thiết lập và kết thúc liên kết TCP:
Trang 20• Khuôn dạng gói tin TCP:
Trang 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 22• UDP là giao thức không liên kết (Connectionless).
• Không yêu cầu độ tin cậy cao, không có cơ chế xác
Trang 23• Cấu trúc gói tin UDP:
Trang 24• 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 25• Cấu trúc gói dữ liệu IP:
Trang 26• 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 27• Cấu trúc gói dữ liệu IP:
- Fragment Offset (13 bits): Chỉ vị trí của Fragment
- 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 28• 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 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ớitấ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 31• RARP là giao thức phân giải địa chỉ ngược → cho
trước địa chỉ mức liên kết, tìm địa chỉ IP tương ứng
• Tiến trình của ARP được mô tả như sau:
Trang 32• 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 33• Chuyển đổi giữa các hệ số:
Trang 34• Chuyển đổi hệ nhị phân sang hệ thập phân:
Trang 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 36• Các phép toán làm việc trên bit:
Trang 37• Địa chỉ IPv4:
- Địa chỉ IP là địa chỉ có cấu trúc với một con số có
kích thước 32 bit, chia thành 4 phần mỗi phần 8 bit
gọi là octet hoặc byte
- Ví dụ:
✓172.16.30.56
✓10101100.00010000.00011110.00111000
✓AC.10.1E.38
Trang 38• Địa chỉ IP IPv4:
Trang 39• Các lớp địa chỉ IPv4:
- Các địa chỉ IP được chia ra làm hai phần, một phần để xác định mạng (net id) và một phần để xác định host (host id).
- Có năm lớp mạng là A, B, C, D, E
Trang 40• Các lớp địa chỉ IPv4:
Trang 41• Lớp A: Dành 1 byte cho phần network_id và 3 byte
cho phần host_id
Trang 42• 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 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 để
Trang 44• Lớp A (Class A):
- Phần host_id chiếm 24 bit, nghĩa là có 224 =
16.777.216 host khác nhau trong mỗi mạng Bỏ đi
hai trường hợp đặc biệt (phần host_id chứa toàn các
bit 0 và bit 1) Còn lại: 16.777.214 host
- Ví dụ đối với mạng 10.0.0.0 thì những giá trị host
hợp lệ là 10.0.0.1 đến 10.255.255.254
Trang 45• Lớp B: Dành 2 byte cho phần network_id và 2 byte
cho phần host_id
Trang 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• Lớp C: Dành 3 byte cho phần network_id và 1 byte
cho phần host_id
Trang 49• Lớp C (Class C):
- Ba bit đầu tiên của byte đầu tiên phải là 110 Dạng
nhị phân của octet này là 110xxxxx
- Những địa chỉ IP có byte đầu tiên nằm trong khoảng
từ 192 (=11000000(2)) đến 223 (=11011111(2)) sẽthuộc về lớp C
- Ví dụ: 203.162.41.235
Trang 51•Địa chỉ IP tĩnh:
- Là địa chỉ IP cố định dành riêng cho một người hoặc
một nhóm người khi truy cập vào internet Thường
dùng cho một máy chủ cung cấp dịch vụ (web, mail…)
•Địa chỉ IP động:
- Khách hàng được ISP (nhà cung cấp dịch vụ) cấp cho
một địa chỉ IP mới mỗi lần truy cập vào internet
Trang 52•Địa chỉ mạng:
Trang 54•Địa chỉ Subnet Mask:
- Là địa chỉ để máy tính xác định được NetID và HostIDtrong 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
Trang 55Cho máy tính X có địa chỉ IP: 192.168.1.150/28
a Chuyển IP trên về dạng nhị phân, máy X thuộc
lớp nào? Tại sao?
b Cho biết địa chỉ mạng chứa máy X
c Tìm dải địa chỉ IP dành cho máy của mạng vừa
tìm được? Số lượng máy có thể triển khai trong mạng này?
Trang 56•Là kỹ thuật mở rộng địa chỉ cho nhiều mạng trên cơ sởmột địa chỉ mạng mà NIC phân cho.
•Là kỹ thuật cho phép nhà quản trị chia một mạng thànhnhiều mạng con nhỏ
•Lợi ích:
- Đơ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 58•Nguyên tắc chia mạng con:
- Phần nhận dạng mạng (Network ID) của địa chỉ mạngban đầ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ạngcon (Host ID)
Trang 59•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ảituâ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
- Lớp C: 06 (= 8 – 2) bit -> 26= 64 mạng con
Trang 60•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ếumuố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 61•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 63•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 64•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 65Bà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 66•Bước 1: Xác định Class và Subnet Mask mặc định.
- Địa chỉ trên viết dưới dạng nhị phân:
Trang 67•Bước 2: Xác định số bit cần mượn.
- Cần mượn bao nhiêu bit:
Trang 68• Bước 3: Xác định vùng địa chỉ của Host.
STT SubnetID Vùng HostID Broadcast
Trang 69- 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 71•Thực hiện phép AND địa chỉ IP với Subnet Mask
Trang 72•Chuyển IP sang dạng thập phân:
0000 1001
Trang 73•Địa chỉ IP thứ hai: 192.168.5.39/28
Trang 74•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 75•Liệt kê tất cả các địa chỉ IP:
Trang 76Bà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 77- Địa chỉ IP mới sẽ là 139.12.0.0/ 19 (để ý con số
19 thay vì 16 như trước đây)
Trang 78• Liệt kê ID của Subnet Mask mới:
Trang 79• NetworkID của các mạng con mới:
Trang 80•Vùng địa chỉ IP của các HostID:
Trang 81• 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 (với
Trang 83Bà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 84• Tính Subnet Mask:
- Subnet mask:
- Byte đầu tiên chắc chắn khi dùng phép toán
AND ra kết quả bằng 102 → không cần đổi 102 sang nhị phân
Trang 86•Dải địa chỉ Host:
Trang 87Bà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 88Bướ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 = 10100 00 0(2)
- Phần 2 bit 00 là nơi ta mượn làm subnet
Trang 89Bước 2: Xác định địa chỉ mạng con
Trang 90Bước 3: Xác định dải địa chỉ Host
Trang 91Bà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 92Bướ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 = 11 00 0000(2)
- Phần 2 bit 00 là nơi ta mượn làm subnet
Trang 93• Bước 2: Xác định địa chỉ mạng con
Trang 94Bước 3: Xác định dải địa chỉ Host
Trang 95Bà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 96• 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 97Bước 1:
- Gọi n là số bít cần mượn để chia mạng con thỏa mãnmạ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 ≥
Trang 98– Và lấy mạng thứ 1 là 50.68.24.0/21 đem chia tiếp (ở
bước tiếp theo)
Trang 99 số mạng con mới là 21 = 2 mạng con, địa chỉ Subnet
Mask mới của 2 mạng con này là 21 + 1 = /22;
mỗi mạng con này sẽ có 2^h - 2 = 2^10 - 2 = 1022
địa chỉ host
Trang 100– Lấy địa chỉ mạng thứ 0 là 50.68.24.0/22 đem cấp
cho mạng yêu cầu 632 host;
– Và lấy mạng thứ 1 là 50.68.28.0/22 đem chia tiếp
Trang 101 số mạng con mới là 21 = 2 mạng con, Subnet Mask
mới của 2 mạng con này là 22 + 1 = /23;
mỗi mạng con này sẽ có 2^h - 2 = 2^9 - 2 = 510 địa
chỉ host
Trang 103 số mạng con mới là 23 = 8 mạng con, địa chỉ Subnet
Mask mới của 2 mạng con này là 23 + 3 = /26;
mỗi mạng con này sẽ có 2^h - 2 = 2^6 - 2 = 62 địa
chỉ host
Trang 105Kết luân tại bước 4:
– Lấy địa chỉ mạng thứ 0 là 50.68.30.0/26 đem cấp cho mạng yêu cầu 60 host;
– Và lấy mạng thứ 1 là 50.68.30.64/26 đem chia tiếp (ở bước tiếp theo)
Trang 106 số mạng con mới là 24 = 16 mạng con, địa chỉ
Subnet Mask mới của 16 mạng con này là 26 + 4 =
/30
mỗi mạng con này sẽ có 2^h - 2 = 2^2 - 2 = 2 địa
chỉ host
Trang 107Bước 5:
Mạng thứ 0: tương tự bước trên, ta có ngay kết quả là
50.68.30.64/30
Các mạng tiếp theo, nếu cần có thể tính tương tự trên
Kết luận tại bước 5:
Lấy địa chỉ mạng thứ 0 là 50.68.30.64/30 đem cấp cho mạng yêu cầu 2 host