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.

Since there are only 4 billion addresses, and there are more than 4 billion computers connected to the internet, we need to be as efficient as possible with giving out IP addresses. This brings us to public vs. private addresses.

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.

Key point #2: Unless you are directly connecting to your internet provider’s basic modem (no router function), your device will have an IP Address in one of these ranges. This means that at any local network, such as: your school, work office, home, etc., your device will 99% of the time have an IP address in a range listed below:

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?

We’ve covered the basics of what IP addresses are, and which IP addresses we will use for the FRC competition, so now we need to discuss how these addresses will get assigned to the devices on our network. We already stated above that we can’t have two devices on the same network with the same IP Address, so we need a way to be sure that every device receives an address without overlapping. This can be done Dynamically (automatic), or Statically (manual).

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?

A DHCP server is a device that runs the DHCP service to monitor the network for new devices to configure. In larger businesses, this could be a dedicated computer running the DHCP service and that computer would be the DHCP server. For home networks, FRC networks, and other smaller networks, the DHCP service is usually running on the router; in this case, the router is the DHCP server.

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.

Available Network Ports

Please see R704 of the 2024 Game Manual for information regarding available network ports.

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 (Domain Name System) can become a complex topic, but for the scope of this paper, we are going to just look at the high-level overview of DNS. In the most basic explanation, DNS is what allows us to relate human-friendly names for network devices to IP Addresses, and keep track of those IP addresses if they change.

Example 1: Let’s look at the site www.google.com. The IP address for this site is 172.217.164.132, however that is not very user-friendly to remember!

Whenever a user types www.google.com into their computer, the computer contacts the DNS server (a setting provided by DHCP!) and asks what is the IP address on file for www.google.com. The DNS server returns the IP address and then the computer is able to use that to connect to the Google website.

Ö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.

This is the second benefit to DNS and the most relevant for FRC. With DNS, if we reference devices by their friendly name instead of IP Address, we don’t have to change anything in our program if the IP Address changes. DNS will keep track of the changes and return the new address if it ever changes.

FRC İçin DNS

On the field and in the pits, there is no DNS server that allows us to perform the lookups like we do for the Google website, but we’d still like to have the benefits of not remembering every IP Address, and not having to guess at every device’s address if DHCP assigns a different address than we expect. This is where mDNS comes into the picture.

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) is a system which allows for resolution of hostnames to IP addresses on small networks with no dedicated name server. To resolve a hostname a device sends out a multicast message to the network querying for the device. The device then responds with a multicast message containing its IP. Devices on the network can store this information in a cache so subsequent requests for this address can be resolved from the cache without repeating the network query.

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

The Radyonuzu Programlama will enable the DHCP server on the OpenMesh radio in the home use case (AP mode), if you are putting the OpenMesh in bridge mode and using a router, you can enable DHCP addressing on the router. The bridge is set to the same team-based IP address as before (10.TE.AM.1) and will hand out DHCP address from 10.TE.AM.20 to 10.TE.AM.199. When connected to the field, FMS will also hand out addresses in the same IP range.

Ö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.