Tài liệu tham khảo công nghệ thông tin ngành viễn thông TCP/IP và mạng Internet
Trang 1ch ơng 1: giới thiệu về giao thức TCP/IP 1.1 Lịch sử phát triển củaTCP/IP và mạng Internet
Mạng Internet là một mạng máy tính toàn cầu, bao gồm hàng chục triệu
ngời sử dụng, đợc hình thành từ cuối thập kỷ 60 từ một thí nghiệm của Bộ quốcphòng Mỹ Tại thời điểm ban đầu đó là mạng ARPAnet của Ban quản lý dự ánnghiên cứu Quốc phòng ARPAnet là một mạng thử nghiệm phục vụ các nghiêncứu quốc phòng, một trong những mục đích của nó là xây dựng một mạng máytính có khả năng chịu đựng các sự cố (ví dụ một số nút mạng bị tấn côngvà pháhuỷ nhng mạng vẫn tiếp tục hoạt động) Mạng cho phép một máy tính bất kỳtrên mạng liên lạc với mọi máy tính khác
Khả năng kết nối các hệ thống máy tính khác nhau đã hấp dẫn mọi ngời, vảlại đây cũng là phơng pháp thực tế duy nhất để kết nối các máy tính của cáchãng khác nhau Kết quả là các nhà phát triển phần mềm ở Mỹ, Anh và ChâuÂu bắt đầu phát triển các phần mềm trên bộ giao thức TCP/IP (giao thức đợc sửdụng trong việc truyền thông trên Internet) cho tất cả các loại máy Điều nàycũng hấp dẫn các trờng đại học, các trung tâm nghiên cứu lớn và các cơ quanchính phủ, những nơi mong muốn mua máy tính từ các nhà sản xuất, không bịphụ thuộc vào một hãng cố định nào
Bên cạnh đó các hệ thống cục bộ LAN bắt đầu phát triển cùng với sự xuất
hiện các máy để bàn (Desktop Workstations) vào năm 1983 Phần lớn các máyđể bàn sử dụng Berkeley UNIX, phần mềm cho kết nối TCP/IP đã đợc coi làmột phần của hệ điều hành này Một điều rõ ràng là các mạng này có thể kết nốivới nhau dễ dàng
Trong quá trình hình thành mạng Internet, NSFNET (đợc sự tài trợ của Hộikhoa học Quốc gia Mỹ) đóng một vai trò tơng đối quan trọng Vào cuối nhữngnăm 80, NFS thiết lập 5 trung tâm siêu máy tính Trớc đó, những máy tínhnhanh nhất thế giới đợc sử dụng cho công việc phát triển vũ khí mới và một vàihãng lớn Với các trung tâm mới này, NFS đã cho phép mọi ngời hoạt độngtrong lĩnh vực khoa học đợc sử dụng Ban đầu, NFS định sử dụng ARPAnet đểnối 5 trung tâm máy tính này, nhng ý đồ này đã bị thói quan liêu và bộ máyhành chính làm thất bại Vì vậy, NFS đã quyết định xây dựng mạng riêng củamình, vẫn dựa trên thủ tục TCP/IP, đờng truyền tốc độ 56 Kbps Các trờng đại
Trang 2học đợc nối thành các mạng vùng và các mạng vùng đợc nối với các trung tâmsiêu máy tính
Ngày nay mạng Internet đã đợc phát triển nhanh chóng trong giới khoahọc và giáo dục của Mỹ, sau đó phát triển rộng toàn cầu, phục vụ một cách đắclực cho việc trao đổi thông tin trớc hết trong các lĩnh vực nghiên cứu, giáo dụcvà gần đây cho thơng mại.
Internet sử dụng kỹ thuật chuyển mạch gói và dùng giao thức TCP/IP.Ngày nay nhiều mạng với kiến trúc khác nhau có thể nối vào Internet nhờ cáccầu nối đa giao thức.
1.2 Giao thức TCP/IP
Khái niệm giao thức (Protocol) là một khái niệm cơ bản của mạng truyền
thông Có thể hiểu một cách khái quát đó là tập hợp tất cả các quy tắc cần thiết(các thủ tục, các khuôn dạng dữ liệu, các cơ chế phụ trợ ) cho phép các giaothức trao đổi thông tin trên mạng đợc thực hiện một cách chính xác và an toàn.Có rất nhiều họ giao thức đang đợc sử dụng trên mạng truyền thông hiện naynh IEEE802.X dùng trong mạng cục bộ, CCITT (nay là ITU) dùng cho liênmạng diện rộng và đặc biệt là họ giao thức chuẩn của ISO (tổ chức tiêu chuẩnhoá quốc tế ) dựa trên mô hình tham chiếu bảy lớp cho việc kết nối các hệthống mở Trên Internet họ giao thức đợc sử dụng là bộ giao thức TCP/IP Hai
giao thức đợc dùng chủ yếu ở đây là TCP ( Transmision Control Protocol ) và
IP (Internet Protocol ) TCP là một giao thức kiểu có kết nối
(Connection-Oriented), tức là cần phải có một giai đoạn thiết lập liên kết giữa một cặp thựcthể TCP trớc khi chúng thực hiện trao đổi dữ liệu Còn giao thức IP là một giao
thức kiểu không kết nối (Connectionless), nghĩa là không cần phải có giai đoạn
thiết lập liên kết giữa một cặp thực thể nào đó trớc khi trao đổi dữ liệu Kháiniệm TCP/IP không chỉ bị giới hạn ở hai giao thức này Thờng thì TCP/IP đợcdùng để chỉ một nhóm các giao thức có liên quan đến TCP và IP nh UDP (UserDatagram Protocol), FTP (File Transfer Protocol), TELNET (TerminalEmulation Protocol) và v.v
Để giảm độ phức tạp của việc thiết kế và cài đặt mạng hầu hết các mạng
máy tính hiện có đều đợc phân tích thiết kế theo quan điểm phân tầng Mỗi hệ
thống thành phần của mạng đợc xem nh là một cấu trúc đa tầng, trong đó mỗitầng đợc xây dựng trên cơ sở tầng trớc đó Số lợng các tầng cùng nh tên và chứcnăng của mỗi tầng là tuỳ thuộc vào nhà thiết kế Họ giao thức của ISO (tổ chứctiêu chuẩn hoá quốc tế) dựa trên mô hình tham chiếu 7 lớp cho việc kết nối các
Trang 3hệ thống mở là họ giao thức đợc dùng làm chuẩn để các họ giao thức khác sosánh với nó do vậy trớc khi đi vào nghiên cứu giao thức TCP/IP ta cần xem xétmô hình 7 lớp OSI
Trong mô hình OSI mục đích của mỗi tầng là cung cấp các dịch vụ chotầng cao hơn tiếp theo, mô tả chi tiết cách thức cài đặt các dịch vụ này Các tầngđợc trừu tợng hoá theo cách là mỗi tầng chỉ biết rằng nó liên lạc với tầng tơngứng trên máy khác Trong thực tế thì mỗi tầng chỉ liên lạc với các tầng kề trênvà kề dới nó trên mỗi hệ thống mà thôi.
Trừ tầng thấp nhất trong mô hình mạng không tầng nào có thể chuyểnthông tin một cách trực tiếp với tầng tơng ứng trong mạng máy tính khác Thôngtin trên máy cần gửi phải đợc chuyển đi qua tất cả các tầng thấp hơn Thông tinsau đó lại đợc truyền qua Card mạng tới máy nhận và lại đợc truyền lên qua cáctầng cho đến khi nó đến tầng đã gửi thông tin đi
1 Tầng vật lý (Physical): Liên quan đến nhiệm vụ truyền dòng bits không
có cấu trúc qua đờng truyền vật lý, truy nhập đờng truyền vật lý nhờ cácphơng tiện cơ, điện, hàm, vật lý.
Giao thức tầng 7Giao thức tầng 6Giao thức tầng 5Giao thức tầng4Giao thức tầng 3Giao thức tầng 2Giao thức tầng1
Đ ờng truyền vật lý
Trang 42 Tầng liên kết dữ liệu (Data link): Cung cấp phơng tiện để truyền thông tin
qua liên kết vật lý đảm bảo tin cậy, gửi các khối dữ liệu với các cơ chếđồng bộ hoá, kiểm soát lỗi và kiểm soát luồng dữ liệu cần thiết.
3 Tầng mạng (Network): Thực hiện việc chọn đờng và chuyển tiếp thông
tin với công nghệ chuyển mạch thích hợp, thực hiện kiểm soát luồng dữliệu và cắt/ hợp dữ liệu nếu cần.
4 Tầng giao vận (Transport): Thực hiện việc truyền dữ liệu giữa hai đầu
mút (end - to - end), thực hiện cả việc kiểm soát lỗi và kiểm soát luồngdữ liệu giữa hai đầu mút Cũng có thể thực hiện việc ghép kênh, cắt / hợpdữ liệu nếu cần.
5 Tầng phiên (Session): Cung cấp phơng tiện quản lý truyền thông giữa các
ứng dụng, thiết lập, duy trì, đồng bộ hoá và huỷ bỏ các phiên truyềnthông giữa các ứng dụng.
6 Tầng trình diễn (Presentation): Chuyển đổi cú pháp dữ liệu để đáp ứng
yêu cầu truyền dữ liệu của các tầng ứng dụng qua mô hình OSI.
7 Tầng ứng dụng (Application): Cung cấp các phơng tiện để ngời sử dụng
có thể truy cập đợc vào môi trờng OSI, đồng thời cung cấp các dịch vụthông tin phân tán
1.2.2 Giao thức TCP/IP và mô hình 7 lớp OSI
Mạng Internet với họ giao thức TCP/IP đợc minh hoạ tổng quát nh hình 1.2với các dịch vụ mà nó cung cấp và các chuẩn đợc sử dụng có so sánh với kiếntrúc hệ thống mở OSI để chúng ta có một cách nhìn tổng quát về họ giao thứcnày
Hình 1.2: Giao thức TCP/IP khi so sánh với mô hình OSIOSI Model TCP/IP Architectual Model
ApplicationPresentationSessionTransportNetworkData linkPhysical
Transmision Control
Internet Protocol (IP)
IEEE802.3 IEEE802.4 EEE802.5 ANSI X3 T95
Trang 5Trong đó :
TCP: (Transmistion Control Protocol) Thủ tục liên lạc ở tầng giao vận của
TCP/IP TCP có nhiệm vụ đảm bảo liên lạc thông suốt và tính đúng đắn của dữliệu giữa 2 đầu của kết nối, dựa trên các gói tin IP
UDP: (User Datagram Protocol) Thủ tục liên kết ở tầng giao vận của TCP/
IP Khác với TCP, UDP không đảm bảo khả năng thông suốt của dữ liệu, cũngkhông có chế độ sửa lỗi Bù lại, UDP cho tốc độ truyền dữ liệu cao hơn TCP
IP: (Internet Protocol) Là giao thức ở tầng thứ 3 của TCP/IP, nó có trách
nhiệm vận chuyển các Datagrams qua mạng Internet
ICMP: (Internet Control Message Protocol) Thủ tục truyền các thông tin
điều khiển trên mạng TCP/IP Xử lý các tin báo trạng thái cho IP nh lỗi và cácthay đổi trong phần cứng của mạng ảnh hởng đến sự định tuyến thông tin truyềntrong mạng
RIP: (Routing Information Protocol) Giao thức định tuyến thông tin đây là
một trong những giao thức để xác định phơng pháp định tuyến tốt nhất chotruyền tin
ARP: (Address Resolution Protocol) Là giao thức ở tầng liên kết dữ liệu.
Chức năng của nó là tìm địa chỉ vật lý ứng với một địa chỉ IP nào đó Muốn vậynó thực hiện Broadcasting trên mạng, và máy trạm nào có địa chỉ IP trùng vớiđịa chỉ IP đang đợc hỏi sẽ trả lời thông tin về địa chỉ vật lý của nó
DSN: (Domain name System) Xác định các địa chỉ theo số từ các tên của
máy tính kết nối trên mạng
FTP: (File Transfer Protocol) Giao thức truyền tệp để truyền tệp từ một
máy này đến một máy tính khác Dịch vụ này là một trong những dịch vụ cơbản của Internet
Telnet: (Terminal Emulation Protocol) Đăng ký sử dụng máy chủ từ xa
với Telnet ngời sử dụng có thể từ một máy tính của mình ở xa máy chủ, đăng kýtruy nhập vào máy chủ để xử dụng các tài nguyên của máy chủ nh là mình đangngồi tại máy chủ.
FTP – File Transfer ProtocolSMTP- Simple Mail Transfer ProtocolDNS – Domain Name SystemSNMP – Simple Network Manage ProtocolICMP- Internet Control Message ProtocolARP - Address Resolution ProtocolFDDI - - Fiber Distributed Data InterfaceRPI - - Routing Information Protocol
Trang 6SMTP: (Simple Mail Transfer Protocol) Giao thức truyền th đơn giản: là
một giao thức trực tiếp bảo đảm truyền th điện tử giữa các máy tính trên mạngInternet.
SNMP: (Simple Network Management Protocol) Giao thức quản trị mạng
đơn giản: là dịch vụ quản trị mạng để gửi các thông báo trạng thái về mạng vàcác thiết bị kết nối mạng.
1.2.3 Giao thức liên mạng IP
Mục đích chính của IP là cung cấp khả năng kết nối các mạng con thànhliên mạng để truyền dữ liệu Vai trò của IP tơng tự vai trò của giao thức tầng
mạng trong mô hình OSI Mặc dù từ Internet xuất hiện trong IP nhng giao thức
này không nhất thiết phải sử dụng trên Internet Tất cả các máy trạm trênInternet đều hiểu IP, nhng IP có thể sử dụng trong các mạng mà không có sựliện hệ với Internet
IP là giao thức kiểu không kết nối (Connectionless) tức 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 Đơn vị dữ liệu dùng trong giao
thức IP là IP Datagram hay gọi tắt là Datagram.
Một Datagram đợc chia làm hai phần : Phần tiêu đề (Header) và phần chứadữ liệu cần truyền (Data) Trong đó phần Header gồm một số trờng chứa các
thông tin điều khiển Datagram
1.2.3.1.Cấu trúc của IP Datagram
Cấu trúc tổng quát của một IP Datagram nh sau:
Cấu trúc chi tiết của một IP Datagram Header đợc mô tả nh hình 1.3.VersionIHLType of serviceTotal length
IdentificationFlagsFragment offsetTime to liveProtocolHeader checksum
Source IP addressDestination IP address
Hình 1.3: Cấu trúc của Datagram
Trang 7Trong đó:
Trờng version (4 bits) cho biết phiên bản của IP đang đợc sử dụng, hiện
nay là IPv4 Trong tơng lai thì địa chỉ IPv6 sẽ đợc sử dụng.
IHL (4 bits) Chỉ thị độ dài phần đầu (Internet Header Length) của
Datagram tính theo đơn vị từ ( 32 bits).
Type of service (8 bits), đặc tả các tham số về dịch vụ Khuôn dạng của
nó đợc chỉ ra nh sau.
0 1 2 3 4 5 6 7
8 Bits của trờng Service đợc chia ra làm 5 phần cụ thể nh sau :
Precedence (3 bits) chỉ thị quyền u tiên gửi Datagram, các mức u tiên
từ 0 (bình thờng) đến mức cao nhất là 7 (điều khiển mạng) cho phépngời sử dụng chỉ ra tầm quan trọng của Datagram
Ba bit D, T, R nói nên khiểu truyền Datagram, cụ thể nh sau: Bit D (Delay)chỉ độ trễ yêu cầu
Bit T (Throughput) chỉ thông lợng yêu cầu Bit R (Reliability) chỉ độ tin cậy yêu cầu Reserved (2 bits) cha sử dụng
Total Length (16 bits) : Chỉ độ dài toàn bộ Datagram kể cả phần Header.
Đơn vị tính là Byte.
Identification (16 bits) Trờng này đợc sử dụng để giúp các Host đích lắp
lại một gói đã bị phân mảnh, nó cùng các trờng khác nh Source Address,Destination Address để định danh duy nhất một Datagram khi nó còn ởtrên liên mạng.
Flags( 3 bits) liên quan đến sự phân đoạn các Datagrams cụ thể nh sau:
Trong đó các thành phần:
Bit 0 Cha sử dụng lấy giá trị 0.
Bit 1 (DF) DF=0: Thực hiện phân đoạn.
DF=1: Không thực hiện phân đoạn.Bit 2 (MF) MF=0: Phân đoạn lần cuối.
MF=1: Phân đoạn thêm
Fragment offset (13 bits): Chỉ vị trí của đoạn (Fragment) ở trong
Trang 8 Time to live (8 bits): Cho biết thời gian tồn tại của Datagram trên liên
mạng Để tránh tình trạng một Datagram bị quẩn trên liên mạng Nếu saumột khoảng thời gian bằng thời gian sống mà Datagram vẫn cha đến đíchthì nó bị huỷ.
Protocol (8 bits) Cho biết giao thức tầng trên kế tiếp sẽ nhận vùng dữ liệu
ở trạm đích Giao thức tầng trên của IP thờng là TCP hoặc UDP.
Header Checksum (16 bits): Đây là mã kiểm soát lỗi 16 bits theo phơng
pháp CRC cho vùng Header nhằm phát hiện các lỗi của Datagram.
Source Address (32 bits) Cho biết địa chỉ IP của trạm nguồn.
Destination Address (32 bits) Cho biết địa chỉ IP của trạm đích Trong
một liên mạng địa chỉ IP của trạm nguồn và địa chỉ IP của trạm đích làduy nhất.
Options (độ dài thay đổi) Dùng để khai báo Options do ngời sử dụng yêu
Padding (độ dài thay đổi) Là một vùng đệm đợc dùng để đảm bảo cho
phần Header luôn kết thúc ở mức 32 bits Giá trị của Padding gồm toànbit 0.
Data (Độ dài thay đổi) Vùng dữ liệu có độ dài là bội số của 8 bits Kích
thớc tối đa của trờng Data là 65535 Bytes.
1.2.3.2.Quá trình phân mảnh các gói dữ liệu
Trong quá trình truyền dữ liệu, một gói dữ liệu (Datagram) có thể đợctruyền đi qua nhiều mạng khác nhau Một gói dữ liệu nhận đợc từ một mạngnào đó có thể quá lớn để truyền đi trong một gói đơn của mạng khác, bởi vậy
mỗi loại cấu trúc mạng cho phép một đơn vị truyền cực đại MTU (Maximum
Transmission Unit) khác nhau Đây chính là kích thớc lớn nhất của một gói màchúng có thể truyền đợc Nếu nh một gói dữ liệu nhận đợc từ một mạng nào đómà kích thớc của nó lớn hơn MTU của mạng khác thì nó cần đợc phân mảnh ra
thành gói nhỏ hơn gọi là Fragment để truyền đi, quá trình này gọi là quá trình
phân mảnh Dạng của một Fragment cũng giống nh dạng của một gói dữ liệuthông thờng Từ thứ hai trong phần Header chứa các thông tin để xác định mỗiFragment và cung cấp các thông tin để hợp nhất các Fragments này lại thành
các gói nh ban đầu Trờng định danh (Indentification) dùng để xác định
Fragment này thuộc vào gói dữ liệu nào Trờng định danh có một giá trị duynhất cho mỗi gói dữ liệu đợc vận chuyển Mỗi thành phần của gói dữ liệu bịphân mảnh sẽ có cùng giá trị trờng định danh Điều đó cho phép IP lắp ráp lạicác gói dữ liệu bị phân mảnh một cách phù hợp.
Trang 9Hậu quả của việc phân mảnh dữ liệu là các gói bị phân mảnh sẽ đến đíchchậm hơn so với một gói không bị phân mảnh Vì vậy phần lớn các ứng dụngđều tránh không sử dụng kỹ thuật này nếu có thể Vì sự phân mảnh tạo ra cácgói dữ liệu phụ nên cần quá trình sử lý phụ làm giảm tính năng của mạng Hơnnữa vì IP là một giao thức không tin cậy nên khi bất kỳ một gói dữ liệu bị phânmảnh nào bị mất thì tất cả các mảnh sẽ phải truyền lại Chính vì lý do này nênphải gửi các gói dữ liệu lớn nhất mà không bị phân mảnh, giá trị này là PathMTU.
1.2.3.3 Ph ơng pháp đánh địa chỉ trong TCP/IP
Để có thể thực hiện truyền tin giữa các máy trên mạng, mỗi máy tính trên
mạng TCP/IP cần phải có một địa chỉ xác định gọi là địa chỉ IP Hiện nay mỗi
địa chỉ IP đợc tạo bởi một số 32 bits (IPv4)và đợc tách thành 4 vùng, mỗi vùngcó một Byte có thể biểu thị dới dạng thập phân, nhị phân, thập lục phân hoặc bátphân Cách viết phổ biến nhất hay dùng là cách viết dùng ký tự thập phân Một
địa chỉ IP khi đó sẽ đợc biểu diễn bởi 4 số thập phân có giá trị từ 0 đến 255 và
đợc phân cách nhau bởi dấu chấm (.) Mỗi giá trị thập phân biểu diễn 8 bits
trong địa chỉ IP Mục đích của địa chỉ IP là để định danh duy nhất cho một hostở trên mạng
IPv4 sử dụng 3 loại địa chỉ trong trờng nguồn và đích đó là:
1 Unicast: Để thể hiện một địa chỉ đơn hớng Địa chỉ đơn hớng là địa chỉ
dùng để nhận dạng từng nút một (điểm nút là tập các thiết bị chuyểnmạch nằm ở trung tâm nh Router chẳng hạn ) cụ thể là một gói dữ liệu đ-ợc gửi tới một địa chỉ đơn hớng sẽ đợc chuyển tới nút mang địa chỉ đơnhớng đó.
2 Multicast: Địa chỉ đa hớng Là địa chỉ dùng để nhận dạng một tập hợp
nút nhng không phải là tất cả Tập hợp nút bao gồm nhiều nút khác nhauhợp thành, gói dữ liệu IP gửi tới một địa chỉ Multicast sẽ đợc gửi tới tất cảcác Host tham dự trong nhóm Multicast này.
3 Broadcast: Thể hiện tất cả các trạm trên mạng Thông thờng điều đó giới
hạn ở tất cả các Host trên một mạng con địa phơng.
Các địa chỉ IP đợc chia ra làm hai phần, một phần để xác định mạng (netid) và một phần để xác định host (host id) Các lớp mạng xác định số bits đợc
dành cho mỗi phần mạng và phần host Có năm lớp mạng là A, B, C, D, E, trongđó ba lớp đầu là đợc dùng cho mục đích thông thờng, còn hai lớp D và E đợcdành cho những mục đích đặc biệt và tơng lai Trong đó ba lớp chính là A,B,C
Trang 10Hình vẽ sau cho thấy cấu trúc của một địa chỉ IP.
Mỗi lớp địa chỉ đợc đặc trng bởi một số bits đầu tiên của Byte đầu tiên cócấu trúc chi tiết nh hình 1.4
Hình 1.4: Cấu trúc các khuôn dạng địa chỉTừ cấu trúc phân lớp địa chỉ ta có thể nhận thấy:
Nhỏ hơn 128 là địa chỉ lớp A Byte đầu tiên xác định địa chỉ mạng, baBytes còn lại xác định địa chỉ máy trạm.
Từ 128 đến 191 là địa chỉ lớp B Hai Bytes đầu xác định địa chỉ mạng.Hai Bytes tiếp theo xác định địa chỉ máy trạm.
Từ 192 đến 223 là địa chỉ lớp C Ba Bytes đầu xác định địa chỉ mạng.Bytes còn lại xác định địa chỉ máy trạm.
Lớn hơn 223 là các địa chỉ dùng để quảng bá hoặc dùng dự trữ cho cácmục đích đặc biệt và ta có thể không cần quan tâm
0Network IDHost ID
10Multicast address
11Reserved for future use
0
Trang 11Network class Số mạng Số Hosts trong mạng
Bảng 1.1: Bảng phân lớp địa chỉ
Tuy nhiên không phải tất cả các số hiệu mạng (net id) đều có thể dùng
đ-ợc Một số địa chỉ đợc để dành cho những mục đích đặc biệt
Lớp A có số mạng ít nhất, nhng mỗi mạng lại có nhiều hosts thích hợp vớicác tổ chức lớn có nhiều máy tính
Lớp B có số mạng và số hosts vừa phải
Còn lớp C có nhiều mạng nhng mỗi mạng chỉ có thể có 254 hosts, thích hợpvới tổ chức có ít máy tính
Để tiện cho việc quản trị cũng nh thực hiện các phơng pháp tìm đờng trênmạng ở các mạng lớn (lớp A) hay mạng vừa (lớp B) ngời ta có thể chia chúng
thành các mạng con (Subnets) Ví dụ cho rằng một mạng con có địa chỉ lớp B là191.12.0.50 khi đó coi 191.12.0.0 là địa chỉ toàn mạng và lập địa chỉ 191.12.1.cho Subnet 1 và 191.12.2 cho Subnet 2
Có thể dành trọn một nhóm 8 bits để đánh địa chỉ Subnet và một nhóm đểđánh địa chỉ các máy trong từng Subnet Nh thế tất nhiên là số máy trong mộtSubnet sẽ ít đi tơng tự nh trong mạng nhỏ Sự phân chia này làm giảm kích thớccủa bảng định tuyến trong Router/ Gateway, nghĩa là tiết kiệm dung lợng nhớ vàthời gian xử lý
Sự phân chia một mạng thành nhiều mạng con phát sinh vấn đề là số lợngbit dành để đánh địa chỉ mạng con có thể khác nhau và tuỳ thuộc vào nhà quản
trị mạng Do đó ngời ta đa vào khái niệm Subnet Mask Subnet Mask cũng
giống nh địa chỉ IP bao gồm 32 bits Mục đích của điạ chỉ Subnet Mask là đểchia nhỏ một địa chỉ IP thành các mạng nhỏ hơn và theo dõi vùng nào trên địa
chỉ IP đợc dùng để làm địa chỉ cho mạng con (còn đợc gọi là các Subnet) đó
vùng nào dùng làm địa chỉ cho các máy trạm.
Nội dung của một Subnet Mask đợc quy định nh sau :Các bit 1 : dùng để chỉ định địa chỉ mạng trên địa chỉ IP.Các bit 0 : dùng để chỉ định địa chỉ máy trạm trên địa chỉ IP
Ví dụ đối với mạng A có địa chỉ là 25.0.0.0, nếu dành 8 bits cho Subnet thìmặt nạ có giá trị là 255.255.0.0 , nếu dành 16 bits cho Subnet thì mặt nạ có giátrị là 255.255.255.0
Trang 12Từ địa chỉ IP ta thực hiện phép toán logic AND với địa chỉ Subnet Mask kếtquả sẽ tạo ra đợc địa chỉ mạng nơi đến Kết quả này đợc sử dụng để tìm bớc tiếptheo trong thuật toán tìm đờng trên mạng Nếu kết quả này trùng với địa chỉmạng tại trạm đang làm việc thì sẽ xét tiếp địa chỉ máy trạm để truyền đi Theocấu trúc của Subnet Mask thì ta thấy tất cả các trạm làm việc trong cùng mộtmạng con có cùng giá trị Subnet Mask.
Với phơng pháp này số bits dùng để đánh địa chỉ host có thể nhỏ hơn 8 bits(đối với lớp C) tức là một địa chỉ lớp C có thể phân nhỏ hơn nữa và khi đó cácmạng con này thờng đợc xác định bởi các địa chỉ có thêm phần chú thích số bits
dành cho địa chỉ mạng, ví dụ 203.160.0.0/25 mô tả Subnet 203.160.0.0 (thuộc
lớp C) nhng có 25 bits dùng cho địa chỉ mạng và 7 bits dùng cho địa chỉ Hoststức là Subnet này chỉ có tối đa là 128 Hosts chứ không phải là 256 Hosts.
Trong tất cả các lớp địa chỉ mạng cũng nh các Subnets, các điạ chỉ đầu vàcuối của mạng đợc dùng cho các mục đích riêng Một địa chỉ IP cùng với tất cảcác bits địa chỉ máy trạm có giá trị có là 0 (địa chỉ đầu mạng) đ ợc dùng để chỉ
chính mạng đó (hay địa chỉ xác định mạng) Ví dụ địa chỉ 203.160.1.0 đợc dùngđể chỉ mạng 203.160.1.0 Còn nếu tất cả các bits địa chỉ trong phần địa chỉ củatrạm đều có giá trị là 1 (địa chỉ cuối mạng) thì địa chỉ này đợc dùng làm địa chỉquảng bá Ví dụ địa chỉ quảng bá của mạng 203.160.1.0 là 203.160.1.255 Một
gói dữ liệu gửi đến địa chỉ này sẽ đợc truyền đến tất cả các máy trạm trên địachỉ này
Trên mạng Internet, việc quản lý và phân phối địa chỉ IP là do NIC(Network Information Center) Với sự bùng nổ của số máy tính kết nối vàomạng Internet, địa chỉ IP đã trở thành một tài nguyên cạn kiệt, ng ời ta đã phải
xây dựng nhiều công nghệ để khắc phục tình hình này Ví dụ nh công nghệ cấpphát địa chỉ IP động nh BOOTP hay DHCP (Dynamic Host Configuration
Protocol) Khi sử dụng công nghệ này thì không nhất thiết mọi máy trên mạngđều phải có một địa chỉ IP định trớc mà nó sẽ đợc Server cấp cho một địa chỉ IPkhi thực hiện kết nối Tuy nhiên giải pháp này chỉ là tạm thời trong t ơng lai thìđịa chỉ IPv6 sẽ đợcđa vào sử dụng.
Trang 131.2.3.4.Địa chỉ IPv6
Cấu trúc Header của gói IPv6 đợc trình bày trong hình 1.5.Version
Pay load LengthNext HeaderHop limitSource IP Address ( 128 Bits)
Destination IP Address (128 Bits)Hình 1.5: Cấu trúc Header gói IPv6
Cấu trúc của gói IPv6 không hoàn toàn tơng thích một cách trực tiếp vớicấu trúc của gói IPv4, nó có cấu trúc để cho việc truyền dẫn càng nhanh càngtốt, và nó vẫn cùng hoạt động với IPv4.
IPv6 có một số đặc điểm chính sau đây:
128 bits địa chỉ thay cho 32 bits địa chỉ.
Thiết lập và cấu hình đơn giản : IPv6 có thể tự động đặt cấu hình các địachỉ cục bộ.
Định dạng Header đơn giản một vài trờng đã đợc bỏ đi hoặc trở thànhkhông bắt buộc Sự định dạng Header mới này cải thiện tính năng của bộđịnh tuyến và dễ dàng thêm các loại Header mới.
Cải tiến sự trợ giúp đối với các tuỳ chọn và các mở rộng
Sự trợ giúp đối với việc xác nhận đúng và sự mã hoá dữ liệu Sự trợ giúpđối với việc xác nhận đúng, tính chân thật của dữ liệu, tính bí mật của dữliệu là một phần của kiến trúc IPv6
Không giống nh IPv4 các gói dữ liệu trong IPv6 nói chung không bị phânmảnh Nếu sự phân mảnh đợc yêu cầu nó sẽ đợc thực hiện không phảibằng các bộ định tuyến mà bằng nguồn của các gói dữ liệu Đối với mộtgói dữ liệu bị phân mảnh, Host nguồn sẽ sinh ra một giá trị tự nhận diệnduy nhất.
IPv6 có 128 bits địa chỉ dài hơn bốn lần so với IPv4 nên khả năng theo lýthuyết có thể cung cấp một không gian địa chỉ lớn hơn nhiều Đây là không gianđịa chỉ cực lớn với mục đích không chỉ cho Internet mà còn cho tất cả các mạngmáy tính, các hệ thống viễn thông, hệ thống điều khiển và thậm chí còn cả cácvật dụng trong gia đình Địa chỉ IPv6 đợc phân ra là 3 loại chính nh sau :
1 Unicast Address: Địa chỉ đơn hớng là địa chỉ dùng để nhận dạng từng
nút một (điểm nút là tập các thiết bị chuyển mạch nằm ở trung tâm nh
Trang 14Router chẳng hạn) cụ thể là một gói dữ liệu đợc gửi tới một địa chỉ đơnhớng sẽ đợc chuyển tới nút mang địa chỉ đơn hớng đó
2 Anycast Address: Địa chỉ bất kỳ hớng nào Là địa chỉ dùng để nhận dạng
một tập hợp nút bao gồm nhiều nút khác nhau hợp thành, cụ thể là mộtgói số liệu đợc gửi tới một địa chỉ bất cứ hớng nào sẽ đợc chuyển tới mộtnút gần nhất trong tập hợp nút mạng địa chỉ Anycast đó.
3 Multicast Address : Địa chỉ đa hớng Là địa chỉ dùng để nhận dạng một
tập hợp nút Tập hợp nút bao gồm nhiều nút khác nhau hợp thành, cụ thểlà một gói số liệu đợc gửi tới một địa chỉ đa hớng sẽ đợc chuyển tới tất cảcác nút trong địa chỉ Multicast đó.
1.2.3.5 Giao thức ARP
Khi hai máy trên mạng Internet muốn kết nối với nhau thì chúng phảibiết điạ chỉ của nhau, địa chỉ đợc sử dụng là địa chỉ Internet Tuy nhiên nếu haimáy cùng trong một mạng vật lý thì chúng không thể sử dụng địa chỉ IP để liênlạc với nhau, chúng chỉ có thể kết nối với nhau khi chúng biết đợc địa chỉ vật lýcủa nhau Vấn đề đặt ra là làm sao một trạm hay một Router có thể ánh xạ địachỉ IP (32 bits hoặc 128 bits ) sang địa chỉ vật lý (48 bits) khi chúng cần gửi mộtgói dữ liệu qua mạng vật lý Trớc kia trong các hệ thống sử dụng giao thức TCP/IP thì phải có một bảng chỉ ra sự liên quan giữa địa chỉ IP và địa chỉ vật lý (địa
chỉ MAC) tuy nhiên ngày vấn đề này đợc giải quyết thông qua giao thức xácđịnh địa chỉ ARP (Address Resolution Protocol) Giao thức ARP cho phép một
trạm có thể biết đợc địa chỉ vật lý của một trạm khác trên cùng một mạng vật lýkhi nó biết địa chỉ IP của trạm kia
Hình 1.6 minh hoạ điều đó.
Hình 1.6: Giao thức ARP
192.1.1.5192.1.1.4ARP request
ARP response
ResponseNo response
No response
Trang 15Khi một máy trạm có địa chỉ 129.1.1.1 muốn biết địa chỉ vật lý của máytrạm có địa chỉ 129.1.1.4 thì nó gửi đi một gói tin đặc biệt có chứa địa chỉ IP129.1.1.4 đến tất cả các trạm khác (Sử dung chế độ Broadcast) để yêu cầu trả lời
cho biết địa chỉ vật lý của máy này Tất cả các trạm trên mạng đều nhận đ ợc
thông báo này nhng chỉ có trạm có địa chỉ IP là 129.1.1.4 nhận ra địa chỉ IP củanó nên nó gửi cho máy 129.1.1.1 một phúc đáp trả lời địa chỉ vật lý của nó
Tuy nhiên nếu bất cứ lúc nào muốn kết nối, mỗi máy trạm đều phải thựchiện quảng bá yêu cầu ARP nh vậy sẽ làm tăng khả năng tắc nghẽn trên mạng vìtất cả các máy trong mạng đều nhận đợc yêu cầu này và phải xử nó Để tránh
tình trạng này trên mỗi máy trạm đều có thiết kế một vùng nhớ gọi là ARP tablehoặc ARP cache Bảng này sẽ lu giữ địa chỉ IP tơng ứng với địa chỉ vật lý của
các máy trạm gần nhất mà nó nhận đợc và đợc cập nhật tự động khi nhận đợctrả lời ARP Trớc khi gửi đi một yêu cầu ARP thì một máy trạm sẽ tìm trongARP table xem có địa chỉ vật lý nào tơng ứng với điạ chỉ IP mà nó muốn kết nốihay không, nếu có thì nó sẽ gửi dữ liệu mà không phải phát yêu cầu ARP Bêncạnh đó để giảm việc phát đi các yêu cầu ARP thì khi một máy trạm nào trả lờimột yêu cầu ARP nó sẽ tự động cập nhật địa chỉ IP và địa chỉ vật lý của nơi yêucầu vào ARP table Các ARP table này tuỳ theo cấu trúc khác nhau mà có ph -ơng pháp cập nhật hoặc loại bỏ địa chỉ khác nhau Hình 1.7 chỉ ra các để thựchiện một yêu cầu ARP.
ARP table(ARP cache)
Data link
2, 5
4
Trang 164 Nếu địa chỉ MAC không có trong ARP table thì máy đó sẽ phát ra yêucầu ARP lên trên mạng, nếu địa chỉ MAC có trong ARP table thì kết nốiđợc thực hiện.
5 Cùng với việc nhận đợc trả lời ARP thì ARP table đợc cập nhật.
Khuôn dạng của một gói tin ARP cũng nh RARP dùng cho mạng Ethernetđợc mô tả nh hình 1.8.
Type of Hardware(16bits)Type of Protocol(16bits)Length of Hardware
Length of ProtocolAddressOperation(16bits)
Hardware address of the source stationIP address of the source stationHardware address of the destination station
IP address of the destination stationHình 1.8: Khuôn dạng gói tin ARP/RARPý nghĩa của các trờng trong khuôn dạng nh sau:
Type of Hardware (16bits): Mô tả kiểu giao diện phần cứng, thờng đợc dùng
để chỉ các mạng LAN hoạt động theo các chuẩn IEEE 802 Trờng này manggiá trị 1 đối với các mạng Ethernet.
Type of Protocol (16bits): Mô tả kiểu địa chỉ giao thức cao cấp (IP, IPX
Apple Talk), trờng này mang giá trị 0800 ở hệ 16 đối với địa chỉ IP. Length of Hardware Address: Chỉ thị độ dài địa chỉ phần cứng.
Length of Protocol Address: Chỉ thị độ dài địa chỉ của giao thức cao cấp
Operation (16bits): Cho biết gói tin ARP/RARP là gói mang thông tin hỏi
hay phúc đáp:
Operation = 1: ARP Request = 2: ARP Response.
= 3: RARP Request = 4: RARP Response
Hardware address of the source station: Địa chỉ vật lý của trạm gửi
IP address of the source station: Địa chỉ IP của nơi gửi.
Trang 17 Hardware address of the destination station: Địa chỉ vật lý của đích, trờng
này thờng đợc thiết lập là 0 trong các ARP Reqest, và đợc điền vào bằng cácthủ tục phúc đáp của trạm đích.
IP address of the destination station: Địa chỉ IP của nhận, nó đợc thiết lập
bởi trạm nguồn.
Khi các gói tin ARP đợc truyền trên mạng tuỳ theo cấu trúc của các mạngkhác nhau mà có các khung dữ liệu gửi đi tơng ứng Các khung dữ liệu này đợcphân biệt với các khung tin loại khác bằng một trờng kiểu trong phần tiêu đềcủa khung Với mạng Ethernet, khung tin ARP có trờng kiểu mang giá trị 0806ở hệ 16
1.2.3.6 Giao thức RARP(Reverse ARP)
Các máy tính thờng lu trữ địa chỉ IP của nó trên bộ nhớ thứ cấp, nơi mà hệđiều hành có thể tìm thấy khi khởi động Nhng với những máy tính không thờngxuyên làm việc với bộ nhớ thứ cấp (chẳng hạn chúng lu giữ tập tin trên một máyServer ở xa) thì chúng không biết địa chỉ IP của mình Vì vậy một máy tínhkhông có ổ đĩa cứng khi khởi động phải liên lạc với Server để biết đợc địa chỉ IPcủa nó trớc khi kết nối vào hệ thống sử dụng TCP/IP
Máy tính có thể nhận biết đợc địa chỉ vật lý của nó từ phần cứng giao tiếpmạng đợc cài đặt trên nó Từ địa chỉ vật lý này, các máy tính không có bộ nhớthứ cấp có thể tìm ra địa chỉ IP của nó thông qua giao thức RARP.
Khuôn dạng của thông báo RARP về cơ bản giống khuông dạng của thôngbáo ARP, chỉ khác về cách thức khai báo một số trờng trong đó.
Cũng nh thông báo ARP, một thông báo RARP cũng đợc đóng trong mộtkhung thông tin mạng và đợc gửi từ máy này đến máy khác Phần tiêu đề củakhung tin có chứa một trờng kiểu mang giá trị 8035 ở hệ 16 cho phép phân biệtkhung tin chứa thông báo RARP với các khung tin dạng khác Hình 1.9 minhhoạ cách thức mà một máy sử dụng RARP để xác định địa chỉ IP của nó.
Để biết địa chỉ IP của mình, đầu tiên máy A quảng bá một yêu cầu RARPđến tất cả các máy khác A cung cấp địa chỉ vật lý của nó trong gói tin RARP.Tất cả các máy trên mạng đều nhận đợc yêu cầu này nhng chỉ có máy nào cungcấp dịch vụ RARP mới tiến hành xử lý và trả lời yêu cầu này Những máy đó đ-ợc gọi là các RARP Server Trong một mạng con nói chung cần phải có mộtmáy tính nh vậy.