BỘ CÔNG THƯƠNGTRƯỜNG ĐH CÔNG NGHIỆP HÀ NỘI CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự do - Hạnh phúc ĐỒ ÁN MÔN HỌC TRUYỀN SỐ LIỆU Số: 09 Thực nghiệm nguyên lí bắt tay 3 bước, DNS tr
Trang 1BỘ CÔNG THƯƠNG
TRƯỜNG ĐH CÔNG NGHIỆP HÀ NỘI
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập - Tự do - Hạnh phúc
ĐỒ ÁN MÔN HỌC TRUYỀN SỐ LIỆU Số: 09 (Thực nghiệm nguyên lí bắt tay 3 bước, DNS trong
MMT)
STT Họ và tên sinh viên Lớp/Khóa Khoa
Giáo viên hướng dẫn : Thạc sĩ Tống Văn Luyên
NỘI DUNG 1.Nguyên lí DNS trong mạng máy tính
Yêu cầu:
- Mô tả về hệ thống
- Thực nghiệm trên phần mềm Wireshark
- Thiết kế khoa học, trực quan minh hoạt được lý thuyết và có khả năng ứng dụng
2 Viết báo cáo về nội dung bài tập lớn
Yêu cầu:
- Số trang: Từ 20 đến 30 trang giấy khổ A4
- Nội dung báo cáo gồm 3 phần:
+ Phần 1: Cơ sở lý thuyết: Trình bày các cơ sở lý thuyết liên quan tới sản phẩm cần thiết kế
+ Phần 2: Nội dung: Thực nghiệm trên Wireshark
+ Phần 3: Kết luận: Đánh giá các ưu, nhược điểm, tính thực tế của sản phẩm đã thiết kế và hướng cải tiến, phát triển
Trang 2LỜI CẢM ƠN
Để có được đồ án này, chúng em xin bày tỏ lòng biết ơn sâu sắc đến các thầy cô giáo trong trường Đại học Công nghiệp Hà Nội nói chung, khoa Điện tử nói riêng, những người đã tận tình giảng dạy, truyền đạt cho chúng em những kiến thức quý báu trong những năm học vừa qua.
Em xin chân thành cảm ơn thầy giáo hướng dẫn, Thạc sỹ - Giảng viên Tống Văn Luyên, bộ môn Điện tử viễn thông, khoa Điện
tử, trường Đại học Công nghiệp Hà Nội đã nhiệt tình hướng dẫn, chỉ bảo và cung cấp cho chúng em nhiều kiến thức cũng như tài liệu quý trong suốt quá trình làm đồ án Nhờ sự giúp đỡ của thầy chúng
em mới có thể hoàn thành được đồ án này.
Đồ án hoàn thành do hạn chế về kiến thức nên không tránh khỏi những thiếu sót Kính mong nhận được những ý kiến đóng góp phê bình của Thầy cũng như các thầy cô trong khoa Điện tử để nhóm chúng em có thể hoàn thành hơn nữa.
Chúng em xin chân thành cảm ơn!
Trang 3LỜI NHẬN XÉT
Trang 4
MỤC LỤC
Phần I Tổng quan về kĩ thuật truyền số liệu 5
1.DTE 5
2.DCE 5
3.Kênh truyền tin 6
Phần II Nguyên lí bắt tay ba bước 7
1.Tổng quan về TCP 7
2.Thủ tục bắt tay ba bước 8
3.Phân tích gói tin TCP trên Wireshark 10
Phần III.DNS 16
1.Khái niệm 16
2.Lịch sử phát triển 16
3.Quy tắc đặt tên miền 16
4.Cấu trúc gói tin DNS 17
5.Quá trình phân giải tên miền 20
6.DNS Zone 22
7.Phân loại Name Sever 24
8.Cài đặt trên Window Sever 2008 26
9.Phân tích gói tin DNS trên Wireshark
Trang 6PHẦN I: TỔNG QUAN VỀ KĨ THUẬT TRUYỀN SỐ LIỆU Ngày nay với sự phát triển của kỹ thuật và công nghệ đã tạo ra một
bước tiến dài trong lĩnh vực truyền số liệu Sự kết hợp giữa các phần cứng, các giao thức truyền thông các thuật toán đã tạo ra những hệ thống truyền số liệu hiện đại, những kĩ thuật cơ sở vẫn được dùng nhưng chúng tinh vi hơn Về mặt cơ bản hệ thống truyền
số liệu được mô tả như sau:
1.DTE ( Data Terminal Equipment – Thiết bị đầu cuối dữ liệu) :
Đây là thiết bị lưu trữ và xử lý thông tin Trong hệ thống truyền số liệu hiện đại thì DTE thường là máy tính hoặc máy Fax hoặc là trạm cuối ( Terminal) Như vậy tất cả các ứng dụng của người sử dụng (chương trình, dữ liệu ) đều nằm trong DTE Chức năng của DTE thường là lưu trữ các phần mền ứng dụng, đóng gói dữ liệu rồi gửi
ra DCE hoặc nhận gói dữ liệu từ DCE theo một giao thức ( protocol ) xác định DTE trao đổi với DCE thông qua một chuẩn giao tiếp nào đó Như vậy mạng truyền số liệu chính là để kết nối các DTE lại cho phép chúng phân chia tài nguyên, trao đổi cơ sở dữ liệu và lưu trữ thông tin dùng chung
2.DCE (Data Circuit terminal Equiment – Thiết bị cuối kênh dữ liệu):
Đây là thuật ngữ dùng để chỉ các thiết bị dùng để kết nối các DTE
Trang 7trường hợp máy tính đó là một nút mạng và DTE được kết nối qua
nút mạng đó DCE có thể được cài đặt bên trong DTE hoặc đứng
riêng như một thiết bị độc lập Trong các thiết bị DCE thường có
các phần mềm được ghi vào bộ nhớ ROM Giữa hai thiết bị việc
trao đổi dữ liệu phải tuân thủ theo tiêu chuẩn, dữ liệu phải theo một
Format xác định Ví dụ như chuẩn trao đổi dữ liệu tầng 2 của mô
hinh OSI là HDLC
3.Kênh truyền tin
Kênh truyền tin là môi trường mà trên đó 2 thiết bị DTE trao đổi
dữ liệu với nhau trong phiên làm việc
Trong trường hợp này 2 hệ thống được kết nối với nhau bằng một
đoạn cáp đồng trục và một đoạn cáp sợi quang, modem C để chuyển
đổi tín hiệu số sang tín hiệu tương tự để truyền trong cáp đồng trục
modem D lại chuyển tín hiệu đó thành tín hiệu số và qua Tranducer
E để chuyển đổi từ tín hiệu điện sang tín hiệu quang để truyền trên
cáp sợi quang cuối cùng Tranducer F lại chuyển tín hiệu quang
thành tín hiệu điện để tới DTE
Trang 8
PHẦN II: NGUYÊN LÍ BẮT TAY 3 BƯỚC
1.Tổng quan về giao thức TCP
Giao thức TCP (Transmission Control Protocol - "Giao thức điều
khiển truyền vận") là một trong các giao thức cốt lõi của bộ giao thức TCP/IP Sử dụng TCP, các ứng dụng trên các máy chủ được nối mạng có thể tạo các "kết nối" với nhau, mà qua đó chúng có thể trao đổi dữ liệu hoặc các gói tin Giao thức này đảm bảo chuyển giao dữ liệu tới nơi nhận một cách đáng tin cậy và đúng thứ tự TCP còn phân biệt giữa dữ liệu của nhiều ứng dụng (chẳng hạn, dịch vụ Web và dịch vụ thư điện tử) đồng thời chạy trên cùng một máy chủ TCP hỗ trợ nhiều giao thức ứng dụng phổ biến nhất trên Internet và các ứng dụng kết quả, trong đó có WWW, thư điện tử…
Trong bộ giao thức TCP/IP, TCP là tầng trung gian giữa giao thức
IP bên dưới và một ứng dụng bên trên Các ứng dụng thường cần các kết nối đáng tin cậy kiểu đường ống để liên lạc với nhau, trong khi đó, giao thức IP không cung cấp những dòng kiểu đó, mà chỉ cung cấp dịch vụ chuyển gói tin không đáng tin cậy TCP làm nhiệm vụ của tầng giao vận trong mô hình tham chiếu OSI
Các ứng dụng gửi các dòng gồm các byte 8-bit tới TCP để chuyển
qua mạng TCP phân chia dòng byte này thành các đoạn (segment)
có kích thước thích hợp (thường được quyết định dựa theo kích thước của đơn vị truyền dẫn tối đa (MTU) của tầng liên kết dữ liệu của mạng mà máy tính đang nằm trong đó) Sau đó, TCP chuyển các gói tin thu được tới giao thức IP để gửi nó qua một liên mạng tới mô đun TCP tại máy tính đích TCP kiểm tra để đảm bảo không có gói tin nào bị thất lạc bằng cách gán cho mỗi gói tin một
"số thứ tự" (sequence number) Số thứ tự này còn được sử dụng để
đảm bảo dữ liệu được trao cho ứng dụng đích theo đúng thứ tự Mô
đun TCP tại đầu kia gửi lại "tin báo nhận" (acknowledgement) cho
Trang 9gửi sẽ báo time-out nếu không nhận được tin báo nhận trong khoảng
thời gian bằng một round-trip time (RTT), và dữ liệu (được coi là bị
thất lạc) sẽ được gửi lại TCP sử dụng checksum (giá trị kiểm tra)
để xem có byte nào bị hỏng trong quá trình truyền hay không; giá trị này được tính toán cho mỗi khối dữ liệu tại nơi gửi trước khi nó được gửi, và được kiểm tra tại nơi nhận
2.Thủ tục bắt tay 3 bước (three way – handshake)
*Vào đầu mỗi phiên TCP, máy tính gửi và nhận dữ liệu thực hiện thủ tục bắt tay 3 bước Mỗi bước sử dụng một segment chỉ có phần đầu TCP mà không có dữ liệu Cách thức hoạt động như sau:
+Bước 1: SYN: Máy Client gửi gói tin với cờ SYN (synchoronize) yêu cầu mở cổng dịch vụ Trong gói tin này, tham số sequence number được gán cho một giá trị ngẫu nhiên =X Cờ SYN=1, ACK=0
+Bước 2: SYN/ACK: Khi yêu cầu mở kết nối được máy chủ nhận được tại cổng đang mở, Sever sẽ gửi lại gói tin chấp nhận SYN/ACK Trong gói tin này, tham số acknowledgment number được gán giá trị bằng X+1, tham số sequence number được gán một giá trị ngẫu nhiên Y Cờ SYN=1, ACK=1
+Bước 3: ACK: Được gửi từ Client nhằm thông báo cho Sever biết rằng Client đã nhận được gói tin SYN/ACK Trong bản tin này,
Trang 10tham số sequence number được gán cho giá trị bằng X + 1 còn tham
số acknowledgment number được gán giá trị bằng Y + 1, SYN=0, ACK=1
*TCP Flag: Trong quá trình truyền thông của mình, giao thức TCP
sử dụng các cờ gọi là những TCP Flag Có những loại TCP Flag là: SYN, ACK, FIN, RESET, PUSH, URGENT
+SYN: Được sử dụng trong giai đoạn của quá trình khởi tạo liên kết nhằm đồng bộ hóa hai máy tính trước khi dữ liệu được truyền
+ACK: Dùng để gửi thông báo xác nhận sau khi nhận được dữ liệu
từ máy gửi
+FIN: Yêu cầu chấm dứt liên kết
+RESET: Khởi tạo lại phiên truyền
+PUSH: Được ứng dụng khi bên truyền dữ liệu được gửi trực tiếp đến ứng dụng mà không cần thông qua vùng đệm
+URGENT: Truyền dữ liệu điều khiển có mức ưu tiên cao nhất
*Các cổng TCP:
TCP sử dụng khái niệm số hiệu cổng (port number) để định danh
các ứng dụng gửi và nhận dữ liệu Các cổng được phân thành ba loại cơ bản: nổi tiếng, được đăng ký và động/cá nhân Các cổng nổi tiếng đã được gán bởi tổ chức (IANA) và thường được sử dụng bởi các tiến trình mức hệ thống hoặc các tiến trình của root Ví dụ: FTP (21), TELNET(23), SMTP (25) và HTTP (80) Các cổng được đăng ký thường được sử dụng bởi các ứng dụng người dùng
đầu cuối (end user application) với vai trò các cổng phát tạm thời
(khi dùng xong thì hủy đăng ký) khi kết nối với server, nhưng chúng cũng có thể định danh các dịch vụ có tên đã được đăng ký bởi một bên thứ ba Các cổng động/cá nhân cũng có thể được sử dụng bởi các ứng dụng người dùng đầu cuối, nhưng không thông dụng bằng Các cổng động/cá nhân không có ý nghĩa gì nếu không đặt trong một kết nối TCP Có 65535 cổng được chính thức thừa nhận
Trang 113.Phân tích gói tin TCP trên Wireshark
Hình vẽ trên mô tả các gói tin TCP mà Wireshark bắt được, gồm các gói tin SYN, SYN/ACK, ACK Ta phân tích một gói tin được gửi từ cổng 53562 từ máy Client
Gói tin này gồm có các thông tin như hình vẽ dưới:
+Frame:
Trang 12+Ethernet II:
+IP4:
Trang 13+Gói tin TCP (SYN)
Trang 14Gói tin SYN/ACK trả lời gói tin SYN trên:
Trang 15Gói tin ACK:
Trang 16Ta phân tích một gói tin TCP bị lỗi:
Trang 17PHẦN III: DNS
1.Khái niệm
Ngày nay, ứng dụng công nghệ thông tin trong sản xuất và đời sống là một mục tiêu phát triển hàng đầu Mạng Internet trở thành một vấn đề nghiên cứu cốt lõi từ mọi vấn đề của cuộc sống Với một
sự kết hợp rộng rãi như vậy, việc nhớ địa chỉ IP khi muốn truy cập vào một máy tính khác là cực kỳ khó khăn Do vậy, hệ thống phân giải tên miền ra đời (DNS) để giải quyết những vấn đề này Khi cần truy cập tới một trang Web hay dịch vụ nào đó, thay vì gõ địa chỉ IP như 123.14.240.112 rất khó nhớ, người dùng chỉ cần gõ một tên gợi
ý dễ nhớ hơn như 24h.com.vn Như vậy, DNS đóng vai trò phân giải một tên miền thành địa chỉ IP và ngược lại DNS được quản lý bởi tổ chức ICANN
2.Lịch sử phát triển
DNS ra đời và phát triển song song với mạng máy tính Ban đầu, năm 1970, với một mạng máy tính còn nhỏ, bộ Quốc phòng Mỹ chỉ dùng một file hosts.txt để chứa các thông tin giữa địa chỉ IP và tên miền Tuy nhiên khi số lượng địa chỉ IP tăng lên, file hosts.txt có những nhược điểm:
+Lưu lượng mạng và máy chủ duy trì tệp tin bị quá tải do hiệu ứng
cổ chai
+Xung đột tên do không có cơ chế ủy quyền quản lý
+Không đảm bảo sự toàn vẹn Việc duy trì một tập tin trên mạng rất khó khăn
Do vậy, đến năm 198, Paul Mockpetris thuộc viện USC’s Information Sciences Institute phát triển hệ thống tên miền mới lấy tên là hệ thống phát triển tên miền (DNS)
3.Quy tắc đặt tên miền
Trang 18-Trong mạng máy tính, mỗi địa chỉ IP là duy nhất, do vậy, một tên miền cũng phải là duy nhất, tương ứng với địa chỉ IP đó Hay nói cách khác là tạo mối quan hệ 1-1 giữa địa chỉ IP và tên miền.
-Không có bất kỳ quy luật nào liên hệ giữa địa chỉ IP và tên miền Tên miền ai đăng ký trước được trước Việc đăng ký này do các tổ chức có thẩm quyền cấp phát
-Độ dài tối đa của một tên miền là 255 ký tự
-Tên miền bao gồm các chữ cái, chữ số, dấu “-” và dấu “.” Dấu gạch ngang không được đứng đầu và kết thúc Dấu “.” dùng để ngăn cách giữa các Domain với nhau
Trang 19Một DNS gồm: ROOT, Top-Level, Second-Level, Subdomains, Hostname.
-ROOT: Tên miền gốc Là cấp cao nhất của DNS, được ký hiệu bằng dấu “.”, do tổ chức ICANN quản lý Tổ chức này có quyền cấp phát cho lớp Top-Level ROOT bao gồm 13 máy chủ trên toàn thế giới Địa chỉ IP và vị trí của các máy chủ này được quảng bá tới tất cả mọi người Bảng dưới đây cho ta biết địa chỉ IP và vị trí của
G 199.5.157.131 Chicago, Illinois, USA
H 208.71.35.137 Des Moines, Iowa, USA
Trang 20miền dùng chung thường gồm ba chữ cái đầu tiên của các lĩnh vực dùng chung.
+Một số tên miền quốc:
• vn: tên miền Việt Nam
• com: dùng cho tổ chức thương mại
• edu: dùng cho cơ quan giáo dục, trường học
• net: dùng cho các tổ chức mạng lớn
• gov: dùng cho các tổ chức chính phủ
• mil: tổ chức quân sự, quốc phòng
• int: dùng cho các tổ chức quốc tế
-Second-Level: Tên miền cấp hai Nó có thể là tên một công ty, một
cá nhân hay tên miền dùng chung của một quốc gia Một số ví dụ:
• com.vn: dùng cho tổ chức thương mại của việt nam
• dell.com: tên công ty, tổ chức thương mại
-Subdomain: Là một tên miền cấp thấp Thường được đặt mang tính chất gợi nhớ Nó có thể là tên 1 trang web hay một dich vụ nào đó
Ví dụ: bongda.com.vn, haui.edu.vn
*Tên miền có thể có nhiều miền nhỏ hơn nữa tùy thuộc vào số dịch
vụ mà một máy tính có thể cung cấp Nhưng thông thường chỉ có tối
đa là 5 cấp Điều này đảm bảo dễ nhớ và tránh việc quản trị khó khăn, phức tạp
Trang 21DNS hoạt động theo mô hình Client-Sever:
-Phần Client là trình phân giải tên (Resolver), chứa các hàm thư viện dung để tạo các câu truy vấn đến Name Sever
-Phần Sever gọi là máy chủ phục vụ tên miền, hay còn gọi là Name Sever, chứa các thông tin phân giải cơ sở dữ liệu cho tên miền
*Quá trình phân giải tên miền
Khi một máy tính Client truy cập vào một Sever, quá trình truy vấn phân giải tên miền sẽ diễn ra như sau:
1 Client kiểm tra trong bộ nhớ Cache, nếu có chứa dữ liệu địa chỉ IP của tên miền cần truy vấn thì nó sẽ trả lại ngay cho máy Client địa chỉ IP của Sever cần truy cập
2 Nếu bộ nhớ Cache không chứa bất kỳ thông tin nào, Client sẽ gửi câu truy vấn lên Local DNS Sever Nếu máy Local DNS Sever này chứa kết quả trong cơ sở dữ liệu thì nó sẽ trả lời về Client Quá trình này gọi là truy vấn tới Sever có thẩm quyền (Authoritative DNS Sever)
3 Nếu máy Authoritative DNS Sever không có câu trả lời, câu truy vấn DNS (DNS query) sẽ được chuyển (Forward) tới một máy DNS Sever được chỉ định từ trước hoặc nếu máy DNS Sever này cũng không có câu trả lời thì sẽ chuyển thẳng lên máy ROOT hints Sever
*Truy vấn (query): là gửi câu truy vấn phân giải tên miền tới máy chủ DNS Sever Có 2 kiểu truy vấn: truy vấn đệ quy và truy vấn tương tác
• Truy vấn đệ quy (recursive) : là kiểu truy vấn mà Client yêu cầu DNS Sever cung cấp câu trả lời đầy đủ cho câu truy vấn phân giải một tên miền nào đó
Trang 22Truy vấn đệ quy Hình trên minh họa cho quá trình truy vấn đệ quy Khi máy Client1 muốn phân giải tên miền như “mail1.Athena.com” có địa chỉ IP là bao nhiêu, thì sẽ gửi câu truy vấn lên Local DNS Sever Nếu Local DNS Sever này chứa cơ sở dữ liệu trong Database của nó thì sẽ gửi câu trả lời địa chỉ IP ứng với tên miền đó, như trên hình là 172.14.22.136
• Truy vấn tương tác: Là kiểu truy vấn mà Client sẽ nhận được câu trả lời tốt nhất mà DNS Sever cung cấp tại thời điểm đó Trong trường hợp DNS Sever không tìm thấy kết quả, nó sẽ trả lời với tên miền và địa chỉ IP của DNS Sever gần nhất mà
nó biết