TCP/IP định nghĩa ra thuật ngữ máy chủ (host computer) để chỉ bất kỳ hệ thống máy tính nào mà đợc nối với internet và có chạy các ứng dụng. Host computer có thể chỉ là một máy tính cá nhân nhỏ nhng cũng có thể là máy mainframe lớn. Hơn nữa, CPU của máy chủ có thể là nhanh hay chậm, bộ nhớ lớn hay bé và mạng mà có máy chủ nối kết có thể có tốc độ nhanh hay chậm. Giao thức TCP/IP cho phép bất kỳ một cặp máy chủ nào cũng có thể giao tiếp với nhau bất chấp sự khác nhau về phần cứng.
Cả máy chủ và router đều cần đến phần mềm giao thức TCP/IP. Tuy nhiên, router không sử dụng giao thức trong tất cả các lớp. Đặc biệt router không cần giao thức lớp 5 cho các ứng dụng nh là việc truyền file bởi vì router không chạy các ứng dụng đó.
2.2.Địa chỉ IP
2.2.1. IP_ Địa chỉ giao thức internet
Mục đích của liên mạng là tạo ra một hệ thống truyền thông đồng nhất. Để đạt đợc điều này, phần mềm giao thức internet phải ẩn đi mọi chi tiết về các mạng vật lý và đa ra những đặc điểm thuận lợi của một mạng ảo. Sự hoạt động của mạng ảo giống nh bất kỳ mạng nào khác, cho phép các máy tính truyền và nhận các gói tin. Sự khác biệt cơ bản giữa internet và một mạng vật lý đó là internet chỉ là một mạng hoàn toàn trừu tợng đợc hình dung ra bởi ngời thiết kế nó và đợc tạo ra bằng phần mềm. Những ngời thiết kế tự do lựa chọn địa chỉ, định dạng gói tin, và kỹ thuật truyền tin độc lập với phần cứng vật lý cụ thể.
Địa chỉ là một thành phần khó nhất của mạng internet. Để tạo ra đợc một hệ thống đồng bộ, tất cả các máy tính phải có một cơ chế đánh địa chỉ đồng bộ. Nhng các địa chỉ vật lý của mạng không thể dùng đợc bởi một mạng internet có thể gồm nhiều công nghệ mạng khác nhau và mỗi công nghệ có một định dạng địa chỉ của riêng nó. Do vậy, các địa chỉ của hai công nghệ mạng khác nhau có thể không t- ơng thích với nhau bởi vì chúng khác nhau về kích thớc và định dạng.
Để đảm bảo sự đồng bộ về địa chỉ trên tất cả các host, phần mềm giao thức định nghĩa một cơ chế đánh địa chỉ mà hoàn toàn độc lập với địa chỉ phần cứng. Mặc dù cơ chế đánh địa chỉ cho internet là trừu tợng tạo ra bởi phần mềm, nhng các địa chỉ giao thức sử dụng đối với các đến các đích trong mạng ảo cũng giống nh là cách mà địa chỉ phần cứng sử dụng trong mạng vật lý. Để truyền gói tin qua mạng internet, máy gửi để địa chỉ giao thức của máy đích trong gói tin và truyền gói tin đó đến phần mềm giao thức để truyền đi. Phần mềm sẽ sử dụng địa chỉ giao thức đích kho nó chuyển tiếp các gói tin này qua mạng internet đến máy tính đích.
Để tạo ra một địa chỉ đồng bộ trong mạng internet, phần mềm giao thức định nghĩa ra một cơ chế đánh địa chỉ trừu tợng mà mỗi host đợc thiết lập một địa chỉ
duy nhất. Ngời sử dụng , các chơng trình ứng dụng và các lớp phần mềm giao thức cao hơn sử dụng địa chỉ trừu tợng này để giao tiếp với nhau.
2.2.2. Cơ chế đánh địa chỉ IP
Trong stack giao thức TCP/IP, địa chỉ đợc quy định bởi giao thức liên mạng (IP - internet protocol). Chuẩn IP quy định mỗi host đợc thiết lập một số 32 bit duy nhất gọi là địa chỉ giao thức liên mạng của host, hay thờng đợc viết tắt là địa chỉ IP hoặc địa chỉ internet. Mỗi gói tin gửi qua mạng đều có chứa địa chỉ IP 32 bit của máy gửi và địa chỉ của máy nhận. Do vậy, để truyền thông tin qua mạng TCP/IP, một máy tính cần biết địa chỉ IP của máy tính cần truyền đến.
1. Phân cấp địa chỉ IP
Mỗi địa chỉ IP 32 bit đợc chia thành hai phần: phần đầu và phần cuối; phân cấp làm hai mức để dễ dàng cho việc định tuyến. Phần đầu địa chỉ xác định mạng vật lý mà máy tính nối vào, còn phần sau xác định địa chỉ của từng máy tính nối trong mạng đó. Do vậy, mỗi mạng vật lý trong liên mạng đợc thiết lập một giá trị duy nhất gọi là số của mạng (network number). Số của mạng xuất hiện trong phần đầu của địa chỉ của mỗi máy tính nối mạng đó. Hơn nữa, mỗi máy tính trong mạng vật lý cụ thể cũng đợc thiết lập một giá trị duy nhất là phần sau của địa chỉ.
Mặc dù không có hai mạng nào có thể cùng có một giá trị network number và không có hai máy tính nào trong cùng một mạng có cùng giá trị phần sau, nhng một giá trị phần sau có thể sử dụng trong một hoặc nhiều mạng khác nhau. Ví dụ, nếu liên mạng gồn có 3 mạng, chúng có thể đánh số các mạng là 1, 2 và 3. Ba máy tính nối với mạng 1 có thể có giá trị phần sau là 1, 3 và 5, trong khi 3 máy tính nối mạng 2 có thể thiết lập giá trị phần sau là 1, 2 và 3.
Sự phân cấp địa chỉ IP phải đảm bảo hai tính chất quan trọng sau:
•Mặc dù việc thiết lập giá trị network number phải đợc phối hợp trên toàn mạng, nhng phần sau của địa chỉ có thể thiết lập một cách cục bộ.
Tính chất thứ nhất luôn đợc đảm bảo bởi vì một địa chỉ đầy đủ có cả phần đầu và phần sau, và chúng đợc thiết lập đảm bảo tính duy nhất. Nếu hai máy tính nối với hai mạng vật lý khác nhau, địa chỉ của chúng sẽ khác nhau ở phần đầu. Nếu hai máy tính nối với cùng một mạng vật lý thì địa chỉ của chúng khác nhau ở phần sau.
2. Các lớp của địa chỉ IP
Mỗi khi lựa chọn việc thiết kế địa chỉ IP và việc phân chia địa chỉ thành hai phần, các nhà thiết kế phải quyết định bao nhiêu bit dành cho mỗi phần. Phần đầu cần sô bit đủ để tạo ra số mạng là duy nhất để có thể thiết lập cho mỗi mạng vật lý thuộc liên mạng. Phần sau cần số bit đủ để đảm bảo mỗi máy tính nối với cùng một mạng vật lý cũng có giá trị phần sau là duy nhất. Không phải dễ dàng để đa ra sự chọn lựa bởi vì thêm một bit vào phần này đồng nghĩa với việc giảm một bit của phần kia. Việc chọn lựa phần đầu lớn thích hợp cho nhiều mạng nhng điều đó lại giới hạn kích thớc của mỗi mạng; nếu chọn phần sau lớn thì mỗi mạng vật lý có thể chứa nhiều máy tính nhng lại bị giới hạn về tổng số mạng.
Bởi vì một liên mạng có thể có các công nghệ mạng bất kỳ nên một liên mạng có thể có một số ít các mạng lớn trong khi một liên mạng khác lại có thể có nhiều mạng nhỏ. Quan trọng hơn, một liên mạng có thể là sự kết hợp của cả mạng lớn và mạng nhỏ. Kết quả là ngời thiết kế phải chọn lựa cơ chế đánh địa chỉ sao cho thoả mãn đợc sự thích hợp với cả mạng lớn và mạng nhỏ. Cơ chế chia địa chỉ IP thành 3 lớp cơ bản, trong đó mỗi lớp có kích thớc các phần khác nhau.
Bốn bit đầu của mỗi địa chỉ quyết định địa chỉ đó thuộc lớp nào, và chỉ ra phần còn lại của địa chỉ đợc chia thành các phần nh thế nào. Hình dới đây minh hoạ 5 lớp địa chỉ, các bit đầu để xác định các lớp và sự phân chia của phần đầu và
phần sau. Các con số quy ớc việc sử dụng số bit của giao thức TCP/IP từ trái qua phải và số 0 là bit đầu tiên.
5 lớp của địa chỉ IP trong đó địa chỉ để thiết lập cho các máy là thuộc lớp A,B hoặc C.
Lớp A, B và C gọi là các lớp cơ bản bởi vì chúng sử dụng cho địa chỉ của các host. Lớp D sử dụng cho multicast để dùng cho một tập các máy tính. Để sử dụng địa chỉ multicast, một tập các máy trạm phải thoả thuận dùng chung một địa chỉ multicast. Mỗi khi một nhóm multicast đợc thiết lập, một bản sao của bất kỳ gói tin nào chuyên đến địa chỉ multicast đều đợc chuyển đến tất cả các máy trạm thuộc nhóm multicast.
Nh trên hình vẽ ta thấy, các lớp cơ bản sử dụng đơn vị byte để phân chia địa chỉ thành phần đầu và phần sau. Lớp A xác định ranh giới giữa byte đầu tiên và byte thứ hai. Lớp B xác định ranh giới giữa byte thứ hai và byte thứ ba, và lớp C ranh giới giữa byte thứ 3 và thứ 4.
3. Tính toán các lớp của một địa chỉ
Phần mềm IP tính lớp của địa chỉ đích mỗi khi nó nhận đợc một gói tin. Vì sự tính toán này đợc lặp lại thờng xuyên, nên nó phải hết sức hiệu quả. Địa chỉ Ip gọi là địa chỉ tự nhận dạng bởi vì lớp của địa chỉ có thể tính đợc từ bản thân địa chỉ đó.
0 prefix suffix 01234 8 16 24 31 bits Class A 1 prefix suffix Class B 0 1 prefix suffix Class C 1 0 1 Multicast address Class D 11 0
1 Reserved for future use
Một phần nguyên nhân của việc sử dụng các bit đầu để biểu thị từng lớp địa chỉ thay vì sử dụng khoảng giá trị xuất phát từ việc nghiên cứu sự tính toán: sử dụng các bit có thể làm giảm thời gian tính toán. Đặc biệt, một vài máy tính có thể kiểm tra các bit nhanh hơn việc so sánh giữa các số nguyên. Ví dụ, trên máy tính có các lệnh logic and và shift và tìm chỉ số, 4 bit đầu có thể đợc lấy ra và sử dụng một bảng chỉ số để xác định lớp của địa chỉ. Hình sau minh hoạ nội dung của bảng sử dụng để tính toán.
4 bit đầu của
địa chỉ Chỉ số (hệthập phân) Lớp địa chỉ
0000 0 A 0001 1 A 0010 2 A 0011 3 A 0100 4 A 0101 5 A 0110 6 A 0111 7 A 1000 8 B 1001 9 B 1010 10 B 1011 11 B 1100 12 C 1101 13 C 1110 14 D 1111 15 E
Hình 2.3. Bảng sử dụng để tính các lớp địa chỉ 4 bit đầu tiên của địa chỉ Nh trên bảng ta thấy, 8 tổ hợp bắt đầu bằng số 0 thuộc lớp A. 4 tổ hợp bắt đầu bằng 10 thuộc lớp B, và 2 tổ hợp bắt đầu bằng 110 thuộc lớp C. Một địa chỉ bắt
đầu bằng 111 thuộc lớp D và cuối cùng một địa chỉ bắt đầu bằng 1111 thuộc lớp E là lớp để dự phòng cha sử dụng đến.
Ký hiệu thập phân bằng chấm
Mặc dù các địa chỉ IP là số 32 bit, ngời sử dụng hiếm khi đọc hoặc nhập giá trị vào ở dạng nhị phân. thay vào đó, khi giao tiếp với ngời sử dụng, phần mềm sử dụng dạng địa chỉ khác thuận tiện hơn. Gọi là dạng ký hiệu thập phân bằng chấm (dotted decimal notation), dạng này gồm 8 bit của số 32 bit thành các giá trị thập phân và dùng dấu chấm để phân chia thành các phần. Hình sau minh hoạ ví dụ số nhị phân và và các dạng thập phân chấm tơng đơng.
Số nhị phân 32 bit Thập phân chấm tơng đơng
10000001 00110100 00000110 00000000 129.52.6.0
11000000 00000101 00110000 00000011 192.5.48.3
00001010 00000010 00000000 00100101 10.2.0.37
10000000 00001010 00000010 00000011 128.10.2.3
10000000 10000000 11111111 00000000 128.128.255.0
Hình 4. ví dụ về số 32 bit nhị phân và dạng thập phân chấm tơng đơng. Mỗi byte đợc viết thành số thập phân và dùng dấu chấm để phân tách các byte.
Thập phân chấm coi mỗi byte là một số nguyên nhị phân không dấu. Nh trong ví dụ cuối cùng, giá trị nhỏ nhất có thể là 0 xuất hiện khi toàn bộ các bit là 0 và giá trị lớn nhất có thể là 255 khi toàn bộ các bit là 1. Do vậy, địa chỉ thập phân chấm chỉ nằm trong khoảng từ 0.0.0.0 đến 255.255.255.255
4. Các lớp và các ký hiệu thập phân bằng chấm
Dạng thập phân chấm có thể làm việc tốt với các địa chỉ IP bởi vì nó phân chia các phần của địa chỉ theo các byte. Trong lớp A, 3 byte cuối tơng ứng với địa
chỉ phần sau của máy trạm. tơng tự nh vậy, địa chỉ lớp B có 2 byte cho địa phần sau của máy trạm và lớp C có 1 byte.
Nhng không may là việc dùng dạng thập phân chấm không chia thành từng bit để có thể thấy rõ các lớp địa chỉ, các lớp phải nhận biết từ giá trị thập phân của địa chỉ. Hình sau chỉ ra khoảng giá trị thập phân cho mỗi lớp.
Lớp Khoảng giá trị A 0 đến 127 B 127 đến 191 C 192 đến 223 D 224 đến 239 E 240 đến 255
Hình 2.4. khoảng giá trị thập phân thuộc byte đầu tiên của mỗi lớp địa chỉ Sự phân chia các khoảng địa chỉ
Cơ chế lớp địa chỉ IP không chia địa chỉ 32 bit thành các khoảng bằng nhau giữa các lớp, và các lớp không có chứa cùng một số mạng. Ví dụ, hơn một nửa số địa chỉ IP (những địa chỉ mà có bit đầu bằng 0) thuộc lớp A. Lớp A chỉ có thể chứa 128 mạng bởi vì bit đầu của địa chỉ lớp A là 0 và phần đầu của địa chỉ này là 1 byte. Do vậy chỉ có 7 bit còn lại là sử dụng để đánh số các mạng. Hình sau tóm tắt số các mạng lớn nhất có thể trong mỗi lớp và số máy trạm lớn nhất trên mỗi mạng.
Lớp địa chỉ Số bit thuộc
phần đầu Số mạng lớnnhất Số bit phần sau Số máy trạmlớn nhất mỗi mạng
A 7 128 24 16777216
B 14 16384 16 65536
C 21 2097152 8 256
Hình 2.5: số mạng lớn nhất và máy trạm trên mỗi mạng với 3 lớp địa chỉ IP Nh trên bảng ta thấy, số bit cho mỗi phần đầu và phần cuối của mỗi lớp địa chỉ quyết định các số giá trị duy nhất có thể có để thiết lập. Ví dụ, phần đầu của n bit cho phép có 2n số mạng duy nhất, trong khi phần cuối có n bit sẽ có 2n số máy trạm cho mỗi mạng.
5. Nơi quản lý các địa chỉ
Trên toàn bộ mạng, mỗi mạng phải có giá trị địa chỉ duy nhất. Đối với các mạng kết nối Internet toàn cầu, một tổ chức có thể lấy số các mạng từ các công ty cung cấp dịch vụ kết nối Internet. Các công ty đó gọi là nhà cung cấp dịch vụ Internet (Internet Service Provider - ISP). Các nhà cung cấp dịch vụ Internet phối hợp với tổ chức trung tâm là nơi quản lý đánh số điạ chỉ Internet (internet Assigned Number Authority), để đảm bảo số cấp cho mỗi mạng là duy nhất trên toàn mạng.
Với liên mạng riêng biệt, việc chọn số cho mỗi mạng có thể đợc quyết định bởi tổ chức ấy. Để đảm bảo rằng mỗi phần đầu của địa chỉ là duy nhất, một nhóm xây dựng liên mạng quyết định việc phối hợp thiết lập các giá trị. Thông thờng, ngời quản trị mạng thiết lập phần đầu địa chỉ cho tất cả các mạng trong liên mạng của công ty đó để đảm bảo các giá trị đó không bị trùng nhau.
2.2.3. Ví dụ về một cách đánh địa chỉ
Một ví dụ sẽ làm sáng tỏ ý tởng và giải thích việc thiết lập các địa chỉ trong thực tế. Hãy xem xét một tổ chức chọn lựa để xây dựng liên mạng TCP/IP gồm có 4 mạng vật lý. Tổ chức này phải mua các router để nối kết 4 mạng đó, và sau đó phải thiết lập địa chỉ IP. Để bắt đầu, tổ chức sẽ chọn lựa một giá trị duy nhất cho mỗi mạng để làm phần đầu địa chỉ.
Khi đã thiết lập giá trị cho phần đầu của địa chỉ, các giá trị số sẽ đợc chọn lựa theo lớp A, B và C tuỳ vào kích thớc của mạng vật lý. Thông thờng các mạng thiết lập địa chỉ thuộc lớp C trừ phi lớp B thực sự cần thiết còn lớp A thì hiếm khi đợc lựa chọn bởi rất ít mạng có thể chứa tới 65536 máy trạm. Đối với mạng kết nối