#16 Еще раз сети

#16 Еще раз сети

- 4 mins

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


Относительно недавно я уже предпринимал попытки изучить основы сетевых технологий и устройства сетей, и даже прочитал о стеке протоколов TCP/IP, но вскоре, просто забыл всю эту пассивную информацию, которая никак не укладывалась у меня в голове (классика, да?). Ну что же, на этой недели была вторая попытка вновь изучить эту тему, только уже немного внимательнее и детальнее, не совершая ошибок прошлого. tcp/ip

Началось все с классического гугления интересующих меня терминов, протоколов, и технологий, но через какое-то время я понял, что снова делаю что-то не так, и эта неструктурированная информация буквально через пару-тройку дней выветрится из головы. Поэтому нужно было найти материал разложенный по полочкам и разъясняющийся всю суть для таких нубов как я. И все-таки нашел - это был курс Андрея Созыкина по компьютерным сетям.

Открыв новую тетрадь для конспектирования, я сел внимательно смотреть уроки (правда пропустив парочку по wi-fi и некоторым служебным сетевым протоколам вроде DHCP и ARP) и был просто поражен насколько доступно все рассказано и как легко усваивается информация. Вот что значит грамотно структурированный курс.

Началось все с изучения модели OSI, описывающей из каких уровней должна состоять сеть, а также то, какой функционал должен предоставлять каждый из этих уровней. Разделение уровней в данном случае, это что-то вроде выделения абстракций в построении программ, ведь легче работать с каждым по отдельности, просто предоставляя “верхнему” уровню интерфейс “нижнего” и при необходимости без последствий меняя внутреннюю реализацию. Внимание уделяется разбору каждого уровня.

osi


Осознание того, чем MAC-адрес (адрес компьютеров на канальном уровне) отличается от IP-адреса (адреса на сетевов уровне, на котором происходит объединение сетей из разных технологий канального уровня в одну общую составную сеть) и от порта, сильно повышает общее понимание того, как работают технологии более высокого, прикладного уровня, например тот же HTTP (и HTTP-сервер).

Прояснение разницы между протоколом TCP и UDP, их преимуществ и недостатков, знание того что делает каждый уровень стека TCP/IP, зачем нужен NAT, DNS, и что такое сокеты - уже позволяют выстроить практически “полную” картину, необходимую на моем уровне, чтобы почти беспрепятственно начинать работу с Node.JS и бекендом в целом.

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


Осталось досмотреть всего пару видео-уроков и можно продолжать работу на Hexlet с “HTTP-Server” и “Express.js”, на которые уже не оставалось времени на этой недели, хотя пару статей по этим двум темам я все же успел прочитать.

План на следующие 7 дней такой: заканчиваем два этих курса, а также в идеале “JS: Предметно-ориентированное проектирование” и начало баз данных, при этом возможно стоит иногда заглядывать в те конспекты по комьютерным сетям, периодически вспоминая что и как работает.

comments powered by Disqus
rss facebook twitter github youtube mail spotify lastfm instagram linkedin google google-plus pinterest medium vimeo stackoverflow reddit quora quora