Tương tự như mụ hỡnh OSI, trong mụ hỡnh kiến trĩc cđa TCP/IP mỗi tầng cú mỗi tầng cú một cấu trĩc dữ liƯu riờng, độc lập độc lập với cấu trĩc dữ đưỵc dựng ở tầng trờn hay tầng dưới kỊ nó. Khi dữ liƯu đưỵc truyỊn từ tầng ứng dơng cho đến tầng vật lý mỗi tầng đỊu điỊn thờm phần thụng tin điỊu khiĨn cđa mỡnh đĨ đảm bảo cho viƯc truyỊn dữ liƯu đưỵc chớnh xỏc. Phần chứa thụng tin điỊu khiĨn đưỵc gọi là Header (thụng tin điỊu khiĨn) và đỈt trước phần dữ liờơ đưỵc truyỊn . ViƯc cộng thờm cỏc Header ở mỗi tầng trong quỏ trỡnh truyỊn dữ liƯu đưỵc gọi là Encapsulation. Quỏ trỡnh nhận dữ liƯu diƠn ra theo chiỊu ngựoc lại: mỗi phần sẽ tỏch ra phần tiờu đỊ thuộc tầng cđa mỡnh trước khi chuyĨn dữ liƯu cho tầng trờn. MẠNG INTERNET SV: NGUYỄN THẾ CƯỜNG 51 TCP UDP ARP SMTP TELNET
Protocol Defined by The Underlying Network Application Presentation Session Transport Network Data Link Physical
Process/ Application Layer : Message (Thụng điƯp). Host to Host Layer : Segment (đoạn).
Internet Layer : Datagram (Bú dữ liƯu). Network Layer : Frame (Khung dữ liƯu).
Chương II. Giao thức IP và cỏc giao thức khỏc lớp IP. I. Giao thức mạng IP. (Internet Protocol).
1. Cỏc chức năng cđa giao thức mạng IP.
IP là giao thức kết nối khụng liờn kết. Chức năng chđ yếu cđa IP là cung cấp dịch vơ Datagram và cỏc khả năng kết nốicỏc mạng con thành liờn mạng đĨ truyỊn dữ liƯu với phương thức chuyĨn mạch gúi IP Datagram, thực hiƯn tiến trỡnh địa chỉvà chọn đường. IP Header đưỵc thờm vào đầu cỏc gúi tin và đưỵc giao thức tầng thấp truyỊn theo dạng khung dữ liƯu (Frame). IP định tuyến cỏc gúi tin thụng qua liờn mạng bằng cỏch sư dơng bảng định tuyến động tham chiếu tại mỗi bước nhảy. Xỏc định tuyến đưỵc tiến hành bằng cỏch tham khảo thụng tin thiết bị mạng vật lý và logic như ARP(giao thức phõn giải địa chỉ). IP thực hiƯn thỏo rời và khụi phơc cỏc gúi tin theo yờu cầu kớch thước đưỵc định nghĩa cho cỏc tầng vật lý và liờn kết dữ liƯu thực hiƯn. IP kiĨm tra lỗi thụng tin điỊu khiĨn, phần đầu IP bằng giỏ trị tỉng Checksum. Túm lại IP cung cấp cỏc chức năng chớnh sau:
Định nghĩa cấu trĩc cỏc gúi dữ liƯu là đơn vị cơ sở cho viƯc truyỊn dữ liƯu trờn Internet.
Định nghĩa phương thức đỏnh địa chỉ IP.
TruyỊn giữ liƯu giữa tầng giao vận và tầng mạng. Định tuyến đĨ chuyĨn cỏc gúi dữ liƯu trong mạng.
MẠNG INTERNET SV: NGUYỄN THẾ CƯỜNG
Thực hiƯn viƯc phõn mảnh và hỵp nhất (Fragmentation- Reassembly) cỏc gúi dữ liƯu và nhĩng / tỏch chĩng trong cỏc gúi dữ liƯu ở tầng liờn kết .
2. Một số địa chỉ đỈc biƯt.
Loopback (Lập ngưỵc): 127..x..x..x với x= 0 255, đưỵc gọi là cỏc địa chỉ
Loopback. Bất kỳ một gúi dữ liƯu nào đưỵc truyỊn đi bỉi một ứng dơng TCP/ IP đến địa chỉ 127..x..x..x thỡ gúi dữ liƯu đú sẽ đưỵc truyỊn ngưỵc lại cho ứng dơng đú mà khụng qua một thiết bị trung gian mạng. Địa chỉ Loopback đưỵc ứng dơng kiĨm tra nhanh phần mỊm TCP/ IP cú đưỵc cấu hỡnh thớch hỵp khụng.
Nếu trong một địa chỉ IP, giỏ trị cđa Hostid chĩa tất cả bit 0, đõy là địa chỉ
mạng.
Nếu trong một địa chỉ IP, giỏ trị cđa Hostid chứa tất cả bớt 1, đõy là địa chỉ
Broadcast cú định hướng. Một địa chỉ Broadcast định hướng đưỵc nhỡn thấy bởi tất cả cỏc nĩt trờn mạng đú.
Địa chỉ IP 255. 255. 255. 255 đưỵc gọi là Local Broadcast hoỈc Limite Broadcast. Đưỵc sư dơng trong mạng LAN.
Địa chỉ IP. 0. 0. 0. 0 sư dơng trong bảng định tuyến đĨ trỏ vào mạng cho bộ định tuyến mỈc định(cỉng giao tiếp mỈc định).
3. Mạng con (Subneting).
Trong nhiỊu trường hỵp, một mạng cú thĨ chia thành nhiỊu mạng con (Subnet) cựng sư dơng một số hiƯu mạng bằng cỏch 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 3 lớp A, B, C như sau:
0... 7 8... 15 16... 23 24... 26 27... 31
Class A 0 Netid Subnetid Hostid
MẠNG INTERNET SV: NGUYỄN THẾ CƯỜNG
Class B 10 Netid Subnetid Hostid
Class C 110 Netid Subnetid Hostid
Hỡnh 21 : Mạng con và địa chỉ IP mạng con. ViƯc phõn chia thành cỏc mạng con cú những ưu điĨm sau:
Làm đơn giản viƯc quản lý mạng.
Xõy dựng lại cấu trĩc bờn trong mà khụng lầm ảnh hưởng đến bờn ngoài.
Nõng cao đưỵc tớnh bảo mật.
4. MỈt lạ mạng con (Subnet Mask).
NhiỊu mạng con kết nối với nhau dựng chung một dịa chỉ IP phải sư dơng bộ định tuyến (Router) giữa chĩng. Bộ định tuyến phải thực hiƯn viƯc phõn chia mạng con và biết cú nhiỊu bit cđa vựng Hostid đang đỳc sư dơng cho cỏc mạng con, tức là nú biết vựng địa chỉ Hostid đưỵc sư dơng bao nhiờu bit cho dịa chỉ mạng con .
MỈt lạ mạng con chia vựng Hostid làm địa chỉ mạng con và địa chỉ mỏy chđ. Gồm 32 bits mà giỏ trị cđa nú đưỵc tớnh theo qui luật sau:
Cỏc bit trong mỈt lạ mạng con ứng với cỏc bit cđa Netid và Subnet Number trong địa chỉ IP chứa cỏc bit 1.
Cỏc bit trong mỈt lạ mạng con ứng với cỏc bit cđa Host Number trong địa chỉ IP chứa cỏc bit 0.
5. Cấu trĩc gúi dữ liƯu IP.
IP là giao thức dịch vơ truyỊn thụng theo kiĨu “khụng liờn kết” (Conectionless). Phương thức khụng liờn kết cho phộp cỈp trạm truyỊn nhận khụng cần phải thiết lập liờn kết trước khi truyỊn dữ liƯu và do đú khụng cần phải giải phúng liờn kết khi khụng cũn truyỊn dữ liƯu nữa. Phương thức kết nối “khụng liờn kết” cho phộp thiết kế và thực hiƯn giao thức trao đỉi dữ liƯu đơn giản (khụng cú cơ chế phỏt MẠNG INTERNET SV: NGUYỄN THẾ
CƯỜNG
hiƯn và khắc phơc lỗi truyỊn). Cịng chớnh vỡ vậy độ tin cậy trao đỉi dữ liƯu cđa loại giao thức này khụng cao.
Cỏc gúi dữ liƯu IP đưỵc gọi là cỏc Datagram. Mỗi Datagram cú phần tiờu đỊ (Header) chĩa cỏc thụng tin cần thiết truyỊn dữ liƯu (vớ dơ địa chỉ IP cđa trạm đớch). Nếu địa chỉ IP đớch là địa chỉ cđa một trạm nằm trờn cựng một mạng IP với trạm nguồn thỡ cỏc gúi dữ liƯu sẽ đưỵc chuyĨn thẳng tới đớch, nếu địa chỉ IP đớch khụng nằm trờn cựng một mạng IP với mỏy nguồn thỡ cỏc gúi dữ liƯu sẽ đưỵc chuyĨn đến một mỏy trung chuyĨn. IP Gateway đĨ chuyĨn tiếp . IP Gateway là một thiết bị mạng, IP đảm nhận viƯc lưu chuyĨn cỏc gúi dữ liƯu IP giữa hai mạng IP khỏc nhau. Hỡnh 22 mụ tả cấu trĩc gúi dữ liƯu IP.
VER (4 bits): Version hiƯn hành cđa IP đưỵc cài đỈt.
IHL (4bits): Độ dài phần tiờu đỊ (Internet Header Length) cđa Datagram tớnh theo đơn vị Word (32 bits). Nếu khụng cú trường này thỡ độ dài cđa phần tiờu đỊ là 5 từ.
Type of Service (8bits): cho biết cỏc thụng tin vỊ dịch vơ và mức ưu tiờn cđa gói IP cú dạng cơ thĨ sau:
Precedence D T R Unused
Trong đú:
Precedence (3bits): chỉ thị về quyền ưu tiờn gửi Datagram, cụ thể là: 111 Network Control (cao nhất) 001 flash
110 Internetwork Control 010 Immediate 101 CRITIC/ ECP 001 Priority
100 flas Overrride 000 Routtne (thấp nhất) D(delay) (1 bits) : chỉ độ trễ yờu cầu
D = 0 độ trễ bỡnh thường MẠNG INTERNET SV: NGUYỄN THẾ CƯỜNG 55
Vers thl service type
Total Length
Indentification Flag
s Flagment offset Time to
live Protocol Header
Checksum
Source IP Address Destination IP Address
IP Option(maybe none) Padding
D = 1 độ trễ thấp
T (Throughput) (1 bits) : chỉ số thụng lượng yờu cầu T= 0 thụng lượng bỡnh thường
T= 1 thụng lượng cao
(Reliabity) (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 (16bit): chỉ độ dàI toàn bộ Datagram phần Header(tớnh theo đơn vị bytes). Vựng dữ liệu của Datagram cú thể dàI tới 65535 bytes.
• Indentification(16 bits) : cựng với cỏc tham số khỏc như (source Addres và Distination Addres) tham số này dựng để xỏc đị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
Bit 0 31
Hỡnh 22 cấu trỳc gúi dữ liệu IP
• Flags (3bits) : liờn quan đến sự phõn đoạn.(Flagment) cỏc Datagram cụ thể là:
Bit O : Reserved, chưa sử dụng, luụn lấy giỏ trị 0.
Bit 1 : (DF) = 0 (May Flagment) 1 (Don’t Flagment) MẠNG INTERNET SV: NGUYỄN THẾ CƯỜNG 56
Vers thl service type
Total Length
Indentification Flag
s Flagment offset Time to
live Protocol Header
Checksum
Source IP Address Destination IP Address
IP Option(maybe none) Padding
IP Datagram data (up to 65535 bytes)
Bit 2 : (MF) = 0 (last Flagment) 1 (More Flagment)
• Flagment offset (13bit) : chỉ vị trớ của đoạn (Flagment) ở trong Datagram. Tớnh theo đơn vị 64 bớt, cú nghĩa là mỗi đoạn ( trừ đoạn cuối cựng) phảI chứamột vựng dữ liệu cú độ dàI bội của 64 bits.
• Time to live (TTL _ 8 bits): qui định thời gian tồn tạI của một gúi dữ liệu trờn mạng . Giỏ trị này được đặt lỳc bắt đầu gửi đi và sẽ giảm dần mỗi khi gúi dữ liệu được sử lý tại những đIểm trờn đường dài của gúi dữ liệu ( thực chất là tại Router). Nếu giỏ trị này bằng 0 trước khi đến được đớch, gỳi dữ liệu sẽ được huỷ bỏ.
• Protocol ( 8bits): chỉ giao thức tầng 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).
• Header Checksum (16 bits): mó kiểm soỏt lụĩi sử dụng phương phỏp CRC
(Cycle Redundancy Check) dựng để đảm bảo thụng tin về gúi dữ liệu được truyền đi một cỏch chớnh xỏc (mặc dự dữ liệu cú thể bị lỗi). Nếu như việc kiểm tra này thất bại, gúi dữ liệu sẽ bỉ huỷ bỏ tại nơi xỏc định được lỗi. Cần chỳ ý là IP khụng cung cấp cho một phương tiện truyền tin cậy bởi nỳ khụng cung cấp cho ta một cơ chế để xỏc định dữ liệu truyền tại điểm nhận hoặc tại những điểm trung gian. Giao thức IP khụng cú cơ chế kiểm soỏt lỗi(error control) cho dữ liệu truyền đi, khụng cú cơ chế kiểm soỏt luồng dữ liệu (flow control).
• Source Address (32 bits): địa trỉ của trạm nguồn. • Destination Address (32 bits) : địa chỉ của trạm đớch
• Option(cỳ độ dài thay đổi) sử dụng trong một số trường hợp, nhưng thực tế chung rất ít dựng. Option bao gồm bảo mật, chức năng định tuyến đặc biệt .
• Padding( cú độ dài thay đổi): vựng đệm, được dựng để đảm bảo cho phần
MẠNG INTERNET SV: NGUYỄN THẾ CƯỜNG
Header luụn kết thỳc ở một mốc 32 bits.
• Data (độ dài thay đổi) : vựng dữ liệu cú độ dài là bội của 8 bits tối đa là 65535 byte.
6. Phõn mảnh và hỵp nhất cỏc gúi IP
Cỏc gúi dữ lƯu IP phải đưỵc nhĩng trong khung dữ liƯu ở cỏc tầng liờn kết dữ liƯu tương ứng, trước khi chuyĨn tiếp trong mạng. Quỏ trỡnh nhận một gúi dữ liƯu IP diƠn ra ngưỵc lại. Vớ dơ với mạng Ethernet ở tầng liờn kết dữ liƯu, quỏ trỡnh chuyĨn một gúi diƠn ra như sau: khi gưi một gúi dữ liƯu IP cho mức Ethernet , IP chuyĨn cho mức liờn kết dữ liƯu cỏc thụng số địa chỉ Ethernet đớch, kiĨu khung Ethernet (dữ liƯu mà Ethernet đang amng là cđa IP) và cuối cựng là gúi IP. Tầng liờn kết số liƯu đỈt địa chỉ Ethernet nguồn là địa chỉ kết nối mạng cđa mỡnh và tớnh toỏn giỏ trị checkrum. Trường type chỉ ra kiĨu khung là 0x0800 đối với dữ liƯu IP. Mức liờn kết dữ liƯu sẽ chuyĨn khung dữ liƯu theo thuật toỏn truy nhập Ethernet.
Một khối IP cú độ dài tối đa 65536 byte, trong khi hầu hết cỏc tầng liờn kết dữ liƯu chỉ hỗ trỵ cỏc khung dữ liƯu nhỏ hơn độ lớn tối đa cđa gúi dữ liƯu IP nhiỊu lần. (vớ dơ độ dài lớn nhất cđa một khung dữ liƯu Ethernet là 1500 byte ) Vỡ vậy cần thiết phải cú cơ chế phõn mảnh khi phỏt và hỵp nhất khi thu đối với cỏc gúi dữ liƯu IP.
Original IP Packet 1. Frament 2. Frament
H.23 Nguyờn Hỡnh 23 Nguyờn tắc phõn mảnh gúi dữ liƯu
MẠNG INTERNET SV: NGUYỄN THẾ CƯỜNG 58 04 05 00 2000 1 1 1 1 0 0 0 0 05 06 Checksu m 128.82.23.12 192.12.2.5 Data 1980 byte 04 05 00 1500 1 1 1 1 0 0 0 0 05 06 Checksu m 128.82.23.12 192.12.2.5 Data 1480 byte 04 05 00 520 1 1 1 1 0 0 0 0 05 06 Checksu m 128.82.23.12 192.12.2.5 Data 500 byte
Độ dài tối đa cđa một gúi dữ liƯu liờn kết là MTU (Móimum Transmit Unit). Khi cần chuyĨn một gúi dữ liƯu IP cú độ dài lớn hơn MTU cđa một mạng cơ thĨ, cần phải chia một gúi số liƯu IP đú thành những gúi IP nhỏ hơn đĨ độ dài cđa nú nhỏ hơn hoỈc bằng MTU gọi chun là mảnh (Frament). Trong phần tiờu đỊ cđa gúi dữ liƯu IP cú thụng tin vỊ phõn mảnh và xỏc định cỏc mảnh cú quan hƯ phơ thuộc đĨ hỵp thành sau này.
Vớ dơ Ethernet chỉ hỗ trỵ cỏc khung cú độ dài tối đa là 1500 byte. Nếu muốn gởi một gúi dữ liƯu IP gồm 2000 byte qua Ethernet phải chia thành 2 gúi nhỏ hơn, mỗi gúi khụng quỏ gới hạn MTU cđa Ethernet.
IP dựng cờ MF (3 bits thấp cđa trường Flags trong phần đầu cđa gói IP ) và trường Flament offset cđa gói IP (đó bị phõn đoạn) đĨ định danh gói IP đú là một phõn đoạn và vị trớ cđa phõn đoạn này trong gói IP gốc. Cỏc gúi cựng trong một chuỗi phõn mảnh đỊu cú trường này giống nhau. Cờ MF bằng 1 nếu là đầu cđa chuỗi phõn mảnh và 0 nếu là gúi cuối cđa gúi đó đưỵc phõn mảnh.
Quỏ trỡnh hỵp nhỏt diƠn ra ngưỵc lại với quỏ trỡnh phõn mảnh. Khi IP nhận đưỵc một gúi phõn mảnh, nú giữ phõn mảnh đú trong vựng đƯm, cho đến khi nhận đưỵc hết cỏc gúi IP trong chuỗi phõn mảnh cú cựng trường định danh. Khi phõn mảnh đầu tiờn đưỵc nhận, IP khởi động một bộ đếm thời gian (giỏ trị ngầm định là 15s) IP nhận hết cỏc phõn mảnh kế tiếp trước khi đồng hồ tắt . Nếu khụng IP phải hủ bỏ tất cả cỏc phõn mảnh trong hàng đỵi hiƯn thời cú cựng trường định danh.
Khi IP nhận đưỵc hết cỏc phõn mảnh, nú thực hiƯn hỵp nhất cỏc gúi phan mảnh thành cỏc gúi IP gốc và sau đú xư lý nó như một gói IP bỡnh thường. IP thường chỉ thực hiƯn hỵp nhất cỏc gúi tại hƯ thống cđa gói.
7. Định tuyến IP trực tiếp và khụng trực tiếp
Cú 2 loại định tuyến: • Định tuyến trực tiếp MẠNG INTERNET SV: NGUYỄN THẾ CƯỜNG 59
• Định tuyến khụng trực tiếp
Định tuyến trực tiếp là viƯc xỏc định đường nối giữa hai trạm làm viƯc trong một trạm vật lý trong một mạng vật lý. Định tuyến khụng trực tiếp là viƯc xỏc định đường nối giữa hai trạm khụng cựng nằm trờn một mạng vật lý vỡ vậy viƯc truyỊn giữa chĩng phải thực hiƯn thụng qua cỏc Gateway. đĨ kiĨm tra xem trạm đớch cú nằm trờn cựng một mạng vật lý với trạm nguồn hay khụng, người gưi phải tỏch lấy phần địa chỉ IP. Nếu hai địa chỉ này cú địa chỉ mạng giống nhau thỡ Datagram sẽ dưỵc truyỊn đi trực tiếp, ngưỵc lại phải xỏc định một Gateway, thụng qua Gateway này chuyĨn tiếp cỏc Datagram. Khi một trạm muốn gưi cỏc gúi dữ liƯu đến một trạm khỏc thỡ nú phải đúng gúi Datagram vào một khung (Frame) và gưi cỏc Frame này đến Gateway gần nhất. Khi một Frame đến một Gateway, phần Datagram đó đưỵc đúng gúi sẽ đưỵc tỏch ra và IP Routing sẽ chọn Gateway tiếp dọc theo đường dẫn đến đớch. Datagram sau đú lại đưỵc đúng gúi vào một Frame khỏc và gưi đến mạng vật lý đĨ gưi đến Gateway tiếp theo trờn đường truyỊn và tiếp tơc như thế cho đến khi Datagram đưỵc truyỊn đến trạm đớch.
II. CỏC GIAO THỉC KHỏC LÍP IP
1. Giao thức ARP và giao thức RARP
1.1 Giới thiƯu vỊ 2 giao thứ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, 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ạng cơc bộ (Ethernet , TokenRmg.. .) Trờn một mạng cơc bộ hai trạm chỉ cú 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à phải thực hiƯn ỏnh xạ giữa địa chỉ IP (32 bits ) và dịa chỉ vật lý (48 bits) cđa mọt trạm. Giao thức phõn giải địa chỉ ARP (Address Resolution Protocol) đó đưỵc xõy dựng đĨ chuyĨn đỉi từ địa chỉ IP sang đại chỉ vật lý cần thiết. Ngưỵc lại, giao thức phan giải địa chỉ đảo RARP (Reverse Address Resolution Protocol) MẠNG INTERNET SV: NGUYỄN THẾ
CƯỜNG
đưỵc dựng đĨ chuyĨn đỉi địa chỉ vật lý sang địa chỉ IP. Cỏc giao thức ARP và RARP khụng phải là bộ phận cđa IP mà IP sẽ dựng đến chĩng khi cần.
1.2 Giao thức ARP
Giao thức TCP/IP sư dơng ARP đĨ tỡm địa chỉ vật lý cđa trạm đớch. Vớ dơ khi cần