Tải bản đầy đủ (.doc) (45 trang)

bài tập linux,tìm hiểu giao thức mạng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (310.06 KB, 45 trang )

Báo Cáo Thực Tập Tốt Nghiệp

CHƯƠNG I : GIAO THỨC TCP/IP
I. Giao thức IP :
I.1. Khái niệm giao thức IP :
Giao thức mạng IP được thiết kế để liên kết các mạng máy tính sử dụng phương
pháp truyền thông và nhận dữ liệu dưới dạng gói. Giao thức IP cho phép truyền các
gói dữ liệu từ điểm nguồn tới điểm đích có địa chỉ cố định. Đơn vị dữ liệu được
trao đổi là các gói dữ liệu. Các chức năng được thực hiện ở IP là:
- Đánh địa chỉ: Tất cả các host trong mạng và trong liên mạng đều được cung cấp
một địa chỉ IP duy nhất. Theo giao thức IP version 4, mỗi địa chỉ IP gồm 32bit và
được chia làm 5 lớp A,B,C,D,E. Các lớp A,B,C được sử dụng để định danh các host
trên các mạng. Lớp được sử dụng cho quá trình truyền đa điểm còn lớp E để dự
phòng.
- Định tuyến: Giúp xác định đường đi (tuyến)cho gói tin khi được truyền trên
mạng. Nó giúp lựa chọn đường đi tối ưu cho các gói dữ liệu. Nếu hai host cần liên
lạc không nằm trên một subnet thì bảng định tuyến sẽ được sử dụng để quyết định
việc chuyển dữ liệu và các bộ định tuyến thường xuyên trao đổi và cập nhật thông
tin trong bảng định tuyến tùy thuộc vào phương pháp định tuyến được sử dụng.
- Truyền đa điểm : Hiện nay có ba cách truyền các gói IP là:
+ Truyền một điểm đích (unicast): các gói tin được truyền từ host nguồn
đến host đích duy nhất.
+ Truyền quảng bá: gói tin được truyền đến tất cả các host trong mạng.
+ Truyền đa điểm: gói tin được gửi đến một số các host nhất định trong mạng
- Ngoài ra, giao thức IP còn cung cấp khả năng phân mảnh dữ liệu lớn thành các
gói có kích thước nhỏ hơn để truyền qua mạng.

SVTH : Trần Tấn Tuấn

GVHD : Nguyễn Trí Quốc


1


Báo Cáo Thực Tập Tốt Nghiệp

I.1.2. Giao thức TCP/IP :
- Bộ giao thức TCP/IP, ngắn gọn là TCP/IP (tiếng Anh: Internet protocol suite
hoặc IP suite hoặc TCP/IP protocol suite - bộ giao thức liên mạng), là một bộ các
giao thức truyền thông cài đặt chồng giao thức mà Internet và hầu hết các mạng
máy tính đang chạy trên đó. Bộ giao thức này được đặt tên theo hai giao thức chính
của nó là TCP (giao thức điều khiển giao vận) và IP (giao thức liên mạng). Chúng
cũng là hai giao thức đầu tiên được định nghĩa.
- Như nhiều bộ giao thức khác, bộ giao thức TCP/IP có thể được coi là một tập hợp
các tầng, mỗi tầng giải quyết một tập các vấn đề có liên quan đến việc truyền dữ
liệu, và cung cấp cho các giao thức tầng cấp trên một dịch vụ được định nghĩa rõ
ràng dựa trên việc sử dụng các dịch vụ của các tầng thấp hơn. Về mặt lôgic, các
tầng trên gần với người dùng hơn và làm việc với dữ liệu trừu tượng hơn, chúng
dựa vào các giao thức tầng cấp dưới để biến đổi dữ liệu thành các dạng mà cuối
cùng có thể được truyền đi một cách vật lý.
I.3. Các tầng của bộ giao thức TCP/IP :

Hình 1: Các tầng trong chồng giao thức của bộ giao thức TCP/IP
SVTH : Trần Tấn Tuấn

GVHD : Nguyễn Trí Quốc

2


Báo Cáo Thực Tập Tốt Nghiệp

- Bộ giao thức IP dùng sự đóng gói dữ liệu nhằm trừu tượng hóa (thu nhỏ lại quan
niệm cho dễ hiểu) các giao thức và các dịch vụ. Nói một cách chung chung, giao
thức ở tầng cao hơn dùng giao thức ở tầng thấp hơn để đạt được mục đích của
mình. Chồng giao thức Internet gần giống như các tầng cấp trong mô hình của Bộ
quốc phòng Mỹ :
Tầng
4 ứng
dụng

DNS, TFTP, TLS/SSL, FTP, HTTP, IMAP, IRC, NNTP, POP3, SIP,
SMTP, SNMP, SSH, TELNET, ECHO, BitTorrent, RTP, PNRP,
rlogin, ENRP, …
Các giao thức định tuyến như BGP và RIP, vì một số lý do, chạy trên
TCP và UDP - theo thứ tự từng cặp: BGP dùng TCP, RIP dùng UDP còn có thể được coi là một phần của tầng ứng dụng hoặc tầng mạng.

Tầng
3 giao
vận

TCP, UDP, DCCP, SCTP, IL, RUDP, …
Các giao thức định tuyến như OSPF (tuyến ngắn nhất được chọn đầu
tiên), chạy trên IP, cũng có thể được coi là một phần của tầng giao vận,
hoặc tầng mạng. ICMP (Internet control message protocol| - tạm dịch
là Giao thức điều khiển thông điệp Internet) và IGMP (Internet group
management protocol - tạm dịch là Giao thức quản lý nhóm Internet)
chạy trên IP, có thể được coi là một phần của tầng mạng.

2

Tầng

mạng

IP (IPv4, IPv6)
ARP (Address Resolution Protocol| - tạm dịch là Giao thức tìm địa chỉ)
và RARP (Reverse Address Resolution Protocol - tạm dịch là Giao
thức tìm địa chỉ ngược lại) hoạt động ở bên dưới IP nhưng ở trên tầng
liên kết (link layer), vậy có thể nói là nó nằm ở khoảng trung gian giữa
hai tầng.

1

Tầng
Ethernet, Wi-Fi, Token ring, PPP, SLIP, FDDI, ATM, Frame Relay,
liên kết SMDS, …
Hình 2 : Mô Hình Của Bộ Quốc Phòng Mỹ

SVTH : Trần Tấn Tuấn

GVHD : Nguyễn Trí Quốc

3


Báo Cáo Thực Tập Tốt Nghiệp
- Những tầng gần trên nóc gần với người sử dụng hơn, còn những tầng gần đáy gần
với thiết bị truyền thông dữ liệu. Mỗi tầng có một giao thức để phục vụ tầng trên
nó, và một giao thức để sử dụng dịch vụ của tầng dưới nó (ngoại trừ giao thức của
tầng đỉnh và tầng đáy).Cách nhìn các tầng cấp theo quan niệm: hoặc là cung cấp
dịch vụ, hoặc là sử dụng dịch vụ, là một phương pháp trừu tượng hóa để cô lập các
giao thức của tầng trên, tránh quan tâm đến thực chất của vấn đề, như việc truyền

tải từng bit qua Ethernet chẳng hạn, và phát hiện xung đột (collision detection),
trong khi những tầng dưới không cần phải biết đến chi tiết của mỗi một chương
trình ứng dụng và giao thức của nó.Sự trừu tượng hóa này cho phép những tầng
trên cung cấp những dịch vụ mà các tầng dưới không thể làm được, hoặc cố ý
không làm. Chẳng hạn IP được thiết kế với độ đáng tin cậy thấp, và được gọi là
giao thức phân phát với khả năng tốt nhất (thay vì với "độ tin cậy cao" hoặc "đảm
bảo nhất"). Điều đó có nghĩa là tất cả các tầng giao vận đều phải lựa chọn, hoặc là
cung cấp dịch vụ đáng tin cậy, hoặc là không, và ở mức độ nào. UDP đảm bảo sự
toàn vẹn của dữ liệu (bằng cách dùng kiểm tra tổng (checksum)), song không đảm
bảo sự phân phát dữ liệu tới đích; TCP cung cấp cả hai, sự toàn vẹn của dữ liệu, và
đảm bảo sự phân phát dữ liệu tới đích (bằng cách truyền tải lại gói dữ liệu, cho đến
khi nơi nhận nhận được gói dữ liệu).
II. Quá trình truyền dữ liệu qua mạng Internet :
- Nếu đã từng lập trình, bạn hẳn biết rằng một chương trình hoàn chỉnh được tạo
nên từ nhiều module với các chức năng và nhiệm vụ khác nhau nhưng lại liên kết
chặt chẽ với nhau. Quá trình truyền dữ liệu cũng như vậy. Để có thể truyền qua
mạng Internet, dữ liệu phải được xử lý qua nhiều tầng. Một mạng intranet theo
chuẩn OSI thường có bảy tầng nhưng Internet chỉ có bốn tầng xử lý dữ liệu là:
+ Tầng application
+ Tầng transport còn gọi là tầng TCP (Transmission Control Protocol)
+ Tầng network còn gọi là tầng IP (Internet Protocol)
SVTH : Trần Tấn Tuấn

GVHD : Nguyễn Trí Quốc

4


Báo Cáo Thực Tập Tốt Nghiệp
+ Tầng Datalink/Physical

- Giả sử bạn đang ở máy A và muốn gửi một thông điệp tới máy B. Bạn dùng một
trình soạn thảo văn bản để soạn thư, sau đó nhấn nút Send. Tính từ thời điểm đó dữ
liệu được xử lý lần lượt.Đầu tiên, dữ liệu được xử lý bởi tầng application. Tầng này
có nhiệm vụ tổ chức dữ liệu theo khuôn dạng và trật tự nhất định để tầng
application ở máy B có thể hiểu được. Điều này giống như khi bạn viết một chương
trình thì các câu lệnh phải tuân theo thứ tự và cú pháp nhất định thì chương trình
mới chạy được. Tầng application gửi dữ liệu xuống tầng dưới theo dòng byte nối
byte. Cùng với dữ liệu, tầng application cũng gửi xuống các thông tin điều khiển
khác giúp xác định địa chỉ đến, đi của dữ liệu.
- Khi xuống tới tầng TCP, dòng dữ liệu sẽ được đóng thành các gói có kích thước
không nhất thiết bằng nhau nhưng phải nhỏ hơn 64 KB. Cấu trúc của gói dữ liệu
TCP gồm một phần header chứa thông tin điều khiển và sau đó là dữ liệu. Sau khi
đóng gói xong ở tầng TCP, dữ liệu được chuyển xuống cho tầng IP. Gói dữ liệu
xuống tới tầng IP sẽ tiếp tục bị đóng gói lại thành các gói dữ liệu IP nhỏ hơn sao
cho có kích thước phù hợp với mạng chuyển mạch gói mà nó dùng để truyền dữ
liệu. Trong khi đóng gói, IP cũng chèn thêm phần header của nó vào gói dữ liệu rồi
chuyển xuống cho tầng Datalink/Physical.
- Khi các gói dữ liệu IP tới tầng Datalink sẽ được gắn thêm một header khác và
chuyển tới tầng physical đi vào mạng. Gói dữ liệu lúc này gọi là frame. Kích thước
của một frame hoàn toàn phụ thuộc vào mạng mà máy A kết nối.
- Trong khi trên mạng Internet, frame được các router chỉ dẫn để có thể tới đúng
đích cần tới. Router thực ra là một module chỉ có hai tầng là Network và
Datalink/Physical. Các frame tới router sẽ được tầng Datalink/Physical lọc bỏ
header mà tầng này thêm vào và chuyển lên tầng Network (IP). Tầng IP dựa vào
các thông tin điều khiển trong header mà nó thêm vào để quyết định đường đi tiếp
theo cho gói IP. Sau đó gói IP này lại được chuyển xuống tầng Datalink/Physical để
SVTH : Trần Tấn Tuấn

GVHD : Nguyễn Trí Quốc


5


Báo Cáo Thực Tập Tốt Nghiệp
đi vào mạng. Quá trình cứ thế tiếp tục cho đến khi dữ liệu tới đích là máy B. Khi
tới máy B các gói dữ liệu được xử lý theo quy trình ngược lại với máy A. Theo
chiều mũi tên, đầu tiên dữ liệu qua tầng datalink/physical. Tại đây frame bị bỏ đi
phần header và chuyển lên tầng IP. Tại tầng IP, dữ liệu đượcbung gói IP, sau đó lên
tầng TCP và cuối cùng lên tầng application để hiển thị ra màn hình.
Hệ thống địa chỉ và cơ chế truyền dữ liệu trong mạng Internet
Để một gói dữ liệu có thể đi từ nguồn tới đích, mạng Internet đã dùng một hệ thống
tự đánh địa chỉ tất cả các máy tính nối vào mạng .
III. So sánh với mô hình OSI :
- Điểm khác biệt đầu tiên dễ thấy nhất là số lượng của các tầng cấp. Mô hình của
Bộ Quốc Phòng Mỹ (DoD model), với chồng giao thức IP, chỉ có bốn hoặc năm
tầng (tầng liên kết có thể được coi như là một tầng riêng biệt, song cũng có thể
được phân tách ra thành hai tầng, tầng vật lý và tầng liên kết dữ liệu, trong khi đó
mô hình OSI lại dùng bảy tầng. So sánh tên của chúng một cách chặt chẽ cho
chúng ta thấy rằng, hai tầng "mới" có tên là tầng trình diễn và tầng phiên. Nhiều sự
so sánh đã gộp hai tầng này lại với tầng ứng dụng của OSI, và coi nó tương tự như
tầng ứng dụng của giao thức IP.

SVTH : Trần Tấn Tuấn

GVHD : Nguyễn Trí Quốc

6


Báo Cáo Thực Tập Tốt Nghiệp

- Tương tự như chồng giao thức IP, các tầng dưới của mô hình OSI không có nhiều
chức năng, đủ để nắm bắt được thực trạng công việc của bộ giao thức IP. Chẳng
hạn, chúng ta cần phải có một "tầng liên kết mạng" gắn vào khoảng trống giữa tầng
mạng và tầng giao vận, để chỉ ra nơi tồn tại của ICMP (Internet Control Message
Protocol - Giao thức điều khiển thông điệp Internet) và IGMP (Internet Group
Management Protocol - Giao thức quản lý nhóm Internet). Thêm vào đó, chúng ta
cũng cần phải có một tầng ở giữa tầng mạng và tầng liên kết dữ liệu dành cho
ARP (Address Resolution Protocol - Giao thức tìm địa chỉ) và RARP (Reverse
Address Resolution Protocol - Giao thức tìm địa chỉ ngược lại). Không những thế,
nó còn chịu ảnh hưởng của việc thiết kế chỉ nhắm vào một cài đặt đơn giản của
mạng lưới, với một tầng liên kết dữ liệu mà thôi (chẳng hạn người dùng ADSL
dùng giao thức đường hầm (tunnelling protocol) để "đào hầm" thông vào mạng
lưới của công ty liên hiệp, dùng IP trên PPTP, hơn là dùng IP trên PPPoA, thông
qua liên kết ADSL).
- Một ví dụ cho thấy mô hình OSI có tác dụng là việc chỉ ra nơi thích hợp nhất của

SSL/TLS. Thông thường SSL/TLS được dùng như một giao thức phiên (session
protocol), tức là một giao thức tầng cấp trên (upper layer protocol) dành cho TCP
hoặc UDP, song lại là một giao thức tầng cấp dưới (lower layer protocol) đối với
rất nhiều các giao thức khác (HTTP, SFTP v.v..), hoặc bất cứ một chương trình ứng
dụng nào hoạt động trên một stunnel hoặc trên một mạng riêng ảo bảo an (secure
virtual private network).

7

Tầng ứng
dụng

HTTP, SMTP, SNMP, FTP, Telnet, ECHO, SIP, SSH,
NFS, RTSP, XMPP, Whois, ENRP


6

Tầng trình
diễn

XDR, ASN.1, SMB, AFP, NCP

5

Tầng phiên

ASAP, TLS, SSH, ISO 8327 / CCITT X.225, RPC,
NetBIOS, ASP

SVTH : Trần Tấn Tuấn

GVHD : Nguyễn Trí Quốc

7


Báo Cáo Thực Tập Tốt Nghiệp
4

Tầng giao
vận

TCP, UDP, RTP, SCTP, SPX, ATP, IL


3

Tầng mạng

IP, ICMP, IGMP, IPX, BGP, OSPF, RIP, IGRP,
EIGRP, ARP, RARP, X.25

2

Tầng liên
kết dữ liệu

Ethernet, Token ring, HDLC, Frame relay, ISDN, ATM,
802.11 WiFi, FDDI, PPP

1

Tầng vật lý

10BASE-T, 100BASE-T, 1000BASE-T, SONET/SDH,
T-carrier/E-carrier, các tầng vật lý khác thuộc 802.11

Hình 3 : Các tầng trong mô hình OSI

CHƯƠNG II :GIAO THỨC NNTP
I . Khái niệm :
NNTP viết tắt của Network News Transfer Protocol. Nó định nghĩa một giao
thức để phân phối, thẩm tra, khôi phục, và gửi tin dùng một mô hình server/client
tin cậy (chẳng hạn như TCP). Ðiều này cũng giống như SMTP (Simple Mail
Transfer Protocol) định nghĩa việc trao đổi thư điện tử giữa các máy tính. Như vậy

NNTP tương ứng với lớp Application của mô hình bảy lớp OSI.
II . Tổng quan và các đặc điểm :
- NNTP được thiết kế để cho các tin được chứa ở một trung tâm dữ liệu và cho
phép người dùng chọn những phần muốn đọc. Một số tính năng như sắp xếp, chỉ
dẫn chéo, và sự loại bỏ những tin cũ đều được cung cấp.
- NNTP dựa trên đặc điểm kỹ thuật các mẫu tin news trong RFC850, miêu tả hệ
thống USENET news. Tuy nhiên, NNTP có một số yêu cầu về cấu trúc, nội dung,
hay địa điểm lưu trữ của các mẫu tin, và vì vậy NNTP có thể dễ dàng áp dụng cho
các hệ thống News không phải thuộc USENET.
SVTH : Trần Tấn Tuấn

GVHD : Nguyễn Trí Quốc

8


Báo Cáo Thực Tập Tốt Nghiệp
- Thông thường, server NNTP chạy như là một tiến trình ngầm trên một trạm, và
chấp nhận các kết nối từ các trạm khác trong mạng LAN. Ðiều này làm việc tốt khi
có một số các hệ thống máy tính nhỏ (chẳng hạn như là các trạm làm việcworkstation, với chỉ một hay nhiều nhất là vài máy tính mỗi hệ thống), với một
server trung tâm lớn.
- NNTP có thể dùng cho việc truyền tin giữa hai news server (định nghĩa một news
server như là một máy chạy phần mềm NetNews). Trong chức năng này nó thay thế
cho UUCP. NNTP cho phép người dùng trên những máy kết nối bằng TCP/IP khác
có thể đọc trực tiếp trên news server ở xa mà không phải chuyển các mẫu tin xuống
đĩa lưu trữ trên máy. Ðiều này cho phép tổ chức thống nhất tin trên một máy và
không phải tạo các tài khoản cho mọi người dùng để đọc tin trên máy chứa tin.
- NNTP trên Internet đã làm giảm mạnh thời gian cần thiết để truyền bá một mẫu
tin trên USENET. Năm năm trước đây, gần như không thể truyền một mẫu tin tới
điểm xa nhất của USENET trong vòng hai tuần. Bây giờ, một mẫu tin có thể truyền

đi tới các điểm USENET nối với Internet trong thời gian dưới một giờ, và phần lớn
những điểm xa nhất sẽ nhận được trong vòng dưới ba ngày.
- NNTP cho phép các vùng nhìn thấy tin đã được cung cấp cho các vùng đó bởi
láng giềng của họ. NNTP kiểm tra liệu một mẫu tin đã được trạm nội bộ nhận hay
chưa trước khi nhận tin từ một vùng xa. Ðiều này làm giảm khối lượng xử lý tin và
giảm dải thông mạng dùng để gửi tin.
- Một điểm lợi nữa là NNTP không bị giới hạn trong các hệ thống Unix. Vì NNTP
là một giao thức, không phải là một phần của phần mềm, nên nó có thể bổ xung tùy
theo bất cứ hệ điều hành nào.
III . Phân phối tin đối với NNTP :
- NNTP có các lệnh cung cấp một phương thức đơn giản trong việc trao đổi các
mẫu tin giữa các trạm cùng làm việc (cooperating hosts). Ðối với các trạm được nối
với một mạng cục bộ hay một mạng tốc độ cao khác và những trạm muốn thu được
SVTH : Trần Tấn Tuấn

GVHD : Nguyễn Trí Quốc

9


Báo Cáo Thực Tập Tốt Nghiệp
các bản sao các mẫu tin để lưu trữ nội bộ, thì NNTP là một con đường hiệu quả hơn
các phương thức truyền dẫn truyền thống khác để phân phối tin (chẳng hạn như
UUCP).
- Ðối với các phương thức phân phối tin truyền thống, tin được lan truyền từ trạm
này tới trạm khác theo kiểu dòng, nghĩa là mỗi trạm sẽ gửi tất cả các tin mới mà nó
có đến mỗi trạm mà nó cung cấp. Những trạm này khi đó sẽ quay sang gửi các tin
mới đến các trạm tiếp theo mà chúng cung cấp. Rõ ràng là, việc gửi các mẫu tin tới
một trạm trong khi các tin đó đã được một trạm khác cung cấp cho nó rồi (nhiều
trạm nhận tin được cung cấp dư thừa) sẽ làm lãng phí thời gian và tài nguyên trên

mạng. Tuy vậy, đối với cơ chế truyền dẫn dựa trên thi hành đơn (như UUCP của
UNIX) thì thời gian phân phối có thể làm giảm bằng cách gửi tất cả các mẫu tin và
trạm nhận có khả năng loại bỏ các tin trùng lặp. Ðiều này thật sự tốt nếu các phiên
liên lạc gói gọn một lần trong ngày.
- Khi sử dụng NNTP, các trạm trao đổi tin có một cơ chế tương tác để quyết định
tin nào được truyền. Một trạm muốn tin mới, hay một trạm có tin mới để gửi, sẽ
liên lạc với các trạm lân cận (láng giềng) cùng sử dụng NNTP. Trước tiên nó sẽ
thẩm tra xem có nhóm tin mới nào được tạo trên trạm cung cấp hay không bằng ý
nghĩa của lệnh NEWGROUPS. Nếu có, và các nhóm mới đó phù hợp hay được
đồng ý, những nhóm đó sẽ có thể được tạo.
- Trạm client khi đó sẽ kiểm tra xem có các tin mới trong tất cả các nhóm hay trong
vài nhóm, dùng lệnh NEWNEWS. Khi đó client sẽ nhận được một danh sách từ
server, và có thể yêu cầu truyền dẫn các mẩu tin mà nó muốn nhưng chưa có.
- Cuối cùng là, trạm client có thể nói cho server biết về những mẫu tin client đã
nhận được. Server sẽ chỉ ra những mẫu tin mà nó đã thu được một bản sao, và
những mẫu tin có thể được gửi để thêm vào tập hợp của nó.
- Trong phương thức này, chỉ những mẫu tin không bị trùng lặp và được mong
muốn mới được truyền dẫn.
SVTH : Trần Tấn Tuấn

GVHD : Nguyễn Trí Quốc

10


Báo Cáo Thực Tập Tốt Nghiệp
III.1. NNTP cho UNIX :
Phần mềm NNTP cho hệ thống UNIX bao gồm một số chương trình C, và một
số shell script. Hai phần quan trọng nhất là nntpd, chương trình chạy ngầm NNTP
(cũng có thể gọi là "NNTP server") và nntpsend. Hãy xem các chương trình này

làm việc thế nào :
- Chương trình chạy ngầm NNTP, nntpd, là phần chính của NNTP. Nó nhận tất cả
kết nối tới, cho phép người dùng từ xa đọc và gửi tin và các địa điểm khác gửi tin.
Các mẫu tin tới đi qua NNTP daemon, rồi nó gửi tiếp qua rnews (cho hệ thống B
News) hay là đóng gói vào trong các gói có kích thước thích hợp (cho hệ thống C
News).nntpsend và chương trình bổ trợ của nó là nntpxmit tương đương với các
chương trình sendbatch và sendbatches (tương ứng với B và C News), chúng xử lý
các file gói được tạo bởi hệ thống news thành các mẩu tin để sẵn sàng gửi tới các
vùng lân cận nntpsend được đặt chạy một cách chu kỳ trong crontab. Script
nntpsend được phân phối trong bản C shell hay Bourne shell.
- Trong cách thức truyền tin ở trên, mỗi địa điểm tiếp xúc với điểm lân cận một
cách tuần hoàn và đưa ra các mẫu tin cho các điểm đó. Cách thức đó đôi khi được
gọi là phương thức truyền "đẩy" (push method), khi người gửi khởi đầu việc truyền
dẫn nntpxfer, một chương trình khác trong bộ NNTP, thay vào đó đưa ra một
phương thức truyền "kéo" (pull method),địa điểm cục bộ chạy một cách tuần hoàn
nntpxfer, nói cho nó hệ thống ở xa biết nối tới đâu và mẫu tin nào ta muốn nó
truyền tới hệ thống nội bộ.
- NNTP cung cấp một danh sách các lệnh tương tác có thể được trao đổi giữa news
client và news server.
- Khi nntpxfer nối tới một NNTP server, trước tiên nó yêu cầu một danh sách các
tin mới trong bất cứ nhóm tin nhận được ở điểm nội bộ. Sau khi nhận được danh
sách đó, nó yêu cầu tiếp những mẫu tin mà chưa có, thực hiện bằng cách việc gửi
và nhận các thông điệp tương tác. (Ðiều này rất khác với cách thức truyền tin
SVTH : Trần Tấn Tuấn

GVHD : Nguyễn Trí Quốc

11



Báo Cáo Thực Tập Tốt Nghiệp
chuẩn, trong đó toàn bộ các gói tin được truyền, và những mẫu tin trùng lặp bị bỏ
đi) nntpxmit cũng thi hành một phiên làm việc tương tác, nhưng là một cách đơn
giản hơn, trong đó nntpxmit nói "IHAVE và nntpd nhận nói rằng "OK send it " (OK gửi đi) hay "Không, tôi có nó rồi".

IV . Ðặc điểm kỹ thuật của NNTP :
IV.1. Tổng quan :
- Server news NNTP dùng kết nối dòng (như TCP) ,kiểu lệnh và đáp ứng giống như
SMTP. Nó được thiết kế để chấp nhận các kết nối từ các trạm, và để cung cấp một
giao diện đơn giản với cơ sở dữ liệu news.
- Server này chỉ là một giao diện giữa các chương trình và các cơ sở dữ liệu news.
Nó không thực hiện các chức năng tương tác người dùng và các chức năng mức
presentation. Các chức năng "thân thiện người dùng" này tốt hơn là để dành cho
các chương trình client.Khi được dùng qua Internet TCP, cổng liên lạc được đặt cho
dịch vụ News này là cổng 119.
IV.2. Các mã ký tự (character codes) :
Các lệnh và đáp ứng được soạn từ các ký tự của tập hợp ký tự ASCII. Khi một
dịch vụ truyền dẫn cung cấp một kênh truyền dẫn một byte 8 bít, mỗi ký tự 7 bit sẽ
được truyền đúng theo một octet (8 bit) với bit cao được xoá về 0 (zero).
IV.2.1. Các lệnh :
- Các lệnh bao gồm một từ lệnh, mà trong một số trường hợp có thể có thêm tham
số. Các lệnh có tham số được phân biệt các tham số với nhau và với lệnh bằng một
hay nhiều ký tự trống (space) hay các ký tự tab. Các dòng lệnh phải đầy đủ các
tham số, và không chứa nhiều hơn một lệnh.
SVTH : Trần Tấn Tuấn

GVHD : Nguyễn Trí Quốc

12



Báo Cáo Thực Tập Tốt Nghiệp
- Các lệnh và các tham số không phân biệt chữ cái hay chữ thường. Nghĩa là, một
lệnh hay một tham số có thể là chữ cái, chữ thường hay hỗn hợp cả hai.
- Mỗi ký tự kết thúc bằng cặp ký tự CR-LF (Carriage Return-Line Feed),các dòng
lệnh không vượt quá 512 ký tự, đếm tất cả các ký tự gồm cả ký tự trắng, phân cách,
dấu chấm, và cả CR-LF (vì vậy số tối đa các ký tự là 510 kể cả câu lệnh và các
tham số). NNTP không cung cấp việc tiếp nối dòng lệnh.

IV.2.2. Ðáp ứng (Responses) :
Các đáp ứng được trả về từ phía server được chia làm hai loại: Đáp ứng dạng text
nội dung thông tin và đáp ứng thông báo trạng thái.
IV.2.3. Ðáp ứng dạng Text chứa thông tin(Text Responses) :
- Text chứa thông tin chỉ được gửi sau khi một dòng đáp ứng dạng số đã được gửi,
đáp ứng dạng số này chỉ định rằng sẽ có text đi kèm theo. Text được gửi dưới dạng
một chuỗi liên tiếp các dòng, mỗi dòng kết thúc bằng cặp CRLF. Kết thúc đoạn text
này là một dòng chỉ chứa một dấu chấm (.) (Có nghĩa là server sẽ gửi CRLF, một
dòng chỉ chứa (.) và CRLF đi tiếp sau).
- Nếu có một dòng text chứa một dấu chấm xuất hiện ở đầu dòng thì ký tự này
được nhân đôi. Vì thế phía client phải kiểm tra xem ký tự đầu tiên của từng dòng
xem đó có phải là ký tự dấu chấm hay không, xác định xem đó có phải là đoạn cuối
của phần text hoặc chỉ là dấu chấm được nhân đôi.
- Theo dự định khi thiết kế thì các thông điệp text thường được hiển thị trên
terminal của người sử dụng trong khi các lệnh và đáp ứng được trình client phiên
dịch trước khi đem hiển thị.
IV.2.4. Ðáp ứng trạng thái (Status Responses)
- Các đáp ứng trạng thái được phía server thông báo, chỉ định đáp ứng của lệnh sau
cùng được phía client gửi đi.
SVTH : Trần Tấn Tuấn


GVHD : Nguyễn Trí Quốc

13


Báo Cáo Thực Tập Tốt Nghiệp
- Các dòng đáp ứng trạng thái bắt đầu với một mã số ba chữ số, đủ để phân biệt tất
cả các đáp ứng. Một số mã này thông báo trước có text truyền tiếp theo.
- Số đầu tiên của đáp ứng xác định sự thành công, thất bại hoặc quá trình xử lý của
lệnh trước đó.

1xx - Informative message
2xx - Command ok
3xx - Command ok so far, send the rest of it.
4xx - Command was correct, but couldn't be performed for somereason.
5xx - Command unimplemented, or incorrect, or a serious program error
occurred.
- Số tiếp theo trong mã xác định loại đáp ứng :
x0x - Connection, setup, and miscellaneous messages
x1x - Newsgroup selection
x2x - Article selection
x3x - Distribution functions
x4x - Posting
x8x - Nonstandard (private implementation) extensions
x9x - Debugging output
Các mã đáp ứng cụ thể sẽ được trình bày cùng với từng lệnh. Ngoài ra còn có các
đáp ứng chung có thể nhận được bất cứ lúc nào.
- Các mã đáp ứng trạng thái cụ thể có thể chứa các tham số dưới dạng các số và tên.
Số hiệu và kiểu của từng tham số được đặt cho từng mã đáp ứng để có thể đơn giản

hoá việc phiên dịch các đáp ứng.
SVTH : Trần Tấn Tuấn

GVHD : Nguyễn Trí Quốc

14


Báo Cáo Thực Tập Tốt Nghiệp
- Các tham số được phân cách với các mã đáp ứng dạng số và phân cách với nhau
bằng một dấu trắng. Tất cả các tham số dạng số là thập phân bắt đầu sau dấu trắng
phân cách, và kết thúc trước một dấu trắng phân cách hoặc cặp CRLF cuối dòng.
Các tham số chuỗi ký tự có thể bắt đầu sau dấu trắng phân cách và kết thúc trước
dấu trắng phân cách tiếp theo hoặc cặp CRLF ở cuối dòng. (Các tham số chuỗi có
thể không chứa các dấu trắng). Tất cả các text nếu có trong đáp ứng mà không phải
là tham số của đáp ứng phải đi theo và được phân cách với tham số cuối cùng bằng
một dấu trắng. Chú ý rằng đoạn text đi theo một đáp ứng dạng số có thể thay đổi
tuỳ theo việc áp dụng giao thức ở phía server. Mã số 3 chữ số có thể sử dụng để xác
định đáp ứng nào được gửi.
- Người ta đã cung cấp một kiểu mã đáp ứng x9x dùng cho việc tìm lỗi. Vì nhiều
kết quả dò lỗi có thể được phân loại dưới dạng "các thông điệp nhiều thông tin",
nên các đáp ứng từ 190 đến 199 nên được sử dụng làm các kết quả dò lỗi. Nếu phù
hợp với một ứng dụng cụ thể, các mã x9x khác có thể được sử dụng để dò lỗi. (Lấy
một ví dụ là có thể sử dụng 290 để nhận một yêu cầu dò lỗi từ xa).
IV.2.5. Các đáp ứng chung (General Responses) :
- Dưới đây là các đáp ứng chung có thể được nntp server gửi đi.Các đáp ứng này
không phải là quy định cụ thể đối với các lệnh, nhưng có thể được trả về dưới dạng
kết quả của việc thiết lập đường nối, không thực hiện được tác vụ nào đó hoặc một
số điều kiện bất thường.
- Nói chung, các mã 1xx có thể được bỏ đi hoặc hiển thị nếu muốn; mã 200 hoặc

201 được gửi khi khởi đầu đường nối tới nntp server dựa trên quyền hạn được gửi
tin (Post); mã 400 sẽ được trả về khi nntp không tiếp tục dịch vụ (do yêu cầu của
người điều hành) và các mã 5xx chỉ định rằng lệnh không thể thực hiện được vì
một số lý do không bình thường nào đó.

CHƯƠNG III : GIAO THỨC ARP VÀ RARP
SVTH : Trần Tấn Tuấn

GVHD : Nguyễn Trí Quốc

15


Báo Cáo Thực Tập Tốt Nghiệp
I . Khái niệm :
I.1. Khái niệm ARP (Address Resolution Protocol) :
- Địa chỉ IP được dùng để định danh các trạm và mạng tương ứng với từng ứng lớp
mạng của mô hình OSI và không phi địa chỉ vật lý của trạm đó trên một mạng cục
bộ LAN (Ethernet, Token Ring....). Trên một mạng LAN như vậy, hai trạm chỉ có
thể liên lạc với nhau nếu chúng biết địa chỉ vật lý của nhau. Như vậy vấn đề đặt ra
là phi có c chế ánh xạ giữa địa chỉ IP (32bit) và địa chỉ vật lý (48bit).
- Để giải quyết vấn đề trên, người ta xây dưng nên một giao thức ARP. Các thiết bị
trên mạng LAN sử dụng ARP để tìm ra thông tin về địa chỉ vật lý của các thiết bị
đó trên mạng. ý tưởng về phân giải địa chỉ động ARP rất đơn giản : Khi máy A
muốn gửi địa chỉ IP là B, nó phát đi một thông điệp quảng bá trên toàn mạng trong
đó có chứa địa chỉ IP và vật lý của nó và địa chỉ IP của B. Tất cả các trạm đều nhận
được, nhưng chỉ có B nhận ra địa chỉ IP của mình và sẽ trả lời A bằng một thông
điệp trong đó có chứa địa chỉ vật lý của B. Tuy vậy không phi lúc nào khi cần
truyền dữ liệu, A đều phát đi thông điệp quảng bá để yêu cầu địa chỉ vật lý của trạm
nào đó. Việc phát thông điệp quảng bá như vậy sẽ tốn rất nhiều băng thông trên

mạng thậm chí có thể gây ra tình trạng tắc nghẽn không đáng có ở những mạng có
tốc độ truyền tốc độ chậm. Do đó, mỗi trạm đều có một bộ đệm ARP (ARP cache)
để lưu giữ những địa chỉ IP và vật lý tương ứng tìm được gần đây nhất. Mỗi khi
một trạm nhận được một thông điệp ARP yêu cầu hoặc trả lời của một trạm khác,
nó đều cập nhật trong ARP cache của mình. Khi truyền một gói dữ liệu, trạm sẽ tìm
xem trong bộ đệm ARP của nó có chứa địa chỉ vật lý tưng ứng hay chưa. Nếu tìm
thấy, nó sẽ không phát quảng bá ARP nữa. Các địa chỉ trong ARP cache sẽ bị xoá
bỏ sau một thời gian nhất định để đề phòng sự cố xảy ra đối với một trạm nào đó.
Ví dụ : Một trạm có card mạng bị hỏng, cần thay thế và như vậy địa chỉ vật lý của
trạm đó sẽ thay đổi. Nhưng các trạm không biết gì về sự cố đó nên vẫn giữ địa chỉ
SVTH : Trần Tấn Tuấn

GVHD : Nguyễn Trí Quốc

16


Báo Cáo Thực Tập Tốt Nghiệp
cũ của trạm này. Đó là lý do vì sao cần phi cài đặt một bộ đếm thời gian và thông
tin trạng thái sẽ bị xoá bỏ sau khi thời gian hết hạn. Ví dụ : Bất cứ khi nào thông tin
về địa chỉ liên kết được đặt vào bộ đệm ARP, giao thức này sẽ yêu cầu thời gian bắt
đầu đếm, thông thường là 20 phút. Khi hết hạn (sau 20 phút) thông tin phi được xoá
bỏ. Sẽ có 2 khả năng xảy ra khi xoá bỏ.
- Nếu không còn dữ liệu được gửi tới máy tính đích này, thì không có gì xảy ra nữa.
Nếu vẫn còn dữ liệu được gửi tới máy tính đích này và không còn thông tin về địa
chỉ này trong bộ đệm ARP, máy tính sẽ phi lặp lại địa chỉ thông thường là broadcast
một yêu cầu ARP và lấy lại thông tin địa chỉ. Nếu máy tính đích vẫn còn đó, thông
tin địa chỉ lại được đặt vào bộ đệm ARP. Nếu không, nơi gửi sẽ phát hiện được rằng
máy đích không còn nối mạng nữa.
I.2. Khái niệm RARP (Reverse Address Resolution Protocol) :

- Ngược lại với giao thức ARP, giao thức RARP (Reverse ARP) được dùng để tìm
địa chỉ IP khi biết địa chỉ vật lý của một trạm. Điều này thường xảy ra khi một số
trạm không có đĩa cứng để lưu giữ địa chỉ IP của mình. Những trạm chỉ có địa chỉ
vật lý lưu ở trong ROM của card mạng. Chúng phải tìm địa chỉ IP ở trong server
quản lý địa chỉ IP khi khởi động. RARP cũng tưng tự như ARP gồm 2 loại thông
điệp:
+ RARP yêu cầu địa chỉ (RARP request).
+ RARP trả lời (RARP reply).
- Ý tưởng: Một máy khi cần biết địa chỉ của nó dưới dạng Broadcast, trên mạng sẽ
có RARP server sẽ trả lời bằng cách cấp cho máy của bạn một địa chỉ IP. Định dạng
gói tin RARP định dạng của RARP giống hệt ARP, tương ứng trường Operation
cod
II. Đặc điểm của ARP và RARP :
II.1. Định dạng gói tin ARP :
- Hardware address space (16bit): Xác định loại giao diện sử dụng trên mạng ,
SVTH : Trần Tấn Tuấn

GVHD : Nguyễn Trí Quốc

17


Báo Cáo Thực Tập Tốt Nghiệp
ví dụ : Ethernet, Packet Radio Net.
- Protocol address space: Xác định loại giao thức ở lớp trên được sử dụng, nó có
giá trị 080016 dành cho địa chỉ IP.
- Hardware address length: Xác định độ dài địa chỉ vật lý trong gói tin ví dụ : IEEE
802.3 và IEEE 802.5 là 6.
- Protocol address length: Xác định độ dài của địa chỉ của giao thức lớp 3 tương
ứng trong mô hình OSI. Ví dụ : IP là 4.

Operation code: Xác định một trong 4 loại thông điệp:
+ ARP yêu cầu (ARP request)-1
+ ARP trả lời (ARP reply)-2
+ RARP yêu cầu (RARP request)-3
+ RARP trả lời (RARP reply)-4
Source/target hardware address : Bao gồm địa chỉ vật lý của mạng, ví dụ với IEEE
802.3 là 48-bit addresses.
Source/target protocol address: gồm địa chỉ của giao thức, ví dụ với TCP/IP là 32bit IP addresses.
II.2.ARP tính năng :
II.2.1. Có hai chức năng phần chính của giao thức phân giải địa chỉ :
Xác định địa chỉ vật lý của điểm đến trước khi gửi một gói tin và trả lời yêu cầu
đến cho vật lý riêng của nó đến địa chỉ IP ràng buộc.
- Do bị mất / gói tin trùng lặp, ARP phải xử lý này để tránh tái phát sóng nhiều.
- Bindings trong ARP cache (thực tế cache bảng) phải được gỡ bỏ sau một thời gian
cố định thời gian để đảm bảo tính hợp lệ.
- Khi một gói tin được nhận, địa chỉ IP của người gửi là trước và bảng địa phương
được cập nhật (ARP cache), sau đó phần còn lại của gói dữ liệu được xử lý.
- Hai loại gói tin gửi đến:
+ Những để được xử lý (chính xác điểm đến).
SVTH : Trần Tấn Tuấn

GVHD : Nguyễn Trí Quốc

18


Báo Cáo Thực Tập Tốt Nghiệp
+ Stray gói phát sóng (có thể bỏ sau khi cập nhật bộ nhớ cache ARP).
- Ứng dụng các chương trình có thể yêu cầu địa chỉ đích đến nhiều lần trước khi
các ràng buộc được hoàn tất. Điều này phải được xử lý, bằng cách loại bỏ các yêu

cầu enqueued, khi trả về đúng giá trị ràng buộc.
- ARP bộ lĩnh vực "TYPE" cho các ID của khung.
- Gói ARP không có một định dạng tiêu đề cố định, để họ có thể được sử dụng với
địa chỉ vật lý độc đoán và địa chỉ giao thức tùy ý.
- Độ dài của địa chỉ vật lý có thể thay đổi lên đến 48-bit.
- ARP Header Fields :
+ Phần cứng Type: (16-bit) - Các loại hình giao diện người gửi tìm một câu trả
lời.
+ Loại giao thức: (16-bit) - Các cấp địa chỉ loại phần mềm được cung cấp.
+ HLEN: (8-bit) - Chiều dài của địa chỉ vật lý tùy ý.
+ PLEN: (8-bit) - Chiều dài của địa chỉ giao thức tùy ý.
+ HOẠT ĐỘNG : (16-bit) - Các loại hình cụ thể của hoạt động yêu cầu.
ARP.request (1)
ARP.response (2)
+ SENDER HA: (6-octet) - Thực tế địa chỉ phần cứng của người gửi, khả năng
mở rộng lên đến 6 byte.
+ SENDER IP: (4-octet) - Địa chỉ IP của người gửi, luôn luôn 32-bit.
+ HA mục tiêu: (6-octet) - Nút phần cứng của địa chỉ đích, khả năng mở rộng lên
đến 6 byte.
+ ĐÍCH IP: (4-octet) - Nút IP của địa chỉ đích, luôn luôn 32-bit.
- Khởi động bằng địa chỉ vật lý :
+ Máy mà không cần lưu trữ (các máy trạm không đĩa thứ cấp) mà không thể lưu
trữ các địa chỉ IP của họ cần phải tìm hiểu bằng cách phát sóng địa chỉ vật lý của họ
và đề nghị một liên kết đến địa chỉ IP thích hợp.
SVTH : Trần Tấn Tuấn

GVHD : Nguyễn Trí Quốc

19



Báo Cáo Thực Tập Tốt Nghiệp
+ Thiết bị đầu cuối và các nút không thể kết nối fileservers của họ mà không sử
dụng địa chỉ IP nguồn và đích.
+ Địa chỉ IP không nên bị ràng buộc vào một hình ảnh máy bootstrap. Không
làm như vậy cho phép sự linh hoạt và thay đổi vị trí thuận tiện để thông tin cấu
hình.
+ Một kết nối là cần thiết lúc khởi động để cho phép các máy trạm không đĩa để
bắt đầu hoạt động (gửi yêu cầu tới một máy chủ và chờ đợi phản ứng).
+ Để cung cấp kết nối, máy trạm bao gồm một thiết lập tối thiểu của giao thức
TCP / IP trong phần cứng.
- Hai lợi thế của việc sử dụng một vật lý địa chỉ duy nhất:
+ Vật lý địa chỉ có sẵn từ các phần cứng giao diện mạng và không phải bị ràng
buộc vào hệ điều hành.
+ Máy ID phụ thuộc vào mạng (không phải nó là CPU) để tất cả các máy sẽ được
cấp ID thống nhất và độc đáo.
- RARP Header Fields:
+ RARP yêu cầu và trả lời sử dụng định dạng khung hình tương tự như ARP, tuy
nhiên giá trị lĩnh vực hoạt động khác.
+ HOẠT ĐỘNG: (16-bit) - Các loại hình cụ thể của hoạt động yêu cầu.
RARP.request (3)
RARP.response (4)
II.3. ARP Cache :
- Giống như mọi cái cache khác trong máy tính, ARP cache được dùng để trữ lại
những thông tin ARP đã tìm được để lần sau dùng lại. Nó lưu những địa chỉ IP và
địa chỉ MAC tương ứng (tạm gọi là entry ) đã broadcast tìm được để hạn chế lần
sau broadcast lại. Để giữ cho thông tin không bị lạc hậu (chẳng hạn có host đổi IP),
các entry lưu trong ARP cache được tồn tại trong một chu kì ngắn, thường là từ 2
đến 20 phút. Quá trình hoạt động của ARP chỉ thay đổi một chút là trước khi gửi
SVTH : Trần Tấn Tuấn


GVHD : Nguyễn Trí Quốc

20


Báo Cáo Thực Tập Tốt Nghiệp
broadcast để biết MAC của một máy, host sẽ kiểm tra ARP cache, nếu chưa có
trong đó mới gửi broadcast.
- Trong Windows và Linux đều có một công cụ là ARP để xem và quản lí nội dung
của ARP cache. Ví dụ : Bạn có thể dùng lệnh ARP để thêm thủ công các địa chỉ
MAC của các máy bạn thường tiếp xúc, nhờ đó tiết kiệm được thời gian và băng
thông trong quá trình kết nối. Các địa chỉ mà bạn nhập thủ công vào là những dữ
liệu tĩnh (static entry), nghĩa là nó không bị xóa sau mỗi chu kì như đối với các
dynamic entry tìm được từ broadcast.
- Nhưng vì được lưu trong bộ nhớ nên khi restart máy thì nó cũng bị xóa luôn. Do
ARP dựa trên broadcast nên nó chỉ hoạt động trên cùng một mạng (cùng một
NetID) vì muốn sang mạng khác phải đi ngang các router, mà đi ngang router sẽ bị
loại hết các gói broadcast. Lúc này lại sinh ra vấn để Proxy ARP, khi đó router nối
hai mạng A và B sẽ chịu trách nhiệm trả lời ARP cho các ARP request nếu host
trong A hỏi host trong B và ngược lại. Có một câu hỏi là có khi nào một máy tự gửi
ARP để hỏi IP của nó không ? Có, đó là lúc bật máy lên. Khi đó host sẽ gửi ARP
request để biết IP của chính mình (giống kiểu hỏi “Ấy có biết mình tên gì không?”).
Lúc đó lại sinh ra cái gọi là Gratuitous ARP. Ngoài ra cái này còn một số đặc tính
nữa.
- Để xem bảng ARP cache, bạn gõ lệnh sau: arp –a cho cả Windows và Linux.
Ngoài ra còn có các tùy chọn khác như –d để delete một entry… Xem thêm các tùy
chọn bằng cách gõ “arp -?” trong Windows và “man arp” trong Linux.
- Để minh hoạ cho hoạt động của ARP, bạn dùng các công cụ để bắt các gói tin đi
qua card mạng của mình sẽ thấy rõ gói ARP request được gửi broadcast (gửi đến

MAC đích ff:ff:ff:ff:ff:ff) như thế nào, gói reply được gửi unicast (gửi đến 1 MAC
xác định) như thế nào. Các công cụ bắt và phân tích gói tin thường dùng như
Network Monitor, Ethereal trên Windows, hay tcpdump trên Linux.
III.1. Nguyên tắc hoạt động của ARP :
SVTH : Trần Tấn Tuấn

GVHD : Nguyễn Trí Quốc

21


Báo Cáo Thực Tập Tốt Nghiệp
III.1.1. Nguyên tắc làm việc của ARP trong một 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ó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ạ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.
III.1.2. Nguyên tắc hoạt động của ARP trong môi trường 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 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 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 :
SVTH : Trần Tấn Tuấn

GVHD : Nguyễn Trí Quốc

22


Báo Cáo Thực Tập Tốt Nghiệp
- 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áp
proxyARP, trong đó có một thiết bị đảm nhận nhiệm vụ phân giải địa chỉ cho tấ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ến nữ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 .
IV . Kết luận :

Trên một mạng cục bộ hai trạm chỉ có thể liên lạc với nhau nếu chúng biết
được địa chỉ vật lý của nhau.Như vậy vấn đề đặt ra là phải ánh xạ giữa địa chỉ
IP( 32 bit ) và địa chỉ vật lý ( 48 bit ) của một trạm .Giao thức ARP (Address
Resolution Protocol) đã được xây dựng để chuyển đổi địa chỉ IP sang địa chỉ vật lý
khi cần thiết.Ngược lại giao thức RARP(Reverse Address Resolution Protocol)
được dùng để chuyển địa chỉ vật lý sang địa chỉ IP.Các giao thức ARP và RARP
không phải là một bộ phận của IP mà IP sẽ dùng đến nó khi chúng cần .

CHƯƠNG IV : GIAO THỨC SMTP
I. Khái niệm :
- SMTP(Simple Mail Transfer Protocol).SMTP là giao thức tin cậy chịu trách
nhiệm phân phát Mail, nó chuyển Mail từ hệ thống mạng này sang hệ thống mạng
khác, chuyển Mail trong hệ thống mạng nội bộ.Giao thức SMTP được định nghĩa
SVTH : Trần Tấn Tuấn

GVHD : Nguyễn Trí Quốc

23


Báo Cáo Thực Tập Tốt Nghiệp
trong RFC 821, SMTP là một dịch vụ tin cậy, hướng kết nối( connection-oriented)
được cung cấp bởi giao thức TCP(Transmission Control Protocol ), nó sử dụng số
hiệu cổng (well-known port) 25. Sau đây là danh sách các tập lệnh trong giao thức
SMTP.

Hình : Danh sách các tập lệnh trong giao thức SMTP

II .Đặc điểm :
- Để sử dụng các lệnh SMTP ta dùng lệnh telnet theo port 25 trên hệ thống ở xa sau

đó gởi Mail thông qua cơ chế dòng lệnh. Kỹ thuật này thỉnh thoảng cũng được sử
dụng để kiểm tra hệ thống SMTP Server, nhưng điều chính yếu ở đây là chúng ta sử
dụng SMTP để minh hoạ làm cách nào Mail được gởi qua các hệ thống khác nhau.
Trong ví dụ sau minh họa quá trình gửi Mail thông qua cơ chế dòng lệnh SMTP.

SVTH : Trần Tấn Tuấn

GVHD : Nguyễn Trí Quốc

24


Báo Cáo Thực Tập Tốt Nghiệp

Hình 4 : Quá trình gửi mail thông qua cơ chế dòng lệnh SMTP
- Ngoài ra còn có một số lệnh khác như: SEND, SOML, SAML, và TURN được
định trong RFC 821 là những câu lệnh tùy chọn và không được sử dụng thường
xuyên.
- Lệnh HELP in ra tóm tắt các lệnh được thực thi. Ví dụ : Ta dùng lệnh HELP
RSET chỉ định các thông tin được yêu cầu khi sử dụng lệnh RSET, Lệnh VRFY và
EXPN thì hữu dụng hơn nhưng nó thường bị khoá vì lý do an ninh mạng bởi vì nó
cung cấp cho người dùng chiếm dụng băng thông mạng. Ví dụ : Lệnh EXPN yêu
cầu liệt kê ra danh sách địa chỉ email nằm trong nhóm Mail Admin. Lệnh VRFY để
lấy các thông tin cá nhân của một tài khoản nào đó, ví dụ :Lệnh VRFY , mac là một
tài khoản cục bộ. Trường hợp ta dùng lệnh VRFY , jane là một bí danh nằm trong
tập tin aliases thì giá trị trả về là địa chỉ Email được tìm thấy trong tập tin aliases
này.
- SMTP là hệ thống phân phát mail trực tiếp từ đầu đến cuối(từ nơi bắt đầu phân
phát cho đến trạm phân phát cuối cùng), điều này rất hiếm khi sử dụng. hầu hết hệ
thống mail sử dụng giao thức store and forward như UUCP và X.400, hai giao thức

này di chuyển Mail đi qua mỗi hop, nó lưu trữ thông điệp tại mỗi hop và sau đó

SVTH : Trần Tấn Tuấn

GVHD : Nguyễn Trí Quốc

25


×