Ağ Temelleri

IP Adresi nedir?

IP adresi, bir ağdaki her bir cihazı tanımlayan, noktalarla ayrılmış kendine has bir sayı dizisidir. Her IP adresi 0-255 arasında değişen 4 bölüme (oktetlere) bölünmüştür.

The octet breakdown of an IP address and how it totals 4 bytes.

Yukarıda gösterildiği gibi, bu, her IP adresinin 32 bitlik bir adres olduğu anlamına gelir, yani 232 adres veya yaklaşık 4.300.000.000 adres olasıdır. Ancak bunların çoğu, web sunucuları gibi şeyler için halka açık olarak kullanılmaktadır.

Bu, IP Adreslemenin ilk anahtar noktasını ortaya çıkarır: Ağdaki her cihazın benzersiz bir IP adresi olmalıdır. İki cihaz aynı IP adresine sahip olamaz, aksi takdirde çakışmalar meydana gelir.

Yalnızca 4 milyar adres olduğu ve internete bağlı 4 milyardan fazla bilgisayar olduğu için, IP adreslerini vermek konusunda olabildiğince verimli olmalıyız. Bu bizi genel ve özel adreslere götürür.

Genel ve Özel IP Adresleri

To be efficient with using IP Addresses, the idea of “Reserved IP Ranges” was implemented. In short, this means that there are ranges of IP Addresses that will never be assigned to web servers, and will only be used for local networks, such as those in your house.

Anahtar nokta #2: İnternet sağlayıcınızın temel modemine doğrudan bağlanmadığınız sürece (yönlendirici işlevi yok), cihazınız bu aralıklardan birinde bir IP Adresine sahip olacaktır. Bu; okulunuz, iş ofisiniz, eviniz vb. herhangi bir yerel ağda cihazınızın %99’unda aşağıda listelenen aralıkta bir IP adresine sahip olacağı anlamına gelir:

Sınıf

Bit Sayısı

Başlangıç Adresi

Bitiş Adresi

Adres Sayısı

A

24

10.0.0.0

10.255.255.255

16,777,216

B

20

172.16.0.0

172.31.255.255

1.048.576

C

16

192.168.0.0

192.168.255.255

65.536

These reserved ranges let us assign one “unreserved IP Address” to an entire house, and then use multiple addresses in a reserved range to connect more than one computer to the internet. A process on the home’s internet router known as NAT (Network Address Translation), handles the process of keeping track which private IP is requesting data, using the public IP to request that data from the internet, and then passing the returned data back to the private IP that requested it. This allows us to use the same reserved IP addresses for many local networks, without causing any conflicts. An image of this process is presented below.

Devices on the private network send their traffic through the NAT device to communicate to the outside network and vice versa.

Not

FRC için | reg| networks, 10.0.0.0``aralığını kullanacağız. Bu aralık, IP adresleri için ``10.TE.AM.xx formatını kullanmamıza izin verirken, Sınıf B veya C ağları kullanmak, yalnızca bir takım alt kümesinin formatı takip etmesine izin verir. Bu biçimlendirmenin bir örneği, FRC Team 1750 için 10.17.50.1 olabilir.

Bu adresler nasıl atanır?

IP adreslerinin ne olduğu ve FRC yarışması için hangi IP adreslerini kullanacağımızın temellerini ele aldık, bu yüzden şimdi bu adreslerin ağımızdaki cihazlara nasıl atanacağını tartışmamız gerekiyor. Yukarıda, aynı ağ üzerinde aynı IP Adresine sahip iki cihazımız olamayacağını belirtmiştik, bu nedenle her cihazın çakışmadan bir adres aldığından emin olmak için bir yola ihtiyacımız var. Bu, Dinamik (otomatik) veya Statik (manuel) olarak yapılabilir.

Dinamik Atama

IP adreslerini dinamik olarak atamak, ağdaki bir cihazın IP adresi atamalarını yönetmesine izin verdiğimiz anlamına gelir. Bu, Dinamik Ana Bilgisayar Yapılandırma Protokolü (DHCP) aracılığıyla yapılır. DHCP’nin birçok bileşeni vardır, ancak bu belgenin kapsamı için, bunu ağı otomatik olarak yöneten bir hizmet olarak düşüneceğiz. Ağa yeni bir aygıt bağladığınızda, DHCP hizmeti yeni aygıtı görür, ardından ona kullanılabilir bir IP adresi ve aygıtın iletişim kurması için gereken diğer ağ ayarlarını sağlar. Bu, her cihazın tam IP adresini bilmediğimiz zamanlar olduğu anlamına gelebilir.

DHCP sunucusu nedir?

Bir DHCP sunucusu, yapılandırılacak yeni cihazlar için ağı izlemek üzere DHCP hizmetini çalıştıran bir cihazdır. Daha büyük işletmelerde, bu DHCP hizmetini çalıştıran özel bir bilgisayar olabilir ve bu bilgisayar DHCP sunucusu olabilir. Ev ağları, FRC ağları ve diğer küçük ağlar için, DHCP hizmeti genellikle yönlendirici üzerinde çalışır; bu durumda, yönlendirici DHCP sunucusudur.

Bu, ağ cihazlarınıza IP adresleri atayan bir DHCP sunucusuna sahip olmanız gereken bir durumla karşılaşırsanız, en yakın ev yönlendiricisini bulup fişe takmak kadar basit olduğu anlamına gelir.

Statik Atama

Statik olarak IP adresleri atamak, ağdaki her cihaza sahip olmasını istediğimiz IP adresini manuel olarak söylediğimiz anlamına gelir. Bu yapılandırma, her cihazdaki bir ayar aracılığıyla gerçekleşir. Ağda DHCP’yi devre dışı bırakarak ve adresleri manuel olarak atayarak, ağdaki her bir cihazın tam IP adresini bilmenin avantajını elde ederiz, ancak her birini manuel olarak ayarladığımız ve kullanılan IP adreslerini takip eden bir hizmet olmadığından, bunu kendimiz takip etmeliyiz. IP adreslerini statik olarak ayarlarken, yinelenen adresler atamamaya dikkat etmeliyiz ve diğer ağ ayarlarını (alt ağ maskesi ve varsayılan ağ geçidi gibi) her cihazda doğru şekilde yaptığımızdan emin olmalıyız.

FRC için IP Adresleme

Daha fazla bilgi için bu belgeye bakın: IP Ağ İletişim Makalesi .

Dinamik ve Statik Yapılandırmaları Karıştırma

Ekip sahadayken, yukarıdaki bölümde belirtildiği gibi cihazların 10.TE.AM.xx aralığında statik olarak ayarlanması ve belirtilen IP adresi çakışması olmadığı sürece sahanın DHCP adreslerini ataması ile ilgili herhangi bir sorun fark etmemelidir.

Yarışma sırasında, bir ekip aşağıdaki nedenden dolayı Statik ve DHCP cihazlarını karıştırırsa sorunlarla karşılaşabilir. Yukarıda belirtildiği gibi, DHCP cihazları bir sunucu yoksa bağlantı yerel adresine (169.254.xx.yy) geri dönecektir. Statik cihazlar için IP adresi her zaman aynı olacaktır. DHCP sunucusu yoksa ve roboRIO, sürücü istasyonu ve dizüstü bilgisayar yerel bağlantı adreslerine geri dönerse, 10.TE.AM.xx aralığındaki statik olarak ayarlanmış cihazlar farklı bir ağda olacak ve yerel bağlantı adreslerine sahip olanlar tarafından görülmeyecektir. Bunun görsel bir açıklaması aşağıda verilmiştir:

How you can't mix link-local and static IP configurations.

Uyarı

USB aracılığıyla roboRIO’ya bağlandığında, OpenMesh radyoya bağlı cihazlara (yukarıda gösterilen yeşil ağda) erişmek için Port Yönlendirme yapılandırması gereklidir.

mDNS

mDNS veya multicast Domain Name System, ağda bir DNS sunucusu olmadan DNS’nin özelliklerinden yararlanmamızı sağlayan bir protokoldür. Bunu daha net hale getirmek için bir adım geri gidelim ve DNS’nin ne olduğu hakkında konuşalım.

DNS Nedir?

DNS (Etki Alanı Adı Sunucusu) karmaşık bir konu haline gelebilir, ancak bu makalenin kapsamı için, DNS’e üst düzey bir genel bakış atacağız. En temel açıklamada, DNS, ağ aygıtları için insan dostu adları IP Adresleriyle ilişkilendirmemize ve değiştikleri takdirde bu IP adreslerini izlememize izin veren şeydir.

Örnek 1: www.google.com sitesine bakalım. Bu sitenin IP adresi 172.217.164.132, ancak bu hatırlanması çok kullanıcı dostu değil!

Bir kullanıcı bilgisayarına www.google.com yazdığında, bilgisayar DNS sunucusuyla bağlantı kurar (DHCP tarafından sağlanan bir ayar!) Ve `www.google.com için kayıtlı IP adresinin ne olduğunu sorar. . DNS sunucusu IP adresini döndürür ve ardından bilgisayar bunu Google web sitesine bağlanmak için kullanabilir.

Örnek 2: Ev ağınızda, dizüstü bilgisayarınızdan bağlanmak istediğiniz MYCOMPUTER adlı bir sunucunuz var. Ağınız DHCP kullanıyor, bu nedenle MYCOMPUTER IP Adresini bilmiyorsunuz, ancak DNS yalnızca MYCOMPUTER adını kullanarak bağlanmanıza izin veriyor. Ek olarak, DHCP atamaları her yenilendiğinde, MYCOMPUTER farklı bir adresle sonuçlanabilir, ancak belirli bir IP adresi yerine MYCOMPUTER adını kullanarak bağlandığınız için, DNS kaydı güncellenmiş olur ve siz yine de bağlanabilirsiniz.

Bu, DNS’in ikinci yararıdır ve FRC için en uygun olanıdır. DNS ile, cihazlara IP Adresi yerine kolay adlarıyla atıfta bulunursak, IP Adresi değişirse programımızdaki hiçbir şeyi değiştirmemiz gerekmez. DNS, değişiklikleri takip edecek ve herhangi bir değişiklik olması durumunda yeni adresi geri döndürecektir.

FRC İçin DNS

Sahada ve pit alanlarında, Google web sitesi için yaptığımız gibi aramaları gerçekleştirmemize izin veren bir DNS sunucusu yoktur, ancak yine de her IP Adresini hatırlamak zorunda kalmamanın avantajlarına sahip olmak isteriz, DHCP beklediğimizden farklı bir adres atarsa her aygıtın adresini tahmin edin. Bu, mDNS’nin devreye girdiği yerdir.

mDNS bize geleneksel DNS ile aynı avantajları sağlar, ancak bir sunucu gerektirmeyen bir şekilde uygulanır. Bir kullanıcı bir cihaza kolay bir ad kullanarak bağlanmak istediğinde, mDNS bu adı taşıyan cihazdan kendisini tanıtmasını isteyen bir mesaj gönderir. İsme sahip cihaz daha sonra IP adresini içeren bir geri dönüş mesajı gönderir, böylece ağdaki tüm cihazlar bilgilerini güncelleyebilir. mDNS, roboRIO’muza roboRIO-TEAM-FRC.local olarak atıfta bulunmamızı ve bir DHCP ağına bağlanmasını sağlayan şeydir.

Not

FRC için kullanılan bir cihaz mDNS’yi desteklemiyorsa, ona 10.TE.AM.20 - 10.TE.AM.255 aralığında bir IP Adresi atanacaktır, ancak bağlanmak için tam adresi bilmeyeceğiz ve eskisi gibi kolay adını kullanamayacağız. Bu durumda, cihazın statik bir IP Adresine sahip olması gerekir.

mDNS - İlkeleri

Multicast Domain Name System (mDNS), ana bilgisayar adlarının, özel ad sunucusu olmayan küçük ağlardaki IP adreslerine çözümlenmesine izin veren bir sistemdir. Bir ana bilgisayar adını çözmek için bir cihaz, cihazı sorgulayan ağa bir çok noktaya yayın mesajı gönderir. Cihaz daha sonra IP’sini içeren çok noktaya yayın mesajıyla yanıt verir. Ağdaki cihazlar bu bilgileri bir önbellekte saklayabilir, böylece bu adres için sonraki istekler ağ sorgusunu tekrarlamadan önbellekten çözümlenebilir.

mDNS - Sağlayıcılar

mDNS’yi kullanmak için, PC’nize bir mDNS uygulamasının yüklenmesi gerekir. Her büyük platform için bazı yaygın mDNS uygulamaları şunlardır:

Windows:

  • NI mDNS Responder: NI FRC Game Tools ile Yüklenir

  • Apple Bonjour: iTunes ile yüklenir

OSX:

  • Apple Bonjour: Varsayılan olarak yüklenir

Linux:

  • nss-mDNS/Avahi/Zeroconf: Bazı Linux varyantlarında (Ubuntu veya Mint gibi) varsayılan olarak yüklenir ve etkinleştirilir. Başkalarına yüklenmesi veya etkinleştirilmesi gerekebilir (Arch gibi)

mDNS - Güvenlik Duvarları

Not

Bilgisayar yapılandırmanıza bağlı olarak, herhangi bir değişiklik gerekmeyebilir, bu bölüm sorun gidermeye yardımcı olmak için sağlanmıştır.

Düzgün çalışması için mDNS’nin güvenlik duvarınızdan geçmesine izin verilmelidir. Ağ trafiği mDNS uygulamasından geldiğinden ve doğrudan Driver Station veya IDE’den gelmediğinden, bu uygulamalara izin vermek yeterli olmayabilir. mDNS güvenlik duvarı sorunlarını çözmenin iki ana yolu vardır:

  • mDNS uygulaması için bir uygulama/hizmet istisnası ekleyin (NI mDNS Responder ``C:Program FilesNational InstrumentsSharedmDNS RespondernimdnsResponder.exe``dir)

  • UDP 5353’e gelen/giden trafik için bir bağlantı noktası istisnası ekleyin. IP Aralıkları:

    • 10.0.0.0 - 10.255.255.255

    • 172.16.0.0 - 172.31.255.255

    • 192.168.0.0 - 192.168.255.255

    • 169.254.0.0 - 169.254.255.255

    • 224.0.0.251

mDNS - Tarayıcı desteği

Çoğu web tarayıcısı, bir mDNS sağlayıcısı kurulu olduğu sürece roboRIO web sunucusuna erişmek için mDNS adresini kullanabilmelidir. Bu tarayıcılar arasında Microsoft Edge, Firefox ve Google Chrome bulunur.

USB

USB arayüzünü kullanıyorsanız, ağ kurulumuna gerek yoktur (FRC Game Tools Araçlarını Yükleme’ye ihtiyacınız vardır). RoboRIO sürücüsü, ana bilgisayarın (bilgisayarınız) ve roboRIO’nun IP adresini otomatik olarak yapılandıracaktır ve yukarıda listelenen yazılım roboRIO’nuzu bulabilmeli ve kullanabilmelidir.

Ethernet/Wireless

Radyonuzu Programlama OpenMesh’i koyuyorsanız, ev kullanım durumunda (AP modu) OpenMesh radyosundaki DHCP sunucusunu etkinleştirecektir. Köprü modunda ve bir yönlendirici kullanarak, yönlendiricide DHCP adreslemeyi etkinleştirebilirsiniz. Köprü, daha önce olduğu gibi aynı takım tabanlı IP adresine ayarlanmıştır (10.TE.AM.1) ve 10.TE.AM.20 ile ``10.TE.AM.199``arasındaki DHCP adresini verecektir. Alana bağlandığında, FMS aynı IP aralığındaki adresleri de dağıtacaktır.

Özet

IP Adresleri, bir ağdaki cihazlarla iletişim kurmamızı sağlayan şeydir. FRC için, bir DHCP sunucusuna bağlıysak veya statik olarak atanmışlarsa, bu adresler 10.TE.AM.xx aralığında veya cihazlar DHCP olarak ayarlanmışsa, ancak sunucu mevcut değilse``169.254.xx.yy`` aralığında olacaktır. IP Adreslerinin nasıl çalıştığı hakkında daha fazla bilgi için Microsoft’un buradaki makalesine bakın.

Ağdaki tüm cihazlar mDNS’yi destekliyorsa, tüm cihazlar DHCP’ye ayarlanabilir ve kolay adlarıyla anılabilir (örn.``roboRIO-TEAM-FRC.local``). Bazı cihazlar mDNS’yi desteklemiyorsa, bunların statik adresleri kullanacak şekilde ayarlanması gerekecektir.

Tüm cihazlar DHCP veya Statik IP atamalarını (doğru statik ayarlarla) kullanacak şekilde ayarlanmışsa, iletişim herhangi bir değişiklik gerekmeden hem sahada hem de pit alnında çalışacaktır. Bazı Statik ve bazı DHCP cihazlarının bir karışımı varsa, Statik cihazlar sahaya bağlanacak, ancak pite alanında bağlanmayacaktır. Bu, tüm aygıtları statik ayarlara ayarlayarak veya mevcut ayarları bırakıp pit alanında bir DHCP sunucusu sağlayarak çözülebilir.