Tải bản đầy đủ (.doc) (4 trang)

Tài liệu Quá trình trao đổi dữ liệu giữa hai máy pptx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (65.77 KB, 4 trang )

Quá trình trao đổi dữ liệu giữa hai máy

Tác giả: Đng Quang Minh

Tài liệu tham khảo cho học viên CCNA của VnPro
Máy A muốn liên lạc với máy X,phải biết IP address của nó (hoặc
hostname/domainname).Máy A dò trong ARP cache để tìm địa chỉ MAC đích
có chưa,nếu chưa sẽ dùng ARP gửi thông điệp (broadcast) đến tòan mạng .

Có 2 trường hợp:
1/ Host X cùng segment với nó :

Host A gửi thông điệp với địa chỉ IP đích (đã biết) và MAC đích là FF-FF-FF-
FF-FF-FF để hỏi xem MAC của địa chỉ này là gì.Các host trên segment đều
nhận và xử lý gói này ,host nào có địa chỉ IP trùng với yêu cầu sẽ gửi lại thông
tin cho host A là "IP này có MAC là : ".Host A nhập thông tin vào ARP
cache (RAM).Khi muốn liên lạc với X thì lại tra trong ARP cache để biết địa chỉ
MAC cần đến.

ARP là gì?
Trong protocol TCP/IP có ARP protocol. ARP tự động cập nhật các MAC tương
ứng với các IP và xây dựng một bảng ARP table trong máy tính trong cùng
mạng subnet.
Khi này , nếu A và X ở trong cùng LAN, thì khi A muốn gửi packet cho X, no'
sẽ match IP của X với MAC tương ứng trong bang ARP của no'.
Nếu A biết IP của X , nhưng không match được MAC tương ứng trong bang
ARP của no' , thì khi này nó sẽ gứi một packet , gọi là ARP request, với địa chỉ
MAC broadcast FFFFFFFFFF . Khi này tất cả máy tính trên cùng một mạng sẽ
nhận được gói này và chuyển lên lớp Network; nhưng chỉ có máy có IP match
với IP destination address trong ARP request mới gửi trả lại gói tin có chứa dia
chỉ MAC tương ứng mà máy A muộn tìm . Gói tin này là ARP reply.


Khi đó gói tin ARP request sẽ có MAC nguồn là MAC của A, MAC đích là FF-
FF-FF-FF-FF-FF.
Nếu Host X available trên Segment thì nó sẽ biết là gói tin này gửi cho nó nhờ
vào địa chỉ IP mà Host A ghi trong gói tin ARP request và nó sẽ trả lời bằng 1
gói tin ARP reply. Gói tin ARP reply sẽ có MAC nguồn là MAC của Host X,
MAC đích là MAC của Host A, khi Host A nhận được gói tin này tự nhiên sẽ
biết được MAC của X.
Sau khi A nhận được ARP reply , nó sẽ mở gói và update bảng ARP table của
nó: IP và MAC của máy X.
2/ Host X không cùng segment với host A :

lúc đó phải nhờ đến router để forward yêu cầu này đến các segment khác. Trong
trường hợp này, router sẽ gửi địa chỉ MAC của interface mà nhận gói ARP
request trên Router cho máy gửi ( máy A ).
Một cách khác để liên lạc với một máy tính khác không cùng nằm trên 1
segment là "default gateway". Default Gateway là một phần của một host (máy
tính). Nó là một địa chỉ IP của một interface trên router, và được cấu hình cho
host. Địa chỉ IP của host và của Default Gateway phải cùng segment mạng. Khì
này, máy gửi (A) sẽ kiểm tra xem nó và máy nhận (B) có cùng nằm trên một
subnet hay không. Nếu không, nó sẽ đóng gói packet gửi với IP destination
address là của máy nhận và MAC address destinaiton là của Router nối với
subnet của nó.
Nếu Proxy ARP hay default gateway không được cấu hình, thì không có
"traffic" nào có thê rời khỏi một subnet (một mạng cục bộ). Phải có một trong
hai cái được cấu hình ( hay cho phép) để có thể giao tiếp với các segment mạng
khac được.
"IP source và dest không bao giờ thay đổi, chỉ có MAC source và dest là thay
đổi thôi".
Proxy ARP: Theo cách thức hoạt động của proxy ARP, ta có thể thấy rằng client
khi muốn biết MAC của một host nào đó, nó chỉ đơn giản là broadcast ARP-

Request lên mạng. Router sẽ có trách nhiệm đáp trả lại bằng ARP-Reply nếu nó
nhận thấy IP-destination là thuộnc mạng khác. Như vậy, cấu hình IP cho client
cực kỳ đơn giản, nhưng gánh nặng lại đè lên router. Thử tưởng tượng cứ sau 1p',
ARP-entry bị hủy bỏ, thế là các client thi nhau broadcast lên mạng thì router
"tiêu" như chơi. Ngoài ra, proxy ARP còn gặp một bất lợi nếu trong segment có
tới hơn 1 router. Chọn router nào, nếu như các router đều có route đến mạng
đích?
Default-Gateway: Nếu client biết rằng IP-dest không thuộc mạng của nó, nó
dùng MAC của default-gateway để gửi gói tin, router default-gateway nhận lấy
gói tin sẽ biết phải xử lý tiếp theo như thế nào (dựa trên IP source/destination).
Cách này giảm tải cho router, giải quyết được trường hợp có nhiều router nối
vào cùng segment, và đỡ gây nhầm lẫn.
Nếu Host A có cấu hình sử dụng Defaul gateway trong TCP/IP protocol thì gói
tin ARP request sẽ không phải dạng Broadcast mà được gửi thẳng đến cho
Router ( TCP/IP stack quy định như vậy). Tất nhiên để gửi được gói tin này đến
cho Router thì nó cũng phải request MAC của defaul gateway trên Router trước,
sau đó khi có MAC của default gateway thì Host A sẽ tạo 1 gói tin ARP request
MAC của Host X với IP đích là IP Host X, MAC đích là MAC của default
gateway.

Khi Router gateway nhận được gói tin này thì nó sẽ Forward qua interface trên
segment thích hợp, tại đây phần Datalink header sẽ được lấy ra (Pull out) và
phần Datalink header mới sẽ được gắn vào với mục đích để truyền trên Segment
của Host B. Khi Host B nhận được gói tin ARP request thì cũng sẽ trả lời lại
bằng gói tin ARP reply được gửi đến DF gateway trên Segment của nó. Khi
Router nhận được gói tin này cũng làm việc tương tự như khi gửi đi từ Host A
(pull out Datalink header, gắn datalink header mới v.v )
Nếu Host A không có cấu hình default gateway (tất nhiên sẽ broadcast gói tin
ARP request) nhưng nếu Router trên Segment của host A có chức năng ARP
Proxy thì căn cứ trên IP mà gói tin ARP request yêu cầu ROUTER sẽ so sánh

với Routing Table của nó và nhận gói tin này nếu Match trong Routing table,
sau đó sẽ forward qua Segment thích hợp. Quá trình tiếp theo tương tự như
trường hợp A.
Như vậy : nếu 1 trong 2 default gateway của 2 segment cấu hình sai thì sẽ dẫn
đến việc Host A không thể liên lạc được với Host X và ngược lại. Ngoài ra nếu
thời gian tồn tại của ARP cache trong memory quá lâu công với việc có thay đổi
MAC của DF gateway sẽ dẫn đến việc tạm thời không thể thực hiện ARP
request.
Ví dụ minh họa cho các lý thuyết nêu trên:
xin lưu ý các IP cùa source và destination là không thay đổi chỉ có mac là thay
đổi thôi. các bạn xem một ví dụ sau để đễ hiểu hơn nhé
máy A Router1 router2 router3 máy B
đầu tiên máy A đóng gói gói tin như sau
IP nguồn là IP của máy A. IP đích là IP của máy B xuống đến tầng datalink máy
A sẽ xem máy B có trong cùng subnet với mình không, trong truờng hợp này là
không.
lúc này máy A sẽ dùng :
MAC nguồn là của máy A. MAC đích là mác của interface trên router1 nối với
subnet A.
Router1 sẽ xem IP đích có nằm trong subnet của mình hay không trong truờng
hợp này là không, lúc này router sẽ dóng gói địa chỉ MAC nguồn là mác cùa
interface mà router này nối với router2, mác đích sẻ là mác trên interface của
router2, router2 cũng xử lý giống router 1 và chuyển đến router3.
Router3 sẽ xem IP này có nằm trong subnet của mình không, nếu có thì nó sẽ
xem xét địa chỉ mac tương ứng với IP này (router3 biết được vì nó tra trong
bảng ARP của nó có chứa máy B vì B cùng subnet) ư1ng với IP này router3 xác
định đưọc MAC là máy B lúc này máy B nhưng nó vẩn gửi Brodcast đến tất cả
các máy trong subnet có máy B nhưng chỉ máy B nhận gói tin vì nó có MAC
trùng với MAC đích trong gói tin.
A sẽ gửi 1 gói tin gọi là ARP request (ARP = Address Resolution Protocol)

bằng cơ chế broadcast để tất cả các máy đều có thể nhận được gói tin này

×