1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tài liệu Đề tài: Giao thức UDP và ARP ppt

22 1,3K 4

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 22
Dung lượng 350 KB

Nội dung

Nó sử dụngcác địa chỉ IP để gửi các gói tin trên Internet hoặc trên mạng thông qua cáctrình điều khiển thiết bị khác nhau.. Trong phần dưới đây, chúng ta sẽ địnhnghĩa một số thuật ngữ cơ

Trang 1

M C L C ỤC LỤC ỤC LỤC

MỤC LỤC 1

LỜI NÓI ĐẦU 2

I- 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

II- 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

Trang 2

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ớisinh viên ngành điện tử viễn thông và công nghệ thông tin Đây là nền tảngnghiên cứu chuyên sau trong chuyên ngành này Mặc dù mạng đậm giải phápcho 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áytí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ếnthứ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ớikiến thức đã học được của môn Mạng máy tính, Kỹ thuật truyền số liệuchúng em đã hoàn thành bài tập lớn này đúng thời gian quy định Nhưng docò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ậtnê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

Trang 3

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ốntầ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 cungcấp khả năng truyền tin giữa các mạng thông qua các gateway Nó sử dụngcác địa chỉ IP để gửi các gói tin trên Internet hoặc trên mạng thông qua cáctrình điều khiển thiết bị khác nhau TCP và UDP là một phần của họ giaothức TCP/IP; mỗi giao thức có những ưu và nhược điểm riêng của nó Giaothức UDP là giao thức đơn giản, phi liên kết và cung cấp dịch vụ trên tầnggiao 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 datagrammulticast 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ữ

Trang 4

Trước khi kiểm tra xem giao thức UDP hoạt động như thế nào, chúng tacần làm quen với một số thuật ngữ Trong phần dưới đây, chúng ta sẽ địnhnghĩa một số thuật ngữ cơ bản có liên quan đến giao thức UDP.

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ớitới host Trong gói tin, thông tin được sắp xếp theo một khuôn dạng cụ thể

Một datagram là một gói tin độc lập, tự chứa, mang đầy đủ dữ liệu để địnhtuyến từnguồn tới đích mà không cần thông tin thêm MTU MTU là viết tắtcủ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ộtdatagram lớn hơn MTU, IP sẽ thực hiện phân đoạn, chia datagram thành cácphầ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

UDP sử dụng các cổng để ánh xạ dữ liệu đến vào một tiến trình cụ thể đangchạy trên một máy tính UDP định đường đi cho packet tại vị trí xác địnhbằ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ếtlogic, và được chia thành ba loại sau:

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)

Trang 5

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 tinhoặc thư điện tử tới nhiều người nhận, đài phát thanh trên Internet, hoặc cácchương trình demo trực tuyến

Trang 6

một cơ chuyền lại khi có lỗi, trường checksum sử dụng thuật toán để đảmbả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ứcnă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áonhậ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ìnhtrạ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 giaovậ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ôngdù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ậnthông tin Trường này là bắt buộc

 Length (16 bit): Xác định chiều dài của toàn bộ datagram: phầnheader 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

Trang 7

 Checksum (16 bit): Trường Checksum 16 bit dùng cho việc kiểmtra 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ệuhandshaking, nên có thể tránh được thời gian trễ Đó chính là lý do tại saoDNS thường sử dụng giao thức UDP hơn là TCP-DNS sẽ chậm hơn rất nhiềukhi dùng TCP

 Tốc độ: UDP nhanh hơn so với TCP Bởi vì điều này, nhiều ứngdụ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ượclạ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

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ửicá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

Trang 8

nào để biết datagram đã đến đích hay chưa Do vậy, UDP không đảm bảoviệ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 duytrì giữa các host TCP sử dụng các chỉ số phiên (session ID) để duy trì cácliên kết giữa hai host UDP không hỗ trợ bất kỳ phiên nào do bản chất philiê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ệutới đích Để gửi dữ liệu tới các hệ thống cuối, UDP phân chia dữ liệu thànhcá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 đảmbả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ụngDatagramSocket, 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ế

Trang 9

Khi một ứng dụng muốn đọc các gói tin UDP, nó gọi phương thứcDatagramSocket.receive(), phương thức này sao chép gói tin UDP vào mộtDatagramPacket xác định Xử lý nội dung nói tin và tiến trình lặp lại khi cầnKhi 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 Tuynhiê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ếtluồ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ủagó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ồngvào ra I/O để xử lý dữ liệu, bằng cách sử dụng luồng DataInputStream hoặcBufferedReader để 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 đápthì 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óitin 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

Trang 10

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ênmà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

Trang 11

Có hai phương pháp phân giải địa chỉ là : map trực tiếp và phân giải động 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 được định nghĩa trong RFC 826

- ARP là phương thức phân giải địa chỉ động giữa địa chỉ lớp network và địa chỉ lớp datalink Quá trình thực hiện bằng cách: một thiết bị IP trong mạng gửi một gói tin broadcast đến toàn mạng yêu cầu thiết bị khác gửi trả lại địa chỉ phần cứng ( địa chỉ lớp datalink ) của mình

- Ban đầu ARP chỉ được sử dụng trong mạng Ethernet để phân giải địa chỉ IP

và địa chỉ MAC Nhưng ngày nay ARP đã được ứng dụng rộng rãi và 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

a Nguyên tắc làm việc của ARP trong mạng LAN

Khi một thiết bị mạng muốn biết địa chỉ MAC của một thiết bị mạng nào đó

mà nó đã biết địa chỉ ở tầng network (IP, IPX…) nó sẽ gửi một ARP request bao gồm địa chỉ MAC address của nó và địa chỉ IP của thiết bị mà nó cần biết MAC address trên toàn bộ một miền broadcast Mỗi một thiết bị nhận được request này sẽ so sánh địa chỉ IP trong request với địa chỉ tầng network của mình Nếu trùng địa chỉ thì thiết bị đó phải gửi ngược lại cho thiết bị gửi ARP request một gói tin (trong đó có chứa địa chỉ MAC của 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ết được địa chỉ IP của PC B Khi đó PC A sẽ phải gửi một ARP broadcast cho toàn mạng để hỏi xem "địa chỉ MAC của PC có địa chỉ IP này

là gì ?" Khi PC B nhận được broadcast này, nó sẽ so sánh địa chỉ IP trong góitin 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ại một gói tin cho PC A trong đó có chứa địa chỉ MAC của B Sau đó

PC A mới bắt đầu truyền gói tin cho B

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ường phức tạp hơn đó là hai hệ thống

Trang 12

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ửigó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 một trung gian (Agent) để truyền dữ liệu Trước đó, máy A sẽ biết được địa chỉ IP của Router C (địa chỉ Gateway) và biết được rằng để truyền gói tin tới B phải đi qua C Tất cả các thông tin như vậy sẽ được chứa trong một bảng gọi là bảng định tuyến (routing table) Bảng định tuyến theo cơ chế này được lưu giữ trong mỗi máy Bảng định tuyến chứa thông tin về các Gateway để truy cập vào một hệ thống mạng nào đó Ví dụ trong trường hợp trên trong bảng sẽ chỉ ra rằng để đi tới LAN B phải qua port X 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 :

 Máy A gửi một ARP request (broadcast) để tìm địa chỉ MAC của port X

 Router C trả lời, cung cấp cho máy A địa chỉ MAC của port X

 Máy A truyền gói tin đến port X của Router

 Router nhận được gói tin từ 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

 Máy B sẽ trả lờ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

Trên thực tế ngoài dạng bảng định tuyến này người ta còn dùng phương phápproxyARP, trong đó có một thiết bị đảm nhận nhiệm vụ phân giải địa chỉ chotất cả các thiết bị khác.Theo đó các máy trạm không cần giữ bảng định tuyếnnữa Router C sẽ có nhiệm vụ thực hiện, trả lời tất cả các ARP request của tất

cả các máy

Các bước hoạt động của ARP :

- Source Device Checks Cache : Trong bước này, thiết bị sẽ kiểm tra cache( bộ đệm ) của mình Nếu đã có địa chỉ IP đích tương ứng với MAC nào đórồi thì lập tức chuyển lên bước 9

Ngày đăng: 15/02/2014, 06:20

HÌNH ẢNH LIÊN QUAN

Bảng dưới đây tổng kết những sự kác nhau giữa hai giao thức TCP và UDP: - Tài liệu Đề tài: Giao thức UDP và ARP ppt
Bảng d ưới đây tổng kết những sự kác nhau giữa hai giao thức TCP và UDP: (Trang 7)
Bảng dưới đây tổng kết những sự kác nhau giữa hai giao thức TCP và UDP: - Tài liệu Đề tài: Giao thức UDP và ARP ppt
Bảng d ưới đây tổng kết những sự kác nhau giữa hai giao thức TCP và UDP: (Trang 7)
Viết chương trình theo mơ hình Client/Server để: Client thực hiện các thao tác sau đây: - Tài liệu Đề tài: Giao thức UDP và ARP ppt
i ết chương trình theo mơ hình Client/Server để: Client thực hiện các thao tác sau đây: (Trang 10)
b. Địa chỉ logic của host được gán lại cho một địa chỉ vật lí mới.Khi đó bảng ARP cache của host có thể bị xố trắng, tuy nhiên ánh xạ địa chỉ MAC-địa  chỉ logic của nó vẫn cịn tồn tại trong các bảng ARP cache của các máy khác - Tài liệu Đề tài: Giao thức UDP và ARP ppt
b. Địa chỉ logic của host được gán lại cho một địa chỉ vật lí mới.Khi đó bảng ARP cache của host có thể bị xố trắng, tuy nhiên ánh xạ địa chỉ MAC-địa chỉ logic của nó vẫn cịn tồn tại trong các bảng ARP cache của các máy khác (Trang 14)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w