Компьютерийн сүлжээний сигналын програмчлалын тойм

Сокет нь компьютерийн сүлжээний програмчлалын хамгийн үндсэн технологи юм. Сокетууд нь сүлжээний техник хангамжийн болон үйлдлийн системд суурилсан стандарт механизмуудыг ашиглан сүлжээний програм хангамжийн хэрэглээг харилцахыг зөвшөөрдөг.

Хэдийгээр энэ нь зөвхөн Интернет програм хангамжийн хөгжүүлэлтийн өөр нэг онцлог юм шиг санагдаж болох ч сокет технологи нь Вэбээс өмнө удаан байсан. Мөн өнөөгийн хамгийн алдартай сүлжээний програм хангамжийн програмууд нь сокет дээр тулгуурладаг.

Таны Сүлжээнд ямар үүрийг хийдэг вэ

Сокет нь зөвхөн хоёр ширхэг програмын хооронд нэг холболтыг илэрхийлнэ ( цэг-to-point холболт). Програм хангамж хоёроос илүү хэсэг нь клиент / сервертэй холбогдож , олон сигналыг ашиглан олон тооны системүүдтэй холбогдож болно. Жишээлбэл, олон веб хөтчүүд сервер дээр хийгдсэн сокетуудаар дамжуулан нэг сервертэй нэг зэрэг харилцах боломжтой.

Socket дээр суурилсан програм хангамж нь ихэвчлэн сүлжээн дээр хоёр тусдаа компьютер дээр ажилладаг боловч нэг сокет дээр дотоод сүлжээнд ( interprocess ) холбогддог. Сокетууд нь хоёр чиглэлтэй , холболтын тал нь өгөгдөл илгээж, хүлээн авах чадвартай байдаг. Харилцаа санаачлагч нэг програм нь "клиент" ба бусад програмыг "сервер" гэж нэрлэдэг боловч энэ нэр томъёо нь үе тэнгийнхний хооронд төөрөгдөлд хүргэдэг бөгөөд ерөнхийдөө зайлсхийх ёстой.

Socket APIs болон Libraries

Интернет дээр стандарт програмын програмчлалын интерфэйс (APIs) хэрэгждэг хэд хэдэн номын сан байдаг. Эхний ердийн багц - Berkeley Socket Номын Сан нь UNIX системд өргөн хэрэглэгдсээр байна. Өөр нэг түгээмэл API бол Microsoft-ын үйлдлийн системүүдэд зориулсан Windows Sockets (WinSock) сан юм. Бусад компьютерын технологитой харьцуулахад сокет API нь маш боловсронгуй болсон: WinSock нь 1993 оноос хойш ашиглагдаж, Берклигийн залгуур 1982 оноос хойш ашиглагдаж байна.

Сокет API нь харьцангуй жижиг бөгөөд энгийн. Олон функцууд нь read () , write () , close () гэх мэт файлын оролт / . Бодит функц нь сонгосон програмчлалын хэл болон сокет номын сангаас хамаардаг.

Socket интерфэйсийн төрөл

Socket интерфейсүүдийг гурван төрлөөр хувааж болно:

  • Голын урсгал хамгийн түгээмэл төрөл нь хоёр холбогч талууд эхлээд холболтын холболт үүсгэхийг шаарддаг бөгөөд дараагаар дамжуулсан өгөгдлүүд нь холболтод чиглэсэн програмчлал загвар.
  • Datagram сокет нь "холболт-бага" семантикийг санал болгодог. Datagrams-ийн тусламжтай холболтууд нь урсгалуудтай шууд ил далд биш байдаг. Нэг тал нь шаардлагатай бол дракрамуудыг илгээж, нөгөө нь хариу өгөхийг хүлээж байна; Мессеж нь дамжуулалтаар эсвэл захиалга авахаас татгалзаж болох боловч энэ нь програмын үүрэг хариуцлага бөгөөд эдгээр асуудлуудыг шийдэх үүрэнд биш юм. Зарим аппликейшнүүдийг зарим аппликешнүүдэд гүйцэтгэлийн хурдасгаж, зарим тохиолдолд уян хатан чанарыг ашиглах боломжтой байдаг.
  • Гурав дахь төрлийн сокет - түүхий сокет - TCP , UDP зэрэг стандарт протоколын хувьд номын сангийн дэмжигдэх дэмжлэгийг тойрон гардаг. Түүхий залгуур нь бага түвшний протоколын хөгжлийг хангахад хэрэглэгддэг.

Сүлжээний протоколуудад сигналын дэмжлэг үзүүлэх

Орчин үеийн сүлжээний залгууруудыг ихэвчлэн Интернет протоколуудтай хамт хэрэглэдэг - IP, TCP, болон UDP. Интернет протоколыг холбох сангуудыг хэрэгжүүлж байгаа номын сан TCP-г урсгал, UDP-д зориулан UDP, IP хаягийг түүхий үүрэндээ ашигладаг.

Интернетээр дамжуулан харилцахын тулд IP сокет номын сан нь тусгай компьютерийг тодорхойлохын тулд IP хаягийг ашигладаг. Интернетийн олон хэсгүүд нь нэрлэх үйлчилгээнүүдтэй ажилладаг бөгөөд хэрэглэгчид болон сокет програмууд нь хаягаар биш харин нэрээр ( жишээ нь "thiscomputer.wireless.about.com") нэрээр ажилладаг байж болно ( жишээ нь , 208.185.127.40). Горим болон datagram сокет нь IP портын дугаарыг ашиглан олон програмыг бие биенээсээ ялгахын тулд хэрэглэдэг. Жишээлбэл, Интернетэд байгаа Вэб хөтөч нь порт 80-ийг вэб серверүүдтэй холбоход анхдагч байдлаар ашигладаг болохыг мэддэг.