Logo ČVUT
ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE
STUDIJNÍ PLÁNY
2024/2025

Síťové programování

Přihlášení do KOSu pro zápis předmětu Zobrazit rozvrh
Kód Zakončení Kredity Rozsah Jazyk výuky
BI-SIP.21 Z 5 2P+2C česky
Garant předmětu:
Jan Fesl
Přednášející:
Jan Fesl
Cvičící:
Jan Fesl, Michal Polák, Daniel Sedlák
Předmět zajišťuje:
katedra počítačových systémů
Anotace:

Předmět pokrývá stěžejní témata z oblasti programování síťových aplikací. Sestává se ze 4 tématických částí. Úvodní část je věnována výkladu nízkoúrovňového programování prostřednictvím BSD soketů. Druhá část je věnovaná návrhu komunikačních protokolů a jejich verifikaci. Třetí část je věnována principům a aplikační stránce middleware technologií. Závěrečná část uvádí základní moderní modely distribuovaného výpočtu - P2P a blockchain. Veškerá tématika bude vysvětlena jak z teoretického hlediska, tak i prakticky procvičena přímo v prostředí zvoleného programovacího jazyka.

Požadavky:
Osnova přednášek:

1. Programování síťových rozhraní - protokoly TCP, UDP.

2. Programování síťových rozhraní - blokující a neblokující komunikační operace a jejich vícevláknové zpracování.

3. Programování síťových rozhraní - skupinové komunikační operace.

4. Programování zabezpečených síťových rozhraní - protokoly SSL, TLS.

5. Zásady programování bezpečných síťových aplikací.

6. Návrh a implementace síťových protokolů.

7. Prototypování a verifikace síťových protokolů

8. Tvorba síťových aplikací pomocí middleware technologií - vzdálené volání procedur.

9. Tvorba síťových aplikací pomocí middleware technologií - producent/konzument.

10. Implementace síťových aplikací a doporučené postupy jejich tvorby

11. Návrh a implementace P2P modelů síťových aplikací

12. Blockchain model a jeho využití při tvorbě síťových aplikací.

13. Ladění distribuovaných síťových aplikací.

Osnova cvičení:

Cvičení kopírují osnovy přednášek a demonstrují probíraná témata prakticky.

1. Programování síťových rozhraní - protokoly TCP, UDP.

2. Programování síťových rozhraní - blokující a neblokující komunikační operace a jejich vícevláknové zpracování.

3. Programování síťových rozhraní - skupinové komunikační operace.

4. Programování zabezpečených síťových rozhraní - protokoly SSL, TLS.

5. Zásady programování bezpečných síťových aplikací.

6. Návrh a implementace síťových protokolů.

7. Prototypování a verifikace síťových protokolů

8. Tvorba síťových aplikací pomocí middleware technologií - vzdálené volání procedur.

9. Tvorba síťových aplikací pomocí middleware technologií - producent/konzument.

10. Implementace síťových aplikací a doporučené postupy jejich tvorby

11. Návrh a implementace P2P modelů síťových aplikací

12. Blockchain model a jeho využití při tvorbě síťových aplikací.

13. Ladění distribuovaných síťových aplikací.

Cíle studia:
Studijní materiály:

1. Stevens R. W. et al : Unix Network Programming, Volume 1: The Sockets Networking API (3rd Edition). Addison-Wesley, 2004. ISBN 978-0131411555.

2. Stevens R. W. : Unix Network Programming, Volume 2: Interprocess Communications (2nd Edition). Addison-Wesley, 1998. ISBN 978-0132974295.

3. Raval S. : Decentralized Applications: Harnessing Bitcoin's Blockchain Technology. OReilly, 2016. ISBN 978-1491924549.

4. Colouris G. : Distributed Systems: Concepts and Design (5th Edition). Addison-Wesley, 2011. ISBN 978- 0132143011.

Poznámka:

Chybí některá textová pole,vyplněny mají být anotace, požadavky, osnova (sylabus), osnova cvičení, studijní materiály, klíčová slova, CZ i EN, webová strana předmětu

Další informace:
Courses
Rozvrh na zimní semestr 2024/2025:
Rozvrh není připraven
Rozvrh na letní semestr 2024/2025:
Rozvrh není připraven
Předmět je součástí následujících studijních plánů:
Platnost dat k 23. 4. 2024
Aktualizace výše uvedených informací naleznete na adrese https://bilakniha.cvut.cz/cs/predmet6576606.html