Tarayıcının içinde uzak masaüstü nasıl çalışır
İzleyen tarafta hiçbir şey kurulmadan bir bilgisayarı kontrol eden tarayıcı, eklenti gerektirmesi gerekiyormuş gibi görünür. Gerektirmez — ve devredeki dört parçayı anlamak, fark ettiğiniz davranışların çoğunu açıklar; başlaması arada neden birkaç saniye sürdüğü dahil.
Dört parça
Yakalama. Host uygulaması işletim sisteminden ekranı ister ve bir kare akışı alır. Masaüstü uygulamasında bu normal bir sistem yeteneğidir; tarayıcıda ise görüntülü görüşmelerin ekran paylaşımı için kullandığı API'nin aynısıdır.
Kodlama. Kareler video olarak sıkıştırılır — genelde H.264 ya da VP8/VP9 — çünkü ham piksel göndermek söz konusu bile değildir. 30 fps'de 1080p bir masaüstü sıkıştırılmamış halde yaklaşık 1,5 Gbps, kodlanmış halde kabaca 3–8 Mbps'dir.
Taşıma. Akışı WebRTC taşır. Tarayıcıdaki görüntülü görüşmelerin arkasındaki mekanizmanın aynısıdır; eklentisiz çalışmasının sebebi de budur: her modern tarayıcıda zaten vardır.
Girdi. Tıklamalarınız ve tuş vuruşlarınız bir WebRTC veri kanalı üzerinden geri gider ve host bunları işletim sisteminde sentetik girdi olayları olarak yeniden oynatır.
Bağlanmak neden bir an sürüyor: ICE
Başlangıçta iki makine de diğerine nasıl ulaşacağını bilmez. İkisi de yönlendirici arkasındadır, ikisinin de özel adresi vardır ve internet ikisine de doğrudan teslimat yapamaz. WebRTC bunu ICE ile çözer — her tarafın ulaşılabilir olabileceği tüm olası yolları toplayıp sonra deneyen bir pazarlık.
- Sinyalleşme. İki taraf da küçük bir sunucuya bağlanıp neyi desteklediklerini ve nasıl ulaşılabilir olabileceklerini paylaşır. 6 haneli kodunuzun tanımladığı şey budur: hangi iki tarafın tanıştırılacağı. Sinyalleşme sunucusu bir çöpçatandır, bir boru değil.
- STUN. Her taraf bir STUN sunucusuna "dışarıdan bakınca hangi adrese sahip görünüyorum?" diye sorar. Cevap, yönlendiricinin atadığı herkese açık adres ve porttur; diğer taraf ona ulaşabiliyor olabilir.
- Aday çiftleri. İki tarafın da artık olası adres listeleri vardır — yerel ağ, herkese açık, aktarılmış — ve bileşimleri paralel deneyip en hızlısını tercih ederler.
- Hiçbiri olmazsa TURN. Doğrudan yol bulunamadığında trafik bir TURN sunucusu üzerinden aktarılır. Her zaman çalışır; bedeli fazladan bir gecikme sıçraması ve birinin ödediği gerçek bant genişliğidir.
Bu pazarlığın tamamı, bağlanmanın anlık olmamasının ve ilk bir iki saniyenin belirsiz hissettirmesinin sebebidir. Bir oturumun bazen hafif takılarak başlayıp sonra düzelmesini de açıklar: ICE, bağlantı zaten kullanılabilir hale geldikten sonra daha iyi bir yola geçebilir.
Sunucular neyi görüyor
Bu konuda net olmaya değer, çünkü "onların sunucusundan geçiyor" farklı sunucular için farklı şeyler demek.
- Sinyalleşme sunucusu iki tarafın bağlanmak istediğini, oturum kodlarını ve aday adreslerini görür — yani IP adresleri ve zamanlama. Ekranı ya da tuş vuruşlarınızı taşımaz.
- STUN sunucusu herkese açık adresinizi soran tek bir istek görür. İçinden başka hiçbir şey geçmez.
- TURN aktarıcısı kullanıldığında her paketi taşır — ama WebRTC medyası iki uç arasında DTLS-SRTP ile şifrelidir ve aktarıcı o uçlardan biri değildir. Okuyamadığı şifreli metni iletir. Bildiği şey, iki adresin trafik alışverişi yaptığı, ne kadar ve ne süreyle olduğudur.
Pratik özet: üstveri altyapıya görünür, içerik görünmez. Bu, oturumunuzu sunucu tarafında çözen bir servisten anlamlı biçimde farklı bir durumdur ve hangisini kullandığınıza bakmaya değer — bkz. uzak oturumu kim görebilir.
Bu tasarımın iyi ve kötü olduğu şeyler
| İyi olduğu | Kötü olduğu |
|---|---|
| Yapılandırmasız NAT arkasından çalışmak | Düşük bit hızında ince metin — video sıkıştırması yumuşatır |
| Video ve hareket, çünkü bir video codec'i | Garantili 20 ms altı girdi, çünkü kodlama ve çözme zaman yer |
| İzleyen cihazda sıfır kurulum | Telefonda uzun oturumlar — kodlama/çözme pili tüketir |
| Şifreli taşımanın seçenek değil şart olması | Aygıt yönlendirmesi isteyen her şey: yazıcı, sürücü, akıllı kart |
Diğer rehberler
RDP'yi doğrudan internete açmayın — yerine ne yapılmalı
3389 portu sürekli taranıyor, ona karşı kimlik denemesi otomatik ve fidye yazılımının en yaygın giriş noktası. Aynı makineye ulaşmanın dört güvenli yolu.
Uzak bağlantı neden kurulmuyor ve hangi katmanın çuvalladığı nasıl anlaşılır
NAT, CGNAT, simetrik NAT ve kurumsal güvenlik duvarları bağlantıyı farklı yerlerde kırar. Katmanı birkaç dakikada bulan bir teşhis sırası.
Uzak imleç neden geç kalıyor ve altı sebepten hangisi sizinki
Ağ gidiş-dönüş süresi, yukarı bant genişliği, kodlayıcı gecikmesi, kare hızı, çözünürlük ve aktarıcı sıçramaları gecikmeyi farklı biçimlerde ekler. Nasıl ayırt edilir ve gerçekte ne işe yarar.
RemoteFrames'ı deneyin
Erişmek istediğiniz bilgisayara host uygulamasını kurun, gösterdiği 6 haneli kodu herhangi bir tarayıcıya girin. Hesap yok — günde iki adet 10 dakikalık ücretsiz oturum.
RemoteFrames'ı deneyin