Networking Fundamentals and TCP/IP

Hordhac ku saabsan UDP

UDP (User Datagram Protocol) waa hab-maamuus isgaarsiineed oo fudud oo ka shaqeeya lakabka gaadiidka ee TCP/IP. Si ka duwan TCP, UDP ma dammaanad qaadayo in xogta la gaadhsiin doono ama ay gaadhi doonto si sax ah ama isku xigxig. Tani waxay ka dhigaysaa mid ku habboon codsiyada u dulqaadan kara khasaaraha xogta ama dib u dhaca.

Faa'iidooyinka UDP

  • Xawaare: UDP waa ka xawaare badan yahay TCP sababtoo ah ma laha madax-bannaani dheeraad ah oo la xidhiidha hubinta saxnaanta iyo isku xigxiga.
  • Fudayd: UDP waa hab-maamuus fudud, taas oo ka dhigaysa mid si dhakhso leh loo hirgelin karo loona fahammi karo.
  • Baahinta: UDP waxay taageertaa baahinta (broadcasting) iyo baahinta kooxeed (multicasting), taas oo faa'iido u leh codsiyada u baahan in xogta loo diro dhowr macaamiil isku mar.

Isticmaalka UDP

UDP waxaa loo isticmaalaa codsiyo badan, oo ay ku jiraan:

  • Codsiyada waqtiga-dhabta ah: Sida ciyaaraha internetka iyo shirarka fiidiyowga, halkaas oo dib u dhac yar uu ka muhiimsan yahay saxnaanta xogta.
  • DNS (Domain Name System): UDP waxaa loo isticmaalaa in lagu weydiiyo server-yada DNS cinwaanada IP-ga ee domain-yada.
  • DHCP (Dynamic Host Configuration Protocol): UDP waxaa loo isticmaalaa in si toos ah loogu xilsaaro cinwaanada IP-ga kombuyuutarrada ku xiran shabakad.
  • VoIP (Voice over IP): UDP waxaa loo isticmaalaa in lagu gudbiyo codka internetka.

Qaabdhismeedka Madaxa UDP

Madaxa UDP wuxuu ka kooban yahay 8 bytes oo kaliya:


Source Port: 2 bytes
Destination Port: 2 bytes
Length: 2 bytes
Checksum: 2 bytes
  • Source Port: Dekadda laga soo diray.
  • Destination Port: Dekadda loo socdo.
  • Length: Dhererka guud ee madaxa UDP iyo xogta.
  • Checksum: Isugeyn jeeg ah oo loo isticmaalo in lagu ogaado khaladaadka xogta.

Tusaale UDP ah oo leh Python

Tusaalahan waxaan ku tusi doonaa sida loo isticmaalo UDP adoo isticmaalaya Python:


import socket

Abuur socket UDP

sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

Cinwaanka server-ka iyo dekedda

server_address = ('localhost', 12345)

Fariinta loo diro server-ka

message = b'Tani waa fariin UDP!'

try: # Dir fariinta print('diraya {!r}'.format(message)) sent = sock.sendto(message, server_address)

# Hel jawaabta
print('sugaya in la helo')
data, server = sock.recvfrom(4096)
print('helay {!r} oo ka timid {}'.format(data, server))

finally print('xidhaya socket-ka') sock.close()

Koodhkani wuxuu abuuraa socket UDP, wuxuu u diraa fariin server-ka, wuxuuna sugayaa jawaab. Xusuusnow in UDP aysan dammaanad qaadayn in fariinta la gaadhsiin doono.