Domanda

Comprendo le basi del networking come Lan e cose simili. So quali sono molti protocolli e come costruire un programma socket client / server in C. Ma quello che voglio davvero è una buona comprensione di come funzionano effettivamente le reti. Non solo dal punto di vista della programmazione ma anche dal punto di vista dell'applicazione. Sto cercando del materiale (preferibilmente un libro) che mi darà un'ottima base per partire. Sono nel mezzo di voler essere un programmatore o un amministratore UNIX, quindi dovrei davvero imparare e sapere come applicare i fondamenti di rete.

Esiste una risorsa così concisa? Sarebbe meglio percorrere la strada più accademica acquistando un libro di networking (come quelli di Tanenbaum o Kurose), o è meglio percorrere la rotta It, probabilmente esaminando il testo dell'amministratore di rete o i libri di certificazione.

Grazie mille a tutti.

È stato utile?

Soluzione

Il libro del defunto Richard Stevens è un capolavoro - molto più pratico e immediatamente applicabile di quello di Tanenbaum (non ho studiato Kurose). A proposito, dello stesso autore, raccomando caldamente i libri nel "TCP / IP Illustrated" serie e Programmazione avanzata in ambiente Unix - alcuni libri sono più cruciali per vuoi essere "programmatore o amministratore Unix", forse salvare ESR's !

Altri suggerimenti

Ecco come consiglierei:

  • Scopri come si è evoluto Internet, questo ti darebbe il motivo per cui ne avevano bisogno
  • Impara i diversi protocolli - HTTP, telnet, ssh esp quelli sicuri SFTP, HTTPS ecc
  • Scopri cosa sono i socket e i tipi di socket
  • Scopri come eseguire la programmazione socket. Ti suggerisco di usare Socket Python per eseguire la programmazione
  • Impara lo stack di rete TCP / IP. Sarebbe utile
  • Scopri come routing , questo è importante per l'apprendimento
  • Prova ad avere una buona conoscenza di argomenti come il DNS, è molto importante
  • Ottieni VirtualBox e installa vari sistemi operativi e prova a collegarli in rete. Gioca con lo stack di rete del sistema operativo.

È un po 'chiaro per me quello che stai cercando esattamente, quindi ho intenzione di buttarlo qui:

Inizia a mettere in rete le tue cose insieme. Crea una LAN. Vai a capire come creare e gestire un firewall Linux anziché uno consumer. Installa Active Directory solo per i sorrisi. Esegui i tuoi server DHCP e DNS su quel server Active Directory.

Una volta arrivati ??così lontano, se sei ancora interessato, inizia a pensare a come pianificheresti la tua LAN se avessi 500 computer. Informazioni sulle LAN virtuali (VLAN).

Penso che il networking in particolare sia un ottimo posto per iniziare a armeggiare perché A) nessuno si fa male, B) è per lo più gratuito.

Whoa .. il networking è un campo davvero grande. Per capire veramente tutto ciò richiederà un PHD o diversi PHD.

Ecco alcuni degli aspetti che penso tu debba imparare.

1) Devi imparare la storia della rete. Molte delle politiche integrate nei protocolli sono state realizzate a causa delle limitazioni temporali. Scopri la storia dei protocolli per apprendere il " Why " di come funziona.

2) La programmazione è un'ottima fonte di conoscenza su come funziona una rete al livello più basso. Impara a scrivere del codice socket nei socket C. BSD è un buon punto di partenza. Puoi trovare molti riferimenti per i socket BSD su Internet.

3) * I comandi nix offrono una vasta conoscenza della configurazione e della gestione delle reti. I bravi amministratori di rete conoscono molti trucchi su come costruire complicate operazioni di rete utilizzando solo gli strumenti di rete più basilari. Gli strumenti di rete GNU sono un buon punto di partenza.

4) Se sei all'altezza, ci sono diversi certificati come MCSE e CCNA che hanno moduli sulla rete. Questi articoli possono essere utili per acquisire conoscenze su un particolare tipo di rete. Ho imparato molto sui modelli di dominio di Windows NT stando seduto per il documento MCSE anche se non ho mai giocato molto con i domini.

Ci sono più aspetti. Chiediti, quale ti piace di più?

un po 'di esperienza personale. Ho lavorato come sviluppatore di software per 10 anni. Sono anche il "non pagato" guru della rete nel mio ufficio. In qualche modo, devo indossare più di un cappello come sviluppatore perché la rete fa parte del software su cui lavoro.

Per i fondamenti, potresti voler ottenere W. Richard Stevens Classic, TCP / IP Illustrated , e forse anche altri suoi libri. Né non ce ne saranno più .

Sembra che il tipo di comprensione che stai cercando sia il tipo che può essere realmente raggiunto solo attraverso l'esperienza. Ognuno avrà un modo diverso di vedere le cose, a seconda di ciò che ha senso per loro - le spiegazioni possono aiutare, ma non c'è sostituto per l'apprendimento risolvendo effettivamente i problemi.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top