Объяснение работы dhcp сервера с примерами

Протокол TCP/IPv4 без доступа к интернету

Каждый обладатель стационарного компьютера или ноутбука хотя бы однажды, но сталкивался с проблемами доступа к сети. Распространены случаи, когда все настройки произведены и параметры указаны верно, вай-фай настроен, подключение есть, а вот доступа к сети Интернет отсутствует.

В строке состояния в сетевых подключениях содержится следующая информация: IPv4 без доступа к интернету. Ниже приведена подробная инструкция, как решить проблему.

Диагностика ошибки

Протокол интернета версии 4 TCP/IPV4 диагностируется на наличие ошибок. Диагностика сетей проводится согласно следующему алгоритму:

  1. На клавиатуре одновременно нажать комбинацию клавиш «Win+R». В командной строке ввести «ncpa.cpl».
  2. Нажать ПКМ по проблемному сетевому подключению и из выпадающего списка выбрать «Состояние», далее — «Диагностика».
  3. После проведения диагностики на экране монитора должны отобразиться выявленные проблемы.

Как правило, речь идет о следующих проблемах:

  • «На этом компьютере отсутствует один или несколько сетевых протоколов».
  • «Сетевой адаптер не имеет допустимых параметров настройки IP».
  • «Параметры компьютера настроены верно, но ресурс (DNS-сервер) или устройство не отвечает».
  • «Шлюз, установленный по умолчанию, не доступен».
  • «DHCP сервер не включен на сетевом адаптере».

Как показывает практика, преимущественно сеть интернет, структура, адресация и протоколы передачи работают некорректно из-за неправильно настроенного DHCP сервера.

Обратите внимание! Проблема неправильной настройки может быть не только со стороны пользователя ПК, но и со стороны провайдера

Настройки TCP/IPv4

Прежде чем что-то торопиться исправлять, нужно убедиться, что не произошел обычный сбой Internet. В этом случае решить проблему достаточно лишь обыкновенным переподключением соединения. Для этого правой кнопкой мыши нужно кликнуть по проблемной сети и нажать «Отключить» Далее, двойным нажатием подключиться обратно. Если для создания домашней сети используется маршрутизатор, его рекомендуется перезагрузить.

Еще в качестве альтернативы можно провести сканирование настройки протокола для операционной системы Windows. Алгоритм действий при этом следующий:

  1. Правой кнопкой мыши нажать «Пуск», открыть «Командная строка (Администратор)».
  2. Прописать команду «ipconfig/all».

На экране отобразится вся актуальная информация. Нужно проверить «DHCP-сервер» и «Основной шлюз».

Важно! Если DHCP-сервер не отдает адрес шлюза (Основной шлюз 0.0.0.0) или он не активен, то настройки IPv4 необходимо вводить вручную. Изменить это удастся, следуя пошаговому плану:

Изменить это удастся, следуя пошаговому плану:

  1. Пройти путь: «Свойства» — «IP версии 4 (TCP/IPv4)».
  2. Напротив строки «использовать следующий IP-адрес» поставить метку и прописать значения:
  • Шлюз 192.168.1.1.
  • Маска подсети 255.255.255.0.
  • IP-адрес 192.168.1.2 (или любое значение в диапазоне от 2 до 254).
  1. В строке «Использовать следующие адреса DNS-серверов» установить следующие значения: Картинка6.Настройки TCPIPv4 3 пункт плана

Чтобы изменения вступили в силу, нужно не только сохранить изменения, но и перезагрузить устройство.

Настройки роутера

Если для построения домашней беспроводной сетевой инфраструктуры используется маршрутизатор, то в его настройки тоже необходимо включить DHCP сервер. Делается это следующим образом:

  1. Запустить любой браузер, установленный на ПК и в адресной строке прописать https:// 192.168.1.1 или https://192.168.0.1. Ввести пароль для идентификации в системе.
  2. В зависимости от производителя и модели маршрутизатора интерфейс будет изменить различный дизайн. В меню нужно найти и включить тип подключении «DHCP».
  3. Сохранить изменения и перезагрузить устройство.

Если перечисленные «возможности» не помогли устранить неполадку, необходимо позвонить в круглосуточную службу поддержки провайдера, который оказывает услугу.

DHCP — что это такое простыми словами, как включить на роутере, адаптере?

Рад видеть Вас на fast-wolker.ru! Продолжаем изучать сетевое администрирование. Многие пытаясь впервые настраивать роутер, сталкиваются с неизбежными вопросами. Один из таких, на первый взгляд второстепенных вопросов — это настройка DHCP

Для маленьких домашних сетей как правило это не актуально, и на эту опцию сначала мало кто обращает внимание

Но, как только возникает необходимость настроить для своих нужд работоспособную сеть с выходом в Интернет по выделенному IP-адресу, так сказать пробелы в знаниях дают о себе знать. Читаем и берем на вооружение. В этом выпуске:

Эта статья поможет вам разобраться в теме

Все важно, а такие «лишние» знания бесполезными не бывают и простым способом можно повысить безопасность вашей сети. Как всегда, в начале немного теории, без нее все равно никуда

Сегодня все сети построены на ключевых протоколах TCP/IP, которые во многом обеспечивает их функционирование.

Одной из служб этого протокола и является DHCP (DYNAMIC HOST CONFIGURATION PROTOCOL) или «протокол динамического конфигурирования хостов». Хостами обычно называют имена компьютеров в сети. В некотором роде они заменяют собой IP адреса при обращении к компьютеру по имени.

DHCP является вспомогательным средством TCP/IP и функционирует в сети как сервер, как клиент, и как протокол по которому и передаются в сеть служебные данные. Все зависит от того, о каком уровне идет речь.

Можно включить сервер на роутере и тогда это будет сервер. Альтернативный вариант — установить DHCP и на компьютере , например настроить в Windows 10. Можно включать или отключать эти службы на одном из компьютеров сети — это будет уровень клиента или сетевого протокола.

Как включить (отключить) интернет протокол IPv6 в Windows

В статье показаны действия, с помощью которых можно включить или отключить интернет протокол версии 6 (IPv6) для всех или для отдельных сетевых адаптеров в операционной системе Windows 7, 8.1 и 10.

Интернет протокол версии 6 (IPv6) — это новый набор стандартных протоколов, который обеспечивает связь между различными взаимодействующими сетями.

IPv6 предназначен для решения многих проблем текущей версии пакета интернет протокола (известного как IPv4) в отношении истощения адресов, безопасности, автоматической настройки, расширяемости и так далее.

IPv6 расширяет возможности Интернета для включения новых видов приложений, включая одноранговые и мобильные приложения.

Протокол включен по умолчанию в Windows, но иногда вам может потребоваться отключить его, например, чтобы присоединить компьютер к домену.

  1. Как включить или отключить IPv6 используя свойства сетевого адаптера
  2. Активация IPv6 для определённого сетевого адаптера
  3. Включение IPv6 для всех сетевых адаптеров через Windows PowerShell
  4. Как отключить IPv6 для конкретного адаптера
  5. Отключение IPv6 для всех адаптеров

Как включить или отключить IPv6 используя свойства сетевого адаптера

Данный способ доступен в операционных системах Windows 7, 8, 8.1 и 10. Все остальные подойдут только для 8 и 10 версий операционной системы Microsoft.

Чтобы включить или отключить интернет протокол IPv6 для сетевого адаптера, нажмите сочетание клавиш + R , в открывшемся окне Выполнить введите (скопируйте и вставьте) ncpa.cpl и нажмите кнопку OK.

В окне «Сетевые подключения» щелкните правой кнопкой мыши на сетевом адаптере для которого нужно включить или отключить интернет протокол IPv6 и в появившемся контекстном меню выберите пункт Свойства .

В открывшемся окне свойств сетевого адаптера, чтобы включить протокол IPv6 установите флажок. Для отключения снимите флажок с опции IP версии 6 (TCP/IPv6) и нажмите кнопку OK .

Активация IPv6 для определённого сетевого адаптера

Первое что нужно сделать, это просмотреть текущее состояние IPv6 для всех сетевых адаптеров, а также просмотреть имена сетевых интерфейсов (сетевых адаптеров), для этого запустите консоль Windows PowerShell от имени администратора и выполните следующую команду:

В столбце Name отображены имена сетевых адаптеров. Запомните имя сетевого адаптера для которого необходимо включить интернет протокол IPv6 (в данном примере Ethernet).

Чтобы включить интернет протокол IPv6 для нужного вам сетевого адаптера, в консоли PowerShell выполните команду следующего вида:

Замените Имя сетевого адаптера в команде выше фактическим именем сетевого адаптера для которого необходимо включить интернет протокол IPv6 (например Ethernet). В данном примере команда выглядит следующим образом:

Включение IPv6 для всех сетевых адаптеров через Windows PowerShell

Чтобы включить интернет протокол IPv6 для всех сетевых адаптеров, запустите консоль Windows PowerShell от имени администратора и выполните следующую команду:

Как отключить IPv6 для конкретного адаптера

Сначала нужно просмотреть текущее состояние IPv6 для всех сетевых адаптеров, а также просмотреть имена сетевых интерфейсов (сетевых адаптеров), для этого запустите консоль Windows PowerShell от имени администратора и выполните следующую команду:

В столбце Name отображены имена сетевых адаптеров. Запомните имя сетевого адаптера для которого необходимо отключить интернет протокол IPv6 (в данном примере Ethernet).

Чтобы отключить интернет протокол IPv6 для нужного вам сетевого адаптера, в консоли PowerShell выполните команду следующего вида:

Замените Имя сетевого адаптера в команде выше фактическим именем сетевого адаптера для которого необходимо отключить интернет протокол IPv6 (например Ethernet). В данном примере команда выглядит следующим образом:

Отключение IPv6 для всех адаптеров

Чтобы отключить интернет протокол IPv6 для всех сетевых адаптеров, запустите консоль Windows PowerShell от имени администратора и выполните следующую команду:

Используя рассмотренные выше действия, можно включить или отключить интернет протокол версии 6 (IPv6) для всех или для отдельных сетевых адаптеров в операционных системах Windows 7, 8, 8.1 и 10.

DHCP vs статический IP: какой из них лучше?

Подходящая IP-адресация необходима для установления связи между устройствами в сети. Тогда DHCP vs статический IP, какой лучше? Эта часть обсудит это.

Статические IP-адреса позволяют сетевым устройствам постоянно сохранять один и тот же IP-адрес, Сетевой администратор должен отслеживать каждое статически назначенное устройство, чтобы не использовать этот IP-адрес снова. Поскольку статический IP-адрес требует ручной настройки, это может создать сетевые проблемы, если вы используете его без хорошего понимания TCP/IP.

В то время как DHCP является протоколом для автоматизации задачи назначения IP-адресов. DHCP выгоден для сетевых администраторов, потому что это устраняет повторяющуюся задачу назначения нескольких IP-адресов каждому устройству в сети. Это может занять всего минуту, но когда вы настраиваете сотни сетевых устройств, это действительно раздражает. Точки беспроводного доступа также используют DHCP, поэтому администраторам не нужно настраивать свои устройства самостоятельно. Для точек беспроводного доступа, PoE сетевые коммутаторы поддерживают динамическое связывание по определению пользователей, обычно используются для выделения IP-адресов для каждого устройства, подключенного вместе. Кроме того, что делает DHCP привлекательным то, что это дешевле, чем статические IP-адреса с меньшими затратами на обслуживание. Вы можете легко найти их преимущества и недостатки из следующей таблицы.

IP-адреса Преимущества DНедостатки
DHCP DHCP не требует какой-либо ручной настройки для подключения к локальным устройствам или получения доступа к интернету. Так как DHCP является технологией «автоматический режим», существует опасность, что кто-то может внедрить несанкционированный DHCP-сервер, что позволит проникнуть в сеть в незаконных целях или привести к произвольному доступу к сети без явного разрешения.
Статический IP Адрес не меняется со временем если это не изменено вручную -хорошо для веб-серверов и почтовых серверов. Это дороже, чем динамический IP-адрес, потому что ISP часто взимает дополнительную расходы за статические IP-адреса. Кроме того, это требует дополнительной безопасности и ручной настройки, что добавляет сложности при подключении большого количества устройств.

Определение и суть DHCP

DHCP (Dynamic Host Configuration Protocol) — протокол динамической конфигурации узла, который используется для автоматической настройки IP-адресов, масок подсетей, шлюзов по умолчанию, DNS-серверов и других сетевых настроек в компьютерной сети.

Суть DHCP заключается в том, что сервер DHCP автоматически назначает IP-адреса устройствам в сети, что упрощает и ускоряет процесс настройки. Вместо того чтобы настраивать каждое устройство вручную, администратор может настроить DHCP-сервер и все устройства автоматически получат необходимые настройки сети.

Для настройки DHCP-сервера необходимо определить диапазон доступных IP-адресов, настроить параметры сети, такие как маска подсетей и шлюз по умолчанию. DHCP-сервер также может настраивать DNS-серверы, которые будут использоваться в сети.

Преимущества DHCP включают упрощение настройки сети, более эффективное использование доступных IP-адресов, а также возможность отслеживания и управления сетевыми ресурсами.

Настройка DHCP сервера в роутере

Когда вы используете несколько гаджетов/ПК, нет необходимости разворачивать домашний DHCP, ведь лучше эксплуатировать Wi-Fi роутер или вовсе обойтись без него. В большинстве случаев, основной сервер DHCP находится на стороне провайдера, таким образом от вас требуется только включить технологию, а за корректную его обработку отвечает система. Данные, передаваемые сервером, стандартизированные, поэтому их поддерживают все ОС и умеют правильно взаимодействовать с ними.

Если у вас есть некоторый диапазон выделенных IP-адресов и вы используете свыше 2-х компонентов для коннекта, то имеет смысл задуматься над установкой сервера при помощи Wi-Fi маршрутизатора. Чтобы перейти в DHCP интерфейс роутера вам необходимо:

  • Перейдите по адресу 192.168.0.1 (иногда используется другой) в браузере;
  • Введите пароль, стандартный admin – admin, найти его можно в документации;
  • Теперь вы сможете увидеть специальный раздел DHCP, иногда он не вынесен отдельно, а находится в разделе Network или LAN;
  • Выберите параметр «DHCP Server» и включите его;
  • Задайте диапазон используемых и назначаемых адресов и время аренды.

После выполнения процедуры вы сможете получить доступ с любого устройства к вашему серверу, благодаря чему, ему автоматически будут присваиваться маски подсети, IP-адрес, DNS и все остальные параметры. Таким образом можно ограничивать количество подключаемых к маршрутизатору устройств, так как для каждого будет выделен отдельный адрес.

Мы разобрали простейшую DHCP модель клиент-сервер, содержащую ключевые особенности работы и алгоритм выполнения динамичных обновлений, поддерживая актуальные параметры.

Назначение DHCP

  1. Запрос на аренду: Клиент передает запрос на сервер DHCP с адресом источника 0.0.0.0 и адресом назначения 255.255.255.255. Запрос включает MAC-адрес, который используется для направления ответа от сервера.
  2. Предложение аренды IP-адреса: сервер DHCP отвечает с IP-адресом, маской подсети, сетевым шлюзом, именем домена, серверами имен, продолжительностью аренды и IP-адресом сервера DHCP.
  3. Выбор аренды: Когда клиент получил предложение — он передаёт всем серверам в сети, что он настроен, и больше настройки ему не нужны.
  4. Затем сервер DHCP отправляет клиенту подтверждение. Клиент настроен на использование TCP/IP.
  5. Продление срока аренды: Когда остаётся половина срока аренды, клиент запрашивает у DHCP сервера продление аренды IP-адреса.

Зачем IPv6?

Вполне понятный вопрос: почему я ношусь с IPv6 сейчас, когда от него сейчас нет практически никакой пользы?

Сейчас с IPv6 можно возиться совершенно безопасно, без каких-либо негативных последствий. Можно мирно разбираться в граблях и особенностях, иметь его неработающим месяцами и nobody cares . Я не планирую в свои старшие годы становиться зашоренным коболистом-консерватором, который всю жизнь писал кобол и больше ничего, и все новинки для него «чушь и ерунда». А вот мой досточтимый воображаемый конкурент, когда IPv6 станет продакт-реальностью, будет либо мне не конкурентом, либо мучительно и в состоянии дистресса разбираться с DAD, RA, temporary dynamic addresses и прочими странными вещами, которым посвящено 30+ RFC. А что IPv6 станет основным протоколом ещё при моей жизни — это очевидно, так как альтернатив нет (даже если бы они были, их внедрение — это количество усилий бОльшее, чем завершение внедрения IPv6, то есть любая альтернатива всегда будет отставать). И что адреса таки заканчиваются видно, по тому, как процесс управления ими перешёл во вторую стадию — стадию вторичного рынка

Когда свободные резервы спекуляций и хомячаяния адресов закончится, начнётся этап суровой консолидации — то есть выкидывание всего неважного с адресов, перенос всех «на один адрес» и т.д. Примерно в это время IPv6 начнёт использоваться для реальной работы.

Впрочем, рассказ не про будущее IPv6, а про практику работы с ним. В Санкт-Петербурге есть такой провайдер — Tierа. И я их домашний пользователь. Это один из немногих провайдеров, или, может быть, единственный в городе, кто предоставляет IPv6 домашним пользователям. Пользователю выделяется один IPv6 адрес (для маршрутизатора или компьютера), плюс /64 сетка для всего остального (то есть в четыре миллиарда раз больше адресов, чем всего IPv4 адресов быть может — и всё это в одни руки). Я попробую не просто описать «как настроить IPv6», но разобрать базовые понятия протокола на практических примерах с теоретическими вставками.

Структура сети:(Оригиналы картинок: github.com/amarao/dia_schemes)

  • 1, 2, 3 — устройства в локальной сети, работают по WiFi
  • 4 — WiFi-роутер, принужденный к работе в роле access point (bridge), то есть коммутатора между WiFi и LAN
  • 5 — eth3 сетевой интерфейс, который раздаёт интернет в локальной сети
  • 6 — мой домашний компьютер (основной) — desunote.ru/, который раздачей интернета и занимается, то есть работает маршрутизатором
  • 7 — eth2, интерфейс подключения к сети Tiera

Я пропущу всю IPv4 часть (ничего интересного — обычный nat) и сконцентрируюсь на IPv6.

Полученные мною настройки от Tiera для IPv6:

  1. Адрес 2a00:11d8:1201:0:962b:18:e716:fb97/128 мне выдан для компьютера/шлюза
  2. Сеть 2a00:11d8:1201:32b0::/64 мне выдана для домашних устройств

У провайдера сеть 2a00:11d8:1201:32b0::/64 маршрутизируется через 2a00:11d8:1201:0:962b:18:e716:fb97 (то есть через мой компьютер). Заметим, это всё, что я получил. Никаких шлюзов и т.д. — тут начинается магия IPv6, и самое интересное. «Оно работает само».

Начнём с простого: настройка 2a00:11d8:1201:0:962b:18:e716:fb97 на eth2 для компьютера. Для удобства чтения все конфиги и имена файлов я оставлю на последнюю секцию.

Мы прописываем ipv6 адрес на интерфейсе eth2… И чудо, он начинает работать. Почему? Каким образом компьютер узнал, куда надо слать пакеты дальше? И почему /128 является валидной сетью для ipv6? Ведь /128 означает сеть размером в 1 ip-адрес и не более. Там не может быть шлюза!

Для того, чтобы понять, что происходит, нам надо взглянуть на конфигурацию сети (я вырежу всё лишнее, чтобы не пугать выводом):

# (обычно сокращают до )eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 (skip) inet6 2a00:11d8:1201:0:962b:18:e716:fb97/128 scope global valid_lft forever preferred_lft forever inet6 fe80::218:e7ff:fe16:fb97/64 scope link valid_lft forever preferred_lft forever

Упс. А почему у нас на интерфейсе два адреса? Мы же прописывали один? Наш адрес называется ‘scope global’, но есть ещё и ‘scope link’…

Домашний DHCP-сервер

Дома
в качестве DHCP-сервера часто используют роутеры, которые получаемый от
провайдера контент раздают домашней технике – компьютерам, ноутбукам,
телефонам, телевизорам и другим устройствам, подключенным к сети
проводным или беспроводным способом. При этом создается что-то типа
виртуального сервера, раздающего адреса пользователям. С внешней стороны
это выглядит так, как будто один пользователь открыл на одном своем
компьютере несколько страничек в браузере. При этом фактически к внешней
сети подключен только один роутер. Это позволяет существенно сэкономить
на количестве подключаемых линий.

Как работает DHCP

Протокол динамической адресации использует четыре типа сообщений, которыми обмениваются клиент и сервер. Рассмотрим их подробнее.

DHCPSОбнаружить
Это сообщение инициирует процесс взаимодействия между клиентом и сервером через DHCP. Его отправляет клиент (компьютер, телефон, планшет, телевизор или устройство), подключенный к определенной сети. Сообщение передается, т.е в качестве IP-адреса доставки используется 255.255.255.255, а адрес источника — 0.0.0.0

ПРЕДЛОЖЕНИЕ DHCP
Это сообщение отправляется с сервера на хост в ответ на ранее полученный DHCPDISCOVER. В нем есть все необходимые сетевые настройки, применив которые новое устройство сможет работать в этом сегменте.

DHCREQUEST
Опять же, широковещательное сообщение, которое клиент отправляет серверу в ответ на DHCPOFFER. Это означает, что заказчик выбрал отправленную ему опцию для настройки сетевого подключения.

DHCPACK
Заключительное сообщение от DHCP-сервера клиенту в ответ на DHCPREQUEST. Обозначает конец процесса связи, начатого сообщением DHCPDISCOVER. Получив его, клиент должен применить ранее согласованные настройки сетевого интерфейса, используя предоставленные параметры.

Другие сообщения протокола:

DHCPNAK
Полная противоположность сообщению DHCPACK. Это означает прекращение связи между серверами, описанными выше. Необходимо начинать процедуру заново!

DHCPRELEASE
Сообщение отправляется клиентом, когда он завершает процесс использования IP-адреса, который он занимает.

DHCPDECLINE
Если IP-адрес, предложенный сервером, уже занят, клиент отправляет это сообщение на сервер, а затем процесс связи перезапускается с самого начала.

ИНФОРМАЦИЯ О DHCP
Этот тип сообщения отправляется от клиента к серверу в случаях, когда клиенту назначается статический IP-адрес и динамическое выделение не требуется. В ответ сразу же приходит DHCPACK.

Механизм общения клиента и сервера

Теперь, когда мы изучили все типы сообщений, используемые в DHCP, давайте посмотрим, как клиенты и серверы взаимодействуют на практике.

Шаг 1. Клиентское устройство — компьютер, телефон, принтер, телевизор и т.д. — подключен к сети. Отправляет широковещательный запрос DHCPDISCOVER в поисках сервера. Для этого используется транспортный протокол UDP и порт 67. Начинается процесс авторизации.

Этап 2. Сервер получил запрос DHCPDISCOVER, а затем отправляет сообщение DHCPOFFER в ответ, предлагая клиенту параметры для настройки сетевого адаптера: IP-адрес, маску подсети, шлюз и DNS-сервер, а также информацию о шлюзе. Отправка осуществляется не в широковещательном формате, а напрямую на хост, отправивший запрос. Для этого его MAC-адрес записывается в поле CHADDR. Сейчас используется тот же протокол UDP, но порт уже 68.

Шаг 3. Клиент просматривает выбранные конфигурации, выбирает приемлемую для него и генерирует сообщение DHCPREQUEST, в котором указывает, какой вариант он выбрал. Если в сети несколько DHCP-серверов и получено несколько сообщений DHCPOFFER, клиент указывает в ответе нужный ему сервер.

Шаг 4. Сервер получает DHCPREQUEST от клиента и отвечает DHCPACK, информируя клиентское устройство о том, что теперь ему разрешено использовать назначенный ему IP-адрес. На этом процесс связи заканчивается, и в сети появляется новый хост.

Аренда IP-адресов

Как я сказал ранее, IP-адреса выдаются DHCP-сервером в течение заранее определенного времени — Lease Time. Это значение устанавливается во время конфигурации сервера, обычно в минутах или часах, но в некоторых случаях его также можно установить в секундах. Время аренды периодически обновляется, чтобы уведомить сервер об активности узла. Как только контракт будет наполовину выполнен, клиент DCHP попытается автоматически продлить контракт, обмениваясь сообщениями DHCPREQUEST и DHCPACK.

Когда срок аренды адреса истекает и подтверждение не приходит или приходит пакет DHCPRELEASE, сервер сможет назначить этот IP-адрес другому компьютеру или устройству, которое подключается в любой момент времени.

Понравилась статья? Поделиться с друзьями:
Компьютерная помощь
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: