Vs. TCP / IP named pipe

February 26

Vs. TCP / IP named pipe


Microsoft SQL Server offrono due forme di comunicazione di rete: TCP / IP e named pipe. Entrambi questi protocolli consentono a software esterno sia a livello locale e remota per connettersi l'istanza del server SQL ed eseguire query per visualizzare, inserire e cancellare i dati dai database SQL. Entrambi questi protocolli sono in grado di trasmettere dati, ma il modo in cui lo fanno è diverso e di solito sono adatto a diversi ambienti.

differenze

TCP / IP è il protocollo di rete standard che viene utilizzato per inviare i dati da un host all'altro. Il protocollo viene utilizzato nella maggior parte delle applicazioni e servizi di rete abilitata. In un ambiente di server SQL, il servizio SQL stessa sarà "ascoltare" su una particolare porta TCP e rispondere a tutte le richieste che riceve sulla porta. In confronto, named pipe non usano lo stack TCP, ma lo fanno ascoltare le richieste provenienti da altri coetanei, questo è fatto da avere un indirizzo di tubo che è nel formato di "\. \ Pipe \ sql \ query".

Prestazione

TCP fa uso di diversi metodi per assicurare che i dati siano correttamente consegnato all'host remoto; questi metodi assicurano che i dati non scompare e tutti i pacchetti sono contabilizzati. Windowing è uno dei metodi utilizzati per garantire che l'host di ricezione non è sovraccarico di dati e riceve solo quanto può elaborare senza sopraffare esso. Named pipe non fanno uso di questi metodi, a meno che viaggiano su una rete. Su un host locale, named pipe hanno i propri meccanismi per l'invio e la ricezione dei dati.

client Software

Ci sono diversi casi in cui verrebbero utilizzati i named pipe. Se un server SQL utilizza un altro software locale per comunicare con i database allora named pipe sono la soluzione ideale. Dal momento che named pipe sono un servizio totalmente separata dalla stack di rete che non usano alcuna della larghezza di banda della rete. A livello locale, named pipe sono considerati estremamente veloce e una scelta molto migliore di quanto il protocollo TCP / IP.

in alto

Su una interfaccia di rete molto occupata, utilizzando il protocollo TCP / IP aumenta il carico sul stack di rete. Questo significa che le richieste potrebbero dover essere in coda prima di poter essere lette dal kernel e trattati di conseguenza. Quando named pipe vengono utilizzati su una rete però aggiungono un ulteriore sovraccarico dovuto al fatto che usano i propri meccanismi di riconoscimento dei dati e controllo di flusso. Questo ulteriore sentito può causare la congestione della rete in reti più lente.