Giao thức kiểm soát và điều khiển lỗi trong TCP IP (ICMPIGMP) DT5 Báo cáo bài tập lớn môn Mạng máy tính Viện điện tử viễn thông Đại học Bách Khoa Hà Nội
Trang 1GIAO THỨC KIỂM SOÁT VÀ
ĐIỀU KHIỄN LỖI TRONG TCP/IP
(ICMP/IGMP)
NHÓM: LÊ ĐỨC ANH
VÕ XUÂN SƠN
GIỚI THIỆU GIAO THỨC TCP/IP
• Vào cuối những năm 1960 và đầu 1970
trung tâm nghiên cứu cấp cao thuộc bộ
quốc phòng Mỹ (Department of
Defense-DoD) được giao trách nhiệm phát triển
mạng ARPANET bao gồm mạng của các
tổ chức quân đội ,các trường đại học, các
trung tâm nghiên cứu và được dùng để hỗ
Trang 2GIỚI THIỆU GIAO THỨC TCP/IP
• Đầu những năm 1980 một bộ giao thức
mới được đưa ra làm bộ giao thức chuẩn
cho mạng ARPANET và các mạng của
DoD mang tên DARPA internet protocol
suit, và thường được gọi là bộ giao thức
TCP/IP (transmission control protocol/
Trang 3Các lớp tương ứng giữa OSI và
Các giao thức tương ứng với các
lớp trong kiến trúc của TCP/IP
Application
Layer
SNMP SMTP
TELNET
RIP
Transsmission Control Protocol
User Datagram Protocol
Trang 4• FTP(Files transfer protocol):Giao thức truyền
tệp cho phép người dùng lấy hoặc gửi file
đến một máy khác
• Telnet : Chương trình mô phỏng thiết bị đầu
cuối cho phép người dùng truy cập vào máy
chủ từ một máy tính nào đó trên mạng
• SMTP(Simple mail transfer protocol): Một
giao thức thư tín điện tử
• DNS (Domain Name Server) : Dịch vụ tên
miền cho phép nhận ra máy tính từ một tên
miền thay cho chuỗi địa chỉ internet khó nhớ
• SNMP(Simple Simple Monitoring
protocol): Giao thức quản trị mạng cung
Trang 5• UDP(User Datagram protocol): Giao thức
truyền không kết nối cung cấp dịch vụ
truyền không tin cậy nhưng giảm chi phí
truyền
• IP(Internet Protocol):Giao thức internet
chuyển giao các gói tin qua các máy tính
đến đích
DATA Application
Trang 6Giao thức kiểm soát và điều khiển
lỗi ICMP
• IP là một giao thức best-effort để chuyển
gói tin tới đích Nó không hề có cơ chế
nào để xác nhận dữ liệu đã được chuyển
tới đích hay chưa
• Dữ liệu có thể gặp sự cố trên đường đi do
các nguyên nhân sau : phần cứng bị hỏng
cấu hình sai hoặc thông tin định tuyến
không đúng
CÊu tróc gãi tin IP
VERS HLEN SERVICE TYPE TOTAL LENGTH
IDENTIFICATION FLAG FRAGMENT OFFSET
TIME TO LIVE PROTOCOL HEADER CHECK SUM
Trang 7• IP sử dụng giao thức ICMP (internet
control message protocol) để thông báo
cho máy nguồn biết là đã có sự cố xảy ra
trong đường truyền dữ liệu
• Am hiểu về ICMP là một phần rất quan
trong giúp bạn xử lí sự cố mạng và hiểu
được một cách đầy đủ về mạng IP
• ICMP là một giao thức thông báo lỗi của
IP khi quá trình truyền xảy ra lỗi thì ICMP
được sử dụng để thông báo lỗi cho người
gửi
• Khi các thông điệp ICMP gặp sự cố ICMP
sẽ không tạo thêm các thông điệp báo lỗi
cho chính nó
Trang 8Truyền thông điệp ICMP
• Thông điệp ICMP được đóng gói giống như các
dữ liệu khác khi truyền đi bằng IP
Trang 9Điều kiện để thực hiện thông tin
liên lạc được
• Thiết bị gửi và thiết bị nhận phải được cấu
hình đúng bộ giao thức TCP/IP
• Khai báo default gateway nếu thiết bị cần
truyền dữ liệu ra ngoài phạm vi cục bộ
• Các thiết bị trung gian phải thực hiện định
tuyến đúng để chuyển gói tin từ nguồn
đến đích (router)
Trang 10Lệnh Ping
• Được sử dụng để kiểm tra xem địa chỉ
đích có đến được hay không
• ICMP có thể gửi thông điệp echo request
đến máy đích nếu nhận được máy đích sẽ
gửi lại thông điệp echo reply cho máy
nguồn
Trang 11Phát hiện đường truyền quá giới
hạn
• Gói giữ liệu khi truyền đi trên mạng có thể
truyền lòng vòng không bao giờ đến đích
điều này có thể xảy ra khi thông tin định
tuyến là sai Ví dụ : 2 router cứ gửi một gói
dữ liệu cho nhau vì router này nghĩ router
kia là trạm kế tiếp đến đích
• Giao thức định tuyến có qui định giới hạn
để xác định mạng đích không đến được
Trang 12• Mỗi gói dữ liệu đều có một giá trị TTL(time
to live) mỗi router sau khi xử lí gói dữ liệu
đều giảm giá trị của TTL đi 1 khi giá trị
TTL = 0 thì router sẽ hủy bỏ gói dữ liệu đó
Trang 13Thông điệp ECHO
• Thông điệp ICMP gồm có 3 phần :
• Code : cho biết chi tiết hơn về thông điệp ICMP
• Checksum : đựợc sử dụng cho kiểm tra lỗi cho
dữ liệu
Trang 14Thông điệp Destination
Unreachable
• Khi dữ liệu không đến được đích thì ICMP
sẽ gửi thông điệp destination unreachable
cho máy nguồn để thông báo là có dữ liệu
không chuyển được đến đích
Trang 15Thông điệp điều khiển của TCP/IP
• Không giống như thông điệp báo lỗi thông
điệp điều khiển không phải được tạo ra do
mất dữ liệu hay do lỗi quá trình truyền
• Thông điệp điều khiển dùng để thông báo
cho host biết về tình trạng nghẽn mạch
trên mạng hay có một gateway tốt hơn
dẫn đến đích
Trang 16• Thông điệp điều khiển được đóng gói
trong gói IP, ICMP sử dụng gói IP để
truyền thông điệp trên mạng
• Một số loại thông điệp điều khiển thường
gặp
Trang 17Thông điệp ICMP redirect / change
request
• Là thông điệp thường gặp nhất được
tạo ra bởi gateway mà thông thường nó
chính là router
• Tất cả các host khi muốn thông tin liên
lạc với các mạng IP đều phải được cấu
request tới host H
để thông báo host
H nên sử dụng R2
làm gateway cho tất
Trang 18• Default gateway chỉ gửi thông điệp ICMP
redirect/change request khi:
– Cổng router nhân gói dữ liệu vào cũng chính là cổng
chuyển gói dữ liệu đi
– Địa chỉ IP của máy nguồn là cùng một mạng/subnet
với địa chỉ IP của trạm kế tiếp
– Gói dữ liệu nhận được không phải gửi ngược lại máy
nguồn
– Con dường mà router thực hiện thông báo cho host
không phải là đường mặc định của router và cũng
không phải của ICMP redirect khác
– Router phải được cấu hình để thực hiên redirect
Cấu trúc ICMP redirect/change
request
Trang 19Đồng bộ đồng hồ và ước tính thời
gian truyền dữ liệu
• Bộ giao thức TCP/IP cho phép hệ thống
mạng này kết nối với hệ thống mạng khác
Mỗi một hệ thống mạng lại có một cơ chế
đồng bộ đồng hồ riêng Do đó, một host ở
mạng khác sử dụng phần mềm cần đồng
bộ thời gian để thực hiện liên lạc có thể
gặp rắc rối
• Thông điệp ICMP timestamp được thiết kế
để giải quyết vấn đề này
Trang 20• Tất cả các thông điệp ICMP timestamp
đều có đầy đủ 3 thông số:
– Thời điểm gửi gói request
– Thời điểm nhận request
– Thời điểm gửi gói reply
• Dựa vào 3 thông số này host có thể ước
lượng được khoảng thời gian dữ liệu
truyền trên mạng từ máy nguồn đến máy
đích
Thông điệp information request và
reply
• Thông điệp ICMP information request và
reply cho phép host xác định địa chỉ mạng
của nó
• Loại thông điệp này của ICMP đã quá lỗi
Trang 21Thông điệp Address Mask
• Nếu host không biết subnet mask nó có
thể gửi thông điệp Address Mask cho
router của nó
• Khi router nhận được yêu cầu này ,nó sẽ
gửi thông điệp Address Mask reply để trả
lời
Thông điệp tìm router
• Khi một host chưa được cấu hình default
gateway nó có thể tìm default gateway
bằng thông điệp router discovery
Trang 22• Host gửi thông điệp router solicitation cho
tất cả các router
• Khi nhận được thông điệp trên nếu router
có hỗ trợ qúa trình này sẽ trả lời bằng
thông điệp router advertisement
Thông điệp báo nghẽn và điều
khiển luồng dữ liệu
Trang 23Giao thức IGMP(Internet Group
Management Protocol)
• IGMP( internet group management protocol) là
một giao thức truyền thông được sử dụng để
quản lí các thành viên của các nhóm internet
protocol multicate.
• IGMP được gửi giữa IP host và multi router để
thiết lập các thành viên nhóm multicate.
• IGMP có thể được sử dụng cho games online,
video online và cho phép sử dụng hiệu quả
nguồn tài nguyên.
Trang 24IGMP version 0
• IGMP được dùng giữa IP hosts và những
multicast agents ngay cạnh chúng để giúp
cho viêc đinh vi đia chỉ cac nhóm tạm thời
và hỗ trợ việc thêm hoặc bớt những thành
viên của nhóm
Cấu trúc của IGMP v0
Trang 25• Code :
– xác định host group mới tạo ra là public hay
private trong thông điệp Create Group
Request
Code Description
0 Public.
1 Private
– Trong thông điệp Reply nó cho biết kết quả
của yêu cầu:
• 0 Request granted
• 1 Request denied, no resources
• 2 Request denied, invalid code
• 3 Request denied, invalid group address
• 4 Request denied, invalid access key
• 5-255 Request pending, retry in this many seconds
Trang 26• IGMP Checksum :dùng để kiểm tra thông
điệp IGMP
– Đầu tiên checksum được đặt bằng 0 và đươc
đính vào trong gói tin.Khi bên thu nhận được
nó sẽ so sánh 2 giá trị này với nhau
IGMP v1
• IGMP được dùng bởi IP hosts để báo cáo
thành viên của nhóm chủ( host group) tới
các multicast routers ngay cạnh.IGMP là
một giao thức không đối xứng và được
Trang 27Cấu trúc IGMPv1
• Version: 4 bits và đươc đặt là 1
• Type: 4 bits
Type Description
1 Host Membership Query
2 Host Membership Report
3 DVRMP
IGMPv2
- IGMPv2 cho phép thành viên của nhóm
nhận được báo cáo từ giao thức định
tuyến môt cách nhanh chóng
Trang 29• Max Response Time: 8 bits.
– Chỉ được dùng trong thông điệp truy vấn các
thành viên
IGMPv3
• IGMP 3 hosts va routers hoạt động đan
xen qua lại với những hosts va routers
chưa được nâng cấp vào IGMPv3
Trang 30So sánh truy vấn giữa các phiên
bản v1,v2 và v3
• Thông điệp truy vấn các thành viên của
các phiên bản IGMP được xác định như
sau: