Mengapa protokol Telnet hanya menggunakan 1 port pada server sementara FTP menggunakan 2 port

1

Saya mendapat pertanyaan ini dalam wawancara kerja dan saya tidak tahu harus menjawab apa. Dapatkah seseorang tolong bantu saya memahaminya?

Mengapa protokol telnet hanya menggunakan 1 port sedangkan protokol FTP menggunakan 2 port pada server?

farhangdon
sumber

Jawaban:

4

Seperti yang telah disebutkan, telnet hanya menggunakan 1 port sebagai terminal / penggunaan interaktif Ftp mengatur dua saluran komunikasi - kontrol dan data. Ini berarti bahwa saluran data independen dari kontrol [interaktif] komunikasi. Selain itu, saluran kontrol menggunakan Telnet proto ( RFC ):

The Relationship between FTP and Telnet:

         The FTP uses the Telnet protocol on the control connection.

Berikut ini adalah contoh yang bagus bagaimana signaling out of bound (saluran terpisah) dapat digunakan untuk mengoptimalkan jalur komunikasi (juga dari RFC )):

Dalam situasi lain, pengguna mungkin ingin mentransfer file antara dua host, yang keduanya bukan host lokal. Pengguna mengatur koneksi kontrol ke dua server dan kemudian mengatur koneksi data di antara mereka. Dengan cara ini, informasi kontrol diteruskan ke pengguna-PI tetapi data ditransfer antara proses transfer data server. Berikut ini adalah model interaksi server-server ini.

                Control     ------------   Control
                ---------->| User-FTP |<-----------
                |          | User-PI  |           |
                |          |   "C"    |           |
                V          ------------           V
        --------------                        --------------
        | Server-FTP |   Data Connection      | Server-FTP |
        |    "A"     |<---------------------->|    "B"     |
        -------------- Port (A)      Port (B) --------------
wmz
sumber
1

FTP menggunakan saluran perintah dan saluran data, oleh karena itu diperlukan dua koneksi. Telnet terhubung ke tepat satu port - port yang Anda beri tahu.

Lihat bagian ini di halaman Wikipedia untuk informasi lebih lanjut

Jake
sumber
Terima kasih atas jawaban anda. dapatkah Anda memberi tahu saya mengapa telnet hanya menggunakan 1 port? sementara ftp menggunakan 2 port?
farhangdon
1

Telnet hanya menggunakan satu port karena hanya menetapkan satu aliran data dua arah antara klien dan server: Data dari keyboard klien (atau stdin) ke server, dan data dari server ke layar klien (atau stdout). Tidak perlu mengirim informasi "kontrol" atau "status". Klien Anda terhubung ke server telnet, dan sejak saat itu telnet mengemulasi kabel tiga kawat (data Tx, data Rx, dan ground) antara port serial komputer dan terminal serial. Klien Anda tidak memiliki cara untuk mengirim perintah atau info "out of band" lainnya ke server telnet setelah itu, atau kebutuhan apa pun untuk - jadi tidak perlu untuk saluran kom yang terpisah, yang merupakan apa yang akan disediakan oleh port kedua. Satu-satunya "informasi kontrol"

FTP perlu bertukar data dan protokol perintah-dan-respons antara klien dan server. Para desainer memilih untuk menggunakan port yang berbeda untuk kedua fungsi ini. Ini membuat beberapa aspek pemrograman lebih mudah, terutama dengan sistem operasi lama yang tidak mendukung multithreading atau asynchronous I / O juga. Misalnya, Anda dapat mengirim atau menerima info kontrol dan status saat Anda menerima atau mengirim data file, dan dari sudut pandang program, aliran "kontrol" tidak harus menunggu buffer menyelesaikan pada "data" "stream sebelum mengirim atau menerima buffernya sendiri.

Namun! Perancang ftp bisa melakukannya secara berbeda. Mereka bisa menggunakan hanya satu port. Mereka bisa menambahkan satu byte atau lebih ke depan setiap potongan data file, atau perintah, atau respons, yang akan memberi tahu ujung lain "ini adalah sepotong data" atau "ini masuk ke jalur perintah / respons". Ini memang membuat pemrograman sedikit lebih sulit, dan itu menghalangi independen membaca dan menulis ke dua aliran. Tetapi fungsi dasar ftp bisa dilakukan hanya dengan satu port.

Dan telnet bisa menggunakan port kedua - meskipun dengan fungsi terbatas telnet, saya tidak bisa membayangkan untuk apa. Mungkin satu port untuk setiap arah ... atau mungkin untuk mengimplementasikan pengiriman "istirahat" dengan bersih.

Jadi salah satu yang akhirnya valid, tetapi kemungkinan tidak membantu, jawabannya adalah: "karena orang-orang yang menulisnya diimplementasikan seperti itu."

Jamie Hanrahan
sumber
-2

Protokol ftp menggunakan 2 port 20 dan 21, port 20 untuk Kontrol dan port 21 untuk Data, dan telnet hanya menggunakan port 23 untuk melakukan interaksi dengan terminal.

Francisco Tapia
sumber
jangan telnet punya kontrol dan data port ??
farhangdon
Bolehkah saya tahu mengapa telnet hanya menggunakan 23? di mana ftp menggunakan 20 dan 21? terima kasih
farhangdon
Telnet adalah protokol yang digunakan untuk memiliki interaksi terminal di host, ftp membuka terminal dan Anda dapat berinteraksi dengannya dari port 20 dan jika Anda ingin data tx atau rx memiliki port lain, port 21
Francisco Tapia