Lai sadalītu datoru tīklu apakštīklos, ir nepieciešams definēt subnetmasku. Tā dos nepieciešamo daudzumu apakštīklu un hostu (saimnieku) katram apakštīklam. Pēc noklusējuma subnetmaska dod vienu tīkla ID. Ņemot bitus no hostID un pieliekot tos subnetmaskai, iespējams izveidot vairākus apakštīklus. Subnetmaskas veidošanā ir vairāki etapi:
* izlemt, cik apakštīklu šobrīd un nākotnē būs nepieciešams, tad jāpārvērš šis skaitlis binārajā formātā; ja vajag 14 apakštīklus, tad binārā formā tas ir 1110 un ir zināms, ka vajadzēs 4 bitus, ko pievienot noklusētajai subnetmaskai, lai varētu izveidot jaunu subnetmasku. Piemēram, B klases noklusētā IP adrese ir 255.255.0.0. Pievienojot 4 bitus un konvertējot atpakaļ decimālskaitlī, iegūst 240. Pilnā definētā subnetmaska B klases IP adresei ar 14 apakštīkliem tātad ir 255.255.240.0.
* jāizveido jauni subnetID. Jāsāk ar bitu kombināciju izveidi – jāizmanto tik pat daudz bitu, cik tika izmantots subnetmaskas izveidei. Nepieciešamais bitu skaits jākāpina otrajā pakāpē, tādejādi iegūstot visas iespējamās kombinācijas, no kurām jāizmet nederīgās (ar tikai nullēm vai tikai vieniniekiem). Lai iegūtu pareizu subnetID skaitu, jālieto formula ((2^3)-2). Tālāk iegūtie biti jāpārkonvertē uz decimālajiem skaitļiem. Tomēr, ja lieto vairāk kā 4 bitus jaunajai subnetmaskai, tad nepieciešamo bitu kombināciju un pārveidošanas operāciju ir pārāk daudz. Tad jārīkojas šādi:
augošā secībā saraksta bitus, kurus lietos subnetmaskai;
bits ar zemāko vērtību tiek konvertēts decimālskaitlī, kurš attēlo atšķirību starp subnetID;…