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 l p d ở ớ ướ ầ ể thành đ a ch v t lí 48 bit. Khi đó module này s ki m tra trong b ng ánh ị x c a nó g i là ARP cache đ tìm xem có m t c p ánh x gi a đ a ch ỉ ể ạ ủ logic đích v i m t đ a ch v t lí nào đó hay không. N u tìm đ c m t ánh ộ ể c dùng đ x nh v y, module s tr v đ a ch v t lí và đ a ch này s đ ạ ư ậ chuy n đ n đúng đích. N u không có ánh x nh v y, nó s g i đi b n tin ế ể ẽ ARP có đ a ch v t lí đích là đ a ch broadcast và Opcode=1. B n tin này s ị c g i đ n t đ ượ ử ế ấ ả ị t b có trong m ng. ế ị ạ

ị ố ử ả ỉ

ộ ỉ ậ ủ ả ị ị

ể 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. ớ ạ ỗ ỷ

16

BTL K THU T TRUY N S LI U

Ề Ố Ệ

NHÓM 2_KHMT1-K4_UDP & ARP

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 ợ ổ ị ế ế ị

17

BTL K THU T TRUY N S LI U

Ề Ố Ệ

NHÓM 2_KHMT1-K4_UDP & ARP

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 ạ ỉ ủ ậ ượ ẽ ằ

18

BTL K THU T TRUY N S LI U

Ề Ố Ệ

NHÓM 2_KHMT1-K4_UDP & ARP

ư

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 ấ ề ề ề ể ạ ộ

19

BTL K THU T TRUY N S LI U

Ề Ố Ệ

NHÓM 2_KHMT1-K4_UDP & ARP

ệ ứ ơ ề ẩ ữ ố

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 ố ớ ằ ạ ộ

20

BTL K THU T TRUY N S LI U

Ề Ố Ệ

NHÓM 2_KHMT1-K4_UDP & ARP

I- PHÂN TÍCH CÁC GÓI TIN DÙNG WIRESHARK

21

BTL K THU T TRUY N S LI U

Ề Ố Ệ

NHÓM 2_KHMT1-K4_UDP & ARP

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 đ ấ ể ả ồ ư ệ ượ ề

22

BTL K THU T TRUY N S LI U

Ề Ố Ệ

NHÓM 2_KHMT1-K4_UDP & ARP

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. ộ ả

23

BTL K THU T TRUY N S LI U

Ề Ố Ệ