Phân tích các lớp TCP/IP Lớp liên kết Lớp này không phải là thành phần của TCP/IP, mà nó chỉ được địnhnghĩa lại cho phù hợp với kiến trúc riêng, tức nó thừa kế toàn bộ định nghĩacủa 2 lớ
Trang 1Chương 1 GIỚI THIỆU CHUNG VỀ MẠNG
1 Tổng quan về mạng máy tính
Khái niêm về mạng máy tính
Mạng chính là các máy tính liên kết lại với nhau ( thường bằngcáp), chúng sử dụng các phần mềm để giao tiếp thông tin Những ngườisử dụng mạng có thể chia sẻ các tài nguyên mạng bao gồm: đĩa cứng, ổCD-ROM, máy in, modem,…
Các thành phần cấu trúc nên mạng
Để có một cái nhìn tổng thể và toàn diện hơn về mạng máy tính tanghiên cứu hình vẽ:
Một mạng máy tính bao gồm các phần cơ bản:
- Network Adapter: Card mạng là một thiết bị phối ghép giữa máy
tính và cáp mạng Để giao tiếp thông tin được trong mạng thì mỗimáy tính cần phải có một card mạng
Hình 1.1: Các thành phần cơ bản của một mạng máy tính
Server Workstation
Printer
Network Adapter Cable
Workstation and Server
Network Adapter
Disk Files
Modem
Trang 2- Workstation: Một mạng máy tính nhất thiết phải có các máy tính
cá nhân hay còn gọi là máy trạm (workstation) có thể sử dụng cáctài nguyên chung trên mạng
- Network adapter cable: Thông thường các network adapter được
nối với nhau bởi network adapter cable Tuy nhiên vẫn có khảnăng các máy tính được nối với nhau bằng vô tuyến
- Server: Máy chủ, một mạng máy tính cần có một máy chủ để có
thể chia sẻ các tài nguyên của nó cho các máy khác trong mạng
- Diskfiles: Một mạng máy tính có thể có một ổ đĩa lớn để cung cấp
tài nguyên cho mạng Tuy nhiên diskfile không plhải là thànhphần bắt buộc để xây dựng mạng
- Workstation và Server: Một máy tính có thể vừa được dùng làm
máy chủ vừa dùng làm máy trạm Tức là vừa chia xẻ tài nguyênvừa sử dụng tài nguyên
- Printer: Trong một mạng ta có thể dùng chung tài nguyên máy in
cho tất cả các máy trong mạng Tuy nhiên máy in không phải làthành phần bắt buộc của mạng
- Modem: Modem cũng là một tài nguyên có thể dùng chung trong
Mạng này có tốc độ cao hàng megabit/s, cung cấp các dịch vụ chia sẻtập tin, cơ sở dữ liệu, chia sẻ phần cứng, thư điện tử,…
Mạng MAN (Metropolitant Area Network)
Mạng này thường có bán kính trong một thành phố, kiến trúc thườngdùng là ATM, DWDB cung cấp các đường truyền tốc độ cao đến hànggigabit/s phục vụ cho nhiều ứng dụng như truyền hình cáp, hội nghị truyềnhình, liên kết mạng máy tính
Mạng WAN
Trang 3Khi mạng máy tính sử dụng nhứng kết nối viễn thông ở phạm vi lớnhơn, nó cho phép các máy tính có thể đặt ở những vị trí rất xa nhau, ví dụ ởnhững quốc gia khác nhau, thì khi đó ta có mạng diện rộng WAN( WideArea Network) Mạng này cung cấp các phương tiện kết nối cho các mạngmáy tính cục bộ muốn liên kết với nhau và một số ứng dụng khác Các kiếntrúc mạng thường gặp là: X25, Frame Relay, ISDN,…
3 Các kiến trúc mạng LAN thường gặp
Kiến trúc một mạng cục bộ bao gồm toàn bộ các công việc hình thànhmột mạng LAN như là phương thức truy nhập đường truyền và các thànhphần vật lý
Điều khiển truy nhập đường truyền
Phương thức CSMA
- Truy nhập CSMA/CD: Với phương thức này các trạm làm việc sẽxem xét “lắng nghe” trạng thái của cáp để thực hiện việc truyền dữliệu Nếu nó xác định đang có trạm truyền dữ liệu trên cáp thì nó sẽđợi Khi không có trạm nào truyền nữa thì nó sẽ thực hiện việc gởidữ liệu
Để thực hiện việc nhận dữ liệu thì tất cả các trạm đều xem xét địachỉ đích của các khung dữ liệu trên mạng, nếu đó là địa chỉ của nóthì nó sẽ xử lý khung dữ liệu còn ngược lại thì nó bỏ qua
Nếu tại một thời điểm trạm A phát gói dữ liệu mà trạm B cũngphát thông tin thì xảy ra sự va chạm Khi đó, A sẽ phát tiếp tín hiệujamming rất ngắn nhằm thông báo cho toàn bộ mạng biết là cótranh chấp đường truyền Sau đó A và B sẽ chờ một khoảng thờigian do chúng tung ngẫu nhiên rồi phát lại thông tin của mình
- Truy nhập CSMA/CA: cũng hoạt động giống như CSMA/CD nhưngkhác nhau ở chỗ là sau khi va chạm xảy ra, mỗi trạm sẽ chờ với thờigian được ấn định lúc thiết lập cấu hình hệ thống
Phương thức thẻ bài
Phương thức này được sử dụng phổ biến trong mạng có cấu trúc topodạng vòng ring
Trong phương thức này, trạm nào đang giữ thẻ bài thì nó có quyềnphát dữ liệu Nó sẽ điền vào thẻ những dữ liệu cần gởi, địa chỉ của nó vàđịa chỉ trạm nhận Sau đó thẻ sẽ được truyền qua tất cả các trạm trên vòng,
Trang 4do đó trạm nào cũng có thể kiểm tra được địa chỉ đích của thẻ Thẻ cứ dịchchuyển trong vòng cho đến khi nó đến đích.
Khi trạm thu đã ghi lại dữ liệu, nó gởi thẻ bài trả lại trạm phát để xácnhận rằng dữ liệu đã được ghi lại Sau đó trạm phát chuyển thẻ cho trạmtiếp theo để trạm này có thể gởi dữ liệu của nó
Phương thức truy nhập ưu tiên theo yêu cầu
Một số loại dữ liệu sẽ có quyền ưu tiên truy nhập mạng theo một quyđịnh trước nếu có tranh chấp xảy ra Nếu các thiết bị chuyển tiếp hay hubnhận được 2 yêu cầu cùng một lúc, thì yêu cầu nào có mức ưu tiên cao hơnsẽ được phục vụ trước Nếu 2 yêu cầu có cùng mức ưu tiên thì chúng sẽđược luân phiên phục vụ
Kiến trúc chung của mạng LAN
Mạng Ethernet
Kiến trúc Ethernet được biểu diễn bằng đặc tả xAy, trong đó x là tốcđộ truyền dữ liệu tính bằng Mbps, đặc trưng cho phương thức truyền thônglà dải nền hay dải rộng và y đặc trưng cho độ dài một đoạn segment hoặcmôi trường truyền (loại cáp)
Có 3 dạng Ethernet thường dùng là: Ethernet Thinnet (10Base2),Ethernet Thicknet (10Base5) và Ethernet Twisted-Pair (10BaseT)
Ví dụ về Kiến trúc mạng 10Base5: mô tả mạng truyền dải nền (Base),
tốc độ truyền dẫn là 10Mb/s, truyền dẫn băng cơ sở và dộ dài cho mỗisegment là 500m Topo của mạng là dạng Bus, nó cung cấp một mạng rộng.Kiến trúc này được mô tả bằng hình vẽ:
Mạng Token Ring
Mạng này dựa theo chuẩn IEEE802.5 – một tiêu chuẩn cho mạng LANdạng vòng Đây là mạng dải nền và làm việc theo nguyên tắc thẻ bài.Token Ring được phân biệt với các mạng khác bởi phương thức truy cập thẻbài chứ không phải sự bố trí vật lý của cáp
Máy chủ
Hình 1.2: Kiến trúc mạng 10Base5
Trang 5Kiến trúc này được IBM đưa ra năm 1985 với tốc độ truyền dữ liệu4Mb/s trên môi trường truyền cáp xoắn đôi STP và UDP Đến 1989, ấn bảnmới 2.0 ra đời với 3 tốc độ : 1Mb/s, 4Mb/s, 16Mb/s Các nút mạng được nốivới nhau tạo thành một vòng logic Các máy tính trong mạng được đấu nốitới bộ tập trung đầu dây bởi cáp xoắn có bọc hoặc không bọc Với cáp cóbọc thì cự ly từ máy trạm tới bộ tập trung khoảng 100m và là 45m đối vớicáp không có bọc.
Mạng ARCnet
Mạng này có kiến trúc vật lý như mạng 10Base2 của Ethernet, nhưngvề mặt logic thì đây là cấu trúc Token Bus Nó là mạng băng cơ sở và cóthể có topo dạng hình sao hoặc starbus Việc xây dựng mạng này khá dễdàng và tốn ít chi phí, ta có thể sử dụng cáp đồng trục, active Hub vàpassive Hub Active hub có chức năng khuyếch đại tín hiệu và passive hubthực chất là một cụm điện trở 470 ohm Cự ly từ một máy trạm tới Hub cóthể từ 120m tới 606m tùy theo loại cáp và loại Hub được sử dụng
Mạng ARCnet có tối đa 255 trạm, mỗi trạm có một địa chỉ khác nhau,riêng địa chỉ zero là địa chỉ broadcast Các địa chỉ được khai báo theo cáchthủ công lúc cài đặt mạng Mỗi địa chỉ mạng có 3 tham số:
- Add: là địa chỉ của chính trạm đó
- P: là địa chỉ của trạm đứng trước nó
- S: là địa chỉ của trạm đứng sau nó
Khi khởi động một mạng ARCnet, việc tạo thành cấu hình ban đầuđược thực hiện bằng cách lấy ví dụ là trạm A có địa chỉ là Add=1 làm ví dụ,sẽ gởi Token cho địa chỉ Add=2, nếu không thấy tín hiệu phúc đáp ACK chotrạm 1 và trạm 1 sẽ điền được giá trị P=20 và trạm 20 điền được giá trị S=1.Sau đó trạm 20 sẽ gởi Token cho trạm 21,22,23,24,…30 Quá trình cứ thếtiếp diễn cho đến khi tất cả các trạm định được địa chỉ cho mình Mỗi byteđược truyền đi theo dạng [100<octet>100]
4 Liên kết mạng
Internetwork
Các mạng được nối lại với nhau nhờ các thiết bị liên kết mạng nhưrepeater, bridge, router, gateway, swicht,… gọi là Internet Internet được biếtđến với tên gọi là Net, đây là mạng máy tính lớn nhất thế giới, nó bao gồmnhiều mạng nhỏ nối với nhau
Cấu trúc tiêu biểu của một internetwork như sau:
Trang 6Các mạng Token-ring 1, Token-ring 2, mạng Ethernet như trên gọi làcác mạng con (Subnet), chúng có khả năng hoạt động độc lập nếu nhưđường liên kết mạng bị hỏng.
Các thiết bị liên kết mạng
Ta có nhiều thiết bị để nối các LAN lại với nhau Vấn đề chọn thiết
bị nào phải xem xét sự khác nhau giữa chúng, nhờ căn cứ vào mô hình OSI
7 lớp Để chọn các thiết bị liên kết mạng LAN, chúng ta phải tuân theo cácquy tắc theo bảng sau:
So sánh các
LAN thành viên Dùngrepeater Dùng brigde Dùngrouter DùngGateway
- Repeater: đây là thiết bị chuyển tiếp để liên kết mạng nhằm
mở rộng mạng, tức tăng năng lượng đường truyền, và hoạt động ở mứcvật lí, tức lớp 1 trong mô hình OSI 7 lớp Điều này khẳng định rằng, haimôi trường truyền của hai mạng liên kết phải giống nhau Về qui môkiến trúc có thể chia repeater thành 2 nhóm chính: repeater kiểu cụcbộ và repeater cho kết nối từ xa, còn gọi là haft repeater hoặc remoterepeater Đối với repeater từ xa, khi cài đặt phải đặt thành từng cặp bởi
vì giữa chúng là một mạng WAN nào đó
Chức năng repeater bao gồm:
+ Tái tạo tín hiệu
Mạng Ethernet
Các thiết bị liên kết mạng Mạng Token-ring 1 Mạng Token-ring 2
Hình 1.3: Cấu trúc Internetwork
Bảng 1.1: Nguyên tắc lựa chọn các thiết bị liên kết mạng
Trang 7+ Cách ly lỗi
+ Cho phép dùng các hỗn hợp cáp Coax, twistpair (STP, UDP) vàcáp quang
+ Hiển thị thông tin trạng thái liên mạng
Tùy thuộc vào kiến trúc mạng cơ sở, các repeater chỉ được thiết kế đểchạy trên kiến trúc đó Ví dụ Ethernet repeater không thể thay thế choToken-ring repeater
- Bridge:Bridge là thiết bị nối mạng LAN có kiến trúc khác nhau
ở lớp vật lý nhưng thông suốt sáu lơp phía trên ( giống nhau) Nhiệmvụ của nó là lọc khung và chuyển khung Tương tự như repeater, bridgecũng có dạng cục bộ và dạng xa Đối với remote bridge, thiết bị tổchức thành một cặp name ở hai đầu đường truyền
+ Local bridge: là bridge nối hai mạng LAN đồng nhất với nhautheo kiểu trực tiếp với khoảng cách tương đối ngắn khoảng vài chụcmet
+ Remote bridge: là bridge dùng để nối hai LAN xa nhau thông quaphương tiện kết nối viễn thông Thông thường các bridge loại này cómột cổng giao tiếp mạng LAN và vài cổng giao tiếp với mạng WAN( mạng X.25, ISDN, Frame relay,…)
Remote bridge được dùng phổ biến hơn so với local bridge bởi khảnăng mở rộng khoảng cách lớn
- Router: Router là thiết bị kết nối các mạng LAN khác nhau ở
các lớp 1,2 và hoạt động tại lớp 3 trong mô hình OSI-7 lớp Hầu hếtcác router làm việc với các giao thức không kết nối như IP, IPX,CLNP,…
Router cung cấp 3 dịch vụ cơ bản: truyền dữ liệu không kết nối, tìm địachỉ các máy host và định lộ trình cho các khung thông tin; làm chongười sử dụng đầu cuối có cảm giác toàn internet là thông suốt
Về mặt cấu trúc, router cũng có hai dạng: local router và remoterouter, còn được gọi là cặp half-router
Local router cung cấp các giao tiếp mạng cục bộ như Ethernet, ring, FDDI,… trong khi các remote router thì cung cấp các giao tiếpWAN như V.35, X.21/X.21 bis, X.25, Frame Relay…
Token Gateway: đây là một thiết bị được sử dụng để kết nối giữa các mạng
sử dụng các giao thức khác nhau Chẳng hạn như việc kết nối giữamạng IP và PSTN
5 Mô hình OSI
Trang 8Khi nhu cầu trao đổi thông tin ngày càng tăng, đòi hỏi phải liên kếtcác mạng với nhau thành một mạng lớn Mỗi mạng nhỏ sẽ có cấu trúc vàgiao thức riêng Muốn các mạng tương thích với nhau cần phải đưa ra mộtchuẩn chung cho tất cả các mạng Tổ chức tiêu chuẩn hóa quốc tế ISO(International Organization for Standardization) đã đưa ra mô hình mạng gọilà mô hình tham chiếu cho việc kết nối các hệ thống mở OSI ( OpenSystems Interconnection).
Mô hình OSI có cấu trúc gồm 7 lớp, cóthể được mô tả như hình vẽsau:
- Lớp vật lý: điều khiển sự truyền tải các bit dữ liệu trên phương tiện
truyền dẫn trong mạng như cáp truyền dẫn, sóng điện từ,…
- Lớp liên kết dữ liệu: nó chuyển tải các khung dữ liệu lấy từ lớp
mạng vào các phương tiện truyền dẫn vật lý Có nhiệm vụ cung cấpmột tuyến truyền dẫn không lỗi cho các khung dữ liệu nhận được từlớp mạng giữa các máy tính trong mạng thông qua lớp vật lý
- Lớp mạng: có nhiệm vụ gán địa chỉ cho các bản tin và chuyển đổi
địa chỉ logic hay các tên thành các địa chỉ vật lý Lớp này chỉ ra dữliệu từ nguồn tới đích sẽ đi theo tuyến nào trên cơ sở các điều kiệncủa mạng, độ ưu tiên dịch vụ và các nhân tố khác
- Lớp truyền tải: đảm bảo rằng các bản tin là không có lỗi, không bị
lặp, và đúng thứ tự Nó có nhiệm vụ đóng gói các bản tin, phân táchcác bản tin dài thành các bản tin ngắn và tổ hợp các bản tin ngắn đểcung cấp sự truyền dẫn hiệu quả trong mạng
- Lớp phiên: cho phép các ứng dụng trên các máy tính khác nhau có
thể thiết lập, duy trì, hủy bỏ kết nối hay còn gọi là phiên làm làm
Tiến trình ứng dụng
Phiên
Vật lýLiên kết dữ liệuMạngTruyền tải
Trình bàyƯùng dụngTiến trình ứng dụng
Phiên
Vật lýLiên kết dữ liệu
MạngTruyền tải
Trình bàyƯùng dụng
PDNP
DN
Môi trường truyền dẫn
Hình 1.4: Mô hình OSI
Trang 9việc Lớp này có nhiệm vụ nhận dạng tên và thủ tục cần thiết, cũngnhư là các tác vụ bảo mật, để hai ứng dụng có thể giao tiếp với nhautrên mạng.
- Lớp trình bày: xác định dạng được dùng để trao đổi dữ liệu giữa các
máy tính trong mạng Ơû lớp này có một trình tiện ích gọi là tái địnhhướng ( redirector) hoạt động, có tác dụng định hướng lại các hoạtđộng vào ra tới các tài nguyên bên ngoài của máy tính đó
- Lớp ứng dụng: cung cấp các trình ứng dụng để truy nhập vào dịch vụ
mạng
Trong mô hình OSI thì chức năng của mỗi lớp là cung cấp dịch vụ cholớp cao hơn và che dấu đi quá trình xử lý ở các lớp thấp hơn Thực tế sự giaotiếp thông tin xảy ra ở giữa các lớp liền kề nhau trong một máy tính, chỉ cólớp thấp nhất trong mô hình mạng là có thể chuyển thông tin của nó trựctiếp đến lớp cùng mức với nó ở máy tính khác Dữ liệu từ máy gởi sẽ đi quatất cả các lớp thấp hơn, rồi truyền qua cáp mạng tới máy nhận, chuyển lêncác lớp cao hơn đến khi tới được lớp cùng mức với bên gởi
6 Các dịch vụ trên mạng
Dịch vụ thư điện tử
Đây là một trong những dịch vụ thông tin phổ biến nhất trên Internet.Dịch vụ này không phải dạng end-to-end ( bên gởi và bên nhận không phảiliên kết với nhau) mà là dịch vụ kiểu lưu và chuyển tiếp E-mail đượcchuyển từ máy này sang máy khác cho tới máy đích giống như trong hệthống bưu chính thông thường
Mỗi user kết nối với một e-mail server Sau khi soạn thảo xong, thưsẽ được gởi đến e-mail server để chuyển đến e-mail server của người nhậnvà được lưu tại đó Đến khi người nhận thiết lập một liên kết đến e-mailserver của họ thì thư sẽ được chuyển về máy của người nhận
Dịch vụ truyền tiệp (FTP)
Dịch vụ này được đặt tên theo giao thức mà nó sử dụng là FTP (FileTranfer Protocol) FTP cho phép chuyển các tiệp từ một trạm này sang mộttrạm khác bất kể trạm đó ở đâu và sử dụng hệ điều hành gì, chỉ cần chúngđược kết nối với Internet và có cài đặt FTP
Dịch vụ Web
Trang 10Web là một dịch vụ thông tin hấp dẫn nhất trên Internet Nó dựa trênmột kỹ thuật biểu diễn thông tin được gọi là siêu “văn bản”(hypertext),trong đó các từ trong văn bản có thể được mở rộng bất kỳ lúc nào để cungcấp các thông tin đầy đủ hơn về từ đó Sự mở rộng ở đây được biểu hiểutheo nghĩa là chúng có liên kết với các tài liệu khác có chứa thông tin bổsung Web sử dụng một ngôn ngữ có tên là HTML(Hypertext MarkupLanguage) vì HTML cho phép đọc và liên kết các kiểu dữ liệu khác nhautrên cùng một trang thông tin để thực hiện việc truy nhập, liên kết đến cáctài nguyên thông tin khác nhau theo kỹ thuật siêu văn bản Web sử dụngkhái niệm URL(Uniform Resource Locator), đây là một dạng tên để địnhdạng duy nhất cho một tài liệu hoặc một dịch vụ trên Web.
Họat động của Web dựa trên mô hình client-server Tại trạm client,người dùng sử dụng trình duyệt Web để gởi các yêu cầu tìm kiếm tệp tinHTML đến các Web server ở trên mạng Internet nhờ địa chỉ URL Webserver nhận các yêu câu rồi thực hiện và gởi kết quả về cho Web client.Trình duyệt Web có nhiệm vụ biên dịch các tệp tin HTML và hiển thị cáctrang tài liệu được yêu cầu
Dịch vụ đăng nhập từ xa(Telnet)
Dịch vụ Telnet cho phép người sử dụng từ một trạm làm việc củamình có thể đăng nhập vào một trạm ở xa qua mạng và làm việc với hệthống giống như một trạm cuối kết nối trực tiếp với trạm xa đó
Trang 11Chương 2
GIAO THỨC TCP/IP
1 Họ giao thức TCP/IP
TCP/IP là họ giao thức cung cấp các phương tiện liên kết các mạngnhỏ với nhau để tạo thành mạng lớn hơn
Sự tương ứng giữa các tầng dịch vụ của TCP/IP và mô hình OSI đượcmô tả bằng hình vẽ:
2 Phân tích các lớp TCP/IP
Lớp liên kết
Lớp này không phải là thành phần của TCP/IP, mà nó chỉ được địnhnghĩa lại cho phù hợp với kiến trúc riêng, tức nó thừa kế toàn bộ định nghĩacủa 2 lớp vật lý và liên kết dữ liệu từ kiến trúc OSI-7 Nó bao gồm các kiếntrúc mạng cơ sở như các LAN thường gặp như Ethernet, Token-ring, FDDI,ARCnet, ISDN,… và các WAN phổ biến như X.25, Frame relay, ISDN, …
TCP/IP có thể chạy song song, độc lập với các protocol khác trêncùng một interface hay thiết bị mạng cơ sở
Lớp mạng
Lớp ứng dụng Lớp trình bày Lớp phiên Lớp truyền tảiLớp mạng
Lớp liên kết Lớp vật lý
SMTPFPT
Trang 12Lớp này còn có tên là lớp IP, vì giao thức IP được cài đặt tại lớp này,có nhiệm vụ tìm đường để chuyển các gói dữ liệu đến các host trên mạng.Nó chỉ đảm nhận việc xác định interface nào để truyền gói tới đó, còn việcđưa tín hiệu vào môi trường truyền là do lớp liên kết đảm nhận Vấn đềquan trọng là phải cho IP “nhận mặt” các interface bằng cách gán địa chỉ IPcho interface đó.
IP làm việc theo kiểu không kết nối tương tự dịch vụ X.25 Dữ liệutại lớp này được gọi là IP-datagram Lớp IP chỉ cần phân tích địa chỉ IP đểxác định xem cần chuyển datagrm đến interface nào mà không cần quantâm xem gói dữ liệu đó là do process nào gởi tới process nào Cũng nhưkhông cần biết datagram đó phục vụ cho dịch vụ nào trên mạng
IP là giao thức nền tảng của bộ TCP/IP Nó gồm 2 loại là ISO-IP vàInternet-IP Internet-IP còn gọi tắt là IP là giao thức không kết nối, có khảnăng chia nhỏ và tái hợp các khung Ethernet, nó gồm 2 phần IP-header vàIP-data được mô tả bằng hình vẽ:
Lớp truyền dẫn
Lớp này cung cấp dịch vụ truyền thông application-to-aplication giữahai chương trình đang chạy gồm một client-aplication và một server-aplication Hai chương trình có thể hoạt động trên một hoặc hai máy tính.Lớp này định nghĩa hai protocol hoạt động độc lập nhau, đó là TCP và UDP.Trong đó TCP là protocol loại hướng kết nối còn UDP hoạt động theo cơchế không kết nối
a) IP-datagram trong Ethernet frame b) IP-datagram trong IEEE-802.3frame
Hình 2.2: IP Datagram
Trang 13Lớp này có nhiệm vụ cung cấp các dịch vụ liên laic program nhằm hỗ trợ lập trình, phát triển các ứng dụng mà chúng ta thườngthấy FTP, DNS, Telnet,…
program-to-3 Các giao thức lớp IP
ICMP ( giao thức bản tin điều khiển liên mạng)
Bản thân ICMP không tự đi, không tự định tuyến được trên mạng mànó thường được tải trong các IP-datagram để thông báo đi Ngược lại, IP thìkhông có báo phát, nó phải nhờ ICMP để thông báo việc truyền các tin cóchính xác không ICMP được sử dụng để gởi các thông báo lỗi và điềukhiển
Cấu trúc bản tin ICMP
- Type: chỉ ra các chức năng của IP Chẳng hạn như:
Type=0: trả lời cho một lời yêu cầu
=8: yêu cầu trả lời
=3: thông báo không thể đến đích
=4: thông báo nghẽn mạch bộ định tuyến
=5: thông báo đổi hướng định tuyến
=9: quảng bá thông tin định tuyến
=10: yêu cầu quảng bá thông tin định tuyến tức thì
=11: thông báo TTL=0 hoặc heat thời gian tái hợp
=12: báo hướng 1 datagram
=13: yêu cầu cung cấp thời gian trong ngày
=14: đáp ứng cung cấp thời gian trong ngày
ICMP -DataICMP-header
IP-data
Type Code ChecksumKhông sử dụng hoặc tham sốIP-header và 64 bit đầu của IP-data bị lỗi
IP-headerIP-Data
Hình 2.3: Cấu trúc bản tin ICMP
Trang 14=15: yêu cầu cung cấp thông tin
=16: đáp ứng cung cấp thông tin
=17: yêu cầu cung cấp mặt nạ địa chỉ con
=18: đáp ứng cung cấp mặt nạ địa chỉ con
- Code: nếu không sử dụng thì Code=0, nếu có thì nó giải thíchthêm về type Ví dụ như khi type=3 thì code sẽ giải thích lý dotại sao không tới đích được
Chức năng ICMP
- Kiểm tra khả năng đến một đích
- Thông báo không tới đích được: có thể do những nguyên nhânnhư: không tìm thấy mạng, không tìm thấy host khi gởi địa chỉ
IP, không tìm giao thức khi đãcó host và mạng, hoặc không tìmứng dụng
Lúc này Type=3 và Code=1 đến 12, mô tả tình trạng không thểđến đích được Ví dụ như:
Code=0: không đến đích do không thể tới mạng được
=1: không đến đích được do hỏng bộ định tuyến mạngcon
- Thông báo nghẽn mạch và điều khiển luồng: khi có hiện tượngnghẽn mạch thì nó sẽ tự gia giảm cường độ phát, tuy nhiênkhông có thông báo hết nghẽn nên host chỉ giảm dần cường độphát, nếu vẫn còn thông báo nghẽn và nó tiếp tục giảm và tăngdần khi không có thông báo nghẽn Lúc này, Type=0 vàCode=0
Cụ thể: bản tin ICMP gởi đến từng router bị tràn, host nguồngiảm dần tần suất IP-datagram xuống cho đến khi không cònthông báo nghẽn, sau đó tự động gởi lại, tăng dần tần suất chođến mức cực đại mà không nhận bản tin báo nghẽn
- Yêu cầu đổi hướng định tuyến: khi 1 router phát hiện hướngđang sử dụng cho host A gởi sang host B thông qua nó khôngđúng hướng, nó sẽ gởi về host A bản tin ICMP bao host này cầnthay đổi định tuyến Lúc này, Type=5 và Code=0 đến 3
Nếu Code=0: định tuyến cho mạng không đúng hướng
=1: đổi hướng cho host
=2: đổi hướng cho mạng và dịch vụ
=3: đổi hướng cho host và dịch vụ
- Thông báo TTL=0 hoặc hết thời gian tái hợp:
Trang 15+ TTL=0 được thông báo tại router có thể do đường định tuyếnquá dài hoặc xảy ra hiện tượng mạch vòng Lúc này, Type=11và Code=0.
+ Hết thời gian tái hợp: sau khi phân mảnh và truyền đến đích,
1 trong những đường định tuyến sai, nó sẽ gởi thông báo hỏngvà không thể tái hợp được Thông báo này xảy ra tại host vì tạirouter không có chức năng tái hợp, nó chỉ định tuyến và chocác bản tin qua nó
- Thông báo lỗi khác: nó không có chức năng kiểm tra lỗi chophần Data mà chỉ kiểm tra lỗi cho phần Header Lúc nàyType=12, Code nằm ở một số giá trị khác
- Yêu cầu đáp ứng thời gian: dùng để cung cấp thời gian cho cáchost trên mạng Giá trị Type=13(yêu cầu đáp ứng thời gian)hoặc 14( đáp ứng yêu cầu đáp ứng thời gian) và Code=0
- Yêu cầu cung cấp mặt nạ: host tham khảo các mặt nạ con từcác router Type=17(yêu cầu cung cấp mặt nạ con) hoặc 18(đápứng yêu cầu cung cấp mặt nạ con) từ router và giá trị Code=0
ARP ( Address Resolution Protocol)
ARP được dùng để phân giải hay ánh xạ một địa chỉ IP đã biết sangđịa chỉ lớp MAC để cho phép hoạt động truyền diễn ra trên môi trường đatruy xuất như Ethernet
Nguyên tắc hoạt động
Để xác định địa chỉ MAC đích cho một datagram, một bảng gọi làARP cache được kiểm tra Nếu địa chỉ không ở trong bảng, ARP gởi mộtthông điệp quảng bá, thông điệp này sẽ được tất cả các nơi trên mạng nhận,để tìm kiếm đích
Tôi cần địa chỉ
của 172.16.3.2
Tôi nghe rõ Đó là tôi Đây là địa chỉ Ethernet của tôi
IP: 172.16.3.2=?
Ethernet:0800.0200.1111IP: 172.16.3.2=?
Trang 16Thuật ngữ “local ARP” được dùng để mô tả việc tìm kiếm một địachỉ khi mà host yêu cầu và host đích chia sẻ cùng đường truyền hay dâydẫn.
Khi sử dụng Ethernet cho đường liên kết dữ liệu, việc tìm ra địa chỉvật lý từ địa chỉ IP tương đối phức tạp do địa chỉ vật lý là 48 bit, được lưutrên ROM (NIC), còn địa chỉ IP là 32 bit (kể cả địa host ID) được định bằngphần mềm Một host muốn chuyển dữ liệu cho host khác trên cùng mộtmạng cần biết được địa chỉ vật lý của host đích trong khi gói dữ liệu IP chỉcó địa chỉ IP của host đích, vì vậy cần tìm ra địa chỉ vật lý tương ứng với địachỉ IP này
Ví dụ, host A muốn chuyển dữ liệu tới host D theo hình vẽ:
Nếu A chưa biết địa chỉ vật lý của D thì nó sẽ tiến hành phát quảngbá trên mạng gói ARP với nội dung:
Quảng bá
Đưa địa chỉ IP: 203.162.167.4 ( để hỏi xem địa chỉ MAC là gì)
Khẳng định IP(A): 203.162.167.1
MAC(A): 0800.0020.1111Thông tin quảng bá được gởi đến tất cả các host trên mạng Khi Dnhận được thông tin quảng bá này thì nó sẽ trả lời với nội dung:
Hình 2.4: Hoạt động của ARP
Hình 2.5: Truyền dữ liệu từ A đến D
Trang 17Để tránh trường hợp bản tin ARP phát liên tục trên mạng mỗi khi cầntruyền các gói tin, thì các host trên mạng sử dụng vùng nhớ RAM làm vùngnhớ tạm, tại đây sẽ lưu trữ các cặp địa chỉ MAC-IP mà nó đã biết thông quabản tin ARP Sau đó host nào cần gởi bản tin mà cặp địa chỉ host đích vẫncòn lưu trữ trong bộ nhớ tạm, nó gởi ngay không cần phát quảng bá bản tinARP Chỉ khi nào trong vùng nhớ tạm không tìm thấy thông tin địa chỉ hostcần gởi thì nó mới phát quảng bá bản tin ARP để tìm.
RARP ( Reverse Address Resolution Protocol)
Lúc hệ thống khởi động, một máy tính mà không có bộ lưu trữ cốđịnh ( đĩa cứng, CD-ROM) phải liên lạc với máy chủ để tìm địa chỉ IP củanó trước khi nó có thể sử dụng TCP/IP để thông tin liên lạc Giao thứcRARP dùng để tìm địa chỉ IP từ MAC của host khi bản thân nó không có bộlưu trữ cố định để lưu trữ địa chỉ IP hoặc nếu có bộ nhớ nhưng không dùngđến
Nguyên tắc hoạt động
Khi một host A nào đó không có cơ chế lưu trữ địa chỉ IP, mỗi lầnkhởi động máy, host A sẽ sử dụng giao thức RARP để hỏi và tìm địa chỉ IPcủa nó Trong trường hợp này, trên mạng có một host B nào đó được chỉ
HeaderKiểu phần cứngKiểu giao thứcĐộ dài địa chỉ MACĐộ dài địa chỉ IPCodeĐịa chỉ MAC nguồnĐịa chỉ IP nguồnĐịa chỉ MAC đíchĐịa chỉ IP đích
Trang 18định mang chức năng lưu trữ toàn bộ các cặp địa chỉ MAC-IP của các hosttrên mạng Khi host A cần tìm địạ chỉ IP của nó thì nó sẽ quảng bá một bảntin RARP lên mạng Khi host B nhận được bản tin quảng bá này của host Athì nó sẽ trả lời cho host A cũng bằng 1 bản tin RARP trong đó có mangthông tin địa chỉ của host A.
Bản tin RARP cũng có cấu trúc tương tự như cấu trúc bản tin ARP:
4 Định tuyến trong mạng IP
Như ta đã biết, IP tạo ra mạng ảo bao gồm nhiều mạng vật lí và cungcấp dịch vụ phát chuyển các datagram thông qua các mạng vật lí này Vớisố lượng lớn các mạng như thế thì việc phát các gói tin sao cho nó đến được
Địa chỉ IP của
tôi là gì?
Tôi nghe rõ Địa chỉ IP của bạn là
172.16.3.25
Ethernet:0800.0200.1111IP: 172.16.3.25
Ethernet:0800.0020.1111 IP=?
HeaderKiểu phần cứngKiểu giao thứcĐộ dài địa chỉ MACĐộ dài địa chỉ IPCodeĐịa chỉ MAC nguồnĐịa chỉ IP nguồnĐịa chỉ MAC đíchĐịa chỉ IP đích
Hình 2.7: Hoạt động của RARP
Hình 2.8: Cấu trúc bản tin RARP
Trang 19đích là một điều rất cần thiết Do yêu cầu này mà trong mạng IP có quátrình định tuyến Định tuyến là quá trình xử lí địa chỉ đích đến của mỗidatagram để tìm ra con đường đi đến đích của mỗi datagram Việc địnhtuyến là một công việc khó khăn, đặc biệt là giữa các máy tính có nhiềuliên kết vật lí
Lớp mạng thực hiện chức năng phân phối gói từ đầu cuối đến đầucuối theo lối tổng lực xuyên qua liên mạng Lớp mạng dùng bảng địnhtuyến IP để gởi các gói tin từ mạng nguồn đến mạng đích Sau khi routerxác định đường dẫn sẽ dùng, nó xử lý chuyển tiếp các gói Một cách lítưởng, phần mềm định tuyến sẽ xem xét mức độ giao thông trên mạng, độdài của datagram hay kiểu dịch vụ đươc xác định trong phần mào đầu của IPđể chọn ra con đường đi tới đích tốt nhất Tuy nhiên, hầu hết phần mềmđịnh tuyến Internet là phức tạp, và chọn kênh dựa trên những giả thiết cốđịnh và những con đường ngắn nhất
Ngoài các router có chức năng định tuyến, trên mạng còn có các máycó chức năng tự định tuyến gọi là các multi-homed Các máy này được nốitrực tiếp với nhiều mạng vật lý khác Tuy nhiên các nhà khai thác cho rằngđó không phải là 1 ý tưởng hay nên số lượng máy này rất ít khi được sửdụng để định tuyến
Tóm lại, quá trình định tuyến một gói tin là rất phức tạp, không đơngiản như là phát chuyển một gói tin từ điểm này đến điểm khác trên mộtđường thẳng Vấn đề định tuyến một gói dữ liệu phải nhờ vào các thuật toánđịnh tuyến, bảng định tuyến để tìm ra một tuyến tốt nhất trong tất cả cáctuyến có thể đến được đích
Quá trình chuyển datagram đến đích
Quá trình này có thể được chia thành 2 dạng: chuyển trực tiếp vàchuyển gián tiếp
Chuyển trực tiếp
Một host trên mạng có thể gởi một frame vật lí trực tiêùp đến một hostkhác trên mạng Để truyền một IP datagram, nơi gởi sẽ đóng gói datagramvào trong frame vật lí, ánh xạ địa chỉ IP đích vào địa chỉ vật lí, và sử dụngphần cứng mạng để gởi nó đi Việc truyền một IP datagram giữa hai máytrên cùng một mạng sẽ không có sự tham gia của bộ định tuyến
Địa chỉ IP gồm 2 phần: phần tiền tố để xác định mạng và phần hậu tốđể xác định máy tính Do đó, máy gởi sẽ trích 1 phần mạng của địa chỉ IPđích và so sánh với phần mạng trong địa chỉ IP của nó, nếu giống nhau thìmáy gởi và máy nhận cùng nằm trong một mạng, khi đó datagram có thể
Trang 20chuyển đi trực tiếp Còn nếu không, nó sẽ được chuyển tới các bộ địnhtuyến để phát các datagram đến các mạng khác Từ góc độ Internet, có thểxem việc phát chuyển trực tiếp là bước cuối cùng trong việc phát chuyểnbất kỳ một datagram nào, ngay cả khi datagram di chuyển qua nhiều mạngvà các bộ định tuyến trung gian Bộ định tuyến cuối cùng trên con đườnggiữa nguồn và đích của một datagram sẽ được nối trực tiếp vào cùng mạngvật lý như máy đích Như vậy, bộ định tuyến cuối cùng sẽ thực hiện việcphát chuyển datagram theo cơ chế trực tiếp Ta có thể coi việc phát chuyểntrực tiếp từ nguồn tới đích không qua bộ định tuyến nào là một trường hợpđặc biệt của việc định tuyến vì trong trường hợp này, datagram không phảiqua một bộ định tuyến nào cả.
Chuyển gián tiếp
Phát chuyển gián tiếp tương đối phức tạp hơn so với phát chuyển trựctiếp vì máy gởi phải xác định một bộ định tuyến để gởi datagram đến đó.Sau đó bộ định tuyến này phải chuyển datagram đến đích cuối cùng của nó
Khi một host A muốn gởi tin cho một host B khác trên 2 mạng khácnhau thì nó đóng gói datagram và gởi tới bộ định tuyến gần nhất Việc mộtdatagram có thể đến được một router là do các mạng vật lý được nối vớinhau thông qua bộ định tuyến Khi frame đến được bộ định tuyến, phầnmềm sẽ lấy ra datagram đã đóng gói, và phần mềm IP sẽ chọn bộ địnhtuyến tiếp theo dọc theo con đường đến đích Datagram lại được đặt vàoframe và gởi qua mạng vật lí kế tiếp Để đến bộ định tuyến thứ hai Quátrình tiếp tục cho đến khi nó có thể được phát chuyển trực tiếp
Xử lý datagram tại các bộ định tuyến
Bảng định tuyến ( hay còn gọi là bộ định tuyến IP)
Các bảng này được đặt trên các router để lưu trữ thông tin về các đíchcóthể đến va øcon đường để đi đến được đích đó Vì máy tính và cả routerđều phải chuyển các datagram, nên cả hai đều phải cóbảng định tuyến Bấtcứ khi nào cần đưa ra một quyết định định tuyến thì các phần mềm địnhtuyến phải tham khảo bảng định tuyến IP để quyết định nơi nào chuyển cácdatagram đến Mỗi bảng định tuyến đều lưu trữ thông tin về đích đến củacác gói IP Tuy nhiên, vì số lượng máy tính rất lớn nên bảng định tuyếnkhông có khả năng lưu trữ hết Do đó, ta phải che bớt các thông tin về địachỉ đích đến để giảm thiểu thông tin trong các bảng định tuyến Vấn đề nàyđược giải quyết vì địa chỉ I P gồm 2 phần: phần net và phần host Tất cả cácmáy trên cùng một mạng thì có cùng phần tiền tố Khi đó các bảng định
Trang 21tuyến chỉ cần lưu trữ các thông tin về địa chỉ mạng mà chứa các máy đíchthì cũng có thể chuyển được tới địa chỉ này.
Bảng định tuyến làm cho việc đinh tuyến được hiệu quả và giữ chobộ định tuyến có được kích thước nhỏ Ngoài ra, bảng định tuyến còn giúpcho việc che giấu thông tin, giữ cho các thông tin chi tiết của một máy chỉđược biết trong môi trường cục bộ mà các máy này hoạt đông trong đó
Về cơ bản, mỗi bảng định tuyến bao gồm các cặp (N,R), với N: địachỉ IP của mạng đích, R: địa chỉ bộ định tuyến kế tiếp trên con đường tớimạng N Bộ định tuyến R được gọi là chặng kế, và ý tưởng cho việc sử dụngmột bảng định tuyến để lưu trữ chặng kế cho mỗi đích được gọi là địnhtuyến chặng kế Như vậy bảng định tuyến trong một bộ định tuyến R chỉ xácđịnh một bước kế tiếp trên con đường từ R tới đích, chứ không biết đượctoàn bộ con đường đến đích
Mỗi dòng trong bảng định tuyến trỏ tới một bộ định tuyến mà có thểchuyển trực tiếp datagram đến đó Nghĩa là tất cả các bộ định tuyến đượcliệt kê trong bảng của một router phải nằm trong mạng mà nó nối trực tiếpvào
Quá trình xử lý định tuyến
Để định tuyến, các Router dựa vào bảng định tuyến để định tuyến.Có 2 cách để định tuyến gói tin:
- Liệt kê hết tất cả những trường hợp Có thể dùng 0.0.0.0 đểđại diện tất cả các trường hợp còn lại trong bảng định tuyến
- Chỉ liệt kê các trường hợp chuyển phát trực tiếp, còn cáctrường hợp khác thì dùng quảng bá để biết được tuyến để đi
Ví dụ, ta có mạng:
R1
R5
R4
R2
15.0.0.1
12.0.0.1
13.0.0.1 16.0.0.1 16.0.0.217.0.0.1
19.0.0.1 18.0.0.1
Hình 2.9: Xử lý định tuyến tại R1, R2
Trang 22Khi đó ta có các bảng định tuyến:
Bảng định tuyến R1:
Mạng cầnđến Định tuyếntới địa chỉ15.0.0.0 Trực tiếp13.0.0.0 Trực tiếp16.0.0.0 Trực tiếp12.0.0.0 Trực tiếp0.0.0.0 16.0.0.1
Bảng định tuyến R2:
Mạng cầnđến Định tuyếntới địa chỉ16.0.0.0 Trực tiếp17.0.0.0 Trực tiếp18.0.0.0 Trực tiếp19.0.0.0 Trực tiếp15.0.0.0 16.0.0.213.0.0.0 16.0.0.212.0.0.0 16.0.0.223.0.0.0 18.0.0.125.0.0.0 18.0.0.124.0.0.0 18.0.0.120.0.0.0 19.0.0.122.0.0.0 19.0.0.121.0.0.0 19.0.0.127.0.0.0 19.0.0.10.0.0.0 19.0.0.1
Tương tự đối với các router còn lại thì ta sẽ có bảng định tuyếncụ thể cho từng router
Như minh họa, kích thước bộ định tuyến tùy thuộc vào số lượng củacác mạng trong Internet, nó chỉ được mở rông khi có mạng mới nối vào Tuynhiên kích thước của bảng và nội dung thì độc lập với số lượng máy tính cótrên mỗi mạng
Bảng 2.1: Bảng định tuyến R1
Bảng 2.2: Bảng định tuyến R2
Trang 23Việc định tuyến chỉ dựa trên chỉ số mạng đích cũng có một vàikhuyết điểm Theo như chỉ số mạng thì tất cả các giao dịch đi đến một mạngcho trước sẽ phải đi theo cùng một con đường Kết quả là ngay cả khi tồn tạinhiều con đường, chúng cũng không được sử dụng cùng một lúc Điều nàylàm giảm hiệu quả trong việc sử dụng đường truyền Hơn nữa, tất cả cácloại giao dịch đều tuân theo một con đường mà không cần để ý đến độ trìhoãn hay tốc độ của các mạng vật lí Ngoài ra, vì chỉ có bộ định tuyến cuốicùng trên con đường sẽ liên lạc với máy đích, chỉ nó mới có thể xác địnhđược rằng máy tính này có tồn tại hay có hoạt động hay không Vì thế,chúng sẽ sắp xếp một chương trình để bộ định tuyến có thể gởi báo cáo vềtình trạng hiện tại của máy đích trở về nguồn ban đầu Mặt khác, vì mỗi bộđịnh tuyến thực hiện việc chuyển các datagram một cách độc lập, datagram
đi từ máy A đến máy B có thể đi theo một con đường hoàn toàn khác vớidatagram đi từ máy B đến máy A Ta cần đảm bảo rằng, các bộ định tuyếncùng hợp tác để bảo đảm luôn luôn có được liên lạc 2 chiều
Khi thực hiện tìm router kế tiếp cho một datagram cũng có thể khôngtìm ra được router phù hợp với địa chỉ IP đích trong gói IP Khi đó, routernày phải chuyển datagram đến một router mặc định ( router được chỉ địnhtrước khi lập trình cho các router) Định tuyến mặc định đặc biệt hữu dụngkhi dùng ở một nơi chỉ có một lượng nhỏ các địa chỉ cục bộ và chỉ có mộtrouter được nối vào phần còn lại của Internet Quyết định tuyến bao gồm 2bước: một cho mạng cục bộ, một trỏ tới địa chỉ có môït bộ định tuyến Ngaycả khi nơi này có một vài mạng cục bộ cùng với một mặc định cho các đíchkhác
Việc định tuyến hầu hết là dựa trên các thông tin về mạng trong cácđịa chỉ IP Tuy nhiên các phần mềm IP cũng cho phép việc định tuyến theomáy, việc định tuyến này được xem như một trường hợp đặc biệt Việc địnhtuyến theo máy giúp người quản trị mạng cục bộ có quyền điều kkhiển việcsử dụng mạng, được phép kiểm tra và cóthể được dùng để kiểm soát việctruy xuất cho các mục đích an toàn và bảo mật Khi bắt lỗi các liên kếtmạng cũng như bảng định tuyến, khả năng xác định một con đường cụ thểtới từng máy là đặc biệt hữu dụng
Xử lý phần mào đầu IP tại các bộ định tuyến
Tại các bộ định tuyến, phần mào đầu IP chỉ bị thay đổi giá trịTTL( thời gian sống), còn tất cả các phần còn lại vẫn được giữ nguyên Cácđịa chỉ datagram của nguồn và đích sẽ không bị thay đổi, chúng luôn chứađịa chỉ IP của nguồn ban đầu và địa chỉ IP của đích cuối cùng Khi IP thựchiện giải thuật định tuyến, nó chọn một địa chỉ IP mới, địa chỉ mà datagramsẽ gởi đến trong chặng kế tiếp Tuy nhiên, nếu datagram có thể gởi trực tiếp
Trang 24thì địa chỉ mới sẽ trùng với địa chỉ đích Trên lý thuyết có thể coi như vạây,nhưng trong thực tế, IP không hề lưu trữ địa chỉ IP của trạm kế tiếp mà IPchuyển datagram và địa chỉ trạm kế tiếp đến phần mềm giao tiếp mạng.Phần mềm giao tiếp mạng liên kết địa chỉ IP của trạm kế tiếp với địa chỉ vậtlý, tạo nên một frame với địa chỉ vật lí đó, đặt datagram vào phần dữ liệucủa frame và gởi frame đi Sau khi sử dụng địa chỉ trạm kế tiếp để tìm địachỉ vật lý, phần mềm giao tiếp mạng sẽ hủy bỏ địa chỉ của trạm kế tiếp.
Xử lý datagram khi đến đích
Khi một datagram đi đến một máy, phần mềm giao tiếp mạng chuyểnnó tới module IP để xử lý Nếu địa chỉ đích của datagram giống với địa chỉ
IP của máy này, phần mềm IP sẽ chấp nhận gói này và chuyển nó đến phầnmềm giao thức cấp cao hơn để xử lý tiếp Nếu địa chỉ IP đích không giống,máy tính phải hủy bỏ datagram
Khi một datagram đên một đích thì có 2 trường hợp xảy ra: một là,datagram đã đến được đích cuối cùng của nó, hai là, datagram phải đượcchuyển đến trạm tiếp theo Trường hợp thứ nhất, địa chỉ IP đích củadatagram giống với địa chỉ IP của bộ định tuyến thì phần mềm IP sẽ chuyểndatagram đến giao thức cấp cao hơn để xử lý Nếu ngược lại, địa chỉ IPkhông giống với địa chỉ IP đích thì IP sẽ chuyển nó tới router tiếp theo thôngqua quá trình xử lí định tuyến
Để kiểm tra xem datagram đã đến được đích chưa thì khi nhân đượcmột datagram, máy tính sẽ so sánh địa chỉ IP đích với địa chỉ trong mỗi liênkết mạng của nó Nếu giống nhau thì máy sẽ giữ datagram này lại để xử lý.Tuy nhiên, máy tính cũng nhận những datagram được phát quảng bá trênmạng vật lí nếu địa chỉ IP đích là địa chỉ quảng bá giới hạn hoặc địa chỉquảng bá trực tiếp tới mạng đó Ngoài ra, việc sử dụng các địa chỉ khôngphân lớp, mạng con, và địa chỉ multicast làm cho quá trình nhận biết địa chỉcòn phức tạp hơn Trong bất kì trường hợp nào, nếu địa chỉ không giống vớibất kì địa chỉ nào của máy, IP sẽ giảm bớt giá trị trong trường TTL trongphần mào đầu của datagram, hủy bỏ datatgram nếu giá trị vùng này là zero,hay tính checksum mới và chuyển datagram nếu giá trị trong vùng này khác0
Trang 25Chương 3 GIAO THỨC LIÊN MẠNG IPv4
1 Tổng quan về IPv4
Giao thức IP là giao thức hệ thống mở phổ biến trên thế giới vì giaothức này được dùng để truyền thông qua bất cứ mạng nào được kết nối vớinhau nó phù hợp đối với mạng LAN và cả mạng WAN
IP là giao thức dạng gói dùng để truyền dữ liệu qua các mạng máy tính Nóthực hiện định tuyến các gói tin từ nguồn đến đích Gói dữ liệu IP ( IP-datagram) chính là đơn vị cơ bản di chuyển qua mạng
IP có 2 nhiệm vụ cơ bản là: cung cấp các kết nối, phát nổ lực tối đacác gói qua dữ liệu qua liên mạng và cung cấp việc phân đoạn, ghép lại cácgói dữ liệu để tạo các liên kết dữ liệu với các kích thước đơn vị truyền tảicực đại khác nhau Bởi vì, khi gói dữ liệu IP đi trên liên mạng, nó sẽ thôngqua nhiều mạng mà mỗi mạng sẽ có định hướng gói khác nhau Tóm lại, IPcung cấp các chức năng cần thiết để phát các bản tin từ nguồn đến đích quamột nhóm các mạng kết nối
IP không có cơ cấu để tăng cường độ tin cậy dữ liệu end-to-end, điềukhiển luồng, sắp xếp theo trình tự hoặc các dịch vụ khác trong các giaothức host-to-host Tuy nhiên, IP có thể tận dụng các dịch vụ của các mạngđể cung cấp các loại dịch vụ và chất lượng của dịch vụ đa mạng
IP thực hiện hai chức năng cơ bản: định địa chỉ và phân đoạn Cácmodule liên mạng sử dụng các địa chỉ được mang trong phần mào đầu đểtruyền dẫn các gói dữ liệu đến đích của chúng Việc phân đoạn và nối ghéplại các gói dữ liệu sử dụng các trường trong IP
Các module liên mạng được sử dụng trong mỗi host được đặt trướctrong liên mạng thông tin và trong mỗi bộ định tuyến liên kết các mạng.Những module này chia xẻ các nguyên tắc chung về việc phiên dịch các
Trang 26trường địa chỉ và vấn đề phân đoạn, nối lại các datagram Các module nàycó các thủ tục thực hiện các quyết định định tuyến và các chức năng khác.
IP xử lý mỗi datagram như một thực thể độc lập không liên kết đếnbất kỳ datagram nào khác Vì vậy, không có kết nối hoặc các mạch logic IPsử dụng 4 cơ cấu chính trong việc cung cấp dịch vụ: loại dịch vụ, thời giansống, tổng kiểm tra phần mào đầu, phần tùy chọn
Thời gian sống: Xác định giới hạn thời gian để một datagram được
phép tồn tại trong mạng Giá trị thời gian sống sẽ được thiết lập tạigởi và nó sẽ được giảm đi ở các điểm dọc tuyến nơi mà nó đi qua.Nếu thời gian sống đạt giá trị 0 trước khi đến đích, thì datagram sẽ bịhủy Time-to-live giống như cơ cấu tự hủy
Loại dịch vụ ( Type of Service) : Xác định chất lượng dịch vụ được
yêu cầu Đây là bảng tóm tất các đặc tính được cung cấp cho cácmạng hình thành liên mạng Việc xác định loại dịch vụ được sử dụng
ở bộ định tuyến để chọn lựa các đặc tuyến kế khi thực hiện địnhtuyến cho một gói dữ liệu
Phần tùy chọn ( Options): Cung cấp cho các chức năng điều khiển
cần thiết Nó hữu ích trong một vài trường hợp nhưng không cần thiếtcho hầu hết các truyền thông chung Options tạo timestamp, securityvà việc định tuyến đặc biệt
Tổng kiểm tra phần mào đầu ( Header Checksum): Cung cấp việc
kiểm chứng thông tin trong datagram đã truyền đúng Dữ liệu có thểcó lỗi Nếu header checksum không đúng, thì datagram bị hủy bỏ
2 IP- datagram
2.1 Cấu trúc IP-datagram
Có sự tương đồng lớn giữa một mạng vật lý và một mạng TCP/IPInternet Trên một mạng vật lý, đơn vị truyền dữ liệu là một framebao gồmphần đầu và dữ liệu, với phần đầu cung cấp các thông tin như địa chỉ nguồnvà địa chỉ đích Internet gọi đơn vị truyền dữ liệu của nó là một Internet-datagram, còn được gọi là IP datagram, hoặc đơn giản hơn là datagram
Cũng giống như một frame trong mạng vật lý, một datagram bao gồmhai phần, phần đầu và phần dữ liệu Cũng như một frame, phần đầu củadatagram bao gồm địa chỉ nguồn và địa chỉ đích và một vùng kiểu để xácđịnh nội dung của datagram Dĩ nhiên điểm khác biệt là phần đầu củadatagram bao gồm các địa chỉ IP trong khi phần đầu của frame bao gồm cácđịa chỉ vật lý Dạng tổng quát của datagram được trình bày bằng hình vẽ:
Trang 27Cấu trúc các vùng trong một datagram được mô tả bằng hình vẽ:
Cụ thể từng vùng như sau:
Version: Gồm 4 bit, trường này là phiên bản của giao thức IP đã
dùng đểû tạo gói dữ liệu Nó được dùng để kiểm tra rằng máy gởi,máy nhận, và các bộ định tuyến cùng thống nhất với nhau về địnhdạng của datagram Tất cả phần mềm IP được yêu cầu kiểm tra vùngphiên bản trước khi xử lý một datagram để bảo đảm rằng nó phù hợpvới định dạng mà phần mềm đạng sử dụng Nếu chuẩn thay đổi, máytính sẽ từ chối nhứng datagram có phiên bản khác, để tránh tình trạnghiểu sai nội dung của datagram
IHL ( IP header Length): Gồm 4 bit, cung cấp thông tin về độ dài
phần đầu của gói dữ liệu, được tính theo các từ 32 bit
Type of Service: Gồm 8 bit, dùng để xác định cách mà datagram
được xử lý trong suốt quá trình truyền dữ liệu qua mạng Ta chỉ xemxét nó như là một hướng dẫn cho thuật giải định tuyến để giúp nóchọn trong số các con đường dẫn tới đích dựa vào chính sách địaphương và kiến thức của nó về các kỹ thuật phần cứng dọc theo các
Datagram header Vùng Datagram-data
Identification Flags Fragment Offset
Source AddressDestination AddressOptions + Padding
Data
…
Hình 3.1: Dạng tổng quát của IP datagram
Hình 3.2: cấu trúc các vùng trong Datagram
Trang 28con đường này Một mạng không đảm bảo cung cấp bất kỳ kiểu dịchvụ cụ thể.
Total Length: Gồm 16 bit, xác định chiều dài tổng của datagram,
bao gồm IP-Header và Data Do kích thước của trường này là 16 bitnên kích thước tối đa của một IP-datagram là 216 hay 65.535 octet
Identification: Gồm 16 bit, chứa một số nguyên duy nhất xác định
datagram Mục đích của nó là để máy đích biết các phân đoạn đếnthuộc dataagram nào khi thực hiện ghép chúng lại Giá trị này sẽđược tăng lên mỗi khi có một datagram mới được tạo ra và được gáncho vùng identification của dataagram mới này
Flags: Gồm 3 bit để điều khiển việc phân đoạn có cấu trúc như sau:
Bit 0: chưa được sử dụng, luôn có giá trị 0
DF: dài một bit, nếu có giá trị 1 thì datagram đó không đượcphép chia nhỏ
MF: dài 1 bit, nếu MF=1, điều này có nghĩa là còn có gói nhỏ saunó trong thao tác phân mảnh datagram, ngước lại MF=0 nghĩa là góicuối cùng trong một loạt các gói nhỏ được phân mảnh từ mộtdatagram
Fragment Offset: Gồm 13 bit, xác định vị trí tương đối trong
datagram ban đầu của dữ liệu được truyền tải trong phân đoạn, đượctính theo đơn vị 8 octet bắt đầu từ zero
Time-to-Live: Gồm 8 bit, xác định thời gian lớn nhất mà một
datagram được phép tồn tại trên hệ thống liên mạng Khi giá trị nàylà 0 thì gói dữ liệu sẽ bị hủy Thời gian sống được đo bằng đơn vịgiây Mỗi gói dữ liệu đi qua một thực thể thì giá trị này sẽ bị giảm đi1
Protocol: Protocol gồm 8 bit, xác định giao thức lớp trên nào được sử
dụng để tạo thông điệp truyền tải trong vùng data của gói dữ liệu
Header Checksum: Gồm 16 bit, đảm bảo sự toàn vẹn của các giá trị
trong phần đầu Trường này được hình thành bằng cách xem phầnđầu như một chuỗi các số nguyên 16 bit, cộng chúng lại bằng thuậttoán số học phần bù của 1 và rồi lấy phần bù của 1 làm kết quả Vớimục đích để tính Cheksum, vùng Header Checksum được giả định cógiá trị zero Việc tính Cheksum cho phần đầu có ưu điểm là giảm bớtthời gian xử lý tại bộ định tuyến, đồng thời cho phép cấp cao hơn
Trang 29được chọn mô hình Checksum cho riêng nó cho vùng datagram vìphần đầu thường chiếm ít octet hơn phần dữ liệu Tuy nhiên, điều nàylàm các giao thức lớp cao hơn bị buộc phải thêm Checksum của riêngnó hoặc nguy cơ không nhận ra được dữ liệu bị sai lệch.
Source Address: Gồm 32 bit, chứa địa chỉ 32 bit của nơi gởi gói dữ
liệu
Destination Address: Gồm 32 bit, chứa địa chỉ của nới nhận gói dữ
liệu
Option: Trường này có thể có hoặc không trong gói dữ liệu Các lựa
chọn thêm vào chủ yếu cho việc kiểm tra và bắt lỗi trên mạng
Data: Chứa thông tin của lớp trên.
Như vậy, ta thấy rằng, tất cả các vùng trong phần đầu có độ dài cố địnhngoại trừ vùng Options và vùng Padding tương ứng Phần đầu thông thườngnhất, không có Options và Padding, dài 20 octets và có vùng độ dài phầnđầu bằng 5
2.1 Đóng gói datagram
Không giống như các frame mạng vật lý được nhận diện bởi phầncứng, datagram đòi hỏi được xử lý bằng phần mềm Chúng có thể có độ dàibất kỳ tùy vào chọn lựa của người thiết kế giao thức
Chúng ta biết rằng, khi datagram di chuyển từ máy này sang máykhác, chúng phải luôn luôn được chuyển đi bởi mạng vật lý cơ sở Để choviệc phát chuyển trên internet được hiệu quả, chúng ta nên bảo đảm rằngmỗi datagram được chuyển tải trong một frame vật lý riêng biệt Ý tưởng vềviệc chuyển tải một datagram trong một frame mạng được gọi là sự đónggói Đối với mạng cơ sở, một datagram giống như bất kỳ một thông điệpkhác gởi từ một máy tới máy khác Phần cứng không nhận biết định dạngdatagram, cũng như không biết địa chỉ IP đích Việc đóng gói này có thểđược mô tả bẳng hình vẽ:
Datagram header Datagram Data Area
Frame Data AreaDatagram header
HÌnh 3.3: Đóng gói Datagram
Trang 30Từ hình vẽ, khi một máy gởi một IP-datagram tới máy khác, toàn bộdatagram sẽ được di chuyển trong phần dữ liệu của frame mạng.
2.2 Kích thước datagram và MTU mạng
Trong trường hợp lý tưởng, toàn bộ IP-datagram nằm vừa vặn trongmột frame vật lý, làm cho việc truyền trên mạng vật lý được hiệu quả Đểđạt được hiệu quả này, người thiết kế IP có thể chọn một kích thước tối đacủa datagram sao cho một datagram luôn luôn nằm vừa trong một frame
Mỗi kỹ thuật chuyển gói đặt một chặn trên cố định đối với tổng số dữliệu có thể được truyền trong một frame vật lý Các giới hạn này được gọi làđơn vị truyền tối đa của mạng ( MTU – Max7imum Transfer Unit) Kíchthước của MTU có thể rất nhỏ: một vài kỹ thuật phần cứng giới hạn việctruyền xuống 128 octet, thậm chí còn ít hơn nữa
Việc giới hạn datagram để vừa MTU nhỏ nhất trong Internet làm choviệc truyền không được hiệu quả khi datagram đi qua một mạng mà có thểchuyển tải frame có kích thước lớn hơn Tuy nhiên việc cho phép datagramcó kích thước lớn hơn MTU tối thiểu của mạng trong Internet có nghĩa làmột datagram có thể không luôn luôn vừa với một frame mạng
Tiêu chí của thiết kế Internet là để che dấu kỹ thuật mạng cơ sở vàlàm cho việc thông tin liên lạc được tiện lợi cho người sử dụng Do đó, thay
vì thiết kế các datagram tuân theo các ràng buộc của mạng vật lý, phầnmềm TCP/IP chọn một kích thước khởi đầu và bố trí một cách để chia cácdatagram lớn thành những phần nhỏ hơn khi datagram cần đi qua một mạngmà có MTU nhỏ Những phần nhỏ của một datagram được gọi là fragments,và tiến trình chia một datagram được gọi là phân đoạn Ngược lại, việc tổnghợp các fragments ghép lại với nhau được gọi là tái hợp
3 Địa chỉ trong IPv4
Như chúng ta đã biết, Internet la một mạng máy tính toàn cầu, dohàng nghìn mạng máy tính từ khắp mọi nơi nối lại tạo nên
Khác với cách tổ chức theo các cấp: nội hạt, liên tỉnh, quốc tế của mộtmạng viễn thông như mạng thoại chẳng hạn, mạng Internet tổ chức chỉ cómột cấp, các mạng máy tính dù nhỏ, dù lớn khi nối vào Internet đều bìnhđẳng với nhau do cách tổ chức như vậy nên trên Internet có cấu trúc địa chỉ,cách đánh địa chỉ đặc biệt, trong khi cách đánh địa chỉ đối với mạng viễnthông lại đơn giản hơn nhiều
Đối với mạng viễn thông như mạng thoại chẳng hạn, khách hàng ởcác vùng khác nhau hoàn toàn có thể có cùng số điện thoại, phân biệt với
Trang 31nhau bằng mã vùng, mã tỉnh hay mã quốc tế Đối với mạng Internet, docách tổ chức chỉ có một cấp nên một khách hàng hay một máy chủ hoặc mộtRouter đều có một địa chỉ Internet duy nhất mà không được phép trùng vớibất kì ai Do vậy mà địa chỉ trên Internet thực sự là một tài nguyên.
Hàng chục máy chủ trên hàng trăm nghìn mạng Để địa chỉ khôngđược trùng nhau cần phải có cấu trúc địa chỉ đặc biệt quản lý thống nhất vàmột Tổ chức của Internet gọi là Trung tâm thông tin mạng Internet ( NIC)chủ trì phân phối ( Trong thực tế để có thể định tuyến trên mạng Internetngoài địa chỉ IP còn cần đến tên riêng của các máy chủ)
3.1 Cấu trúc địa chỉ IPv4
3.1.1 Các thành phần của địa chỉ IP
Cũng giống như các giao thức lớp mạng khác, địa chỉ IP dùng để địnhtuyến cho các IP datagram đi đến đích mong muốn Mỗi host trên mạngTCP/IP được ấn định một địa chỉ IP 32 bit duy nhất Địa chỉ IP bao gồm có 3phần chính
- Bit nhận dạng lớp ( Class bit): để phân biệt đây là địa chỉ lớp nào
- Chỉ số mạng ( Net ID): dùng để nhận dạng các mạng Phần này dotrung tâm liên mạng phân phối nếu đây là một mạng thành viên củaInternet
- Chỉ số host ( Host ID): dùng để nhận dạng host Phần này được ấnđịnh bởi nhà quản lý mạng địa phương
3.1.2 Khuôn dạng địa chỉ IP
Địa chỉ được phân thành 4 nhóm, mỗi nhóm 8 bit gọi là một octet.Các octet đặt cách nhau bằng một dấu chấm (.) và được thể hiện dưới dạngthập phân Mỗi bit trong octet có một trọng số khác nhau( 128,64,32,16,8,4,2,1)
Giá trị thấp nhất của một octet là 0 ( 8 bit đều có giá trị 0) và giá trịcao nhất của một octet là 255 ( giá trị tất cả các bit là 1) Khuôn dạng cơ bảncủa địa chỉ IP có thể được mô tả bằng hình vẽ:
Hình 3.4: Các thành phần địa chỉ IP
Trang 32Địa chỉ IP thường được biểu diễn dưới dạng thập phân để dễ nhớ Cóphép toán giúp chuyển đổi địa chỉ từ dạng thập phân sang nhị phân vàngược lại Các phép toán đó là trừ dần và cộng dồn.
- Địa chỉ Internet biểu hiện ở dạng nhị phân:
3.2 Mô hình phân lớp
Địa chỉ IP được chia ra thành 5 lớp: A, B, C, D, E hiện tại đã dùnghết lớp A, B và gần hết lớp C cho mục đích thương mại, còn lớp D và E thìTổ chức Internet đang để dành dự trữ cho những mục đích khác không phân,nên chúng ta chỉ nghiên cứu 3 lớp đầu
Trang 33Qua cấu trúc các lớp địa chỉ IP chúng ta thấy rẳng:
- Bit nhận dạng là những bit đầu tiên – của lớp A là 0, lớp B là 10,lớp C là 110, lớp D có 4 bit đầu tiên để nhận dạng là 1110, còn lớp
E có 5 bit đầu tiên để nhận dạng là 11110
- Địa chỉ lớp A: địa chỉ net ít và địa chỉ host trên từng mạng nhiều
1 1Lớp E 1 1 0
Hình 3.6: Mô hình phân lớp của địa chỉ IP
Trang 34- Địa chỉ lớp B: địa chỉ net vừa phải và địa chỉ host trên từng mạngvừa phải.
- Địa chỉ lớp C: địa chỉ net nhiều, địa chỉ host trên từng mạng ít
Trang 35Số máy chủ tối đa trên từng mạng
1677721465534254Không phânKhông phân
Mỗi một lớp địa chỉ có một mặt nạ lớp mạng Mặt nạ này được sử dụngđể tách riêng phân chỉ số mạng và chỉ số host trong mỗi địa chỉ mạng Mặt nạmạng được thiết lập bằng cách gán giá trị 1 cho tất cả các bit nằm trong octetnhận dạng mạng, gán giá trị 0 cho tất cả các bit thuộc octet nhận dạng host
Bảng 3.1: Phân lớp vùng địachỉ lý thuyết
Bảng 3.2: Phân lớp vùng địa chỉ sử dụng
Địa chỉ
lớp
Vùng địa chỉ sử dụng
Bit nhận dạng
Số bit dùng để phân ho mạng
Trang 36Địa chỉ thực tế không phân trong trường hợp tất cả các bit trong một hay nhiềuOctet sử dụng cho địa chỉ mạng hay địa chỉ máy chủ đều bằng 0 hay đều bẳng
1 Điều này đúng cho tất cả các lớp địa chỉ
Cụ thể từng lớp như sau:
3.2.1 Lớp A
Khi đếm số bit chúng ta đếm từ trái qua phải, nhưng khi tính giá trị thậpphân 2n của bit lại tính từ phải qua trái, bắt đầu từ bit 0 Octet thứ nhất dành chođịa chỉ mạng, 7 bit còn lại từ bit 0 đến bit 6 dành cho địa chỉ mạng ( 27) = 128.Nhưng trên thực tế địa chỉ khi tất cả các bit bằng 0 hoặc bằng 1 đều khôngphân cho mạng Khi giá trị các bit đều bẳng 0, giá trị thập phân 0 là không cónghĩa, còn địa chỉ là 127 khi các bit đều bằng 1 dùng để thông báo nội bộ, nêntrên thực tế còn lại 126 mạng Như vậy, khả năng phân địa chỉ của lớp A cho
3.2.2 Lớp B
Hai Octet đầu tiên được phân cho địa chỉ mạng, trong đó 2 bit đầu ( kể từtrái sang) có giá trị lần lượt là 1 và 0 dùng để nhận dạng địa chỉ lớp B như vậycòn lại 14 bit để cho phần địa chỉ mạng Tương tự như ở lớp A, các bit đều bằng
0 và đều bằng 1 được bỏ ra, nên thực tế giá trị thập phân chỉ từ 1 đến 16.382nghĩa là phân được cho 16.382 mạng
Octet 3 và octet 4 gồm 16 bit để dành cho địa chỉ của các máy chủ trêntừng mạng Trừ đi địa chỉ của các bit bằng 0 và bằng 1 thì khả năng thực tế cònlại 65.534 địa chỉ để phân cho các máy chủ trên một mạng
Tóm lại, địa chỉ lớp B được dùng cho các mạng trung bình, địa chỉ lớpnày có thể phân cho 16.382 mạng và mỗi mạng có đến 65.534 host Nói cáchkhác, địa chỉ phân trong thực tế sẽ là từ 128.001.000 đến 191.254.255.254
3.2.3 Lớp C
Trang 3721 bit còn lại của 3 Octet đầu dành cho địa chỉ mạng Khả năng phân địachỉ cho mạng ở lớp C là 2.097.150 ( = 221-2) và khả năng cho máy chủ trên từngmạng của địa chỉ lớp C là254 ( =28 –2)
Người ta thường dùng địa chỉ lớp C cho các mạng nhỏ Địa chỉ lớp C cóthể phân cho 2.097.150 mạng và mỗi một mạng có 254 máy chủ Nói cáchkhác sẽ là từ 192.000.001.001 đến 223.255.254.254
3.3 Mặt nạ mạng con
Nhằm tăng số máy trong một mạng đơn, việc phân chia mạng đã đượcđưa ra Việc phân chia mạng cho phép chỉ số nhận dạng một mạng đơn chia rathành nhiều chỉ số nhận dạng cho các mạng con Mỗi mạng con sẽ có một chỉsố nhận dạng riêng Để phân biệt các chỉ số nhận dạng mạng từ chỉ số nhậndạng máy chủ, mặt nạ mạng được sử dụng Mặt nạ mạng ( subnet Mask) vẫntuân thủ nguyên tắc giống địa chỉ IP và phương pháp phân lớp, có nghĩa là mặtnạ mạng cũng gồm 32 bit chia làm 4 nhóm mô tả phần địa chỉ mạng và phầnđối chiếu địa chỉ host Mặt nạ mạng được thiết lập bằng cách: các bit của Octetvùng mạng sẽ được lập là 1 còn tất cả các bit dùng cho định danh host đượcthiết lập là 0 Do đó, mỗi nhóm số trong 4 nhóm có giá trị lớn nhất là 255 vànhỏ nhất là 0 4 nhóm số này được sắp xếp từ giá trị lớn đến giá trị nhỏ, các giátrị lớn đại diện cho chỉ số nhận dạng của mạng còn giá trị nhỏ nhất đại diệncho chỉ số nhận dạng host
Cấu trúc mặt nạ mạng đơn giản bao gồm các bit 1 và 0:
Các bit mặt nạ mạng xuất phát từ các bit trật tự cao của trường host nhưhình minh họa
Ví dụ với 2 địa chỉ 171.68.3.3 và 171.68.2.3, nếu mặt nạ mạng alf255.255.255.0 thì 24 bit được che Vì vậy, bộ định tuyến sẽ so sánh 3 Octet đầucủa 2 địa chỉ Vì các bit bị che không giống nhau, bộ định tuyến sẽ biết là cácđịa chỉ này thuộc các mạng con khác nhau Nhưng với mặt nạ mạng là255.255.0.0 thì chỉ có 16 bit bị che, bộ định tuyến sẽ chỉ so sánh 2 Octet đầu
Nhị phân 11111111 11111111 11111111 00000000
Hình 3.7: Cấu trúc mặt nạ mạng
Trang 38của địa chỉ Vì các bit bị che giống nhau nên bộ định tuyến sẽ biết được hai địachỉ này thuộc cùng một mạng.
Khi ta không thực hiện chia mạng thì sử dụng mặt nạ mặc đinh Mỗiphân lớp địa chỉ có một mặt nạ mặc định
Do đó, mặt nạ địa chỉ lớp A: 255.0.0.0
Mặt nạ địa chỉ lớp B: 255.255.0.0
Mặt nạ địa chỉ lớp C: 255.255.255.0
Ví dụ: mặt nạ mặc định của địa chỉ lớp B khi không thực hiện phân chia mạng
là 255.255.0.0 và mặt nạ của địa chỉ lớp B là 171.68.0.0 với 8 bit dùng cho việcchia mạng là 255.255.255.0
Mặt nạ mạng được bộ định tuyến dùng để xác định địa chỉ mạng mà góidữ liệu cần chuyển tơi Việc này được thực hiện bằng cách: bộ định tuyến sẽtrích lấy địa chỉ đích IP từ gói dữ liệu gởi tới, sau đó lấy mặt nạ mạng mà nólưu trữ tron bộ nhớ ra thực hiện phép toán “ AND” để lấy ra chỉ số mạng đích
Ví dụ: khi ta có địa chỉ 172.16.10.50 với mặt nạ mạng 255.255.255.0 Muốn tìm
địa chỉ số mạng con, ta chuyển tất cả về số nhị phân để dễ dàng cho việc tínhtoán Sau đó, dùng phép “ AND” để tính Vì dựa vào Octet đầu có thể nhận rađây là địa chỉ lớp B ( giát trị 172 nằm trong khoảng 128 đến 191) nên chỉ cầntính từ Octet thứ 3 Cách tính như sau:
Chuyển kết quả về số thập phân ta có: 10.0 Vậy địa chỉ IP 172.16.10.50là địa chỉ thuộc phân lớp mạng B và máy có địa chỉ này ở mạng con 10
3.4 Địa chỉ mạng con
3.4.1 Nguyên nhân
Như đã nêu trên, địa chỉ Internet chính là một tài nguyên, một mạng khigia nhập Internet được Trung tâm thông tin mạng Internet ( NIC) phân cho mộtsố đị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
0000101011111111
0011001000000000
00001010 00000000
Trang 39lại phải xin NIC thêm, đó là điều không thuận tiện cho các nhà khai thácmạ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ớiyê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ủ, điều này cho thấy trên thực tế có mạng nhỏ chỉ vài chục máychủ thì sẽ lãng phí rất nhiểu địa chỉ còn lại mà không ai dùng được Để khắcphục vấn đề này và tận dụng tối đa địa chỉ được NIC phân, bắt đầu từ năm
1985 người ta nghĩ đến địa chỉ mạng con
Như 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à NIC phân cho, phù hợp với số lượng thực tế máychủ có trên mạng Nó giúp cho các nhà quản lý mạng điều hành được dễ dàng,hiệu quả hơn trong việc sử dụng địa chỉ mạng và nó còn có khả năng chứa lưulượng quảng bá
Các mạng con được quản lý nội bộ trong mạng chính Bên ngoài, cácmạng khác không cần biết chi tiết cấu trúc bên trong của một mạng đơn Cácmạng con này được phân biệt với nhau bên trong mạng chính Vì vậy, địa chỉmạng con chính là địa chỉ mạng chính phân chia ra Từ cấu trúc địa chỉ IP trên
ta thấy, muốn phân biệt các mạng con với nhau đòi hỏi phải có một vùng dànhriêng cho mạng con trong cấu trúc địa chỉ IP Và để đảm bảo ổn định cho việcđịnh danh mạng nên người ta sử dụng các bit có trọng số cao trong vùng hostđể định danh cho các mạng con
3.4.2 Phương pháp phân chia địa chỉ mạng con
Để hiểu rõ hơn về việc phân chia địa chỉ mạng con, người ta đưa ra một sốkhái niêm:
- Default Mask ( giá trị trần địa chỉ mạng): được định nghĩa trước cho từnglớp địa chỉ A, B, C Thực chất là giá trị thập phân cao nhất ( khi tất cả 8bit đều bằng 1) trong các octet dành cho địa chỉ mạng
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): đây là kết hợp củaDefault Mask với giá trị thập phân cao nhất của các bit lấy từ các Octetcủ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 chuẩn để chongười đọc biết địa chỉ mạng tiêu chuẩn này dùng cả cho 254 máy chủ hay chia
Trang 40ra thành các mạng con, mặt khác nó giúp Router trong việc định tuyến cuộcgọ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 ( SubnetMask) mà nhà khai thác mạng quyết định sẽ tạo ra
Việc chia các mạng chính ra thành các mạng con được tiến hành theo các bước:
Bước 1: xác định số mạng con
Bước 2: xác định số host trong một mạng con
Bước 3: chia subnet bằng cách cố định số host hay cố định số subnet
Bước 4: ghi lại các subnet theo các thông tin: số mạng con, phạm vi địa chỉ
IP, địa chỉ quảng bá, địa chỉ mạng
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ổngcông ty do VDC quản lý đang được phân 8 địa chỉ mạng lớp C nên ta sẽ nghiêncứu địa chỉ mạng con ở lớp C Cụ thể:
Địa chỉ lớp C có 3 octet cho địa chỉ mạng và 1 octet cuối cùng cho địachỉ 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 1bit để 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ỉ đượcmột máy, như vậy không logic, ít nhất phải dùng 2 bit để mở rộng địa chỉ và 2bit 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ảngsau: