Condivisione della tecnologia

Domande comuni per l'intervista sulla rete di computer (1)

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Le domande comuni nelle interviste sulle reti di computer coinvolgono molti livelli, inclusi i protocolli di rete, l'architettura di rete, la sicurezza della rete, la trasmissione dei dati, ecc. Ecco le spiegazioni dettagliate di alcune domande comuni:

1. Cos'è il modello a sette livelli OSI? Qual è la funzione di ogni strato?

Modello OSI a sette stratiÈ un sistema standard per l'interconnessione tra computer o sistemi di comunicazione formulato dall'Organizzazione internazionale per la standardizzazione (ISO). Dall'alto verso il basso, è:

  1. Livello di applicazione: fornisce servizi interattivi per applicazioni come HTTP, FTP, SMTP e altri protocolli.
  2. livello di presentazione: Rappresentazione, sicurezza e compressione dei dati, conversione dei dati del livello di applicazione in un formato adatto alla trasmissione di rete.
  3. livello di sessione: Stabilire, gestire, terminare sessioni, organizzare e coordinare la comunicazione tra due processi di sessione.
  4. strato di trasporto: Responsabile della fornitura di servizi di trasmissione dati per la comunicazione tra due processi host, inclusi i protocolli TCP e UDP, per ottenere una trasmissione affidabile dei dati.
  5. Livello di rete: Selezionare i nodi di routing e commutazione appropriati per garantire la trasmissione tempestiva dei dati. Il protocollo principale è IP.
  6. livello di collegamento dati: Quando si trasmettono dati tra due nodi adiacenti, assemblare i datagrammi IP consegnati dal livello di rete in frame e aggiungere le informazioni di controllo necessarie.
  7. strato fisico: Realizzare una trasmissione trasparente di flussi di bit tra nodi di computer adiacenti, schermando il più possibile le differenze nei mezzi di trasmissione e nei dispositivi fisici.

2. Qual è la differenza tra TCP e UDP?

TCP (Transmission Control Protocol) e UDP (User Datagram Protocol) sono entrambi protocolli del livello di trasporto. Le loro principali differenze includono:

  1. Connettività: TCP è un protocollo orientato alla connessione ed è necessario stabilire una connessione prima che i dati vengano trasmessi; mentre UDP è un protocollo senza connessione e non è necessario stabilire una connessione prima dell'invio dei dati.
  2. affidabilità: TCP fornisce una trasmissione affidabile e garantisce la corretta trasmissione dei dati attraverso meccanismi quali numeri di sequenza, risposte di conferma e ritrasmissioni di timeout. UDP non fornisce garanzie di affidabilità e i dati potrebbero andare persi o arrivare fuori ordine;
  3. Efficienza della trasmissione: poiché TCP deve stabilire una connessione ed eseguire controlli di affidabilità, la sua efficienza di trasmissione è relativamente bassa mentre UDP non ha questi costi generali e ha un'efficienza di trasmissione più elevata;
  4. Scenari applicativi: TCP è adatto per scenari applicativi che richiedono una trasmissione affidabile, come trasferimento di file, navigazione Web, ecc.. UDP è adatto per scenari applicativi che richiedono prestazioni elevate in tempo reale e possono tollerare una certa quantità di perdita di dati, come video in diretta; trasmissioni, giochi online, ecc.

3. Qual è la differenza tra HTTP e HTTPS?

La differenza principale tra HTTP (Hypertext Transfer Protocol) e HTTPS (Hypertext Transfer Protocol Secure) è la sicurezza:

  1. sicurezza: HTTP trasmette testo semplice e i dati vengono facilmente intercettati e manomessi; mentre HTTPS aggiunge un livello di protocollo SSL/TLS a HTTP per crittografare e trasmettere i dati per garantire la sicurezza della trasmissione dei dati.
  2. Il numero di porta: HTTP utilizza la porta 80 per impostazione predefinita; HTTPS utilizza la porta 443 per impostazione predefinita.
  3. prestazione: poiché HTTPS richiede operazioni di crittografia e decrittografia, le sue prestazioni saranno ridotte rispetto a HTTP.

4. Qual è il processo dell'handshake a tre vie e dell'onda a quattro vie TCP?

Handshake a tre vie TCPIl processo è il seguente:

  1. Il client invia un pacchetto SYN (numero di sequenza di sincronizzazione) al server ed entra nello stato SYN_SENT, in attesa di conferma da parte del server.
  2. Dopo aver ricevuto il pacchetto SYN, il server conferma il SYN del client (ack=j+1) e invia anche un pacchetto SYN (ovvero pacchetto SYN+ACK). A questo punto, il server entra nello stato SYN_RCVD.
  3. Dopo aver ricevuto il pacchetto SYN+ACK dal server, il client invia un pacchetto di conferma ACK (ack=k+1) al server Dopo che il pacchetto è stato inviato, il client e il server entrano nello stato ESTABLISHED e completano la procedura a tre stretta di mano.

TCP ondeggia quattro volteIl processo è il seguente:

  1. Il client invia un FIN per chiudere il trasferimento dei dati dal client al server e il client entra nello stato FIN_WAIT_1.
  2. Dopo che il server ha ricevuto il FIN, invia un ACK al client. Il numero di sequenza di conferma è il numero di sequenza ricevuto + 1 (lo stesso di SYN, un FIN occupa un numero di sequenza) e il server entra nello stato CLOSE_WAIT.
  3. Il server chiude la connessione con il client, invia un FIN al client e il server entra nello stato LAST_ACK.
  4. Dopo aver ricevuto il FIN, il client invia un ACK al server, confermando che il numero di sequenza è il numero di sequenza ricevuto + 1, e il client entra nello stato TIME_WAIT. Il server chiude la connessione dopo aver ricevuto l'ACK Se il client non riceve ancora una risposta dopo aver atteso 2MSL, entra nello stato CLOSED.

5. Perché il TCP richiede tre handshake invece di due?

Il motivo principale per cui TCP richiede un handshake a tre vie anziché a due vie è garantire che entrambe le parti abbiano la capacità di ricevere e inviare dati, stabilendo così una connessione affidabile. Nello specifico:

  • Il primo handshake: il client invia un pacchetto SYN e il server conferma la capacità di invio del client.
  • Secondo handshake: il server invia un pacchetto SYN+ACK e il client conferma le capacità di ricezione e invio del server.
  • Il terzo handshake: il client invia un pacchetto ACK e il server conferma la capacità di ricezione del client.

Se ci sono solo due handshake, può verificarsi la seguente situazione: il client invia una richiesta di connessione, ma non riceve conferma perché il messaggio di richiesta di connessione è andato perso, quindi il client ritrasmette la richiesta di connessione. Successivamente è stata ricevuta la conferma ed è stata stabilita la connessione. Una volta completata la trasmissione dei dati, la connessione viene rilasciata e il client invia un totale di due segmenti di richiesta di connessione, di cui il primo viene perso e il secondo raggiunge il server. Tuttavia, il primo segmento perduto è rimasto a lungo in alcuni nodi della rete ed è stato ritardato fino a un certo tempo dopo il rilascio della connessione prima di raggiungere il server. In questo momento, il server ha erroneamente pensato che il client ne avesse emesso uno nuovo richiesta di connessione, quindi un segmento di messaggio di conferma viene inviato al client, accettando di stabilire la connessione. Poiché il client non ha inviato una richiesta di dati in questo momento, il server attenderà che il client invii i dati, con conseguente spreco di risorse.

6. Quali sono i metodi di richiesta HTTP comunemente utilizzati? Quali sono le differenze e gli usi tra loro?

I metodi di richiesta HTTP comunemente utilizzati includono GET, POST, PUT, DELETE, CONNECT, OPTIONS e TRACE, tra cui GET e POST sono i due più comunemente utilizzati.

  • OTTENERE : Utilizzato per inviare una richiesta per ottenere dati sul server. I parametri sono inclusi nell'URL e sono adatti a scenari in cui la quantità di dati richiesti non è elevata e i requisiti di sicurezza non sono elevati.
  • INVIARE : utilizzato per inviare dati alla risorsa specificata dall'URL. I parametri vengono passati attraverso il corpo della richiesta, che è adatto per scenari in cui viene inviata una grande quantità di dati o in cui i requisiti di sicurezza sono elevati.

Altri metodi di richiesta come PUT e DELETE vengono utilizzati per modificare i dati sul server, eliminare risorse sul server, ecc. Ciascuno di questi metodi di richiesta ha i propri usi specifici e scenari applicabili.

Quanto sopra è una spiegazione dettagliata delle domande più comuni nelle interviste sulle reti di computer. Queste domande coprono molti aspetti come i protocolli di rete, l'architettura di rete e la trasmissione dei dati e costituiscono una parte importante dell'esame della conoscenza delle reti di computer dei candidati.