NHÓM 2_KHMT1-K4_UDP & ARP
M C L C Ụ
Ụ
Ụ
2 L I NÓI Đ U ..............................................................................................................................
Ờ
Ầ
ộ
ả
ậ
ể
ế
ề
ố ệ
ố ớ
ệ
ỹ ễ
ế ứ
ạ
ặ
ư
ề
ỹ
ụ ố ệ ả i là xu t phát đi m cho đa d ch v m t xu th t
ế ấ ế
ậ ể
ễ
ạ
ạ
ệ ử ố ệ i pháp cho d ch v s li u, nh ng k thu t truy n s li u ậ t y u trong m ng vi n thông và ế
ứ ơ ở ữ
ẽ
ề
ạ
ạ
t r ng không có ki n th c c s v ng vàng s ứ ơ ả
ế ằ ậ ớ
ữ
ẽ
ế
ậ
ấ ệ ể ứ ấ
ụ ạ
ự
ề
ỉ
K thu t truy n s li u là m t m ng ki n th c không th thi u đ i v i sinh viên ngành đi n t ứ vi n thông và công ngh thông tin. Đây là n n t ng nghiên c u chuyên sau trong chuyên ề ả ngành này. M c dù m ng đ m gi ị ngày nay l ụ ộ ị m ng máy tính hi n đ i. Chúng ta đ u bi không có phát tri n ng d ng vì v y bài t p l n này s trình bày nh ng ki n th c c b n nh t ấ t th c nh t. Do ph m vi đ tài là “Giao th c UDP và ARP” nên nhóm chúng em ch trình và thi ế ứ 2 bày m t ph n nh trong ngành truy n d li u. .......................................................................... ộ
ữ ệ
ề
ầ
ỏ
ủ
ớ ế
ứ
ộ
ẫ ậ ạ
ậ
ự
ị
ầ ỹ ư ậ ớ
ế ề ặ ể
ứ ữ
ế ỏ
ấ
ậ
ng d n t n tình c a th y giáo Th.S Đoàn Văn Trung, c ng v i ki n th c đã h c V i s h ọ ớ ự ướ ậ ớ c c a môn M ng máy tính, K thu t truy n s li u chúng em đã hoàn thành bài t p l n đ ố ệ ề ượ ủ ự ế này đúng th i gian quy đ nh. Nh ng do còn h n ch v m t ki n th c và th c hành tr c ti p ạ trên các h th ng th t nên bài t p l n này không th tránh kh i nh ng sai sót. R t mong nh ng ý ki n đóng góp c a th y giáo đ bài t p l n này hoàn thi n h n.
2 ................................
ờ ệ ố ế
ậ ớ
ữ
ủ
ề
ệ
ầ
ơ
3 GIAO TH C UDP VÀ ARP .........................................................................................................
Ứ
3 A.Tìm hi u v giao th c UDP ..................................................................................................
ứ
ể
ề
3 1.T ng giao th c ..................................................................................................................
ứ
ầ
3 2.Nguyên lý làm vi cệ ............................................................................................................
6 3.C u trúc đ n v d li u .................................................................................................... ơ
ị ữ ệ
ấ
4. u và nh
7 c đi m c a giao th c UDP ............................................................................
Ư
ượ
ứ
ủ
ể
5.Nh ng v n đ c n gi ấ
ề ầ
ữ
ả
8 i quy t ........................................................................................... ế
10 6.Ví d minh h a giao th c UDP ....................................................................................... ọ
ụ
ứ
10 B.Tìm hi u v giao th c ARP ................................................................................................
ứ
ể
ề
10 1.T ng giao th c ................................................................................................................
ứ
ầ
11 2.Nguyên lý làm vi cệ ..........................................................................................................
14 3.C u trúc đ n v d li u ................................................................................................... ơ
ị ữ ệ
ấ
4.Nh ng v n đ c n gi ấ
ề ầ
ữ
ả
14 i quy t ......................................................................................... ế
17 5.ARP Caching ...................................................................................................................
18 6.Proxy ARP .......................................................................................................................
21 I-PHÂN TÍCH CÁC GÓI TIN DÙNG WIRESHARK ....................................................................
22 K T LU N .................................................................................................................................
Ậ
Ế
23 TÀI LI U THAM KH O ..............................................................................................................
Ả
Ệ
Ụ 1 M C L C ....................................................................................................................................
1
BTL K THU T TRUY N S LI U
Ề Ố Ệ
Ậ
Ỹ
NHÓM 2_KHMT1-K4_UDP & ARP
L I NÓI Đ U Ờ Ầ
ỹ ộ ế ể ế ề ố ệ
ứ ệ ệ ử ễ
ứ ặ ạ
ậ ỹ
ấ ị ể ư ụ ộ ạ
ạ ạ
ứ ơ ở ữ ẽ ậ
ế ấ ế ề ể ứ ấ ế ằ ụ ế ứ ơ ả ự ẽ
ữ ứ ề ỉ
ố K thu t truy n s li u là m t m ng ki n th c không th thi u đ i ả ậ vi n thông và công ngh thông tin. Đây là n n v i sinh viên ngành đi n t ề ớ t ng nghiên c u chuyên sau trong chuyên ngành này. M c dù m ng đ m ậ ả ạ i i pháp cho d ch v s li u, nh ng k thu t truy n s li u ngày nay l gi ề ố ệ ụ ố ệ ả t y u trong m ng vi n là xu t phát đi m cho đa d ch v m t xu th t ễ ị ế t r ng không có ki n thông và m ng máy tính hi n đ i. Chúng ta đ u bi ệ th c c s v ng vàng s không có phát tri n ng d ng vì v y bài t p l n ậ ớ t th c nh t. Do ph m này s trình bày nh ng ki n th c c b n nh t và thi ạ ấ ế ộ vi đ tài là “Giao th c UDP và ARP” nên nhóm chúng em ch trình bày m t ph n nh trong ngành truy n d li u. ề ữ ệ ầ ỏ
ầ ủ ẫ ậ ộ
ọ ượ ủ ớ ự ướ ứ ế ậ ỹ
ị
ậ ớ ứ ờ ự ự ế ế ạ
ế ề ặ ậ ớ ữ
ớ ng d n t n tình c a th y giáo Th.S Đoàn Văn Trung, c ng v i V i s h ề ố ệ ki n th c đã h c đ c c a môn M ng máy tính, K thu t truy n s li u ạ chúng em đã hoàn thành bài t p l n này đúng th i gian quy đ nh. Nh ng do ư ệ ố còn h n ch v m t ki n th c và th c hành tr c ti p trên các h th ng th t nên bài t p l n này không th tránh kh i nh ng sai sót. R t mong ấ ể nh ng ý ki n đóng góp c a th y giáo đ bài t p l n này hoàn thi n h n. ỏ ậ ớ ậ ữ ủ ề ệ ế ầ ơ
2
BTL K THU T TRUY N S LI U
Ề Ố Ệ
Ậ
Ỹ
NHÓM 2_KHMT1-K4_UDP & ARP
GIAO TH C UDP VÀ ARP Ứ
A. Tìm hi u v giao th c UDP ể ề ứ
1. T ng giao th c ứ ầ
TCP/IP là m t h các giao th c đ ọ ọ
ả ầ
ồ ứ ộ ứ ộ ọ ớ ằ ứ
ầ ứ ứ ấ ứ
ạ ấ
ỉ ả ị ử ụ ặ
ề
ữ ư ượ
ứ ứ ế ả ấ ị
ế ề ộ
c s d ng th ầ ậ ng đ ượ ử ụ ớ ố ườ ề ộ
ứ ậ ứ ầ
ề ướ ạ ỉ
ồ c g i là h giao th c IP, bao g m ứ ượ ự ự b n t ng. C n nh r ng TCP/IP không ph i là m t giao th c mà th c s là ố ầ m t h các giao th c, và bao g m các giao th c m c th p khác nh IP, ư ộ ọ t ng giao v n, phía trên giao th c IP. T ng giao TCP, và UDP. UDP n m ằ ở ầ ậ v n cung c p kh năng truy n tin gi a các m ng thông qua các gateway. ề ữ ậ ạ Nó s d ng các đ a ch IP đ g i các gói tin trên Internet ho c trên m ng ể ử ầ t b khác nhau. TCP và UDP là m t ph n thông qua các trình đi u khi n thi ộ ế ị ể c a h giao th c TCP/IP; m i giao th c có nh ng u và nh c đi m riêng ể ứ ỗ ủ ọ c a nó. Giao th c UDP là giao th c đ n gi n, phi liên k t và cung c p d ch ứ ơ ủ v trên t ng giao v n v i t c đ nhanh. Nó h tr liên k t m t-nhi u và ỗ ợ ụ ộ ng xuyên trong liên k t m t-nhi u b ng cách th ằ ế ườ s d ng các datagram multicast và unicast. Giao th c IP là giao th c c b n ứ ơ ả ử ụ ứ ơ c a Internet. TCP và UDP đ u là hai giao th c t ng giao th c v n trên c ủ s c a giao th c IP. Hình d ạ i đây ch ra cách ánh x mô hình OSI ánh x ứ ở ủ vào ki n trúc TCP/IP và h giao th c TCP/IP. ứ ế ọ
2. Nguyên lý làm vi cệ
a. M t s thu t ng ộ ố ậ ữ
3
BTL K THU T TRUY N S LI U
Ề Ố Ệ
Ậ
Ỹ
NHÓM 2_KHMT1-K4_UDP & ARP
Tr ể ướ ứ
ư ế i đây, chúng ta s c khi ki m tra xem giao th c UDP ho t đ ng nh th nào, chúng ẽ ộ ố ướ ữ ầ ớ
ta c n làm quen v i m t s thu t ng . Trong ph n d đ nh nghĩa m t s thu t ng c b n có liên quan đ n giao th c UDP. ị ạ ộ ầ ế ậ ữ ơ ả ộ ố ứ ậ
• Packet
ề ố ệ ễ ộ ị
ố ượ ệ ề ể ể
c s p x p theo m t khuôn d ng c i host. Trong gói tin, thông tin đ ữ ể c chuy n đi và chuy n ể ụ ượ ắ ế ạ ộ
Trong truy n s li u, m t packet là m t dãy các s nh phân, bi u di n d ộ li u và các tín hi u đi u khi n, các gói tin này đ ệ i t t ớ ớ th .ể
• Datagram
ộ ứ ộ ậ ủ ữ ệ ch a, mang đ y đ d li u đ ầ
t t ộ ặ ư
ả ố ộ
ề ng m ng cho tr c có th ữ ệ ớ ướ ườ ạ
ữ ệ ố ấ ố ị
ụ ộ
ơ ớ ỏ ơ ẽ ự ậ ế ạ ỏ ệ ỗ ầ ạ ạ
M t datagram là m t gói tin đ c l p, t ể ộ ự đ nh tuy n t ngu n t i đích mà không c n thông tin thêm. MTU. MTU là ồ ớ ế ừ ị ầ vi t c a Maximum Transmission Unit. MTU là m t đ c tr ng c a t ng ủ ầ ế ắ ủ lien k t mô t s byte d li u t i đa có th truy n trong m t gói tin. M t ặ ể ế ể khác, MTU là gói d li u l n nh t mà môi tr truy n. Ví d , Ethernet có MTU c đ nh là 1500 byte. Trong UDP, n u kích ề c c a m t datagram l n h n MTU, IP s th c hi n phân đo n, chia th ướ ủ datagram thành các ph n nh h n (các đo n), vì v y m i đo n nh có kích th c nh h n MTU. ỏ ơ ướ
• Port
ể ộ ế
ạ ị
ử ụ ạ ằ ườ ượ ị
ế ở
ố ể 0 đ n 65535. Các c ng cũng đ ổ ể ả ừ ổ ế ư
c chia thành ba lo i sau: UDP s d ng các c ng đ ánh x d li u đ n vào m t ti n trình c th ạ ữ ệ ổ đang ch y trên m t máy tính. UDP đ nh đ ộ ị đ nh b ng cách s d ng s hi uc ng đ ệ ổ ử ụ ị datagram. Các c ng đ ễ ượ trong d i t ổ c a các liên k t logic, và đ ế ủ ụ ể ế i v trí xác ng đi cho packet t ủ c xác đ nh trong header c a ằ c bi u di n b i các s 16-bit,vì th các c ng n m ố ố c xem nh là các đi m cu i ượ ạ ượ
o Các c ng ph bi n: T 0 đ n 1023 ổ ế ừ ế ổ
o Các c ng đã đăng ký: 1024 đ n 49151 ế ổ
o Các c ng đ ng/dành riêng 49152 đ n 65535 ế ổ ộ
ề ậ ổ ơ ộ ệ ở ộ m t
Chú ý r ng các c ng UDP có th nh n nhi u h n m t thông đi p ể th i đi m. ằ ể ờ
4
BTL K THU T TRUY N S LI U
Ề Ố Ệ
Ậ
Ỹ
NHÓM 2_KHMT1-K4_UDP & ARP
ng h p, các d ch v TCP và UDP có th s d ng cùng ộ ố ườ ể ử ụ ụ ợ ị
Trong m t s tr m t s hi u c ng nh 7 (Echo) ho c trên c ng 23 (Telnet). ộ ố ệ ổ ư ặ ổ
UDP có các c ng thông d ng sau: ụ ổ
• TTL (Time To Live)
t l p m t gi i h n trên c a các router mà ị ộ ủ
ộ
ế ậ ị ạ ở ạ ể ị ượ ặ
ị ượ ế ỗ ả ằ ở
Giá tr TTL cho phép chúng ta thi ớ ạ ỏ ị ẹ m t datagram có th đi qua. Giá tr TTL ngăn ng a các gói tin kh i b k t ừ c kh i t o b i phía g i và trong các vòng l p đ nh tuy n vô h n. TTL đ ử ở giá tr đ c gi m đi b i m i router qu n lý datagram. Khi TTL b ng 0, ả datagram b lo i b . ị ạ ỏ
• Multicasting
ự ố ng pháp d a trên chu n có tính ch t m đ phân ph i ở ể ấ
ề ế ẩ ộ ặ i dùng. Multicasting là m t đ c ườ
Multicasting là ph ươ các thông tin gi ng nhau đ n nhi u ng ố tr ng chính c a giao th c UDP. ủ ứ ư
ề ể
t ậ
ng trình demo tr c tuy n. ụ ử Multicasting cho phép chúng ta truy n tin theo ki u m t nhi u, ví d g i ề ộ tin ho c th đi n t i nh n, đài phát thanh trên Internet, ườ ặ ho c các ch ế ư ệ ử ớ ươ i nhi u ng ề ự ặ
b. Nguyên lý ho t đ ng ạ ộ
ứ ề ữ ệ ụ ế ị ạ ỉ ậ
ữ ố ề ị ượ ầ
t b m ng (2 máy) thông qua các UDP truy n d li u (datagram) gi a 2 thi c ng ng d ng. Các thông s v đ a ch máy g i và máy nh n (Soure ổ ph n header c a IP c xác nh n address và Destination address) đ ữ Datagram. T thông s v Destination Port cho bi ố ề t máy nh n s nh n d ậ ẽ ử ậ ở ế ủ ậ ừ
5
BTL K THU T TRUY N S LI U
Ề Ố Ệ
Ậ
Ỹ
NHÓM 2_KHMT1-K4_UDP & ARP
ổ ệ ế
ậ ệ ư ứ ể ự ề
ượ i khi có l i, tr ỉ ườ ỗ
ộ ơ ả
c d li u nó s tính l ạ ớ
ươ ứ ng ng li u qua c ng nào, n u nh ng d ng bên trong không m c ng t ở ổ ụ c. Trong quá trình chuy n nh n ậ thì vi c nh n không th th c hi n đ ệ ử ụ ng checksum s d ng UDP ch cung c p m t c chuy n l ề ạ thu t toán đ đ m b o data g i sang bên kia không b xuyên t c. Khi máy ậ nh n nh n đ i checksum m i và s2 v i checksum ậ ậ nh n đ ậ ượ ị ử ớ ẽ i c, n u có s sai khác yêu c u thông tin g i l ử ạ ấ ể ả ượ ữ ệ ế ạ ầ ự
3. C u trúc đ n v d li u ơ ị ữ ệ ấ
c s d ng thay th ứ ượ ử ụ
ụ ế ớ ứ ứ
ộ ầ ủ t l p và gi i phóng liên k t. Nó cũng không cung c p các c ả ế ế ậ ấ
ậ ế ơ
ứ ầ ự ế i tình tr ng d li u b m t ho c trùng mà không h có thông báo l ặ ắ ế ị ấ ạ
i nó cung c p các d ch v giao v n không tin c y nh i g i. Tóm l ị ữ ệ ề ậ ữ ệ ạ ườ ử ụ ị
ấ ứ ạ ạ ộ ế
ỏ ộ ườ ượ ứ
ế Giao th c UDP là m t giao th c “không liên k t” đ trên IP theo yêu c u c a các ng d ng. Khác v i TCP, UDP không có các ơ ch c năng thi ể ẫ các đ n v d li u đ n và có th d n ch báo nh n, không s p x p tu n t t i cho ỗ ớ ư ng ậ trong TCP. Do ít ch c năng ph c t p nên UDP có xu th ho t đ ng nhanh ứ h n TCP. Nó th c dùng cho các ng d ng không đòi h i đ tin ng đ ơ ụ c y cao trong giao v n. ậ ậ
C u trúc c a m t đ n v d li u UDP nh sau: ị ữ ệ ộ ơ ư ủ ấ
Trong đó:
ủ ng • Soure Port (16 bit): Tr ế ng này xác đ nh c ng c a tr m g i và có ử ạ ế i nh n. N u ậ ườ ổ ồ ừ ị ả
ườ ý nghĩa n u mu n nh n thông tin ph n h i t ậ ố không dùng đ n thì đ t nó b ng 0. ặ ế ằ
ườ ậ ng xác nh n c ng c a tr m nh n ủ ậ ạ ổ
thông tin. Tr ng này là b t bu c. • Destination Port (16 bit): Tr ắ ườ ộ
6
BTL K THU T TRUY N S LI U
Ề Ố Ệ
Ậ
Ỹ
NHÓM 2_KHMT1-K4_UDP & ARP
ủ
ể
• Length (16 bit): Xác đ nh chi u dài c a toàn b datagram: ph n ầ ị ộ ề header và d li u. Chi u dài t i thi u là 8 byte khi gói tin không ố ề có d li u, ch có header. ữ ệ ỉ ữ ệ
• Checksum (16 bit): Tr ườ ể ng Checksum 16 bit dùng cho vi c ki m ệ
tra l i c a ph n header và d li u. ỗ ủ ữ ệ ầ
u và nh c đi m c a giao th c UDP 4. Ư ượ ủ ứ ể
u đi m a. Ư ể
• Không c n thi ế ế ậ ế
ứ ử ụ
c th i gian tr . Đó chính là lý do t ế ậ ể ế ượ ễ ờ
ế t l p liên k t: UDP là giao th c phi liên k t, vì th ệ t l p liên k t. Vì UDP không s d ng các tín hi u i sao ạ ơ ấ ng s d ng giao th c UDP h n là TCP-DNS s ch m h n r t ứ ẽ ậ ơ
ầ không c n ph i thi ả ầ handshaking, nên có th tránh đ DNS th ử ụ ườ nhi u khi dùng TCP. ề
•
ề ứ T c đ : UDP nhanh h n so v i TCP. B i vì đi u này, nhi u ng ề ở ơ
c cài đ t trên giao th c UDP h n so v i giao th c TCP. ố ng đ d ng th ụ ườ ứ ặ ớ ơ ộ ượ ớ ứ
• ỗ ợ ỗ ợ ế
ng H tr hình tr ng (Topology): UDP h tr các liên k t 1-1, 1-n, ạ i TCP ch h tr liên k t 1-1. ỉ ỗ ợ ế c l ượ ạ
• ạ c header: UDP ch có 8 byte header cho m i đo n, ỗ ỉ
Kích th i TCP c n các header 20 byte, vì v y s d ng băng thông ít h n. ng ậ ử ụ ướ ầ ơ c l ượ ạ
B ng d i đây t ng k t nh ng s kác nhau gi a hai giao th c TCP và ướ ữ ự ứ ữ ế ổ
ả UDP:
7
BTL K THU T TRUY N S LI U
Ề Ố Ệ
Ậ
Ỹ
NHÓM 2_KHMT1-K4_UDP & ARP
b. Nh ượ c đi m ể
So v i giao th c TCP, UDP có nh ng nh c đi m sau: ữ ứ ớ ượ ể
• Thi u các tín hi u b t tay: Tr ắ ướ ử ạ
ệ ữ ử ử ắ
ộ ế ậ ế
c khi g i m t đo n, UDP không ế g i các tín hi u b t tay gi a bên g i và bên nh n. Vì th phía g i không có ậ ệ ử ả t datagram đã đ n đích hay ch a. Do v y, UDP không đ m cách nào đ bi ư ể ế b o vi c d li u đã đ n đích hay ch a.. ệ ữ ệ ả ư ế
• S d ng các phiên: Đ TCP là h ng liên k t, các phiên đ ử ụ ế
ể ử ụ
ướ ỉ ố ỗ ợ ấ ể ả
ượ c duy trì gi a các host. TCP s d ng các ch s phiên (session ID) đ duy trì ữ ấ các liên k t gi a hai host. UDP không h tr b t kỳ phiên nào do b n ch t ữ ế phi liên k t c a nó. ế ủ
• Đ tin c y: UDP không đ m b o r ng ch có m t b n sao d ộ ả ộ ả ả ằ
ậ i đích. Đ g i d li u t ệ ớ ệ ố ể ử ữ ệ ớ ố
ạ ỏ nh chúng đã đ ả ằ ngu n. Ng ồ ở ư
cùng v i s hi u c ng và các gói tin xác th c th ạ c l ượ ạ ự ườ
mà nó đã đ ả ằ ứ ự ế ả
ữ ỉ ữ ệ li u t i các h th ng cu i, UDP phân chia d li u thành các đo n nh . UDP không đ m b o r ng các đo n này s đ n đích ả ẽ ế c t o ra ử ụ i, TCP s d ng đúng th t ượ ạ ứ ự ng xuyên, các s th t ớ ố ệ ổ ố ứ ự ượ ạ c t o đi u này đ m b o r ng các gói tin đ n đích đúng th t ề ra.
• ả ậ B o m t: TCP có tính b o m t cao h n UDP. Trong nhi u t ậ ả ơ
ề ấ
ề ổ ch c, firewall và router c m các gói tin UDP, đi u này là vì các hacker th ng s d ng các c ng UDP. ứ ườ ử ụ ổ
• ộ Ki m soát lu ng. UDP không có ki m soát lu ng; k t qu là, m t ể ế ể ả ồ
ng d ng UDP đ i có th làm gi m băng thông c a m ng. ồ c thi ứ ụ ượ t k t ế ế ồ ủ ể ả ạ
5. Nh ng v n đ c n gi ấ ề ầ ữ ả i quy t ế
a. Nh n các gói tin ậ
Tr c khi m t ng d ng có th đ c các gói tin UDP đ ượ ử ở
ụ ộ ộ ứ ả ể ọ ớ ộ ổ ằ
ộ
i đây ch ra m i quan h ạ ữ ệ ủ ỉ
ượ ử ụ ộ ớ
c g i b i các máy ướ ử ụ xa, nó ph i gán m t socket v i m t c ng UDP b ng cách s d ng ở DatagramSocket, và t o ra m t DatagramPacket s đóng vai trò nh là m t ộ ẽ ư b ch a cho d li u c a gói tin UDP. Hình v d ệ ộ ứ ẽ ướ ố ể ử c s d ng đ x lý gi a m t gói tin UDP v i các l p Java khác nhau đ ớ ữ . nó và các ng d ng th c t ự ế ứ ụ
8
BTL K THU T TRUY N S LI U
Ề Ố Ệ
Ậ
Ỹ
NHÓM 2_KHMT1-K4_UDP & ARP
ố ụ ộ ứ ươ ọ
ứ
ứ ng th c ộ ng th c này sao chép gói tin UDP vào m t i khi ặ ạ ế ị
Khi m t ng d ng mu n đ c các gói tin UDP, nó g i ph ọ DatagramSocket.receive(), ph ươ DatagramPacket xác đ nh. X lý n i dung nói tin và ti n trình l p l ộ ử c nầ
ả ả ế ệ ụ ứ ử ự
ọ ả ụ ớ ộ ể ử ụ
ả ể ữ ồ
ồ ắ ế ứ ể ế ủ ớ ộ
ộ ồ
ổ ậ ế ố ớ ủ ấ ớ ộ ạ ề ễ ấ ộ
ữ ệ ể ử ồ
ấ ớ ộ ể ặ ồ
Khi x lý gói tin ng d ng ph i làm vi c tr c ti p v i m t m ng byte. ớ ừ Tuy nhiên n u ng d ng là đ c văn b n thì ta có th s d ng các l p t gói vào ra đ chuy n đ i gi a m ng byte và lu ng stream và reader. B ng ằ ộ cách g n k t lu ng nh p ByteArrayInputStream v i n i dung c a m t datagram và sau đó k t n i v i m t ki u lu ng khác, khi đó b n có th truy ể ể xu t t ườ ậ i l p i n i dung c a gói UDP m t cách d dàng. R t nhi u ng ử ụ trình thích dung các lu ng vào ra I/O đ x lý d li u, b ng cách s d ng ằ lu ng DataInputStream ho c BufferedReader đ truy xu t t ủ i n i dung c a các m ng byte. ả
b. G i các gói tin ử
ớ ể ử ử
ụ ượ ử ụ ộ ị
ả ạ ữ ệ ế ậ ế ứ ổ ử ả ầ ố
c s d ng đ g i các gói tin. Khi g i gói L p DatagramSocket cũng đ tin, ng d ng ph i t o ra m t DatagramPacket, thi t l p đ a ch và thông ỉ tin c ng, và ghi d li u c n truy n vào m ng byte. N u mu n g i thông ậ t đ a ch và s hi u c ng c a gói tin nh n tin phúc đáp thì ta cũng đã bi ổ ề ế ị ố ệ ủ ỉ
9
BTL K THU T TRUY N S LI U
Ề Ố Ệ
Ậ
Ỹ
NHÓM 2_KHMT1-K4_UDP & ARP
c. M i khi gói tin s n sàng đ g i, ta s d ng ph ỗ ử ụ ươ ủ ng th c send() c a ứ
đ ể ử ượ l p DatagramSocket đ g i gói tin đi. ớ ẵ ể ử
6. Ví d minh h a giao th c UDP ọ ụ ứ
ượ ử c g i và nh n nh th nào, chúng ta s ư ế ậ ẽ ọ
Đ minh h a các gói tin UDP đ vi t, biên ể ế
d ch và ch y ng d ng sau. ị ạ ứ ụ
Vi t ch ế ươ ng trình theo mô hình Client/Server đ : ể
Client th c hi n các thao tác sau đây: ự ệ
- Client g i m t xâu ký t do ng i dùng nh p t bàn phím cho server ử ộ ự ườ ậ ừ
i t Server và hi n th thông tin đó ồ ở ạ ừ ể ị ậ ả
- Client nh n thông tin ph n h i tr l trên màn hình.
Server th c hi n các thao tác sau: ự ệ
do client g i t i và in lên màn hình - Server nh n xâu ký t ậ ự ử ớ
- Server bi n đ i xâu ký t thành ch hoa và g i tr l i cho Client ế ổ ự ử ở ạ ữ
B. Tìm hi u v giao th c ARP ể ề ứ
1. T ng giao th c ứ ầ
ạ ạ ộ ự ỏ ớ
M ng LAN nh ho t đ ng d a trên hai l p m t và hai trong mô hình OSI ( l p physical và datalink). Nh ng các giao th c liên m ng ( internet- ộ ứ ư ạ ớ
10
BTL K THU T TRUY N S LI U
Ề Ố Ệ
Ậ
Ỹ
NHÓM 2_KHMT1-K4_UDP & ARP
ị ệ ỉ ớ ạ ự i d a trên đ a ch l p ba (l p network). Vi c phân gi ớ
ỉ ữ i đ a ch gi a c liên ớ ằ ệ ề ữ ệ ượ
ng pháp phân gi i đ a ch là : map tr c ti p và phân gi i đ ng. ạ ươ ự ế
ự ế ệ ặ ớ ỉ ị
ả ị ề ỉ ạ
ị ộ ơ ế ử ụ ạ
c đ nh nghĩa ỉ ố ạ ể ậ ọ ượ ị ứ
work ) l ả ị l p datalink và l p network nh m giúp cho vi c truy n d li u đ ớ t c qua m ng. ụ Có hai ph ả ộ ỉ Vi c map tr c ti p g p nhi u khó khăn do đ a ch MAC (l p datalink) là ể đ a ch 48 bit trong khi đ a ch IP là 32 bit. Bên c nh đó các nhà phát tri n ị mu n t o ra m t c ch linh ho t trong s d ng. Chính vì v y h phát tri n ARP ( Address Resolution Protocol ). Giao th c này đ trong RFC 826
ng th c phân gi ứ ươ ữ ị
ệ ỉ ộ ằ
i đ a ch đ ng gi a đ a ch l p network và t b IP trong ế ị ử t b khác g i ế ị ộ ầ ạ
ả ị ự ế ỉ ớ ầ ứ ộ ỉ ủ ị
c s d ng trong m ng Ethernet đ phân gi i đ a ch ỉ ượ ử ụ ả ị ạ ỉ
c ng d ng r ng rãi và ượ ứ ể ụ ộ ỉ
- ARP là ph ỉ ớ đ a ch l p datalink. Quá trình th c hi n b ng cách: m t thi ỉ ớ ị m ng g i m t gói tin broadcast đ n toàn m ng yêu c u thi ử ạ tr l i đ a ch ph n c ng ( đ a ch l p datalink ) c a mình. ả ạ ị - Ban đ u ARP ch đ ầ IP và đ a ch MAC. Nh ng ngày nay ARP đã đ ư ị dùng trong các công ngh khác d a trên l p hai. ệ ự ớ
2. Nguyên lý làm vi cệ
ạ
t b m ng nào t đ a ch MAC c a m t thi ỉ ộ ế ị ế ị ạ
t đ a ch
ị ỉ ồ ẽ ử ủ ắ t b m ng mu n bi ế ị ạ ế ị ị ệ ủ ủ ố t ng network (IP, IPX…) nó s g i m t ARP ỉ ở ầ ỉ
ế ề t b mà ế t
ỉ ủ ộ ộ ị ỗ ớ ị
t b đó ph i g i ng ủ ẽ ế ả ử ế ị ị
ế ị ử ứ ị
ộ ạ ụ ư ả
ỉ ố ử ẽ ế ỉ
ủ ộ ị
ị ỉ
ớ ị ủ ấ ậ ị
ẽ ỉ ứ ị i m t gói tin cho PC A trong đó có ch a đ a ẽ ử ạ
a. Nguyên t c làm vi c c a ARP trong m ng LAN Khi m t thi ộ đó mà nó đã bi ộ request bao g m đ a ch MAC address c a nó và đ a ch IP c a thi ế ị t MAC address trên toàn b m t mi n broadcast. M i m t thi nó c n bi ầ ộ ỉ c request này s so sánh đ a ch IP trong request v i đ a ch b nh n đ ậ ượ ị ượ ạ i c l t ng network c a mình. N u trùng đ a ch thì thi ỉ ầ t b g i ARP request m t gói tin (trong đó có ch a đ a ch MAC c a cho thi ủ mình). Trong m t h th ng m ng đ n gi n, ví d nh PC A mu n g i gói ơ ộ ệ ố ả tin đ n PC B và nó ch bi c đ a ch IP c a PC B. Khi đó PC A s ph i t đ ỉ ế ượ ị ủ g i m t ARP broadcast cho toàn m ng đ h i xem "đ a ch MAC c a PC ạ ử ỉ ể ỏ c broadcast này, nó s so sánh có đ a ch IP này là gì ?" Khi PC B nh n đ ậ ượ đ a ch IP trong gói tin này v i đ a ch IP c a nó. Nh n th y đ a ch đó là đ a ị ỉ ị ch c a mình, PC B s g i l ộ ch MAC c a B. Sau đó PC A m i b t đ u truy n gói tin cho B. ớ ắ ầ ỉ ỉ ủ ỉ ủ ề
11
BTL K THU T TRUY N S LI U
Ề Ố Ệ
Ậ
Ỹ
NHÓM 2_KHMT1-K4_UDP & ARP
ủ ạ ộ
ộ ắ ủ ệ ố ứ ạ ạ ng ph c t p h n đó là hai h ơ
ộ ắ ệ ạ ườ ộ
ộ ớ ế
ạ ộ ạ ố ố ử ề
ướ
ư ộ ầ c đó, máy A s bi t đ
ể ị ấ ả ứ
ế ả ị ị
ứ ữ ế
ủ ả ọ ả c l u gi ượ ư ể ế ả ỗ ộ ệ ố ậ
ng h p trên trong b ng s ch ra r ng đ đi t ả ằ ợ
ể ứ ị ớ ỉ ủ ả
• Máy A g i m t ARP request (broadcast) đ tìm đ a ch MAC c a port X.
b. Nguyên t c ho t đ ng c a ARP trong 1 h th ng m ng Ho t đ ng c a ARP trong m t môi tr th ng m ng g n v i nhau thông qua m t Router C. Máy A thu c m ng A mu n g i gói tin đ n máy B thu c m ng B. Do các broadcast không th ể ạ truy n qua Router nên khi đó máy A s xem Router C nh m t c u n i hay ố ẽ ẽ ế ượ c t đ m t trung gian (Agent) đ truy n d li u. Tr ề ữ ệ ộ c r ng đ truy n gói đ a ch IP c a Router C (đ a ch Gateway) và bi ế ượ ằ ỉ ề ể ỉ ị c ch a trong i B ph i đi qua C. T t c các thông tin nh v y s đ tin t ớ ư ậ ẽ ượ ơ m t b ng g i là b ng đ nh tuy n (routing table). B ng đ nh tuy n theo c ộ ả ề trong m i máy. B ng đ nh tuy n ch a thông tin v ch này đ ị ế các Gateway đ truy c p vào m t h th ng m ng nào đó. Ví d trong ụ ạ i LAN B ph i qua port X tr ả ườ c a Router C. B ng đ nh tuy n s có ch a đ a ch IP c a port X. Quá trình ủ truy n d li u theo t ng b ẽ ỉ ế ẽ c sau : ề ữ ệ ị ừ ướ
• Router C tr l
ủ ử ể ộ ị ỉ
• Máy A truy n gói tin đ n port X c a Router.
ả ờ i, cung c p cho máy A đ a ch MAC c a port X. ị ủ ấ ỉ
• Router nh n đ
ủ ề ế
c gói tin t ậ ượ ừ ủ ể
ẽ ử ủ ỉ
• Máy B s tr l
máy A, chuy n gói tin ra port Y c a Router. Trong gói tin có ch a đ a ch IP c a máy B. Router s g i ARP request đ tìm đ a ch MAC c a máy B. ể ứ ị ủ ỉ ị
i cho Router bi ậ t đ a ch MAC c a mình. Sau khi nh n ủ ỉ
ế ị c đ a ch MAC c a máy B, Router C g i gói tin c a A đ n B. đ ẽ ả ờ ỉ ử ủ ủ ế ượ ị
ngoài d ng b ng đ nh tuy n này ng ị ả ạ ự ế ườ
i ta còn dùng ph t b đ m nh n nhi m v phân gi ế ế ị ả ệ ậ ộ ụ
t c các thi t b khác.Theo đó các máy tr m không c n gi ế ị ạ ỉ
ươ ng i đ a ả ị ữ ả b ng ầ t c các ARP ụ ự ệ ệ i t ả ờ ấ ả
Trên th c t pháp proxyARP, trong đó có m t thi ch cho t đ nh tuy n n a Router C s có nhi m v th c hi n, tr l ị request c a t ẽ t c các máy . ấ ả ế ữ ủ ấ ả
Các b c ho t đ ng c a ARP : ướ ạ ộ ủ
12
BTL K THU T TRUY N S LI U
Ề Ố Ệ
Ậ
Ỹ
NHÓM 2_KHMT1-K4_UDP & ARP
c này, thi
ướ ỉ ế ị t b s ki m tra ế ị ẽ ể ng ng v i MAC ớ ứ ươ
c 9 - Source Device Checks Cache : Trong b cache ( b đ m ) c a mình. N u đã có đ a ch IP đích t ủ nào đó r i thì l p t c chuy n lên b ậ ứ ộ ệ ồ ướ ể
ắ ầ ở ạ
- Source Device Generates ARP Request Message : B t đ u kh i t o gói ng đ a ch nh trên tin ARP Request v i các tr ỉ ư ườ ớ ị
ế ị ả t b ngu n qu ng ồ
- Source Device Broadcasts ARP Request Message : Thi bá gói tin ARP Request trên toàn m ngạ
c gói tin ARP Request. Gói tin đ ậ ử
ượ t b đ u nhìn vào tr ạ t b trong m ng ế ị c x lý b ng cách các ằ ượ ớ ng đ a ch Target Protocol Address. N u trùng v i ế ườ ỉ
- Local Devices Process ARP Request Message : Các thi đ u nh n đ ề thi ị đ a ch c a mình thì ti p t c x lý, n u không thì h y gói tin ế ụ ử ị ế ị ề ỉ ủ ủ ế
ế ị ớ
ườ ẽ ắ ầ
ườ ằ ấ
ậ
ượ ư t b s l y đ a ch datalink c a mình đ t b v i IP trùng ở ạ ng Target Protocol Address s b t đ u quá trình kh i t o ng Sender Hardware Address và c đ a vào làm Target ể ế ị ẽ ấ ủ ồ ờ ị ỉ
ử ng Sender Hardware Address - Destination Device Generates ARP Reply Message : Thi v i IP trong tr ớ gói tin ARP Reply b ng cách l y các tr Sender Protocol Address trong gói tin ARP nh n đ trong gói tin g i đi. Đ ng th i thi đ a vào tr ư ườ
t b đích ( thi ế ị
ế ị ỉ ờ ậ ồ
ạ ị ể ả ả ồ ờ ớ
ở ạ t b kh i t o - Destination Device Updates ARP Cache : Thi gói tin ARP Reply ) đ ng th i c p nh t b ng ánh x đ a ch IP và MAC ậ ả c a thi t b ngu n vào b ng ARP cache c a mình đ gi m b t th i gian ủ ủ ế ị x lý cho các l n sau ử ầ
ế ị
c kh i t o đ n thi ắ ầ t b đích b t đ u t b ngu n. Gói tin reply là gói ở ạ ế ị ượ ế ồ
- Destination Device Sends ARP Reply Message : Thi g i gói tin Reply đã đ ử tin g i unicast ử
ế ị
- Source Device Processes ARP Reply Message : Thi đ c gói tin reply và x lý b ng cách l u tr ử ượ trong gói reply nh đ a ch ph n c ng c a thi ậ t b ngu n nh n ồ ng Sender Hardware Address t b đích ằ ầ ứ ườ ế ị ư ủ ư ị ỉ
ồ
ị ươ ứ ữ ỉ ị
t b ngu n update vào ARP ế ị ng ng gi a đ a ch network và đ a ch datalink ỉ i request - Source Device Updates ARP Cache : Thi cache c a mình giá tr t c a thi ủ ủ t b đích. L n sau s không còn c n t ẽ ế ị ị ầ ớ ầ
13
BTL K THU T TRUY N S LI U
Ề Ố Ệ
Ậ
Ỹ
NHÓM 2_KHMT1-K4_UDP & ARP
3. C u trúc đ n v d li u ơ ị ữ ệ ấ
C u trúc c a 1 b n tin ARP bao g m các tr ng: ủ ả ấ ồ ườ
Trong đó:
ủ • Hardware type và Protocol type quy đ nh ki u c a ph n c ng và c a ầ ứ ể ủ ị
• Opcode: cho bi
protocol đ c dùng l p network ượ ở ớ
• HW addr length: d dài c a đ a ch v t lý ộ
t b n tin ARP là yêu c u (=1) ho c phúc đáp (=2) ế ả ặ ầ
• Protocol addr length: đ dài c a đ a ch logic
ủ ị ỉ ậ
• 4 tr
ủ ị ộ ỉ
ng còn l ườ ạ i là đ a ch v t lý và đ a ch logic c a ngu n và đích. ỉ ỉ ậ ủ ồ ị ị
4. Nh ng v n đ c n gi ấ ề ầ ữ ả i quy t ế
ỉ ồ ạ ả i trong m t kho ng ộ
ỗ ờ ạ ề ờ c đ t tĩnh). Vi c đ ra kho ng th i ệ ề ượ ặ ả
M i ánh x IP-MAC trong ARP cache đ u ch t n t th i gian c đ nh (tr các ánh x đã đ gian này là c n thi ừ t khi m t host nào đó: ạ ố ị ầ ế ộ
a. Di d i kh i m ng ho c k t n i c a host vào m ng b h ng ặ ế ố ủ ị ỏ ạ ạ ờ ỏ
c gán l ị ỉ ạ ượ i cho m t đ a ch v t lí m i.Khi đó ỉ ậ ộ ị
ớ ạ ị ể ị
ả ẫ ỉ ị
ỉ ắ ủ i trong các b ng ARP cache c a ng h p gói tin v n truy n đi ườ ề ề ẫ ợ
b. Đ a ch logic c a host đ ủ b ng ARP cache c a host có th b xoá tr ng, tuy nhiên ánh x đ a ch ủ ả MAC-đ a ch logic c a nó v n còn t n t ồ ạ ủ các máy khác. Đi u này có th d n đ n tr ế đ c nh ng không đ n đ ể ẫ c đích. ế ượ ượ ư
Bi n pháp kh c ph c trong tr ắ ụ ệ ườ ng h p th nh t có th là: ứ ấ ể ợ
ế ậ ả t l p k t n i b h ng, module Address Resolution c n ph i ầ
ế ố ị ỏ ể ạ ỏ ủ ạ
ỏ ả ỗ ế ố ữ ộ ỗ
ờ c b t kì m t gói tin nào đó t - Khi thi đ ặ c thông báo đ lo i b ánh x ra kh i b ng ARP cache c a nó ho c ượ đ t m t kho ng th i gian timeout cho m i k t n i gi a hai máy. M i khi ặ ạ máy kia, nó s gia h n m t máy nh n đ ộ ả ậ ượ ấ ừ ẽ ộ
14
BTL K THU T TRUY N S LI U
Ề Ố Ệ
Ậ
Ỹ
NHÓM 2_KHMT1-K4_UDP & ARP
ờ ả ạ ờ
máy kia, ánh x gi a đ a ch MAC-đ a ch c b n tin nào t ậ ượ ả ỉ
ẫ th i gian timeout cho ánh x và sau kho ng th i gian timeout mà nó v n không nh n đ ị ỉ ừ logic c a máy kia s b lo i b kh i b ng ARP cache c a nó. ạ ữ ị ủ ẽ ị ạ ỏ ỏ ả ủ
ờ ộ ử ử ụ ờ ộ
ẽ ự ạ
ả ỏ ả ẽ ử ạ ỏ ệ ệ ế
ướ ế
ấ
- S d ng m t module x lí th i gian timeout. Sau m t kho ng th i gian nào đó, module này s th c hi n vi c lo i b ánh x ra kh i b ng ARP ệ ộ c khi ti n hành vi c lo i b , module s g i đi m t cache. Tuy nhiên, tr ạ ỏ b n tin ARP request đ n host c n ph i lo i b . N u sau m t kho ng th i ờ ộ ả ả ạ ỏ ế ả gian r t ng n mà nó không nh n đ ẽ host đó, nó s c b n tin ARP reply t ừ ti n hành lo i b ánh x ra kh i b ng. ầ ậ ượ ả ỏ ả ắ ạ ỏ ế ạ
ng h p th hai: khi nh n đ ệ ụ ậ ượ ườ ứ
Bi n pháp kh c ph c trong tr ắ ARP, host s ki m tra xem đ a ch v t lí ngu n đã t n t ẽ ể cache c a nó ch a, n u đã t n t ư c m t b n tin ợ ộ ả i trong b ng ARP ồ ạ ị ỉ ậ ả i r i thì nó s ghi đè đ a ch m i này lên. ị ồ ạ ồ ồ ẽ ỉ ớ ủ ế
c. Qúa trình g i 1 b n tin ARP ử ả
Khi m t gói tin đ ạ
ị ỉ ả ể c g i t ượ ử ừ ớ ổ
ể ẽ ể ộ ặ
ỉ ậ ọ ớ ộ ị
ỉ ậ ẽ ả ề ị ỉ ậ
ế ỉ ị ạ ư ậ ế ả
ả ạ ữ ị ượ ẽ ượ ẽ ử ả ỉ ậ ỉ
t c các thi l p m ng xu ng, module Address Resolution
ộ
ố
i c n ph i chuy n đ i
ị ố ử ả ỉ
ộ ỉ ậ ủ ả ị ị
ể Ví d :ụ m t máy có đ a ch IP là 192.168.1.1 mu n g i đi b n tin ARP đ tìm đ a ch v t lí c a máy có đ a ch IP 192.168.1.2 thì b n tin ARP request ỉ s có c u trúc. ấ ẽ
15
BTL K THU T TRUY N S LI U
Ề Ố Ệ
Ậ
Ỹ
NHÓM 2_KHMT1-K4_UDP & ARP
d. Quá trình nh n 1 b n tin ARP ậ ả
c b n tin yêu c u ARP, nó s x lí nh ộ ạ ậ ượ ả ẽ ử ầ ư
Khi m t host trên m ng nh n đ sau:
ể
ế i g i> có t n t ẽ i trong ể ỉ ị
ồ ạ i đ a ch MAC ỉ ậ ạ ị ậ
ng ng n u th y có thay đ i và đ t c Merge-flag = true. - Ki m tra xem có cùng HW type, Protocol type không. N u có, nó s
ki m tra xem ị ỉ ủ ớ ị ể
ử ế ỉ
ẽ ậ ế ờ i g i> vào b ng ARP ủ ả ậ ỉ ị - Ki m tra xem đ a ch logic c a nó có trùng v i đ a ch logic đích mà gói
tin g i đ n hay không. N u có và c Merge là false, nó s c p nh t
ậ
ể ử ạ ả ế i b n tin ARP theo
c đ a ch MAC c a mình. t đ - Ki m tra opcode: n u opcode là request thì g i l
d ng unicast thông báo cho máy yêu c u bi
ạ ế ượ ị ủ ầ ỉ t b yêu c u, sau khi nh n đ ầ ế ị ậ ượ ả ậ ạ
i
c b n tin ARP reply, s c p nh t l ủ
c. Trong tr ng h p không có m t b n tin reply nào đ n có nghĩa ợ ế
ộ ả ẽ ậ
ỉ
ị
ế ổ ớ t b dùng đ tr l i các ARP ế
t b mà nó mu n trao đ i không n m cùng m ng LAN v i nó, n u
ằ
ế ị ạ
ể ả ờ ấ ụ ử ả
ủ ủ ẽ
ư ể
ỉ ủ ỉ ị c g i đ n proxy ARP này. N u không t n t ồ ạ - Thi
b ng ARP cache c a mình và chuy n frame đ n đích theo đ a ch MAC
ả
ể
nh n đ
ậ ượ
ườ
là thi
ố
ế ị
trong m ng có c u hình proxy ARP (thi
ạ
ớ
request) thì proxy ARP này s có nhi m v g i b n tin ARP phúc đáp v i
ệ
đ a ch MAC c a nó nh th là phúc đáp c a máy đích. Khi đó gói tin l p 2
ị
ớ
ỉ
c đóng gói v i đ a ch MAC là đ a ch MAC c a proxy ARP và m i
s đ
ọ
ẽ ượ
ớ ị
i proxy ARP
thông tin s đ
ẽ ượ ử ế
trong m ng; gói tin s b hu và thông báo l
ẽ ị ế
i lên l p trên.
ớ ạ ỗ ỷ 5. ARP Caching ứ ả ị ỉ ộ ử i đa ộ
ẽ ế ố ạ ố ậ
ầ ả ARP là m t giao th c phân gi
i đ a ch đ ng. Quá trình g i gói tin Request
và Reply s tiêu t n băng thông m ng. Chính vì v y càng h n ch t
ạ
vi c g i gói tin Request và Reply s càng góp ph n làm tăng kh năng h at
ọ
ẽ
ệ ử
đ ng c a m ng.T đó sinh ra nhu c u c a ARP Caching
ầ ủ
ủ
ộ ừ ạ Static and Dynamic ARP Cache Entries ư ộ ả ữ ị ạ ỉ ARP Cache có d ng gi ng nh m t b ng t
ố
và đ a ch IP. Có hai cách đ a các thành ph n t ng ng gi a đ a ch hardware
ng ng vào b ng ARP : ươ ứ
ầ ươ ứ ư ả ị ỉ ầ ươ ứ
i qu n tr . Công vi c đ c đ a vào l n l t b i ng ầ ượ ở ượ ư ườ ả ị ng ng trong
ế
c ti n ệ ượ • Static ARP Cache Entries: Đây là cách mà các thành ph n t
b ng ARP đ
ả
hành m t cách th công ủ ộ ầ
ự ộ ượ ư ộ c đ a vào ARP cache m t cách hoàn toàn t
t quá trình phân gi ả ị ề ầ ấ c xóa đi • Dynamic ARP Cache Entries: Đây là quá trình mà các thành ph n đ a ch
ỉ
ị
ằ
hardware/IP đ
đ ng b ng
ượ ư
c l u
ph n m m sau khi đã hoàn t
trong cache trong m t kho ng th i gian và sau đó s đ
ả i đ a ch . Chúng đ
ỉ
ẽ ượ ộ ờ ượ ử ụ đ ng và không c n đ n s t t c các quá trình di n ra
ễ
i qu n tr . Tuy nhiên ầ ấ ả
ườ ả ị ộ
ế ự ươ
ứ ườ ụ ủ ạ ẫ c s d ng r ng rãi h n vì t
ơ
ng tác c a ng
ủ
ấ ị
ế ế ệ ử ể ự ẽ ạ ệ ạ Dynamic Cache đ
t
ự ộ
static cache v n có ph m vi ng d ng nh t đ nh c a nó. Đó là tr
ợ
ng h p
mà các workstation nên có static ARP entry đ n router và file server n m
ằ
trong m ng. Đi u này s h n ch vi c g i các gói tin đ th c hi n quá
trình phân gi ề
ả ị i đ a ch .
ỉ ạ ệ ậ ả ằ
t b trong m ng thay đ i thì
ế ị ế ủ
ị ủ ạ ạ ổ ỉ Tuy nhiên ngoài h n ch c a vi c ph i nh p b ng tay, static cache còn
thêm h n ch n a là khi đ a ch IP c a các thi
s d n đ n vi c ph i thay đ i ARP cache
ả
ẽ ẫ ế ữ
ệ ế ổ Quá trình xóa thông tin trong cache ợ ả ế ị ộ ng h p b ng cache c a m t thi
t b B trong m ng. N u các thông tin trong cache đ ườ
ế ị t b A, trong đó có ch a thông
ứ
c l u mãi
ượ ư ủ
ế Ta xét tr
tin v thi
ề
mãi, s có m t s v n đ nh sau x y ra : ạ
ề ư ộ ố ấ ẽ ả t v đ oc thay đ i : Đây là tr ỉ ổ ườ c thay đ i card m ng hay thi • Đ a ch ph n c ng thi
ị
B đ
ượ ầ ứ
ổ ế ị ự
ạ ế ị
t b
ng h p khi thi
ỉ
t b giao ti p, làm thay đ i đ a ch ợ
ổ ị ế ế ị t b . Đi u này làm cho các thông tin trong cache c a A không ủ ế ị ủ ề MAC c a thi
còn đúng n aữ ị ủ ườ ả ị t b đ
ế ị ượ
ủ ủ ị ỉ ấ
• Đ a ch IP c a thi
i qu n tr hay nhà cung c p
c thay đ i : Ng
ổ
ỉ
thay đ i đ a ch IP c a B, cũng làm cho thông tin trong cache c a A b sai
ổ ị
l chệ c rút ra kh i m ng : Khi B đ c rút ra kh i m ng nh ng A ư ạ ạ ỏ ỏ
ể ư ủ t b đ
• Thi
ế ị ượ
c bi
không đ
ượ
không c n thi
ầ ượ
t, và gây lãng phí v tài nguyên c a A đ l u thông tin
ế
t và t n th i gian đ tìm ki m.
ế ề
ể ế ố ờ ề ữ ượ c nh ng v n đ này, các thông tin trong dynamic cache s
đ ng xóa sau m t kho ng th i gian nh t đ nh. Quá trình này đ ấ
ộ ấ ị ờ ả
ự ộ ộ ớ ả
ấ ị ệ
ườ ặ ử ụ
ng là 10 ho c 20 phút. Sau m t kho ng th i gian nh t đ nh đ
ờ
ộ
ả
c xóa đi. L n s d ng sau, thông tin s
ầ ử ụ ẽ
ượ
c
ờ
đ ng khi s d ng ARP v i kho ng th i
ượ
c
ẽ ẽ ượ c update tr l Đ tránh đ
ể
đ
c t
ượ ự ộ
th c hi n m t cách hoàn toàn t
ự
gian th
l u trong cache , thông tin s đ
ư
đ
ượ i
ở ạ 6. Proxy ARP t k cho các thi ượ ế ế ộ t b A và B b chia c t b i 1 router thì chúng s đ ế ế ị ằ
ị ắ ở t b n m trong n i m ng, có tính ch t local.
ấ
ạ
c
ẽ ượ
ẽ ố ử ữ ư ế ế ị
ớ
c đ n B theo đ a ch l p hai, mà ph i g i qua ử ự ế ượ ế ả ử c thi
ARP đ
Tuy nhiên n u hai thi
coi nh là không local v i nhau n a. Khi A mu n g i thông tin đ n B, A s
không g i tr c ti p đ
router và đ c coi là cách nhau 2 hop ị
ỉ ớ
l p ba.
ở ớ ượ Vì sao c n ph i có Proxy ARP ? ầ ả ng h p thông th ườ ườ ề ợ ằ ườ
ượ ế ố ế ị
ộ ư ẽ ạ ộ t b A và
Khác v i các tr
ng, nhi u tr
ng h p hai thi
ợ
ớ
B n m trên 2 segment v t lý khác nhau nh ng đ
c k t n i qua m t router
ậ
và cùng n m trong m t m ng IP hay m t IP subnet. Lúc này A và B s coi
ộ
ằ
nhau có quan h local. ệ ố ố ử ư ị ả ỉ ủ
i đ a ch . A broadcast gói ARP ả ử
ạ
ắ ầ ả ị ế ề ả ạ ấ ộ ị s ta có tình hu ng A mu n g i thông tin cho B. A nghĩ B trong cùng
Gi
n i m ng và tìm trong b ng ARP cache. A không l u đ a ch MAC c a B
ộ
và b t đ u ti n hành quá trình phân gi
request trong n i m ng đ tìm đ a ch MAC c a B. S có v n đ x y ra : B
ẽ
ỉ
ể
không cùng n m trong m ng và s không nh n đ
c gói tin broadcast cũng
ạ ỉ
ủ
ậ ượ ẽ ằ ư có đ A qua B ( router
ừ
l p datalink ). Vì v y B không bao gi
ờ
ậ
ỉ
c đ a ch
A cũng nh A s không bao gi
ờ ở ớ
ư ượ ị ừ ẽ nh router k t n i s không forward gói broadcasr t
ế ố ẽ
không truy n các gói broadcast
ề
c request t
nh n đ
ậ ượ
MAC c a Bủ Ho t đ ng c a Proxy ARP:
ủ ạ ộ i pháp cho tình hu ng này đ ố ả ượ ọ c g i là ARP proxying hay Proxy ARP.
c c u hình đ ạ ẽ ượ ấ
ẽ ử ỉ ứ
ị ằ
ử ừ
ế ạ ằ ượ ế ủ
ể ử ự ế
ỉ ẽ ử ả ị ng t ấ ứ ế ị ươ Gi
ể
Trong công ngh này, router n m gi a 2 m ng local s đ
ữ
ệ
A thay cho B. Router s không g i cho
đáp ng các gói tin broadcast g i t
A đ a ch MAC c a B, vì dù th nào A và B cũng n m trên hai m ng khác
ẽ ử
c. Thay vào đó router s g i
nhau và không th g i tr c ti p đ n nhau đ
cho A các đ a ch MAC c u chính router. A sau đó s g i thông các gói tin
ễ
cho router, và router s forward sang cho B. Quá trình cũng hoàn toàn di n
ra t
t b nào mà
khi B mu n g i thông tin cho A, hay cho b t c thi
đích đ n c a gói tin là m t thi t b ẽ
ố ử
ộ m t m ng khác.
ạ ự
ế ủ ế ị ở ộ ộ ạ ụ ế ố ạ ẽ
ạ ộ ề
ư ộ ế ị ể ộ
ớ
ượ ấ
ầ ử ậ i các gói tin request t ừ ứ ẽ ng t ạ
ế ề Trong ví d , m t router k t n i hai m ng LAN cùng trong m t m ng IP
ho c subnet v i nhau. Router s không truy n các gói tin ARP broadcast
ặ
t b A và
c c u hình đ ho t đ ng nh m t ARP proxy. Hai thi
nh ng đ
ư
D có nhu c u g i các gói tin IP cho nhau, chính vì v y chúng broadcast các
ư ể
A nh th là
gói ARP request. Router s đáp ng l
D ( router không truy n gói request đ n D ). T
, router cũng s dùng
ẽ
đ a ch c a mình đ g i tr các gói tin t
ị ươ
ự
D g i cho A.
ử ể ử ả ỉ ủ ừ u đi m và nh Ư ể ượ c đi m c a Proxying
ủ ể u đi m d nh n th y c a Proxy ARP là các router ho t đ ng nh ng các ạ ộ ễ ấ ủ ử
c s ho t đ ng c a nó. Các ho t đ ng g i ư
ạ ộ ậ
t b không h c m nh n đ
ề ả t b thu c hai LAN khác nhau v n di n ra bình th ng Ư ể
thi
ế ị
nh n gi a hai thi
ữ
ậ ế ị ễ ườ ậ ượ ự ạ ộ
ộ ủ
ẫ Tuy nhiên nó v n có nh ng m t trái và nh ng đi m h n ch c a mình : ế ủ ữ ữ ể ẫ ạ ặ • Th nh t, nó làm tăng đ ph c t p c a m ng ộ ứ ạ ủ ứ ấ ạ i hai LAN cùng n m trong ứ ế ố ớ ế ộ ằ • Th hai, n u nhi u h n m t router k t n i t
ơ
m t m ng IP, nhi u v n đ có th phát sinh
ấ ề
ề ề ể ạ ộ ệ ứ ơ ề ẩ ữ ố c c u hình proxy, t o nguy c v gi ượ ấ ả ậ ạ ề
• Th ba, công ngh này cũng t o nên nh ng m i nguy c ti m n v an
ạ
ninh và b o m t, khi các router đ
ơ ề ả
m o đ a ch .
ỉ
ị ạ t nh t là thi i pháp t ả ấ ố ế
i topo m ng đ ch m t router k t ể ỉ ộ ạ t k l
ế ế ạ
i hai LAN n m trong m t m ng IP. Do v y, gi
ậ
n i t
ố ớ ằ ạ ộ I- PHÂN TÍCH CÁC GÓI TIN DÙNG WIRESHARK K T LU N Ậ Ế ộ ở ạ ữ ệ ể ụ ủ ề
ứ ứ
ki n trúc đ n các nguyên lý thi ấ ấ ặ ề ừ ế ạ ụ ữ ệ ạ ứ ượ ự ế c nghiên c u sâu và ng d ng m nh m trong th c t
ụ ể ề
ẽ
ơ ả
ậ ứ
ậ ượ
ứ ượ ữ
ắ ậ ứ ơ ả ế
ữ ệ ư
ậ ồ
ộ ố ệ
ề
ề
ư ề
ạ ể ủ ể ư
ố ậ ượ
ạ ủ ư ế ặ ứ ở ề ầ ầ ấ ự
Truy n d li u và m ng máy tính ngày nay đã tr thành m t lĩnh v c
nghiên c u phát tri n và ng d ng c t lõi c a công ngh thông tin, bao
ệ
ố
t k , cài đ t và
g m r t nhi u v n đ , t
ề
ế ế
ế
ồ
ự
các mô hình ng d ng. M ng máy tính và truy n d li u là m t lĩnh v c
ộ
ứ
đã đ
cu c s ng.
ộ ố
c trình bày có tính c b n và t ng quan. Đây ch là
Tuy nhiên, ti u lu n đ
ỉ
ổ
c qua m t th i gian
tóm t
t nh ng tri th c mà b n thân đã thu nh n đ
ờ
ộ
ả
ắ
c
ắ ượ
h c t p ng n và qua tham kh o m t s tài li u. Ti u lu n đã tóm t
t đ
ể
ộ ố
ả
ọ ậ
ề
nh ng ki n th c c b n v m ng và truy n s li u nh khái nhi m v
ố ệ
ệ
ề ạ
ữ
ng truy n tin, k thu t d n/tách kênh,
m ng, d li u, truy n tin, môi tr
ườ
ạ
ỹ
c m t s đánh giá và
k thu t chuy n m ch... Ti u lu n đã đ a ra đ
ậ
ượ
ể
ậ
ỹ
c đi m c a m t s d ng m ng thông qua ph n phân lo i
nh n xét u nh
ạ
ậ
ạ
ộ ố ạ
ượ
ầ
ạ
c ba ví d c th c a ba m ng
m ng. Cu i cùng ti u lu n cũng đã l y đ
ụ ụ ể ủ
ấ
ể
ạ
ư ề
và nêu lên đ c tr ng và ki n trúc c a ba m ng đó. Trong ti u lu n ch a đ
ể
ậ
c p k v giao th c b i vì ph n này liên quan r t nhi u đ n các t ng c a
ủ
ế
ỹ ề
ậ
mô hình ki n trúc. ế ể ể ủ ố ắ ả ố ắ ủ ả ượ
ậ ỡ ầ ậ
ự ỗ ự
ủ
ệ ớ ề ư ắ
ế ờ ạ
ậ ữ ắ ỏ ỏ
ế ậ ứ ệ
ả ơ ự ượ ỡ ố ớ ấ ầ ự ơ
ứ ủ ứ ề ầ ờ ủ
ầ
c hi u bi
ế
ể
c s l
ượ ự ượ
c. ả
c ti u lu n này, ngoài s n l c và c g ng c a b n
Đ hoàn thành đ
ự ỗ ự
đã
đã nh n ngoài s n l c và c g ng c a b n thân, tác gi
thân, tác gi
ả
ộ
nh n đ
c s giúp đ qúy báu c a Th y Th.S Đoàn Văn Trung. Là m t
ậ
ượ ự
h c viên chuyên ngành Công ngh thông tin và dù r t tâm đ c v i đ tài
ấ
ọ
ng ki n th c c a
đang nghiên c u nh ng v i th i gian có h n và kh i l
ứ ủ
ớ
ố ượ
ứ
b n thân còn ít
ạ
i nên ch c ch n ti u lu n không tránh kh i nh ng h n
ả
ể
ắ
ch trong vi c ti p c n, nghiên c u và trình bày. Nhóm chúng em xin kính
ế
ậ ừ
tr ng c m n s giúp đ quý báu c a Th y và mong đ
c đón nh n t
ọ
ề
Th y s góp ý đ b n thân có đ
t đúng h n đ i v i v n đ
ượ
đang nghiên c u đ ng th i mong đ
ữ
ng th c a Th y v nh ng
v n đ mà nhóm ch a hoàn thi n đ
ấ ể ả
ồ
ư ệ ượ ề TÀI LI U THAM KH O Ả Ệ 1. http://www.wireshark.org 2. K thu t truy n s li u – Ths. Ph m Ng c Đĩnh - ạ ọ ỹ H c vi n công
ệ ọ ngh b u chính vi n thông. ậ
ệ ư ề ố ệ
ễ ấ
3. Nguy n h ng S n, Hoàng Đ c H i. K thu t truy n s li u. Nhà xu t
ả ề ố ệ ứ ễ ậ ơ ỹ ồ
b n Lao đ ng 2002.
ộ
ả16
BTL K THU T TRUY N S LI U
Ề Ố Ệ
Ậ
Ỹ
NHÓM 2_KHMT1-K4_UDP & ARP
17
BTL K THU T TRUY N S LI U
Ề Ố Ệ
Ậ
Ỹ
NHÓM 2_KHMT1-K4_UDP & ARP
18
BTL K THU T TRUY N S LI U
Ề Ố Ệ
Ậ
Ỹ
NHÓM 2_KHMT1-K4_UDP & ARP
19
BTL K THU T TRUY N S LI U
Ề Ố Ệ
Ậ
Ỹ
NHÓM 2_KHMT1-K4_UDP & ARP
20
BTL K THU T TRUY N S LI U
Ề Ố Ệ
Ậ
Ỹ
NHÓM 2_KHMT1-K4_UDP & ARP
21
BTL K THU T TRUY N S LI U
Ề Ố Ệ
Ậ
Ỹ
NHÓM 2_KHMT1-K4_UDP & ARP
22
BTL K THU T TRUY N S LI U
Ề Ố Ệ
Ậ
Ỹ
NHÓM 2_KHMT1-K4_UDP & ARP
23
BTL K THU T TRUY N S LI U
Ề Ố Ệ
Ậ
Ỹ