Text size
പരീക്ഷിച്ചറിഞ്ഞത്7 മിനിറ്റ് വായന

ഓരോ ഡെവ്ഒപ്സ് എൻജിനീയർമാർക്കും ആവശ്യമുള്ള നെറ്റ്വർക്കിംഗ് അടിസ്ഥാനങ്ങൾ

DNS, TLS, ലോഡ് ബാലൻസർ, സബ്നെറ്റ് എന്നിവയെല്ലാം എനിക്ക് വിശദീകരിച്ചതുപോലെ തന്നെ വിശദീകരിച്ചു.

Networking basics every DevOps engineer needs
AI ഉപയോഗിച്ച് സൃഷ്ടിച്ച ചിത്രീകരണം

ഞാൻ ഡീബഗ് ചെയ്ത ഏറ്റവും പ്രയാസമുള്ള പ്രശ്നങ്ങളെ നോക്കുമ്പോൾ, അതിശയകരമായ ഒരു എണ്ണം നെറ്റ് വർക്കിങ് പ്രശ്നങ്ങളാണ്. "ആപ്ലിക്കേഷൻ വേഗത കുറഞ്ഞതാണ്" എന്ന് പറഞ്ഞപ്പോൾ അത് ഡിഎൻഎസ് ആയി മാറുകയായിരുന്നു. "വിന്യാസം പരാജയപ്പെട്ടു" എന്നത് ഒരു സുരക്ഷാ സംഘം ആണെന്ന് തെളിഞ്ഞു. "കുബർനെറ്റസ് കേടായി" എന്ന് പറഞ്ഞപ്പോൾ അത് ഐ. പി. പരിധികൾ ഒത്തുചേരുന്നതായി കാണുന്നു.

നിങ്ങൾ ഒരു നെറ്റ് വർക്ക് എഞ്ചിനീയർ ആയിരിക്കണമെന്നില്ല DevOps ൽ ജോലി ചെയ്യാൻ. പക്ഷെ ഒരു പാക്കറ്റ് എയിൽ നിന്നും ബിയിലേയ്ക്ക് എങ്ങനെ പോകുന്നു എന്നതിനെ കുറിച്ച് നിങ്ങൾക്ക് ഒരു നല്ല മാനസിക മാതൃക വേണം. തുടക്കത്തിൽ തന്നെ കിട്ടിയിരുന്നെങ്കിൽ എന്ന് ഞാൻ ആഗ്രഹിച്ച പതിപ്പ് ഇതാ.

പ്രധാനപ്പെട്ട പാളികൾ

ഏഴ് പാളികളുള്ള ഒഎസ്ഐ മോഡലിനെ കുറിച്ച് നിങ്ങൾ കേട്ടിരിക്കും. ദൈനംദിന DevOps പ്രവര് ത്തനത്തില് നാല് ആശയങ്ങളാണ് പ്രധാനം:

  • ഐ. പി. (ലെയർ 3): ഓരോ മെഷീനും ഒരു വിലാസം ഉണ്ട്, റൂട്ടറുകളും ഒരു നെറ്റ്വർക്കിൽ നിന്ന് മറ്റൊന്നിലേക്ക് പാക്കറ്റുകൾ എങ്ങനെ എത്തുന്നു എന്ന് തീരുമാനിക്കുന്നു.
  • ടിസിപിയും യുഡിപിയും (ലെയർ 4): TCP വിശ്വസനീയവും ക്രമീകരിച്ചതുമായ കണക്ഷനുകൾ നൽകുന്നു (മിക്ക വെബ് ട്രാഫിക്കും). യുഡിപി എന്നത് തീയും മറക്കലും ആണ് (ഡിഎൻഎസ്, വീഡിയോ, ക്വിക് പോലുള്ള ചില പുതിയ പ്രോട്ടോക്കോളുകൾ). ഒരു മെഷീനിൽ ഏത് ആപ്ലിക്കേഷനാണ് ട്രാഫിക് സ്വീകരിക്കേണ്ടതെന്ന് പോർട്ടുകൾ തിരിച്ചറിയുന്നു.
  • ടി. എൽ. എസ്: ടിസിപിയുടെ മുകളില് എൻക്രിപ്ഷൻ. അതാണ് HTTPS-ൽ "S" എന്ന് എഴുതുന്നത്.
  • HTTP (ലെയർ 7): ഞങ്ങളുടെ മിക്ക സേവനങ്ങളും ഉപയോഗിക്കുന്ന ആപ്ലിക്കേഷൻ പ്രോട്ടോക്കോൾ.

എന്തെങ്കിലും ശരിയായില്ലെങ്കിൽ, ഞാൻ തലങ്ങളിലേക്ക് കയറുന്നു: എനിക്ക് ഐ. പി. യിലേക്ക് എത്താമോ? തുറമുഖം തുറന്നിട്ടുണ്ടോ? ടി. എൽ. എസ്. പ്രവർത്തിക്കുന്നുണ്ടോ? HTTP ശരിയായ പ്രതികരണം നൽകുന്നുണ്ടോ?

ഐ. പി. വിലാസങ്ങളും സബ്നെറ്റുകളും

ഒരു ഐ. പി. വിലാസം 10.0.12.34 ഒരു സബ് നെറ്റ്, എഴുതിയിരിക്കുന്നു സിഐഡിആർ നോട്ടേഷൻ: 10.0.0.0/16 ആദ്യത്തെ 16 ബിറ്റുകൾ ഉള്ള എല്ലാ വിലാസങ്ങളും 10.0" അതായത് 65,536 വിലാസങ്ങൾ.

  • /16: 65,536 വിലാസങ്ങൾ
  • /20: 4,096
  • /24: 256
  • /28: 16

സ്വകാര്യ ശ്രേണികൾ (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) നെറ്റ്വർക്കുകൾക്കുള്ളിൽ ഉപയോഗിക്കുന്നു, ഇന്റർനെറ്റിൽ നിന്ന് നേരിട്ട് എത്തിച്ചേരാനാവില്ല. NAT (നെറ്റ്വർക്ക് വിലാസം പരിഭാഷ) സ്വകാര്യ വിലാസങ്ങളുള്ള മെഷീനുകൾക്ക് ഒരു പൊതു വിലാസം പങ്കിട്ടുകൊണ്ട് ഇന്റർനെറ്റിലേക്ക് പ്രവേശിക്കാൻ അനുവദിക്കുന്നു.

ഞാന് കാണുന്ന ഏറ്റവും സാധാരണമായ തെറ്റ്: ഓവർലാപ്പിംഗ് പരിധികൾ. രണ്ടും വി.പി.സികളാണ് ഉപയോഗിക്കുന്നത്. 10.0.0.0/16 ഒരിക്കലും ബന്ധിപ്പിക്കാനാവില്ല. നിങ്ങളുടെ ഓഫീസ് വിപിഎനുമായി ഒത്തുചേരുന്ന കുബർനെറ്റസ് പോഡും സേവന ശ്രേണികളും നിഗൂഢമായ പരാജയങ്ങൾ ഉണ്ടാക്കുന്നു. ഐ. പി. പരിധികൾ കേന്ദ്രീകരിച്ച്, നേരത്തെ.

ഡിഎൻഎസ്

DNS പേരുകൾ വിവർത്തനം ചെയ്യുന്നു (shop.example.com) വിലാസങ്ങളിലേക്ക് മാറ്റുന്നു. മിക്കവാറും എല്ലാ അഭ്യർത്ഥനകളിലും ഇത് ഉൾപ്പെടുന്നു, അതുകൊണ്ടാണ് "എപ്പോഴും ഡിഎൻഎസ്" എന്നത് ഒരു തമാശയായിരിക്കുന്നത്.

പ്രധാന ആശയങ്ങള്:

  • എ / എഎഎഎ രേഖകൾ: ഐ. പി. വി. 4 / ഐ. പി . വി. 6 വിലാസത്തിന്റെ പേര്.
  • സി. എൻ. എം.: മറ്റൊരു പേരിലേക്ക് ചൂണ്ടിക്കാണിക്കുന്ന ഒരു അപരനാമം.
  • ടിടിഎൽ: ഒരു ഉത്തരം റെസലൂഷന് കാഷെ ചെയ്യുന്നതിന് എത്ര സമയമെടുക്കും. കുറഞ്ഞ ടിടിഎല്ലുകൾ മാറ്റങ്ങൾ വേഗത്തിൽ വരുത്തുന്നു; ഉയർന്ന ടിടിഎൽസ് ലോഡും ഡിഎൻഎസിനെ ആശ്രയിക്കുന്നതും കുറയ്ക്കുന്നു.
  • പരിഹാരങ്ങൾ: നിങ്ങളുടെ പേരുകൾ തിരയുന്ന സെർവറുകൾ. കുബർനെറ്റസിന്റെ ഉള്ളില് , അത് കോര് ഡിഎന് എസ് ആണ്.
dig shop.example.com +short
dig shop.example.com +trace     # follow the lookup from the root servers

IP വഴി പ്രവർത്തിക്കുമ്പോള് , പക്ഷെ പേര് ഉപയോഗിക്കാതെ, അത് DNS ആണ്. ചിലപ്പോൾ അത് പ്രവർത്തിക്കുമ്പോള് , പക്ഷേ എല്ലായ്പ്പോഴും അല്ല, അത് ഡിഎൻഎസും ആയിരിക്കാം.

ടി. എൽ. എസ്. , സർട്ടിഫിക്കറ്റുകൾ

ടി.എൽ.എസ് രണ്ടു കാര്യങ്ങൾ ചെയ്യുന്നു: എൻക്രിപ്റ്റ് ചെയ്യുന്നു ഗതാഗതവും തിരിച്ചറിയൽ തെളിവ്. സെർവർ ഒരു സർട്ടിഫിക്കറ്റ് അവതരിപ്പിക്കുന്നു, ക്ലയന്റ് വിശ്വസിക്കുന്ന ഒരു സർട്ടിഫോക്ട് അതോറിറ്റി (CA) ഒപ്പിട്ടത്, "ഞാൻ shop.example.com" എന്ന് പറയുന്നു.

സാധാരണ പ്രശ്നങ്ങൾ:

  • കാലാവധി കഴിഞ്ഞ സർട്ടിഫിക്കറ്റുകൾ: സ്വയം പുതുക്കൽ (സെർട്ട് മാനേജർ, നമുക്ക് എൻക്രിപ്റ്റ് ചെയ്യാം, ക്ലൌഡ് സർട്ടിഫിക്കറ്റ് മാനേജറുകൾ).
  • പേര് പൊരുത്തക്കേട്: സർട്ടിഫിക്കറ്റ് www.example.comപക്ഷെ നീ വിളിച്ചല്ലോ. example.com.
  • മിഡിൽ സർട്ടിഫിക്കറ്റുകള് കാണാതായ ചങ്ങലയില് .
  • ആന്തരിക സി. എ. ആ കക്ഷികള് വിശ്വസിക്കുന്നില്ല.
openssl s_client -connect shop.example.com:443 -servername shop.example.com </dev/null | openssl x509 -noout -dates -subject

ലോഡ് ബാലൻസറുകൾ

ഒരു ലോഡ് ബാലൻസർ ട്രാഫിക് പല ബാക്ക് എൻഡുകളിലേക്കും വ്യാപിപ്പിക്കുകയും പരാജയങ്ങൾ മറയ്ക്കുകയും ചെയ്യുന്നുഃ

  • ലെയർ 4 (TCP/UDP) ലോഡ് ബാലൻസർ അകത്തേക്ക് നോക്കാതെ മുന്നോട്ട് കണക്ഷനുകൾ. വേഗത്തിലും ലളിതമായും. ഉദാഹരണം: AWS നെറ്റ് വർക്ക് ലോഡ് ബാലൻസർ.
  • ലേയർ 7 (എച്ച്ടിടിപി) ലോഡ് ബാലൻസർമാർക്ക് അഭ്യർത്ഥനകൾ മനസിലാക്കാൻ കഴിയും. പാത്ത് അല്ലെങ്കിൽ ഹോസ്റ്റ് വഴി റൂട്ട് ചെയ്യാം, TLS അവസാനിപ്പിക്കാം, തലക്കെട്ടുകൾ ചേർക്കാം. ഉദാഹരണങ്ങള്: AWS ആപ്ലിക്കേഷൻ ലോഡ് ബാലൻസർ, എംബോയ്, എൻജിഎൻഎക്സ്, കുബർനെറ്റ്സ് ഗേറ്റ്വേ എപിഐ നടപ്പിലാക്കലുകൾ.

അവ ആശ്രയിക്കുന്നത് ആരോഗ്യ പരിശോധന ഏത് ബാക്ക്എൻഡുകളാണ് ആരോഗ്യമുള്ളതെന്ന് അറിയാൻ. തെറ്റായ ആരോഗ്യ പരിശോധന പാതയാണ് "എല്ലാ ബാക്ക്എൻഡുകളും അനാരോഗ്യകരമല്ല" എന്നതിന്റെ വളരെ സാധാരണ കാരണം.

ക്ലൌഡിലെ ഒരു നെറ്റ്വർക്ക് രൂപകല് പിക്കുക

ഒരു സാധാരണ വിപിസി ഡിസൈന്:

  • പൊതു ഉപ ശൃംഖലകൾ: ലോഡ് ബാലൻസർമാർക്കും നാറ്റ് ഗേറ്റ്വേകൾക്കും വേണ്ടി. ഇന്റർനെറ്റ് ഗേറ്റ്വേയിലേക്കുള്ള ഒരു റൂട്ട് ഉണ്ടായിരിക്കണം.
  • സ്വകാര്യ ഉപ ശൃംഖലകൾ: ആപ്ലിക്കേഷനുകൾക്കും കുബർനെറ്റസ് നോഡുകൾക്കും വേണ്ടി. നെറ്റ് വഴി ഇന്റർനെറ്റ് കിട്ടും, പുറത്തുനിന്നും നേരിട്ട് കിട്ടില്ല.
  • ഡേറ്റാ സബ്നെറ്റ്: ഡാറ്റാബേസുകൾക്ക്, ആപ്ലിക്കേഷൻ സബ്നെറ്റുകളിൽ നിന്ന് മാത്രം ലഭ്യമാണ്.
  • ലഭ്യമായ മേഖലകളില് വ്യാപിച്ചു, ഒരു മേഖല പരാജയപ്പെട്ടാൽ അത് നിങ്ങളെ തകര് ക്കില്ല.
  • സുരക്ഷാ സംഘങ്ങൾ (സംസ്ഥാനം, റിസോഴ്സുകളിലേക്ക് അറ്റാച്ചുചെയ്തിരിക്കുന്നു) പ്രധാന ഫയർവാളായി, ആവശ്യമുള്ളപ്പോൾ മാത്രം നെറ്റ്വർക്ക് ACL- കൾ (സംസ്ഥാനമില്ലാത്ത, സബ്നെറ്റ്).

വളർച്ചയ്ക്ക് ഇടം നൽകുക: നിങ്ങളുടെ വിപിസിക്ക് ഒരു വലിയ ശ്രേണി നൽകുക, കൂടാതെ കുബർനെറ്റസിന് ധാരാളം പോഡ് ഐ. പി. കൾ നൽകുക, പ്രത്യേകിച്ച് പോഡുകൾക്ക് വിപിസി വിലാസങ്ങൾ നൽകുന്ന സിഎൻഐകൾ ഉപയോഗിച്ച്.

എന്റെ ഡീബഗ് ചെയ്യൽ ഉപകരണങ്ങൾ

ചോദ്യം ഉപകരണം
എന്റെ ഐ. പി. യും റൂട്ടും എന്താണ്? ip a, ip r
പേര് മനസ്സിലായില്ലേ? dig, nslookup
ഹോസ്റ്റുമായി ബന്ധപ്പെടാൻ കഴിയുമോ? ping, mtr
തുറമുഖം തുറന്നിട്ടുണ്ടോ? nc -zv host port
ലോക്കലായി എന്താണ് കേള് ക്കുന്നത്? ss -tulpn
HTTP/TLS പ്രവർത്തിക്കുന്നുണ്ടോ? curl -v
ശരിക്കും എന്താണ് വയറിൽ ഉള്ളത്? tcpdumpവയര് ഷാര് ക്ക്

ഒരു ചോദ്യം കൂടി സമയം ലാഭിക്കും: എവിടെ നിന്ന്? ഞാൻ പരീക്ഷിക്കുകയാണോ? നിങ്ങളുടെ ലാപ്ടോപ്പ്, ഒരു പാഡ്, ഒരു നോഡ്, ഒരു ഐ. ഐ. റണ്ണർ എന്നിവയ്ക്ക് വളരെ വ്യത്യസ്തമായ നെറ്റ്വർക്കുകൾ കാണാൻ കഴിയും.

എവിടെ നിന്നാണ് ഞാൻ തുടങ്ങേണ്ടത്?

സബ്നെറ്റിംഗ് സ്വാഭാവികമായി തോന്നുന്നതുവരെ CIDR പഠിക്കുക, നിങ്ങളുടെ പരിതസ്ഥിതിയിൽ (പ്രത്യേകിച്ച് Kubernetes ൽ) DNS റെസലൂഷൻ എങ്ങനെ പ്രവർത്തിക്കുന്നുവെന്ന് മനസിലാക്കുക, ഒപ്പം ഡീബഗ്ഗിംഗ് ഉപയോഗിച്ച് പരിശീലിക്കുക dig, nc, curl ഒപ്പം ss. ആ അടിത്തറ നിങ്ങളെ മണിക്കൂറുകളോളം രക്ഷിക്കും.

എന്റെ അഭിപ്രായം: നെറ്റ് വർക്കിംഗ് മാന്ത്രികമല്ല, അത് വെറും പാളികളാണ്. ഓരോ തവണയും അവ പരിശോധിക്കാൻ പഠിക്കുക, മിക്ക രഹസ്യങ്ങളും സ്വയം പരിഹരിക്കപ്പെടും.

ഡെസ്ലി