Programování počítačové sítě - Computer network programming
Programování počítačové sítě zahrnuje psaní počítačové programy které umožňují procesy komunikovat mezi sebou napříč a počítačová síť.[1]
Komunikace orientovaná na připojení a bez připojení
Většinu komunikace lze obecně rozdělit na orientovaný na připojení, a bez připojení. Zda je komunikace orientovaná na připojení nebo bez připojení, definuje komunikační protokol, a nikoli aplikační programovací rozhraní (API). Mezi příklady protokolů orientovaných na připojení patří protokol kontroly přenosu (TCP) a Sekvenční výměna paketů (SPX)a příklady protokolů bez připojení zahrnují Protokol uživatele Datagram (UDP), "surová IP" a Výměna paketů v síti (IPX).
Klienti a servery
Pro komunikaci orientovanou na připojení mají komunikační strany obvykle různé role. Jedna strana obvykle čeká na příchozí připojení; tato strana se obvykle označuje jako „serveru ". Další strana je ta, která iniciuje připojení; tato strana se obvykle označuje jako" "klient ".
Pro komunikaci bez připojení jedna strana („server“) obvykle čeká na příchozí paket a další strana („klient“) se obvykle chápe jako ta, která odesílá nevyžádané zprávy. balíček na „server“.
Populární protokoly a API
Síťové programování tradičně pokrývá různé vrstvy OSI / ISO model (většina programování na úrovni aplikace patří do L4 a vyšší). Tabulka níže obsahuje několik příkladů populárních protokolů patřících do různých vrstev OSI / ISO a pro ně populární rozhraní API.
Vrstva OSI / ISO | Protokol | API |
---|---|---|
L3 (síť) | IP | Surová zásuvka |
L4 (doprava) | TCP, UDP, SCTP | Berkeley zásuvky |
L5 (relace) | TLS | OpenSSL |
L7 (aplikace) | HTTP | Rozličný |
Reference
- W. Richard Stevens: Síťové programování v systému UNIX, Volume 1, Second Edition: Networking APIs: Sockets and XTI, Prentice Hall, 1998, ISBN 0-13-490012-X