Căn bản về mạng máy tính

Khái niệm mạng máy tính Mạng máy tính là một tập h ợp các máy tính được nối với nhau bởi đường truyền theo một cấu trúc nào đó và thông qua đó các máy tính trao đổi thông tin qua lại cho nhau. Đường truyền là hệ thống các thiết bị truyền dẫn có dây hay không dây dùng để chuyển các tín hiệu điện tử từ máy tính này đến máy tính khác. Các tín hiệu điện tửđó biểu thị các giá trị dữ liệu dưới dạng các xung nhị phân (on - off). Tất cả các tín hiệu được truyền giữa các máy tính đều thuộc một dạng sóng điện từ. Tùy theo tần số của sóng điện từ có thể dùng các đường truyền vật lý khác nhau để truyền các tín hiệu. Ở đây đường truyền được kết nối có thể là dây cáp đồng trục, cáp xoắn, cáp quang, dây điện thoại, sóng vô tuyến . Các đường truyền dữ liệu tạo nên cấu trúc của mạng. Hai khái niệm đường truyền và cấu trúc là những đặc trưng cơ bản của mạng máy tính.

pdf94 trang | Chia sẻ: banmai | Lượt xem: 2082 | Lượt tải: 3download
Bạn đang xem trước 20 trang tài liệu Căn bản về mạng máy tính, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
chữ số (địa chỉ host) tạo một địa chỉ duy nhất cho mỗi thiết bị trên mạng. Mỗi máy tính trên mạng TCP/IP phải được cấp một định danh duy nhất hay địa chỉ IP. Địa chỉ IP hoạt động ở lớp 3 định vị các máy tính khác trên mạng, các máy tính cũng có một địa chỉ vật lý duy nhất được gọi là địa chỉ MAC. Các địa chỉ này được gán bởi nhà sản xuất Card giao tiếp mạng (N IC) và địa chỉ này hoạt động ở lớp 2 của mô hình OSI. Một địa chỉ IP là một tổ hợp 32 bit nhị phân. Hình 2.1 trình bày về một số 32 bit. Hình 2.1.2.1a Khuôn dạng địa chỉ IP Để làm cho địa chỉ IP dễ sử dụng, địa chỉ IP thường được viết dưới dạng bốn số thập phân và được tách ra. Ví dụ, địa chỉ IP của một máy là 192.168.80.1, phương pháp viết địa chỉ này được gọi là dạng thập phân có dấu chấm phân cách. Mỗi địa chỉ IP được viết thành bốn phần phân cách nhau bởi dấu chấm, mỗi phần của địa chỉ IP được gọi là một Octet bởi nó được tạo thành bởi 8 chữ số nhị phân. Ví dụ, địa chỉ IP 192.168.1.8 sẽ có ký hiệu nhị phân là: 11000000.10101000.00000001.100000000, sử dụng dạng thập phân có dấu chấm tạo ra dạng địa chỉ dễ hiểu hơn. Cả hai chữ số nhị phân và thập phân trong hình 2.2 biểu diễn cùng một giá trị nhưng rõ ràng dạng thập phân dễ nhìn hơn. 6.2.2 Các lớp của địa chỉ IP Để phù hợp với các mạng có kích thước khác nhau và hỗ trợ trong việc phân loại các mạng này, các địa chỉ IP được chia thành các nhóm gọi là các lớp. Mỗi địa chỉ IP 32 bit hoàn chỉnh chia thành phần mạng và phần host. Mỗi bit hay một tuần tự các bit bắt đầu mỗi địa chỉ sẽ xác định lớp của địa chỉ này. Có 5 lớp địa chỉ IP được trình bày trong hình dưới đây: Hình 2.1.2.2.a Các tiền tố lớp địa chỉ Địa chỉ lớp A được thiết kế cho các mạng cực kỳ lớn, với nhiều hơn 16 triệu địa chỉ host có sẵn. Các địa chỉ lớp A chỉ dùng Octet đầu tiên để chỉ địa chỉ mạng, ba Octet còn lại cung cấp địa chỉ host. Hình 2.1.2.2.b Địa chỉ lớp A Địa chỉ lớp B được thiết kế cho các mạng vừa phải, với hơn 65 nghìn địa chỉ host có sẵn. Một địa chỉ lớp B dùng hai Octet đầu làm địa chỉ mạng, hai Octet còn lại là địa chỉ host. Hình 2.1.2.2.c Địa chỉ lớp B Không gian địa chỉ lớp C được dùng phổ biến nhất trong số các lớp của địa chỉ IP. Không gian địa chỉ này được cung cấp cho các mạng nhỏ với tối đa 254 host. Hình 2.1.2.2.d Địa chỉ lớp C Lớp địa chỉ D được tạo ra để cho phép multicasting cho địa chỉ IP. Một địa chỉ multicast là một địa chỉ mạng duy nhất hướng dẫn các gói đến một nhóm các địa chỉ IP, nhóm địa chỉ IP được định nghĩa trước là địa chỉ multicast này. Do đó, một host có thể truyền luồng số liệu đến nhiều host một cách đồng thời. Hình 2.1.2.2.e Địa chỉ lớp D Địa chỉ lớp E đã được định nghĩa. Tuy nhiên, IETF dành các địa này cho công việc nghiên cứu riêng. Do đó, không có địa chỉ địa chỉ lớp E nào được cấp phát cho sử dụng Internet. Hình 2.1.2.2.g Địa chỉ lớp E 6.3 BỘ GIAO THỨC TCP/IP 6.3.1 Giới thiệu về TCP/IP Vào cuối những năm 1960 và 1970, trung tâm nghiên cứu cấp cao của Mỹ được giao trách nhiệm phát triển mạng APARN ET. Mạng APARN ET bao gồm những tổ chức quân đội, các trường đại học và các tổ chức nghiên cứu và được dùng để hỗ trợ cho những dự án nghiên cứu khoa học và quân đội (N gày nay, APRA được gọi là DARPA). N ăm 1984, DOD chia APARN ET ra thành 2 phần APARN ET sử dụng cho nghiên cứu khoa học và MILN ET sử dụng cho quân đội. Đầu những năm 1980, một bộ giao thức mới được đưa ra làm giao thức chuNn cho mạng APARN ET và các mạng của DOD mang tên DARPA Internet protocol suit, nó thường được gọi là bộ giao thức TCP/IP hay còn gọi tắt là TCP/IP. N ăm 1987, tổ chức nghiên cứu quốc gia Hoa Kỳ (N ational Science Foundation - N SF) tài trợ cho việc kết nối 6 trung tâm siêu tính trên toàn liên bang lại với nhau thành một mạng với tên gọi N SFN ET. Về mặt vật lý, mạng này kết nối 13 điểm làm việc bằng đường điện thoại cao tốc được gọi là N SFN ET backbone, khoảng 8 đường backbone đã được xây dựng. N SFN ET được mở rộng với hàng chục mạng địa phương kết nối vào nó và kết nối vào mạng Internet của DARPA, cả N SFN ET và các mạng con của nó đều sử dụng bộ giao thức TCP/IP. Bộ giao thức TCP/IP có một số ưu điểm chính như sau: - Giao thức chuNn mở thoải mái và sẵn sàng phát triển độc lập với phần cứng và hệ điều hành. Bởi vì nó được hỗ trợ bởi nhiều nhà cung cấp, TCP/IP lý tưởng cho việc hợp nhất phần cứng và phần mềm khác nhau, ngay cả khi truyền thông trên Internet. Sự độc lập rành mạch với phần cứng vật lý của mạng cho phép TCP/IP hợp nhất các mạng khác nhau. TCP/IP có thể chạy trên mạng Ethernet, mạng Token ring, mạng quay số (Dial-up line), mạng X.25, mạng ảo và mọi loại môi trường vật lý truyền thông. - Một sơ đồ địa chỉ dùng chung cho phép mỗi thiết bị TCP/IP có duy nhất một địa chỉ trên mạng ngay cả khi đó là mạng toàn cầu Internet. - Tiêu chuNn hoá mức cao của giao thức phù hợp với ích lợi của dịch vụ người dùng. Được tích hợp vào hệ điều hành UN IX, hỗ trợ mô hình client - server, mô hình mạng bình đẳng, hỗ trợ kỹ thuật dẫn đường động. DARPA hỗ trợ việc nghiên cứu kết nối nhiều loại mạng khác nhau lại thành một mạng toàn cầu Internet. N goài việc sử dụng cho tất cả các máy trên Internet, TCP/IP còn được sử dụng trong mạng nội bộ của một số tổ chức chính phủ hoặc thương mại, những mạng này gọi là Intranet. TCP/IP có thể kết nối một số lượng lớn các máy tính (150.000 máy trên nước Mĩ, Châu Âu, Châu Á) hay chỉ kết nối hai máy tính trong phòng làm việc. Sau đây chúng ta sẽ nghiên cứu về bộ giao thức truyền thông TCP/IP. 6.3.2 Tổng quan về bộ giao thức TCP/IP Mặc dầu có nhiều giao thức trong bộ giao thức truyền thông TCP/IP, hai giao thức quan trọng nhất được lấy tên đặt cho bộ giao thức này là TCP (Transmission Control Protocol) và IP (Internet Protocol). TCP/IP là bộ giao thức cho phép kết nối các mạng không đồng nhất vói nhau. N gày nay, TCP/IP được sử dụng rộng rãi trong các mạng cục bộ cũng như mạng Internet toàn cầu. 6.3.2.1 Kiến trúc phân tầng của TCP/IP TCP/IP được xem là giản lược của mô hình OSI và được phân làm 4 tầng: - Tầng mạng (N etwork Layer) - Tầng Internet (Internet Layer) - Tầng giao vận (Transport Layer) - Tầng ứng dụng (Application Layer) Trong đó * Tầng liên kết mạng: là tầng thấp nhất trong mô hình TCP/IP bao gồm các thiết bị giao tiếp mạng và các chương trình giao tiếp thông tin cần thiết để có thể hoạt động và truy nhập đường truyền vật lý qua các thiết bị giao tiếp đó. * Tầng Internet: Xủ lý quá trình truyền gói tin trên mạng. Tầng này bao gồm các loại giao thức như IP (Internet protocol), ICMP (Internet control Message Protocol), IGMP (Internet Group Message Protocol). * Tầng giao vận: Phụ trách luồng dữ liệu giữa hai trạm thực hiện ứng dụng của tầng trên. Tầng này bao gồm hai giao thức TCP (Transmisson Control Protocol) và UDP (User Datagram Protocol). Giao thức TCP cung cấp một luồng dữ liệu tin cậy giữa hai trạm, sử dụng các cơ chế như chia gói tin ở tầng trên thành các gói tin nhỏ hơn ở tầng mạng bên dưới, báo nhận gói tin, đặt thời gian time - out để nhận biết thời gian gói tin đã được gửi đi. Do tầng này đảm bảo tính tin cậy nên tầng trên không cần phải quan tâm nữa. Giao thức UDP thì cung cấp một dịch vụ đơn giản hơn cho tầng trên, nó chỉ gửi các gói dữ liệu từ tầng này tới tầng kia làm không đảm bảo đến được đích, các cơ chế đảm bảo độ tin cậy cần được thực hiện bởi tầng trên. * Tầng ứng dụng: Là tầng trên cùng của mô hình TCP/IP, bao gồm các tiến trình và giao thức cung cấp sử dụng truy cập mạng. Có rất nhiều ứng dụng được cung cấp cho tầng này như: Telnet phục vụ truy cập mạng từ xa, FTP dịch vụ truyền tệp, Email gửi thư điện tử, WWW (Word-Wide-Web) … Việc phân tầng này đảm bảo một số nguyên tắc sau: - Một lớp được tạo ra khi cần đến mức trừu tượng hoá tương ứng. - Mỗi lớp cần thực hiện các chức năng được định nghĩa rõ ràng. - Việc chọn chức năng cho mỗi lớp cần chú ý tới việc định nghĩa các quy tắc chuNn hoá quốc tế. - Ranh giới các mức cần chọn sao cho thông tin đi qua là ít nhất (tham số cho chương trình con là ít). - Số mức phải đủ lớn để các chức năng tách biệt không nằm trong cùng một lớp và đủ nhỏ để mô hình không quá phức tạp. - Một mức có thể được phân thành các lớp nhỏ nếu cần thiết. - Các mức con có thể lại bị loại bỏ. - Hai hệ thống khác nhau có thể truyền thông với nhau nếu chúng bảo đảm những nguyên tắc chung (cài đặt cùng một giao thức truyền thông). - Các chức năng được tổ chức thành một tập các tầng đồng mức cung cấp chức năng như nhau. Các tầng đồng mức phải sử dụng một giao thức chung. - Một tầng không định nghĩa một giao thức đơn, nó định nghĩa một chức năng truyền thông có thể được thi hành bởi một số giao thức. Do vậy, mỗi tầng có thể chứa nhiều giao thức, mỗi giao thức cung cấp một dịch vụ phù hợp cho chức năng của tầng. - FTP (File transfer Protocol): Giao thức truyền tệp cho phép người dùng lấy hoặc gửi tệp tới một máy khác - Telnet: Chương trình mô phỏng thiết bị đầu cuối cho phép người dùng login vào một máy chủ từ một máy tính nào đó trên mạng. - SMTP (Simple Mail Transfer Protocol): Một giao thức thư tín điện tử. - DNS (Domain N ame server): Dịch vụ tên miền cho phép nhận ra máy tính từ một tên miền thay cho chuỗi địa chỉ Internet khó nhớ. - SNMP (Simple N etwork Management Protocol): Giao thức quản trị mạng cung cấp những công cụ quản trị mạng. - RIP (Routing Internet Protocol): Giao thức dẫn đường động. - ICMP (Internet Control Message Protocol): N ghi thức thông báo lỗi. - UDP (User Datagram Protocol): Giao thức truyền thông không kết nối, cung cấp dịch vụ truyền không tin cậy nhưng tiết kiệm chi phí truyền. Application Layer Transport Layer (Host Layer) Internet Layer (GetwayLayer ) Network Interface Layer RIP SN MSMTP Transsmission Control Protocol User Datagram Protocol TELN EFTP Internet Protocol ICMP ARP Token Fiber Token BusEthernet DN S - TCP (Transmission Control Protocol): Giao thức hướng kết nối, cung cấp dịch vụ truyền thông tin tưởng. - IP (Internet Protocol): Giao thức Internet chuyển giao các gói tin qua các máy tính đến đích. - ARP (Address Resolution Protocol): Cơ chế chuyển địa chỉ TCP/IP thành địa chỉ vật lý của các thiết bị mạng. TCP là một giao thức có liên kết, nghĩa là cần thiết lập liên kết giữa hai thực thể TCP trước khi chúng trao đổi dữ liệu với nhau. Một tiến trình ứng dụng trong một máy tính truy nhập vào các dịch vụ của giao thức TCP thông qua một cổng của TCP. Một cổng TCP kết hợp với địa chỉ IP tạo thành một đầu nối TCP/IP duy nhất trong liên mạng. Một đầu nối TCP/IP có thể tham gia nhiều liên kết với các đầu nối TCP/IP ở xa khác nhau. Trước khi truyền dữ liệu qua hai trạm cần phải thiết lập một liên kết TCP giữa chúng và khi không còn nhu cầu truyền dữ liệu thì liên kết đó sẽ được giải phóng. * Các bước thực hiện để thiết lập một liên kết TCP/IP Thiết lập một liên kết mới có thể được mở theo một trong 2 phương thức: Chủ động (active) hoặc bị động (passive) - Phương thức bị động, người sử dụng yêu cầu TCP chờ đợi một yêu cầu liên kết gửi đến từ xa thông qua một đầu nối TCP/IP. N gười sử dụng dùng hàm passive Open có khai báo cổng TCP và các thông số khác. - Với phương thức chủ động, người sử dụng yêu cầu TCP mở một liên kết với một đầu nối TCP/IP ở xa. Liên kết sẽ được xác lập nếu có một hàm Passive Open tương ứng đã được thực hiện tại đầu nối TCP/IP ở xa đó. 6.4. Kỹ thuật chia mạng con của Internet (IP subnetting) 6.4.1. Nguyên nhân N hư đã nêu trên địa chỉ trên Internet thực sự là một tài nguyên, một mạng khi gia nhập Internet được Trung tâm thông tin mạng Internet ( N IC) phân cho một số địa chỉ vừa đủ dùng với yêu cầu lúc đó, sau này nếu mạng phát triển thêm lại phải xin N IC thêm, đó là điều không thuận tiện cho các nhà khai thác mạng. Hơn nữa các lớp địa chỉ của Internet không phải hoàn toàn phù hợp với yêu cầu thực tế, địa chỉ lớp B chẳng hạn, mỗi một địa chỉ mạng có thể cấp cho 65534 máy chủ, Thực tế có mạng nhỏ chỉ có vài chục máy chủ thì sẽ lãng phí rất nhiều địa chỉ còn lại mà không ai dùng được . Để khắc phục vấn đề này và tận dụng tối đa địa chỉ được N IC phân, bắt đầu từ năm 1985 người ta nghĩ đến Địa chỉ mạng con. N hư vậy phân địa chỉ mạng con là mở rộng địa chỉ cho nhiều mạng trên cơ sở một địa chỉ mạng mà N IC phân cho, phù hợp với số lượng thực tế máy chủ có trên từng mạng. 6.4.2. Phương pháp phân chia địa chỉ mạng con Một số khái niệm liên quan tới việc phân địa chỉ các mạng con. * Default Mask: (Giá trị trần địa chỉ mạng) được định nghĩa trước cho từng lớp địa chỉ A,B,C. Thực chất là giá trị thập phân cao nhất (khi tất cả 8 bit đều bằng 1) trong các Octet dành cho địa chỉ mạng - N et ID. Default Mask: Lớp A 255.0.0.0 Lớp B 255.255.0.0 Lớp C 255.255.255.0 *Subnet Mask: ( giá trị trần của từng mạng con) Subnet Mask là kết hợp của Default Mask với giá trị thập phân cao nhất của các bit lấy từ các Octet của địa chỉ máy chủ sang phần địa chỉ mạng để tạo địa chỉ mạng con. Subnet Mask bao giờ cũng đi kèm với địa chỉ mạng tiêu chuNn để cho người đọc biết địa chỉ mạng tiêu chuNn này dùng cả cho 254 máy chủ hay chia ra thành các mạng con. Mặt khác nó còn giúp Router trong việc định tuyến cuộc gọi. *Nguyên tắc chung: Lấy bớt một số bit của phần địa chỉ máy chủ để tạo địa chỉ mạng con. Lấy đi bao nhiêu bit phụ thuộc vào số mạng con cần thiết (Subnet mask) mà nhà khai thác mạng quyết định sẽ tạo ra. Vì địa chỉ lớp A và B đều đã hết, hơn nữa hiện tại mạng Internet của Tổng công ty do VDC quản lý đang được phân 8 địa chỉ mạng lớp C nên chúng ta sẽ nghiên cứu kỹ phân chia địa chỉ mạng con ở lớp C. a. Địa chỉ mạng con của địa chỉ lớp C Class c: Địa chỉ lớp C có 3 octet cho địa chỉ mạng và 1 octet cuối cho địa chỉ máy chủ vì vậy chỉ có 8 bit lý thuyết để tạo mạng con, thực tế nếu dùng 1 bit để mở mạng con và 7 bit cho địa chỉ máy chủ thì vẫn chỉ là một mạng và ngược lại 7 bit để cho mạng và 1 bit cho địa chỉ máy chủ thì một mạng chỉ được một máy, như vậy không logic, ít nhất phải dùng 2 bit để mở rộng địa chỉ và 2 bit cho địa chỉ máy chủ trên từng mạng. Do vậy trên thực tế chỉ dùng như bảng sau. Default Mask của lớp C : 255.255.255.0 Địa chỉ máy chủ 255.255.255.1 1 0 0 0 0 0 0 ; 192 ( 2 bit đ/ chỉ mạng con 6 bit đ/chỉ máy chủ) 255.255.255.1 1 1 0 0 0 0 0 ; 224 ( 3 bit đ/chỉ mạng con 5 bit đ/chỉ máy chủ) 255.255.255.1 1 1 1 0 0 0 0 ; 240 ( 4 bit đ/chỉ mạng con 4 bit đ/chỉ máy chủ) 255.255.255.1 1 1 1 1 0 0 0 ; 248 ( 5 bit đ/chỉ mạng con 3 bit đ/chỉ máy chủ) 255.255.255.1 1 1 1 1 1 0 0 ; 252 ( 6 bit đ/chỉ mạng con 2 bit đ/chỉ máy chủ) Default Mask Địa chỉ mạng con Khả năng chia mạng con của địa chỉ Lớp C Trường Subnetmask Số lượng Số máy chủ trên hợp mạng con từng mạng 1 255.255.255.192 2 62 2 255.255.255.224 6 30 3 255.255.255.240 14 14 4 255.255.255.248 30 6 5 255.255.255.252 62 2 N hư vậy một địa chỉ mạng ở lớp C chỉ có 5 trường hợp lựa chọn trên (Hay 5 Subnet Mask khác nhau), tuỳ từng trường hợp cụ thể để quyết định số mạng con. * Trường hợp 1 - Hai mạng con Subnet Mask 255.255.255.192. Từ một địa chỉ tiêu chuNn tạo được địa chỉ cho hai mạng con, mỗi một mạng có 62 máy chủ. Sử dụng hai bit (bit 7 và 6) của phần địa chỉ máy chủ để tạo mạng con. N hư vậy còn lại 6 bit để phân cho máy chủ. + Tính địa chỉ mạng Octet 4 Bit 7 6 5 4 3 2 1 0 xxx.xxx.xxx. 0 0 0 0 0 0 0 0 = xxx.xxx.xxx.0 xxx.xxx.xxx. 0 1 0 0 0 0 0 0 = xxx.xxx.xxx.64 xxx.xxx.xxx. 1 0 0 0 0 0 0 0 = xxx.xxx.xxx.128 xxx.xxx.xxx. 1 1 0 0 0 0 0 0 = xxx.xxx.xxx.192 Ghi chú: xxx.xxx.xxx là địa chỉ mạng tiêu chuNn của lớp C. Địa chỉ của mạng là giá trị của bit 7 và 6 lần lượt bằng 0 và 1. Trong trường hợp chia địa chỉ mạng con không bao giờ được dùng địa chỉ khi các bit đều bằng 0 hay bằng 1. Do vậy trường hợp 2 mạng con nói trên, địa chỉ mạng con sẽ là: Mạng con 1: Địa chỉ mạng xxx.xxx.xxx.64 Mạng con 2: Địa chỉ mạng xxx.xxx.xxx.128 + Tính địa chỉ cho máy chủ cho mạng con 1 Chúng ta chỉ còn 6 bit cho địa chỉ máy chủ trên từng mạng. Octet 4 Bit 7 6 5 4 3 2 1 0 xxx.xxx.xxx. 0 1 0 0 0 0 0 0 = xxx.xxx.xxx.64 Địa chỉ mạng xxx.xxx.xxx. 0 1 0 0 0 0 0 1 = xxx.xxx.xxx.65 xxx.xxx.xxx. 0 1 0 0 0 0 1 0 = xxx.xxx.xxx.66 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxx.xxx.xxx. 0 1 1 1 1 1 1 0 = xxx.xxx.xxx.126 xxx.xxx.xxx. 0 1 1 1 1 1 1 1 =xxx.xxx.xxx.127 Không phân Địa chỉ mạng con 1 Mỗi mạng còn lại 62 địa chỉ cho máy chủ. Mạng 1: Từ xxx.xxx.xxx. 065 đến xxx.xxx.xxx.126 + Tính địa chỉ cho máy chủ cho mạng con 2 Tương tự như cách tính trên ta có Octet 4 Bit 7 6 5 4 3 2 1 0 xxx.xxx.xxx. 1 0 0 0 0 0 0 0 = xxx.xxx.xxx.128 Địa chỉ mạng xxx.xxx.xxx. 1 0 0 0 0 0 0 1 = xxx.xxx.xxx.129 xxx.xxx.xxx. 1 0 0 0 0 0 1 0 = xxx.xxx.xxx.130 . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . xxx.xxx.xxx. 1 0 1 1 1 1 1 0 = xxx.xxx.xxx.190 xxx.xxx.xxx. 1 0 1 1 1 1 1 1 = xxx.xxx.xxx.191 Không phân Địa chỉ mạng con 2 Mạng 2: Địa chỉ máy chủ trên mạng 2. Từ xxx.xxx.xxx.129 đến xxx.xxx.xxx.190. Tổng quát lại: Subnet ID Hosts 0 1-62 64 65-126 128 129-190 192 193-254 Mạng con thứ nhất Địa chỉ mạng con: xxx.xxx.xxx.064 Địa chỉ các máy chủ trên mạng con này từ. xxx.xxx.xxx. 065 xxx.xxx.xxx. 066 xxx.xxx.xxx. 067 .............. đến xxx.xxx.xxx. 126 Mạng con thứ 2 Địa chỉ mạng con: xxx.xxx.xxx. 128 Địa chỉ các máy chủ trên mạng con này từ. xxx.xxx.xxx. 129 xxx.xxx.xxx. 130 ............. đến xxx.xxx.xxx. 190 Địa chỉ máy chủ từ 1 đến 62 và từ 193 đến 254 và 127 ; 191 bị mất, nghĩa là mất 130 địa chỉ. Ví dụ: Địa chỉ tiêu chuNn lớp C là 196. 200. 123 Subnetmask 255.255.255.192 Từ địa chỉ này ta có 2 mạng con là: - Mạng 1: Địa chỉ mạng 196.200.123.064 Địa chỉ Máy chủ trên mạng này. Từ 196.200.123.065 đến 196. 200. 123. 126. - Mạng 2: Địa chỉ mạng 196.200.123.128 Địa chỉ máy chủ trên mạng này. Từ 196.200.123.129 đến 196.200.123. 190 * Trường hợp 2 - Sáu mạng con Subnetmask: 255.255.255.224. Tạo được 6 mạng con, mỗi mạng con có 30 máy chủ + Tính địa chỉ Mạng con Trường hợp này sử dụng 3 bit ( bit 7,6,5) của địa chỉ máy chủ (Octet 4) bổ sung cho địa chỉ mạng tiêu chuNn để tạo mạng con. Octet 4 Bit 7 6 5 4 3 2 1 0 xxx.xxx.xxx. 0 0 0 0 0 0 0 0 = xxx.xxx.xxx.0 xxx.xxx.xxx. 0 0 1 0 0 0 0 0 = xxx.xxx.xxx.32 xxx.xxx.xxx. 0 1 0 0 0 0 0 0 = xxx.xxx.xxx.64 xxx.xxx.xxx. 0 1 1 0 0 0 0 0 = xxx.xxx.xxx.96 xxx.xxx.xxx. 1 0 0 0 0 0 0 0 = xxx.xxx.xxx.128 xxx.xxx.xxx. 1 0 1 0 0 0 0 0 = xxx.xxx.xxx.160 xxx.xxx.xxx. 1 1 0 0 0 0 0 0 = xxx.xxx.xxx.192 xxx.xxx.xxx. 1 1 1 0 0 0 0 0 = xxx.xxx.xxx.224 Bỏ trường hợp các bit đều bằng 0 hay 1, còn lại địa chỉ của 6 mạng con sau. xxx.xxx.xxx.32 ; Mạng con 1 xxx.xxx.xxx.64 ; Mạng con 2 xxx.xxx.xxx.96 ; Mạng con 3 xxx.xxx.xxx.128 ; Mạng con 4 xxx.xxx.xxx.160 ; Mạng con 5 xxx.xxx.xxx.192 ; Mạng con 6 + Tính địa chỉ máy chủ cho mạng con 1 Octet 4 Bit 7 6 5 4 3 2 1 0 xxx.xxx.xxx. 0 0 1 0 0 0 0 0 = xxx.xxx.xxx. 32 Địa chỉ mạng xxx.xxx.xxx. 0 0 1 0 0 0 1 1 = xxx.xxx.xxx.33 xxx.xxx.xxx. 0 0 1 0 0 0 0 0 = xxx.xxx.xxx.34 xxx.xxx.xxx. 0 0 1 0 0 0 1 1 = xxx.xxx.xxx.35 xxx.xxx.xxx. 0 0 1 0 0 1 0 0 = xxx.xxx.xxx.36 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxx.xxx.xxx. 0 0 1 1 1 1 1 0 = xxx.xxx.xxx.62 xxx.xxx.xxx. 0 0 1 1 1 1 1 1 = xxx.xxx.xxx.63 Không phân N hư vậy địa chỉ máy chủ của mạng con 1 sẽ từ 33 đến 62. Tương tự như cách tính đã nêu trên chúng ta có thể tính được cho tất cả các trường hợp còn lại (xem bảng 1) và được tổng hợp lại như sau. Trường hợp 1: Subnetmask 255.255.255.192 • 2 mạng con. • 62 máy chủ mỗi mạng. Trường hợp 2: Subnetmask 255.255.255.224 • 6 mạng con. • 30 máy chủ mỗi mạng. Trường hợp 3: Subnetmask 255.255.255.240 • 14 mạng con. • 14 máy chủ mỗi mạng Trường hợp 4: Subnetmask 255.255.255.248 • 30 mạng con. • 6 máy chủ mỗi mạng. Trường hợp 5: Subnetmask 255.255.255.252. • 62 mạng con. • 2 máy chủ mỗi mạng. Xem bảng tính địa chỉ cho các trường hợp trên Ví dụ: Địa chỉ mạng lớp C mà N IC phân cho VDC là 203.162.4.0. Trên địa chỉ này phân ra 2 mạng con thì địa chỉ sẽ là. Mạng 1: Địa chỉ mạng 203.162.4.64. Địa chỉ máy chủ trên mạng đó từ 203.162.4.65 đến 203.162.4.126 Mạng 2: Địa chỉ mạng 203.162.4.128. Địa chỉ máy chủ trên mạng đó từ 203.162.4.129 đến 203.162.4.190 b. Địa chỉ mạng con từ địa chỉ lớp B Default Mask của lớp B là 255.255.0.0 class b: N et ID - Khi phân địa chỉ mạng con sử dụng Octet 3 Địa chỉ lớp B có 2 Octet thứ 3 và thứ 4 dành cho địa chỉ máy chủ nên về nguyên lý có thể lấy được cả 16 bit để tạo địa chỉ mạng . N ếu từ một địa chỉ mạng được N IC phân chúng ta định mở rộng lên 254 mạng và mỗi mạng sẽ có 254 máy chủ. Trường hợp này sẽ lấy hết 8 bit của octet thứ 3 bổ sung vào địa chỉ mạng và chỉ còn lại 8 bit thực tế cho địa chỉ máy chủ, theo cách tính số thập phân 2n giá trị của 8 bit như đã nêu ở phần lớp C, chúng ta sẽ có: Bảng phân chia địa chỉ mạng con ở lớp B Class B Subnetting (Default Subnet mask) Subnet Mask subnets Số mạng con hosts per subnet Số máy chủ trên mỗi mạng con 255.255.0.0 Sử dụng Octet 3 để mở rộng mạng con 255.255.192.0 2 16382 255.255.224.0 6 8190 255.255.240.0 14 4094 255.255.248.0 30 2460 255.255.252.0 62 1022 255.255.254.0 126 510 255.255..255.0 254 254 Sử dụng cả Octet 4 để mở rộng mạng con 255.255.255.128 510 126 255.255.255.192 1022 62 255.255.255.224 2046 30 255.255.255.240 4094 14 255.255.255.248 8190 6 255.255.255.252 16382 2 Địa chỉ lớp B về lý thuyết có 2 octet đầu cho địa chỉ mạng, khi chia mạng con theo phương pháp sử dụng tất cả 8 bit trong 3 octet cho địa chỉ mạng, trên thực tương ứng với lớp C, như vậy về địa chỉ N IC phân là lớp B nhưng cách tổ chức địa chỉ lại ở lớp C ( Xem Bảng phụ lục phân địa chỉ mạng con ở lớp B ). Trong bảng này cần chú ý ở cột 6 - khoảng cách địa chỉ giữa 2 mạng con giới thiệu cho chúng ta cách tính địa chỉ các mạng con, địa chỉ các máy chủ trên từng mạng liên quan tới cột 7,8,9,10. Ví dụ: Trường hợp Subnetmask 255.255.240.0 là rõ nhất. Chia được 14 mạng con, mỗi mạng con có 4094 máy chủ, khoảng cách địa chỉ giữa hai mạng con là 16.0 có nghĩa. • Mạng con 1 có địa chỉ là xxx.yyy.16.0 ; Mạng con 2 sẽ có địa chỉ là xxx.yyy.16.0 + 16.0 = xxx.yyy.32.0 cứ tiếp tục như vậy ta sẽ tính được địa chỉ của từng mạng con và mạng con 14 là xxx.yyy. 224.0. • Địa chỉ máy chủ đầu tiên trên mạng con 1 là xxx.yyy.16.1 ; địa chỉ máy chủ đầu tiên trên mạng con 2 sẽ là xxx.yyy.16.1 + 16.0 = xxx.yyy.32.1. Tiếp tục như vậy ta sẽ tính địa chỉ được máy chủ đầu tiên của mạng con 14 là xxx.yyy.224.1 v.v.. • Tương tự chúng ta biết được địa chỉ cuối cùng của các máy chủ trên một mạng con. Theo hướng dẫn này chúng ta sẽ tìm được các trường hợp khác. Tóm lại chia địa chỉ mạng con cũng phải theo một quy luật nhất định ngoài ý muốn của chúng ta, khi chia mạng con cũng bị mất khá nhiều địa chỉ, mất ít hay nhiều tuỳ thuộc vào các trường hợp cụ thể. 6.5 Các phương pháp phân bổ địa chỉ IP 6.5.1. Lấy một điạ chỉ IP 6.5.1.1 Lấy một địa chỉ Internet Một host mạng cần lấy một địa chỉ duy nhất toàn cục để hoạt động trên Internet. Địa chỉ vật lý hay MAC mà host có chỉ có ý nghĩa cục bộ, để nhận diện host trong mạng cục bộ mà thôi. Vì đây là địa chỉ lớp 2, nên router không dùng nó để chuyển số liệu lên LAN . Các địa chỉ IP được dùng phổ biến nhất trong truyền thông Internet. Giao thức này là một lược đồ địa chỉ phân cấp, cho phép các địa chỉ cá nhân được liên kết với nhau và được xem như các nhóm. Các nhóm địa chỉ cho phép truyền số liệu qua Internet một cách hiệu quả. N gười quản trị mạng dùng 2 phương pháp để gán địa chỉ IP. Các phương pháp này gọi là tĩnh hay động. N ếu hai host có cùng địa chỉ IP có thể gây ra một sự xung đột mà qua đó khiến cho cả hai host đều không thể hoạt động được. Các host có một địa chỉ vật lý bởi chúng có chung một card giao tiếp mạng (N IC). Cho phép kết nối host vào môi trường vật lý. 6.5.1.2 Sự gán tĩnh một địa chỉ IP Gán địa chỉ tĩnh phù hợp cho các mạng nhỏ ít thay đổi. N gười quản trị hệ thống gán bằng tay và theo dõi các địa chỉ IP trong mỗi máy tính, máy in hay server trên Internet. Theo dõi tốt là điều quan trọng để ngăn các vấn đề phát sinh từ sự trùng lặp địa chỉ IP. Điều này chỉ có thể khi có một số lượng nhỏ các thiết bị cần theo dõi. Các server sẽ được gán một địa chỉ IP tĩnh sao cho các máy trạm và các thiết bị khác luôn biết được cách thức truy xuất các dịch vụ cần thiết. Các thiết bị khác được gán địa chỉ IP tĩnh là các máy in mạng. Các server ứng dụng và router. 6.5.1.3 Gán địa chỉ theo RARP RARP (Reverse Address Resolution Protocol) liên hệ một địa chỉ MAC đã biết với một địa chỉ IP. Liên hệ này cho phép các thiết bị mạng đóng gói (encapsulation) số liệu trước khi truyền số liệu lên mạng. Một thiết bị mạng ví dụ như diskless workstation có thể biết địa chỉ MAC của nó nhưng lại không biết địa chỉ IP được gán cho nó. RARP cho phép các thiết bị này tạo ra một yêu cầu để lấy địa chỉ IP của minh. Các thiết bị dùng RARP Request qua đó một RARP server có mặt trên mạng sẽ phải trả lời. Xem xét một ví dụ nơi mà một thiết bị nguồn muốn truyền số liệu đến thiết bị khác. Trong ví dụ này, thiết bị nguồn biết địa chỉ MAC của mình nhưng không thể xác định địa chỉ IP của nó trong bảng RARP. Thiết bị nguồn phải gộp cả địa chỉ MAC và địa chỉ IP của nó để thiết bị đích tiếp nhận số liệu, sau đó truyền chúng lên các lớp cao hơn trong mô hình OSI và đáp ứng lại cho thiết bị nguồn. Do đó, nguồn phải khởi động một quá trình được gọi là RARP request. Yêu cầu giúp thiết bị nguồn phát hiện được địa chỉ IP của nó. RARP request là một broadcast lên một LAN và một đáp ứng bởi một RARP server, thành phần này thường là một router. RARP sử dụng định dạng gói giống như ARP. Tuy nhiên trong RARP request, MAC header và “Operation code” khác với ARP request. Khuôn dạng gói RARP chứa các vị trí cho các địa chỉ MAC của các thiết bị nguồn và đích. File chứa địa chỉ IP của nguồn là rỗng broadcast này đi đến mọi thiết bị trên mạng. Do đó địa chỉ MAC đích sẽ được ghi với tất cả các bit đều là 1. Các máy trạm chạy RARP đều có mã chương trình trong ROM hướng dẫn chúng khởi động một quá trình trong RARP. 6.5.1.4 Gán địa chỉ IP theo BOOTP Bootstrap protocol (BOOTP) là giao thức hoạt động trong môi trường client/server và chỉ yêu cầu một gói đơn trao đổi để lấy môt thông tin IP. Tuy nhiên, không giống như RARP, các gói BOOTP có thể chứa các địa chỉ IP cũng như địa chỉ của một router, địa chỉ của một server và thông tin của nhà cung cấp. Tuy nhiên vấn đề đối với BOOTP là nó không được thiết kế để cung ứng địa chỉ rộng. Với BOOTP, người quản trị mạng tạo ra một tập tin cấu hình chỉ ra các thông số cho các thiết bị. N gười quản trị phải bổ xung các host và bảo trì cở sở dữ liệu BOOTP. N gay cả khi các địa chỉ IP được gán động, vẫn phải có mối quan hệ một-một giữa số lượng địa chỉ IP và số lượng host. Điều này có nghĩa là mỗi host trên mạng phải có một đặc trưng (profile). BOOTP kèm theo sự gán địa chỉ IP trên đó. Không có hai profile nào có cùng địa chỉ IP vì profile này có thể được dùng cùng lúc và như vậy sẽ có thể có hai host cùng địa chỉ IP. Một thiết bị dùng BOOTP để lấy một địa chỉ IP khi khởi động máy. BOOTP dùng UDP để tải các thông điệp. Thông điệp UDP được đóng trong một gói IP. Một máy tính dùng BOOTP để gửi một broadcast IP sử dụng địa chỉ IP đích với tất cả đều là 1, 255.255.255.255 trong ký hiệu thập phân có chấm phân cách. Một BOOTP server nhận broadcast này và sau đó chuyển ngược lại broadcast. Client nhận một frame và kiểm tra địa chỉ MAC. N ếu client thấy địa chỉ MAC của nó trong file địa chỉ đích và một broadcast trong file đích IP, nó tiến hành lấy và lưu địa chỉ IP cùng với thông tin khác được cung cấp trong thông điệp hồi đáp BOOTP này. 6.5.1.5 Quản lý địa chỉ IP theo DHCP Dynamic Host Configuration Protocol là giao thức tiếp ra đời sau BOOTP. Không giống như BOOTP, DHCP cho phép một host lấy địa chỉ IP một cách linh động không cần người quản trị mạng thiết lập một profile riêng cho mỗi thiết bị. Tất cả những gì được yêu cầu khi dùng DHCP là định nghĩa một dải địa chỉ IP trên một DHCP server. Khi các host tham gia vào mạng, chúng liên hệ với DHCP server và yêu cầu một địa chỉ IP. DHCP server chọn một địa chỉ và cấp cho host này. Với DHCP, toàn bộ cấu hình mạng của một máy tính có thể được lấy về chỉ qua một thông điệp. Trong đó bao hàm tất cả các số liệu được cung cấp bởi thông điệp BOOTP, cộng với địa chỉ IP được cấp và một subnet mask. Ưu điểm chu yếu mà DHCP có so với BOOTP là cho phép các user có thể di chuyển. Đặc tính di động này cho phép các user thay đổi tùy thích các kết nối mạng từ vị trí này sang vị trí khác. Không còn yêu cầu giữ một profile cố định cho từng thiết bị nối vào mạng giống như trong hệ thống BOOTP. Điều quan trọng đối với ưu thế của DHCP là khả năng cấp một địa chỉ IP cho một thiết bị và sau đó thu hồi lại để cấp cho thiết bị khác sau khi user đầu tiên không còn dùng nữa. Điều này có nghĩa là DHCP cung cấp một hệ số một-nhiều (one-to- many) của các địa chỉ IP và một địa chỉ IP là khả dụng cho mọi người kết nối vào mạng. 6.6. Giao thức IP 6.6.1. Tổng quát N hiệm vụ chính của giao thức IP là cung cấp khả năng kết nối các mạng con thành liên kết mạng để truyền dữ liệu, vai trò của IP là vai trò của giao thức tầng mạng trong mô hình OSI. Giao thức IP là một giao thức kiểu không liên kết (connectionlees) có nghĩa là không cần có giai đoạn thiết lập liên kết trước khi truyền dữ liệu. Sơ đồ địa chỉ hóa để định danh các trạm (host) trong liên mạng được gọi là địa chỉ IP 32 bits (32 bit IP address). Mỗi giao diện trong 1 máy có hỗ trợ giao thức IP đều phải được gán 1 địa chỉ IP (một máy tính có thể gắn với nhiều mạng do vậy có thể có nhiều địa chỉ IP). Địa chỉ IP gồm 2 phần: địa chỉ mạng (netid) và địa chỉ máy (hostid). Mỗi địa chỉ IP có độ dài 32 bits được tách thành 4 vùng (mỗi vùng 1 byte), có thể biểu thị dưới dạng thập phân, bát phân, thập lục phân hay nhị phân. Cách viết phổ biến nhất là dùng ký pháp thập phân có dấu chấm (dotted decimal notation) để tách các vùng. Mục đích của địa chỉ IP là để định danh duy nhất cho một máy tính bất kỳ trên liên mạng. Do tổ chức và độ lớn của các mạng con (subnet) của liên mạng có thể khác nhau, người ta chia các địa chỉ IP thành 5 lớp, ký hiệu là A, B, C, D và E. Trong lớp A, B, C chứa địa chỉ có thể gán được. Lớp D dành riêng cho lớp kỹ thuật multicasting. Lớp E được dành những ứng dụng trong tương lai. N etid trong địa chỉ mạng dùng để nhận dạng từng mạng riêng biệt. Các mạng liên kết phải có địa chỉ mạng (netid) riêng cho mỗi mạng. Ở đây các bit đầu tiên của byte đầu tiên được dùng để định danh lớp địa chỉ (0 - lớp A, 10 - lớp B, 110 - lớp C, 1110 - lớp D và 11110 - lớp E). Ơû đây ta xét cấu trúc của các lớp địa chỉ có thể gán được là lớp A, lớp B, lớp C Cấu trúc của các địa chỉ IP như sau: Mạng lớp A: địa chỉ mạng (netid) là 1 Byte và địa chỉ host (hostid) là 3 byte. Mạng lớp B: địa chỉ mạng (netid) là 2 Byte và địa chỉ host (hostid) là 2 byte. Mạng lớp C: địa chỉ mạng (netid) là 3 Byte và địa chỉ host (hostid) là 1 byte. Lớp A cho phép định danh tới 126 mạng, với tối đa 16 triệu host trên mỗi mạng. Lớp này được dùng cho các mạng có số trạm cực lớn. Lớp B cho phép định danh tới 16384 mạng, với tối đa 65534 host trên mỗi mạng. Lớp C cho phép định danh tới 2 triệu mạng, với tối đa 254 host trên mỗi mạng. Lớp này được dùng cho các mạng có ít trạm. Hình 7.1: Cấu trúc các lớp địa chỉ IP Một số địa chỉ có tính chất đặc biệt: Một địa chỉ có hostid = 0 được dùng để hướng tới mạng định danh bởi vùng netid. N gược lại, một địa chỉ có vùng hostid gồm toàn số 1 được dùng để hướng tới tất cả các host nối vào mạng netid, và nếu vùng netid cũng gồm toàn số 1 thì nó hướng tới tất cả các host trong liên mạng Hình 7.2: Ví dụ cấu trúc các lớp địa chỉ IP Cần lưu ý rằng các địa chỉ IP được dùng để định danh các host và mạng ở tầng mạng của mô hình OSI, và chúng không phải là các địa chỉ vật lý (hay địa chỉ MAC) của các trạm trên đó một mạng cục bộ (Ethernet, Token Ring.). Trong nhiều trường hợp, một mạng có thể được chia thành nhiều mạng con (subnet), lúc đó có thể đưa thêm các vùng subnetid để định danh các mạng con. Vùng subnetid được lấy từ vùng hostid, cụ thể đối với lớp A, B, C như ví dụ sau: Hình 7.3: Ví dụ địa chỉ khi bổ sung vùng subnetid Đơn vị dữ liệu dùng trong IP được gọi là gói tin (datagram), có khuôn dạng Hình 7.4: Dạng thức của gói tin IP Ý nghĩa của thông số như sau: VER (4 bits): chỉ version hiện hành của giao thức IP hiện được cài đặt, Việc có chỉ số version cho phép có các trao đổi giữa các hệ thống sử dụng version cũ và hệ thống sử dụng version mới. IHL (4 bits): chỉ độ dài phần đầu (Internet header Length) của gói tin datagram, tính theo đơn vị từ ( 32 bits). Trường này bắt buột phải có vì phần đầu IP có thể có độ dài thay đổi tùy ý. Độ dài tối thiểu là 5 từ (20 bytes), độ dài tối đa là 15 từ hay là 60 bytes. Type of service (8 bits): đặc tả các tham số về dịch vụ nhằm thông báo cho mạng biết dịch vụ nào mà gói tin muốn được sử dụng, chẳng hạn ưu tiên, thời hạn chậm trễ, năng suất truyền và độ tin cậy. Hình sau cho biết ý nghĩ của trường 8 bits này. Precedence (3 bit): chỉ thị về quyền ưu tiên gửi datagram, nó có giá trị từ 0 (gói tin bình thường) đến 7 (gói tin kiểm soát mạng). D (Delay) (1 bit): chỉ độ trễ yêu cầu trong đó D = 0 gói tin có độ trễ bình thường D = 1 gói tin độ trễ thấp T (Throughput) (1 bit): chỉ độ thông lượng yêu cầu sử dụng để truyền gói tin với lựa chọn truyền trên đường thông suất thấp hay đường thông suất cao. T = 0 thông lượng bình thường và T = 1 thông lượng cao R (Reliability) (1 bit): chỉ độ tin cậy yêu cầu R = 0 độ tin cậy bình thường R = 1 độ tin cậy cao Total Length (16 bits): chỉ độ dài toàn bộ gói tin, kể cả phần đầu tính theo đơn vị byte với chiều dài tối đa là 65535 bytes. Hiện nay giới hạn trên là rất lớn nhưng trong tương lai với những mạng Gigabit thì các gói tin có kích thước lớn là cần thiết. Identification (16 bits): cùng với các tham số khác (như Source Address và Destination Address) tham số này dùng để định danh duy nhất cho một datagram trong khoảng thời gian nó vẫn còn trên liên mạng. Flags (3 bits): liên quan đến sự phân đoạn (fragment) các datagram, Các gói tin khi đi trên đường đi có thể bị phân thành nhiều gói tin nhỏ, trong trường hợp bị phân đoạn thì trường Flags được dùng điều khiển phân đoạn và tái lắp ghép bó dữ liệu. Tùy theo giá trị của Flags sẽ có ý nghĩa là gói tin sẽ không phân đoạn, có thể phân đoạn hay là gói tin phân đoạn cuối cùng. Trường Fragment Offset cho biết vị trí dữ liệu thuộc phân đoạn tương ứng với đoạn bắt đầu của gói dữ liệu gốc. Ý nghĩa cụ thể của trường Flags là: bit 0: reserved - chưa sử dụng, luôn lấy giá trị 0. bit 1: (DF) = 0 (May Fragment) = 1 (Don't Fragment) bit 2: (MF) = 0 (Last Fragment) = 1 (More Fragments) Fragment Offset (13 bits): chỉ vị trí của đoạn (fragment) ở trong datagram tính theo đơn vị 8 bytes, có nghĩa là phần dữ liệu mỗi gói tin (trừ gói tin cuối cùng) phải chứa một vùng dữ liệu có độ dài là bội số của 8 bytes. Điều này có ý nghĩa là phải nhân giá trị của Fragment offset với 8 để tính ra độ lệch byte. Time to Live (8 bits): qui định thời gian tồn tại (tính bằng giây) của gói tin trong mạng để tránh tình trạng một gói tin bị quNn trên mạng. Thời gian này được cho bởi trạm gửi và được giảm đi (thường qui ước là 1 đơn vị) khi datagram đi qua mỗi router của liên mạng. Thời lượng này giảm xuống tại mỗi router với mục đích giới hạn thời gian tồn tại của các gói tin và kết thúc những lần lặp lại vô hạn trên mạng. Sau đây là 1 số điều cần lưu ý về trường Time To Live: N út trung gian của mạng không được gởi 1 gói tin mà trường này có giá trị= 0. Một giao thức có thể ấn định Time To Live để thực hiện cuộc ra tìm tài nguyên trên mạng trong phạm vi mở rộng. Một giá trị cố định tối thiểu phải đủ lớn cho mạng hoạt động tốt. Protocol (8 bits): chỉ giao thức tầng trên kế tiếp sẽ nhận vùng dữ liệu ở trạm đích (hiện tại thường là TCP hoặc UDP được cài đặt trên IP). Ví dụ: TCP có giá trị trường Protocol là 6, UDP có giá trị trường Protocol là 17 Header Checksum (16 bits): Mã kiểm soát lỗi của header gói tin IP. Source Address (32 bits): Địa chỉ của máy nguồn. Destination Address (32 bits): địa chỉ của máy đích Options (độ dài thay đổi): khai báo các lựa chọn do người gửi yêu cầu (tuỳ theo từng chương trình). Padding (độ dài thay đổi): Vùng đệm, được dùng để đảm bảo cho phần header luôn kết thúc ở một mốc 32 bits. Data (độ dài thay đổi): Trên một mạng cục bộ 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. N hư vậy vấn đề đặt ra là phải thực hiện ánh xạ giữa địa chỉ IP (32 bits) và địa chỉ vật lý (48 bits) của một trạm. 6.6.2. Các giao thức trong mạng IP Để mạng với giao thức IP hoạt động được tốt người ta cần một số giao thức bổ sung, các giao thức này đều không phải là bộ phận của giao thức IP và giao thức IP sẽ dùng đến chúng khi cần. Giao thức ARP (Address Resolution Protocol): Ở đây cần lưu ý rằng các địa chỉ IP được dùng để định danh các host và mạng ở tầng mạng của mô hình OSI, và chúng không phải là các địa chỉ vật lý (hay địa chỉ MAC) của các trạm trên đó một mạng cục bộ (Ethernet, Token Ring.). 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 địa chỉ vật lý của nhau. N hư vậy vấn đề đặt ra là phải tìm được ánh xạ giữa địa chỉ IP (32 bits) và địa chỉ vật lý của một trạm. Giao thức ARP đã được xây dựng để tìm địa chỉ vật lý từ địa chỉ IP khi cần thiết. Giao thức RARP (Reverse Address Resolution Protocol): Là giao thức ngược với giao thức ARP. Giao thức RARP được dùng để tìm địa chỉ IP từ địa chỉ vật lý. Giao thức ICMP (Internet Control Message Protocol): Giao thức này thực hiện truyền các thông báo điều khiển (báo cáo về các tình trạng các lỗi trên mạng.) giữa các gateway hoặc một nút của liên mạng. Tình trạng lỗi có thể là: một gói tin IP không thể tới đích của nó, hoặc một router không đủ bộ nhớ đệm để lưu và chuyển một gói tin IP, Một thông báo ICMP được tạo và chuyển cho IP. IP sẽ "bọc" (encapsulate) thông báo đó với một IP header và truyền đến cho router hoặc trạm đích. 6.6.3. Các bước hoạt động của giao thức IP Khi giao thức IP được khởi động nó trở thành một thực thể tồn tại trong máy tính và bắt đầu thực hiện những chức năng của mình, lúc đó thực thể IP là cấu thành của tầng mạng, nhận yêu cầu từ các tầng trên nó và gửi yêu cầu xuống các tầng dưới nó. Đối với thực thể IP ở máy nguồn, khi nhận được một yêu cầu gửi từ tầng trên, nó thực hiện các bước sau đây: Tạo một IP datagram dựa trên tham số nhận được. Tính checksum và ghép vào header của gói tin. Ra quyết định chọn đường: hoặc là trạm đích nằm trên cùng mạng hoặc một gateway sẽ được chọn cho chặng tiếp theo. Chuyển gói tin xuống tầng dưới để truyền qua mạng. Đối với router, khi nhận được một gói tin đi qua, nó thực hiện các động tác sau: 1) Tính chesksum, nếu sai thì loại bỏ gói tin. 2) Giảm giá trị tham số Time - to Live. nếu thời gian đã hết thì loại bỏ gói tin. 3) Ra quyết định chọn đường. 4) Phân đoạn gói tin, nếu cần. 5) Kiến tạo lại IP header, bao gồm giá trị mới của các vùng Time - to -Live, Fragmentation và Checksum. 6) Chuyển datagram xuống tầng dưới để chuyển qua mạng. Cuối cùng khi một datagram nhận bởi một thực thể IP ở trạm đích, nó sẽ thực hiện bởi các công việc sau: 1) Tính checksum. N ếu sai thì loại bỏ gói tin. 2) Tập hợp các đoạn của gói tin (nếu có phân đoạn) 3) Chuyển dữ liệu và các tham số điều khiển lên tầng trên. 6.7. Giao thức điều khiển truyền dữ liệu TCP TCP là một giao thức "có liên kết" (connection - oriented), nghĩa là cần phải thiết lập liên kết giữa hai thực thể TCP trước khi chúng trao đổi dữ liệu với nhau. Một tiến trình ứng dụng trong một máy tính truy nhập vào các dịch vụ của giao thức TCP thông qua một cổng (port) của TCP. Số hiệu cổng TCP được thể hiện bởi 2 bytes. Hình 6.7: Cổng truy nhập dịch vụ TCP Một cổng TCP kết hợp với địa chỉ IP tạo thành một đầu nối TCP/IP (socket) duy nhất trong liên mạng. Dịch vụ TCP được cung cấp nhờ một liên kết logic giữa một cặp đầu nối TCP/IP. Một đầu nối TCP/IP có thể tham gia nhiều liên kết với các đầu nối TCP/IP ở xa khác nhau. Trước khi truyền dữ liệu giữa 2 trạm cần phải thiết lập một liên kết TCP giữa chúng và khi không còn nhu cầu truyền dữ liệu thì liên kết đó sẽ được giải phóng. Các thực thể của tầng trên sử dụng giao thức TCP thông qua các hàm gọi (function calls) trong đó có các hàm yêu cầu để yêu cầu, để trả lời. Trong mỗi hàm còn có các tham số dành cho việc trao đổi dữ liệu. Các bước thực hiện để thiết lập một liên kết TCP/IP: Thiết lập một liên kết mới có thể được mở theo một trong 2 phương thức: chủ động (active) hoặc bị động (passive). Phương thức bị động, người sử dụng yêu cầu TCP chờ đợi một yêu cầu liên kết gửi đến từ xa thông qua một đầu nối TCP/IP (tại chỗ). N gười sử dụng dùng hàm passive Open có khai báo cổng TCP và các thông số khác (mức ưu tiên, mức an toàn) Với phương thức chủ động, người sử dụng yêu cầu TCP mở một liên kết với một một đầu nối TCP/IP ở xa. Liên kết sẽ được xác lập nếu có một hàm Passive Open tương ứng đã được thực hiện tại đầu nối TCP/IP ở xa đó. Bảng liệt kê một vài cổng TCP phổ biến. Số hiệu cổng Mô tả 0 Reserved 5 Remote job entry 7 Echo 9 Discard 11 Systat 13 Daytime 15 N estat 17 Quotd (quote odd day 20 ftp-data 21 ftp (control) 23 Telnet 25 SMTP 37 Time 53 N ame Server 102 ISO - TSAP 103 X.400 104 X.400 Sending 111 Sun RPC 139 N et BIOS Session source 160 - 223 Reserved Khi người sử dụng gửi đi một yêu cầu mở liên kết sẽ được nhận hai thông số trả lời từ TCP. Thông số Open ID được TCP trả lời ngay lập tức để gán cho một liên kết cục bộ (local connection name) cho liên kết được yêu cầu. Thông số này về sau được dùng để tham chiếu tới liên kết đó. (Trong trường hợp nếu TCP không thể thiết lập được liên kết yêu cầu thì nó phải gửi tham số Open Failure để thông báo.) Khi TCP thiết lập được liên kết yêu cầu nó gửi tham số Open Sucsess được dùng để thông báo liên kết đã được thiết lập thành công. Thông báo này dược chuyển đến trong cả hai trường hợp bị động và chủ động. Sau khi một liên kết được mở, việc truyền dữ liệu trên liên kết có thể được thực hiện. Các bước thực hiện khi truyền và nhận dữ liệu: Sau khi xác lập được liên kết người sữ dụng gửi và nhận dữ liệu. Việc gửi và nhận dữ liệu thông qua các hàm Send và receive. Hàm Send: Dữ liệu được gửi xuống TCP theo các khối (block). Khi nhận được một khối dữ liệu, TCP sẽ lưu trữ trong bộ đệm (buffer). N ếu cờ PUSH được dựng thì toàn bộ dữ liệu trong bộ đệm được gửi, kể cả khối dữ liệu mới đến sẽ được gửi đi. N gược lại cờ PUSH không được dựng thì dữ liệu được giữ lại trong bộ đệm và sẽ gửi đi khi có cơ hội thích hợp (chẳng hạn chờ thêm dữ liệu nữa để gữi đi với hiệu quả hơn). Hàm reveive: Ở trạm đích dữ liệu sẽ được TCP lưu trong bộ đệm gắn với mỗi liên kết. N ếu dữ liệu được đánh dấu với một cờ PUSH thì toàn bộ dữ liệu trong bộ đệm (kể cả các dữ liệu được lưu từ trước) sẽ được chuyển lên cho người sữ dụng. Còn nếu dữ liệu đến không được đánh dấu với cờ PUSH thì TCP chờ tới khi thích hợp mới chuyển dữ liệu với mục tiêu tăng hiệu quả hệ thống. N ói chung việc nhận và giao dữ liệu cho người sử dụng đích của TCP phụ thuộc vào việc cài đặt cụ thể. Trường hợp cần chuyển gấp dữ liệu cho người sử dụng thì có thể dùng cờ URGEN T và đánh dấu dữ liệu bằng bit URG để báo cho người sử dụng cần phải sử lý khNn cấp dữ liệu đó. Các bước thực hiện khi đóng một liên kết: Việc đóng một liên kết khi không cần thiết được thực hiên theo một trong hai cách: dùng hàm Close hoặc dùng hàm Abort. Hàm Close: yêu cầu đóng liên kết một cách bình thường. Có nghĩa là việc truyền dữ liệu trên liên kết đó đã hoàn tất. Khi nhận được một hàm Close TCP sẽ truyền đi tất cả dữ liệu còn trong bộ đệm thông báo rằng nó đóng liên kết. Lưu ý rằng khi một người sử dụng đã gửi đi một hàm Close thì nó vẫn phải tiếp tục nhận dữ liệu đến trên liên kết đó cho đến khi TCP đã báo cho phía bên kia biết về việc đóng liên kết và chuyển giao hết tất cả dữ liệu cho người sử dụng của mình. Hàm Abort: N gười sử dụng có thể đóng một liên kết bất và sẽ không chấp nhận dữ liệu qua liên kết đó nữa. Do vậy dữ liệu có thể bị mất đi khi đang được truyền đi. TCP báo cho TCP ở xa biết rằng liên kết đã được hủy bỏ và TCP ở xa sẽ thông báo cho người sử dụng cũa mình. Một số hàm khác của TCP: Hàm Status: cho phép người sử dụng yêu cầu cho biết trạng thái của một liên kết cụ thể, khi đó TCP cung cấp thông tin cho người sử dụng. Hàm Error: thông báo cho người sử dụng TCP về các yêu cầu dịch vụ bất hợp lệ liên quan đến một liên kết có tên cho trước hoặc về các lỗi liên quan đến môi trường. Đơn vị dữ liệu sử dụng trong TCP được gọi là segment (đoạn dữ liệu), có các tham số với ý nghĩa như sau: Hình 7.5: Dạng thức của segment TCP Source Por (16 bits): Số hiệu cổng TCP của trạm nguồn. Destination Port (16 bit): Số hiệu cổng TCP của trạm đích. Sequence N umber (32 bit): số hiệu của byte đầu tiên của segment trừ khi bit SYN được thiết lập. N ếy bit SYN được thiết lập thì Sequence N umber là số hiệu tuần tự khởi đầu (ISN ) và byte dữ liệu đầu tiên là ISN +1. Acknowledgment N umber (32 bit): số hiệu của segment tiếp theo mà trạm nguồn đang chờ để nhận. N gầm ý báo nhận tốt (các) segment mà trạm đích đã gửi cho trạm nguồn. Data offset (4 bit): số lượng bội của 32 bit (32 bit words) trong TCP header (tham số này chỉ ra vị trí bắt đầu của nguồn dữ liệu). Reserved (6 bit): dành để dùng trong tương lai Control bit (các bit điều khiển): URG: Vùng con trỏ khNn (Ucgent Poiter) có hiệu lực. ACK: Vùng báo nhận (ACK number) có hiệu lực. PSH: Chức năng PUSH. RST: Khởi động lại (reset) liên kết. SYN : Đồng bộ hóa số hiệu tuần tự (sequence number). FIN : Không còn dữ liệu từ trạm nguồn. Window (16 bit): cấp phát credit để kiểm soát nguồn dữ liệu (cơ chế cửa sổ). Đây chính là số lượng các byte dữ liệu, bắt đầu từ byte được chỉ ra trong vùng ACK number, mà trạm nguồn đã saün sàng để nhận. Checksum (16 bit): mã kiểm soát lỗi cho toàn bộ segment (header + data) Urgemt Poiter (16 bit): con trỏ này trỏ tới số hiệu tuần tự của byte đi theo sau dữ liệu khNn. Vùng này chỉ có hiệu lực khi bit URG được thiết lập. Options (độ dài thay đổi): khai báo các option của TCP, trong đó có độ dài tối đa của vùng TCP data trong một segment. Paddinh (độ dài thay đổi): phần chèn thêm vào header để đảm bảo phần header luôn kết thúc ở một mốc 32 bit. Phần thêm này gồm toàn số 0. TCP data (độ dài thay đổi): chứa dữ liệu của tầng trên, có độ dài tối đa ngầm định là 536 byte. Giá trị này có thể điều chỉnh bằng cách khai báo trong vùng options. 6.8. Giao thức UDP (User Datagram Protocol) UDP (User Datagram Protocol) là giao thức theo phương thức không liên kết được sử dụng thay thế cho TCP ở trên IP theo yêu cầu của từng ứng dụng. Khác với TCP, UDP không có các chức năng thiết lập và kết thúc liên kết. Tương tự như IP, nó cũng không cung cấp cơ chế báo nhận (acknowledgment), không sắp xếp tuần tự các gói tin (datagram) đến và có thể dẫn đến tình trạng mất hoặc trùng dữ liệu mà không có cơ chế thông báo lỗi cho người gửi. Qua đó ta thấy UDP cung cấp các dịch vụ vận chuyển không tin cậy như trong TCP. Khuôn dạng UDP datagram được mô tả với các vùng tham số đơn giản hơn nhiều so với TCP segment. Hình 6.8: Dạng thức của gói tin UDP UDP cũng cung cấp cơ chế gán và quản lý các số hiệu cổng (port number) để định danh duy nhất cho các ứng dụng chạy trên một trạm của mạng. Do ít chức năng phức tạp nên UDP thường có xu thế hoạt động nhanh hơn so với TCP. N ó thường được dùng cho các ứng không đòi hỏi độ tin cậy cao trong giao vận. − Window size (16 bits) : cấp phát thẻ để kiểm soát luồng dữ liệu (cơ chế cửa sổ trượt). Đây chính là số lượng các byte dữ liệu bắt đầu từ byte được chỉ ra trong vùng ACK number mà trạm nguồn sẫn sàng nhận. − Checksum (16 bits). Mã kiểm soát lỗi cho toàn bộ segment cả phần header và dữ liệu. − Urgent Pointer (16 bits). Con trỏ trỏ tới số hiệu tuần tự của byte cuối cùng trong dòng dữ liệu khNn cho phép bên nhận biết được độ dài của dữ liệu khNn. Vùng này chỉ có hiệu lực khi bit URG được thiết lập. − Option (độ dài thay đổi ). Khai báo các tuỳ chọn của TCP trong đó thông thường là kích thước cực đại của 1 segment: MSS (Maximum Segment Size). − TCP data (độ dài thay đổi ). Chứa dữ liệu của tầng ứng dụng có độ dài ngầm định là 536 byte . Giá trị này có thể điều chỉnh được bằng cách khai báo trong vùng Option. TÀI LIỆU THAM KHẢO [1] Cisco Certification Network Associate - Semester 1 (CCNA1) - Cisco press. [2] NguyÔn Thóc H¶i, M¹ng m¸y tÝnh vμ hÖ thèng më, NXB Gi¸o dôc, 1997. [3] NguyÔn Gia HiÓu, M¹ng m¸y tÝnh, NXB Thèng kª, 1999.

Các file đính kèm theo tài liệu này:

  • pdfBai_giang_Mang_May_Tinh_CD_DH_HCDH_KS2 _1_.pdf