1. Trang chủ
  2. » Công Nghệ Thông Tin

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

45 239 0

Đ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 45
Dung lượng 479,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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.. +Truyền đa điểm: gói tin được gửi

Trang 1

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ácgó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 hosttrê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

Trang 2

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

Trang 3

- 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ỹ :

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 liên kết Ethernet, Wi-Fi, Token ring, PPP, SMDS, … SLIP, FDDI, ATM, Frame Relay,

Hình 2 :Mô Hình Của Bộ Quốc Phòng Mỹ

Trang 4

- 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ầnvớ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)

Trang 5

+ 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ươngtrì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 để

Trang 6

đ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

Trang 7

- 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, NFS, RTSP, XMPP, Whois, ENRP ECHO, SIP, SSH,

6 Tầng trình diễn XDR, ASN.1, SMB, AFP, NCP

5 Tầng phiên ASAPNetBIOS, TLS, ASP, SSH, ISO 8327 / CCITT X.225, RPC,

Trang 8

4 Tầng giao vận TCP, UDP, RTP, SCTP, SPX, ATP, IL

3 Tầng mạng IPEIGRP, ICMP, ARP, IGMP, RARP, IPX, , X.25BGP, OSPF, RIP, IGRP,

2 Tầng liên kết dữ liệu Ethernet, Token ring, 802.11 WiFi, FDDI, PPPHDLC, Frame relay, ISDN, ATM,

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

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

Trang 9

- 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ệc-

workstation, 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 newsserver 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ùytheo 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ốivớ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

Trang 10

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ơncá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 trongvà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

Trang 11

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ềndẫ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 newsclient 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

Trang 12

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 <article_id" (tôi có các <chỉ số mẫu tin>)

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 chodị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

Trang 13

- 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 textnà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ốicủ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

Trang 14

- 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

- 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ảnhoá việc phiên dịch các đáp ứng

Trang 15

- 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

Trang 16

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ạmnà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ìmxem 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ỉ

Trang 17

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à broadcastmộ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ằngmá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ạnggó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 ,

Trang 18

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à bit 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)

Trang 19

+ 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

Trang 20

+ 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ẽ đượccấ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

Trang 21

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 :

Trang 22

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 Amuố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 :

Ngày đăng: 13/04/2018, 11:38

TỪ KHÓA LIÊN QUAN

w