некоторые основы IP-адреса
IP-адреса внутренне представлены в виде 32-разрядного значения. Самые верхние N битов определяют сеть, остальная часть номера определяет хозяина в сети.
давайте посмотрим на два примера IPs, давайте сначала посмотрим на 32 бита:
10101100000100100000000010010110
10101100000100100000000110010110
можно переписать ИС в более читаемом виде, разделив ее в 8-битные группы (байты) и запись каждого двоичного файла в десятичном формате:
сгруппировать:
00010010 00000000 10101100 10010110
10101100 00010010 00000001 10010110
сгруппированные и десятичные:
172.18.0.150
172.18.1.150
вопрос теперь "находятся ли эти IP-адреса в одной сети"? Это зависит от конфигурации сети. Возьмем для примера сеть маска
11111111 11111111 11111111 00000000
(единицы для сети, нули для хоста.)
прокладка, что по двум IP-адресам вы видите, что оба IP-адреса находятся в разных сетях. Если маска 255.255.0.0, где они будут в той же сети.
другой сети:
11111111 11111111 11111111 00000000
00010010 00000000 10101100 10010110
10101100 00010010 00000001 10010110
Та же сеть:
11111111 11111111 00000000 00000000
00010010 00000000 10101100 10010110
10101100 00010010 00000001 10010110
как и с IP-адресами, сетевые маски также могут быть записаны в десятичном точечном формате: 255.255.255.0 или 255.255.0.0. Если вам теперь нужно написать полный IP и сетевую маску, как 172.18.0.150/255.255.255.0 или 172.18.0.150/255.255.240.0 это много вещей, чтобы написать. Короче писать не дав маска сети, но количество 1S в сети маска: 172.18.0.150/24 или 172.18.0.150/20. Как вы знаете, единицы всегда являются самыми верхними битами, поэтому ясно, что означает" /24 "или" /20".
некоторые Основы маршрутизации
если вы еще не читали мой ответ для использования MAC-адресов вы можете сделать это сейчас.
In short: если компьютер отправляет IP-пакет, он сначала проверяет, находится ли IP-адрес назначения в той же сети, что и сам компьютер (IP-адрес источника). Если это так, компьютер может отправить пакет непосредственно в сеть и конечный компьютер может получить его. Если IP-адрес назначения находится не в той же сети, то компьютер не может достигнуть цели непосредственно, но должен передать пакет следующему маршрутизатору. Таблицы маршрутизации сообщают маршрутизатору, к каким сетям он должен подключиться (например, "если сеть 172.18.0.0/24, маршрутизатор 1.1.1.1"). Тот маршрутизатор снова проверит, может ли он непосредственно достигнуть IP-адреса назначения или если это должно передать пакет следующему маршрутизатору.
если вы хотите взглянуть на таблицу маршрутизации на компьютере, вы можете использовать ip route
.
имейте в виду, что на стороне получателя маска сети не имеет значения. 172.18.0.150 / 24 или 172.18.0.150 / 8 оба 172.18.0.150 и если компьютер получает пакет для 172.18.0.150 он поглотит его. Маска сети используется только на стороне отправителя. Если компьютер отправляет пакет с адреса.а.а.а/н на компьютере с адресом б.б.б.б/м тогда отправителю будет сравнивать верхний n бит адреса источника в.а.а.и самый верхний бит п б.б.б.б. Если оба равны, то.а.а.A и B.б.б.Б находятся в одной сети (и N должны быть равны м) и пакет могут быть отправлены напрямую. Если они не равны, то Сети не равны (не важно, что n может не равняться m) и пакет должен быть отправлен маршрутизатором, который будет пересылать пакет.
понимание" ip route " output
возьмем для примера компьютер с двумя Nic:
по умолчанию через 192.168.178.3 dev eth1 proto статическая метрика 1024
10.0.0.0 / 8 via 172.16.1.1 dev eth0
169.254.0.0 / 16 dev eth1 scope link metric 1000
172.16.0.0/16 в dev eth0 в прото ядра сферы ссылке СРЦ 172.16.126.31
192.168.178.0/24 в dev eth1 и прото ядра сферы ссылке СРЦ 192.168.178.21
строки от 3 до 5 являются производными от IP-адресов, настроенных на сетевых картах (ip addr
). Они говорят компьютеру, что если пакет для отправки совпадает например с сетью 172.16.0.0 / 16 то он должен быть отправлен на eth0 (который настроен на IP адрес 172.16.126.31 в моем случае). Вторая строка-это определенный маршрут, который я добавил. Он говорит, что пакеты 10.0.0.0/8 направляется 172.16.1.1 на eth0. Первый линия дает шлюз/маршрутизатор по умолчанию для использования для пакетов, которые не совпадают ни с какой другой данной сетью.
кто решает, что такое сеть?
на верхнем уровне RFC3330 определяет, что не все IP-адреса для широкого использования, но некоторые диапазоны адресов зарезервированы для специальных целей. Одним из примеров является сеть 127.0.0.0/8. Самый известный адрес в этом диапазоне 127.0.0.1 (имя: имя localhost), который идентифицирует ваш компьютер. Этот IP конечно только полезно на вашем собственном компьютере, потому что каждый пакет, отправленный в эту сеть, никогда не покидает ваш компьютер. Принимая все возможные IP-адреса и удаляя зарезервированные диапазоны, вы по-прежнему имеете пул доступных сетей. Этот большой пул управляется ICANN. Следующим уровнем иерархии являются пять региональных интернет-реестров (например, RIPE NCC). Они получают диапазоны IP-адресов от ICANN и продают их своим клиентам - местным интернет-реестрам. Они продают их конечным клиентам (например компании.)
решение о том, как разделить полный диапазон IP-адресов, зависит от каждого менеджера пула. Допустим, вы ICANN и управлять 50.0.0.0/8-100.0.0.0/8. Если сейчас созрели НКЦ просит для некоторых IP-адресов, вы можете дать им 50.0.0.0/16 или 50.0.0.0/8 или 50.0.0.0/8 до 60.0.0.0/8. То же самое верно для RIPE NCC и местных интернет-реестров. Они могут обеспечить большие или малые сети. В старые добрые времена реестры, где довольно неохотно и так до сих пор существует большие университеты или компании с широкими диапазонами адресов, которые им никогда не были нужны полностью. Некоторые университеты получили сети /8, поэтому у них есть 24 бита для хоста. Это означает, что они могут обращаться к более чем 16 миллионам компьютеров. Если у них есть только несколько тысяч компьютеров, это означает, что миллионы IP-адресов зарезервированы для этого клиента, но никогда не используются-какая трата. Поэтому в последнее время вы больше не получаете больших диапазонов, вы должны спорить, действительно ли вам нужен большой диапазон.
в любом случае как вы решите продавать диапазоны IP-адресов (сети) вы должны иметь в виду, что большие маршрутизаторы в интернете должны знать, как достичь практически любой из существующих сетей. Если вы продаете очень маленькие сети, вы можете получить 10.0.0.0 / 24 и 10.1.0.0/24 в Европе, 10.0.1.0/24 и 10.1.1.0/24 в Азии и 10.0.2.0/24 и 10.1.2.0 / 24 в Африке. Это означает, что маршрутизатор будет иметь много небольших сетевых записей в таблице маршрутизации. Если вы давали 10.0.0.0 / 16 Европа, 10.1.0.0 / 16 в Азию и 10.2.0.0 / 16 в Африку в таблице маршрутизации будет только три записи для больших сетей.
но это не наша проблема, это дело интернет-реестров. Не совсем, потому что...
когда и как мне нужно настроить сеть?
в случае, если вы запустите маршрутизатор компании вы можете получить диапазон 40.41.0.0 / 16 и дать эти IP-адреса на ваших компьютерах, как вам нравится. Но в этом случае все компьютеры должны быть на та же физическая сеть (без маршрутизаторов между). Это может привести к снижению производительности для больших сетей, поэтому может потребоваться разделить сети. Если у вас например два здания, то можно выделить 40.41.0.0/17 К дома одна и 40.41.128.0/17 в здании два.
частные IP-адреса
в случае, если вы используете широкополосный маршрутизатор или вы запускаете маршрутизатор компании вы, возможно, видели IP-адреса частной сети, как 172.16.0.0/12. IP-адрес, который вы дали (172.18.0.150) является таким частным IP-адресом (вы можете легко проверить свои новые знания о сетевых масках). Они используются, если вы получили N публичных IP-адресов (в случае обычного провайдера N=1) из вашего локального интернет-реестра, но имеете m>N устройств, которым нужен IP-адрес. В этом случае маршрутизатор имеет один общедоступный IP-адрес (используемый для всего трафика в интернет и из интернета), а также частную сеть с частными IP-адресами. В вашем случае маршрутизатор просто взял частную сеть 172.18.0.0 / 24 и предоставляет IP-адреса из этой сети каждому компьютеру.
а если чужой маршрутизатор принимает 172.18.0.0/24? Удивительно, но это не проблема. Это вызвано тем, что 172.16.0.0/12 является диапазоном частных адресов. Вы никогда не увидите IP-адреса из этого диапазона в интернет. Если вы отправите пакет в интернет, указав 172.18.0.150 в качестве адреса источника, то маршрутизатор заменит 172.18.0.150 общедоступным IP-адресом, который вам дал интернет-провайдер. Если маршрутизатор получает пакет, отправленный на общедоступный IP-адрес он определяет, на какой из ваших компьютеров он должен отправить пакет, и изменяет IP-адрес назначения на IP-адрес частной сети вашего компьютера.