Thông tin tài liệu
NHÓM 2_KHMT1-K4_UDP & ARP
MỤC LỤC
MỤC LỤC 1
LỜI NÓI ĐẦU 2
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ải pháp cho dịch vụ số liệu, nhưng kỹ thuật truyền số liệu ngày nay lại là xuất phát
điểm cho đa dịch vụ một xu thế tất yếu trong mạng viễn thông và mạng máy tính hiện đại. Chúng ta
đều biết rằng không có kiến 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
này sẽ trình bày những kiến thức cơ bản nhất và thiế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 bày một phần nhỏ trong ngành truyền dữ liệu. 2
Với sự hướ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 đượ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
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 3
3.Cấu trúc đơn vị dữ liệu 6
4.Ưu và nhược điểm của giao thức UDP 7
5.Những vấn đề cần giải quyết 8
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 10
2.Nguyên lý làm việc 11
3.Cấu trúc đơn vị dữ liệu 13
4.Những vấn đề cần giải quyết 14
5.ARP Caching 16
6.Proxy ARP 18
I-PHÂN TÍCH CÁC GÓI TIN DÙNG WIRESHARK 20
KẾT LUẬN 21
TÀI LIỆU THAM KHẢO 22
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 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ải pháp
cho dịch vụ số liệu, nhưng kỹ thuật truyền số liệu ngày nay lại là xuất phát
điểm cho đa dịch vụ một xu thế tất yếu trong mạng viễn thông và mạng máy
tính hiện đại. Chúng ta đều biết rằng không có kiến 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 này sẽ trình bày những kiến
thức cơ bản nhất và thiế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 bày một phần nhỏ trong ngành truyền dữ
liệu.
Với sự hướ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 đượ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 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, TCP, và
UDP. UDP nằm ở tầng giao vận, phía trên giao thức IP. Tầng giao 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 thông qua các
trình điều khiển thiết bị khác nhau. TCP và UDP là một phần 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à thường được sử
dụng thường xuyên trong liên kết một-nhiều bằng cách 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ướ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ưới đây, chúng ta sẽ định
nghĩa một số thuật ngữ cơ bản có liên quan đến giao thức UDP.
• Packet
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 được chuyển đi và chuyển tới
tới host. Trong gói tin, thông tin được sắp xếp theo một khuôn dạng cụ thể.
• Datagram
Một datagram là một gói tin độc lập, tự chứa, mang đầy đủ dữ liệu để định
tuyến từnguồn tới đích mà không cần thông tin thêm. MTU. MTU là viết tắ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ường mạng cho trước có thể truyền. Ví dụ,
Ethernet có MTU cố định là 1500 byte. Trong UDP, nếu kích thước của một
datagram lớn hơn MTU, IP sẽ thực hiện phân đoạn, chia 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
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 đường đi cho packet tại vị trí xác định
bằng cách sử dụng số hiệucổng được xác định trong header của datagram.
Các cổng được biểu diễn bởi các số 16-bit,vì thế các cổng nằm trong dải từ 0
đến 65535. Các cổng cũng được xem như là các điểm cuối của các liên kết
logic, và được chia thành ba loại sau:
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
Chú ý rằng các cổng UDP có thể nhận nhiều hơn một thông điệp ở một thời
điểm.
4
BTL KỸ THUẬT TRUYỀN SỐ LIỆU
NHÓM 2_KHMT1-K4_UDP & ARP
Trong một số trường hợp, các dịch vụ TCP và UDP có thể sử dụng cùng 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)
Giá trị TTL cho phép chúng ta thiết lập một giới hạn trên của các router mà
một datagram có thể đi qua. Giá trị TTL ngăn ngừa các gói tin khỏi bị kẹt
trong các vòng lặp định tuyến vô hạn. TTL được khởi tạo bởi phía gửi và 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
Multicasting là phương pháp dựa trên chuẩn có tính chất mở để phân phối
các thông tin giống nhau đến nhiều người dùng. Multicasting là một đặc
trưng chính của giao thức UDP.
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ử tới nhiều người nhận, đài phát thanh trên Internet, hoặc các
chương trình demo trực tuyến.
b. Nguyên lý hoạt động
UDP truyền dữ liệu (datagram) giữa 2 thiết bị mạng (2 máy) thông qua các
cổng ứng dụng. Các thông số về địa chỉ máy gửi và máy nhận (Soure address
và Destination address) được xác nhận ở phần header của IP Datagram. Từ
thông số về Destination Port cho biết máy nhận sẽ nhận dữ liệu qua cổng
5
BTL KỸ THUẬT TRUYỀN SỐ LIỆU
NHÓM 2_KHMT1-K4_UDP & ARP
nào, nếu như ứng dụng bên trong không mở cổng tương ứng thì việc nhận
không thể thực hiện được. Trong quá trình chuyền nhận UDP chỉ cung cấp
một cơ chuyền lại khi có lỗi, trường checksum sử dụng 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 được dữ
liệu nó sẽ tính lại checksum mới và s2 với checksum nhận được, nếu có sự
sai khác yêu cầu thông tin gửi lại
3. Cấu trúc đơn vị dữ liệu
Giao thức UDP là một giao thức “không liên kết” được sử dụng thay thế 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ết lập và giải phóng liên kết. Nó cũng không cung cấp các cơ chế báo
nhận, không sắp xếp tuần tự các đơn vị dữ liệu đến và có thể dẫn tớ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 cho người gửi.
Tóm lại nó cung cấp các dịch vụ giao vận không tin cậy như 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ường được dùng cho các ứng dụng không đòi hỏi độ tin cậy cao trong giao
vận.
Cấu trúc của một đơn vị dữ liệu UDP như sau:
Trong đó:
• Soure Port (16 bit): Trường này xác định cổng của trạm gửi và có ý
nghĩa nếu muốn nhận thông tin phản hồi từ người nhận. Nếu không
dùng đến thì đặt nó bằng 0.
• Destination Port (16 bit): Trườ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.
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.
4. Ưu và nhược điểm của giao thức UDP
a. Ưu điểm
• Không cần thiết lập liên kết: UDP là giao thức phi liên kết, vì thế
không cần phải thiết lập liên kết. Vì UDP không sử dụng các tín hiệu
handshaking, nên có thể tránh được thời gian trễ. Đó chính là lý do tại sao
DNS thường sử dụng giao thức UDP hơn là TCP-DNS sẽ chậm hơn rất 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
dụng thường được cài đặt trên giao thức UDP hơn so với giao thức TCP.
• Hỗ trợ hình trạng (Topology): UDP hỗ trợ các liên kết 1-1, 1-n,
ngược lại TCP chỉ hỗ trợ liên kết 1-1.
• Kích thước header: UDP chỉ có 8 byte header cho mỗi đoạn, ngược
lại TCP cần các header 20 byte, vì vậy sử dụng băng thông ít hơn.
Bảng dưới đây tổng kết những sự kác nhau giữa hai giao thức TCP và UDP:
b. Nhược điểm
7
BTL KỸ THUẬT TRUYỀN SỐ LIỆU
NHÓM 2_KHMT1-K4_UDP & ARP
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ó cách
nào để biết datagram đã đến đích hay chưa. Do vậy, UDP không đảm 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ữ liệu
tới đích. Để gửi dữ 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 đúng thứ
tự như chúng đã được tạo ra ở nguồn. Ngược lại, TCP sử dụng các số thứ tự
cùng với số hiệu cổng và các gói tin xác thực thường xuyên, điều này đảm
bảo rằng các gói tin đến đích đúng thứ tự mà nó đã được tạo 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 được thiết kế tồi có thể làm giảm băng thông của mạng.
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 đượ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ưới đây chỉ ra mối quan hệ
giữa một gói tin UDP với các lớp Java khác nhau được sử dụng để xử lý 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
Khi một ứng dụng muốn đọc các gói tin UDP, nó gọi phương thức
DatagramSocket.receive(), phương thức này sao chép gói tin UDP vào một
DatagramPacket xác định. Xử lý nội dung nói tin và tiến trình lặp lại khi 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 nội dung của
gói UDP một cách dễ dàng. Rất nhiều người lập 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
Lớp DatagramSocket cũng được sử dụng để gửi các gói tin. Khi gửi gói 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 tin phúc đáp
thì ta cũng đã biết địa chỉ và số hiệu cổng của gói tin nhận đượ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.
9
BTL KỸ THUẬT TRUYỀN SỐ LIỆU
NHÓM 2_KHMT1-K4_UDP & ARP
6. Ví dụ minh họa giao thức UDP
Để minh họa các gói tin UDP được gửi và nhận như thế nào, chúng ta sẽ 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
- Client nhận thông tin phản hồi trở lại từ Server và hiển thị thông tin đó trên
màn hình.
Server thực hiện các thao tác sau:
- Server nhận xâu ký tự do client gửi tới và in lên màn hình
- 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-work )
lại dựa trên địa chỉ lớp ba (lớp network). Việc phân giải địa chỉ giữa lớp
datalink và lớp network nhằm giúp cho việc truyền dữ liệu được liên tục qua
mạng.
10
BTL KỸ THUẬT TRUYỀN SỐ LIỆU
[...]... SỐ LIỆU NHÓM 2_KHMT1-K4 _UDP & ARP I- PHÂN TÍCH CÁC GÓI TIN DÙNG WIRESHARK 20 BTL KỸ THUẬT TRUYỀN SỐ LIỆU NHÓM 2_KHMT1-K4 _UDP & ARP KẾT LUẬN 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 gồm rất nhiều vấn đề, từ kiến trúc đến các nguyên lý thiết kế, cài đặt và các mô hình ứng dụng Mạng máy tính và truyền dữ liệu. .. của mạng.Từ đó sinh ra nhu cầu của ARP Caching Static and Dynamic ARP Cache Entries 16 BTL KỸ THUẬT TRUYỀN SỐ LIỆU NHÓM 2_KHMT1-K4 _UDP & ARP ARP Cache có dạng giống như một bảng tương ứng giữa địa chỉ hardware và địa chỉ IP Có hai cách đưa các thành phần tương ứng vào bảng ARP : • Static ARP Cache Entries: Đây là cách mà các thành phần tương ứng trong bảng ARP được đưa vào lần lượt bởi người quản trị... với địa chỉ MAC là địa chỉ MAC của proxy ARP và mọi thông tin sẽ được gửi đến proxy ARP này Nếu không tồn tại proxy ARP 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 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ối đa việc gửi gói tin Request và Reply sẽ càng góp phần làm tăng khả năng... - Source Device Generates ARP Request Message : Bắt đầu khởi tạo gói tin ARP Request với các trường địa chỉ như trên 12 BTL KỸ THUẬT TRUYỀN SỐ LIỆU NHÓM 2_KHMT1-K4 _UDP & ARP - Source Device Broadcasts ARP Request Message : Thiết bị nguồn quảng bá gói tin ARP Request trên toàn mạng - Local Devices Process ARP Request Message : Các thiết bị trong mạng đều nhận được gói tin ARP Request Gói tin được xử... lĩnh vực đã được nghiên cứu sâu và ứng dụng mạnh mẽ trong thực tế cuộc sống Tuy nhiên, tiểu luận được trình bày có tính cơ bản và tổng quan Đây chỉ là tóm tắt những tri thức mà bản thân đã thu nhận được qua một thời gian 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 được những kiến thức cơ bản về mạng và truyền số liệu như khái nhiệm về mạng, dữ liệu, truyền tin, môi trường truyền... Proxy ARP: 18 BTL KỸ THUẬT TRUYỀN SỐ LIỆU NHÓM 2_KHMT1-K4 _UDP & ARP Giải pháp cho tình huống này được gọi là ARP proxying hay Proxy ARP Trong công nghệ này, router nằm giữa 2 mạng local sẽ được cấu hình để đáp ứng các gói tin broadcast gửi từ A thay cho B Router sẽ không gửi cho 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 nhau và không thể gửi trực tiếp đến nhau được Thay vào... 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ó được hiểu biết đúng hơn đối với vấn đề đang nghiên cứu đồng thời mong được sự lượng thứ của Thầy về những vấn đề mà nhóm chưa hoàn thiện được 21 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... đưa vào làm Target trong gói tin gửi đi Đồng thời thiết bị sẽ lấy địa chỉ datalink của mình để đưa vào trường Sender Hardware Address - Destination Device Updates ARP Cache : Thiết bị đích ( thiết bị khởi tạo 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 - Destination Device Sends ARP Reply... bản tin ARP bao gồm các trường: 13 BTL KỸ THUẬT TRUYỀN SỐ LIỆU NHÓM 2_KHMT1-K4 _UDP & ARP Trong đó: • Hardware type và Protocol type quy định kiểu của phần cứng và của protocol được dùng ở lớp network • Opcode: cho biết bản tin ARP là yêu cầu (=1) hoặc phúc đáp (=2) • HW addr length: dộ dài của địa chỉ vật lý • 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... không Nếu có và cờ Merge là false, nó sẽ cập nhật vào bảng ARP cache của mình Nếu không, gói tin ARP request sẽ bị hủy - Kiểm tra opcode: nếu opcode là request thì gửi lại bản tin ARP theo dạng unicast thông báo cho máy yêu cầu biết được địa chỉ MAC của mình - Thiết bị yêu cầu, sau khi nhận được bản tin ARP reply, sẽ cập nhật lại bảng ARP cache .
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. và UDP là một phần 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à
Ngày đăng: 15/02/2014, 06:20
Xem thêm: Tài liệu Đề tài: Giao thức UDP và ARP ppt, Tài liệu Đề tài: Giao thức UDP và ARP ppt, Nguyên lý làm việc, B. Tìm hiểu về giao thức ARP