Где хранятся файлы сокета?

Где хранятся файлы сокета?

10.11.2018 10:05:14 Просмотров 38 Источник

Есть задача создать модель сокетов, чисто в исследовательских целей (Так что вопросов зачем, и нафига лучше не задавать). Раз в файловой системе UNIX "Все есть файл", в том числе и сокеты, можно ли взглянуть на них? Из чего они состоят? Их структура и так далее, чтобы приблизиться к реальной модели, если я ошибаюсь в чем-то, то буду рад выслушать как оно на самом деле работает.

У вопроса есть решение - Посмотреть?

https://ru.stackoverflow.com/questions/904861/%d0%93%d0%b4%d0%b5-%d1%85%d1%80%d0%b0%d0%bd%d1%8f%d1%82%d1%81%d1%8f-%d1%84%d0%b0%d0%b9%d0%bb%d1%8b-%d1%81%d0%be%d0%ba%d0%b5%d1%82%d0%b0#comment1485598_904861
описание структуры socket: include/linux/net.h // Раз в файловой системе UNIX "Все есть файл" — кто-то вас очень жестоко обманул.

Ответы - Где хранятся файлы сокета? / Где хранятся файлы сокета?

Является ответом!
Fat-Zer

11.11.2018 12:32:26

Раз в файловой системе UNIX "Все есть файл", в том числе и сокеты, ... Из чего они состоят?

Для начала, все специальные файлы в ФС (устройства, сокеты, именованные каналы) — это просто дескриптор файла, не имеющий никаких связанных данных в самой ФС. т.е. вопрос «из чего они состоят?» имеет не больше смысла, чем «что находится в пустом мешке?».

Раз в файловой системе UNIX "Все есть файл", в том числе и сокеты, можно ли взглянуть на них?

Вообще говоря, это не так; а конкретнее это зависит от того, о каких сокетах идёт речь, если об обычных «интернет-сокетах» для TCP/UDP/IPX/что-то-ещё-более-странное, то они в большинстве реализаций не связаны ни с каким файлом в ФС. Если речь о Unix-сокетах (Unix Domain Socket или же локальные IPC-сокеты), то для них создаётся файл, указанный при связывании (bind) сокета. Традиционно большинство таковых располагаются в /var/run. Но, повторюсь, это чистая абстракция в памяти ядра и ни какой структуры на диске нет.

Есть задача создать модель сокетов, чисто в исследовательских целей (Так что вопросов зачем, и нафига лучше не задавать).

Фраза звучит довольно бессмысленно, так что кое-какие пояснения тут не помешали бы..

https://ru.stackoverflow.com/questions/904861/%d0%93%d0%b4%d0%b5-%d1%85%d1%80%d0%b0%d0%bd%d1%8f%d1%82%d1%81%d1%8f-%d1%84%d0%b0%d0%b9%d0%bb%d1%8b-%d1%81%d0%be%d0%ba%d0%b5%d1%82%d0%b0/904987#comment1486246_904987
В этом и дело, что пока что у меня каша в голове, и хотелось бы все это структурировать, сейчас больше вопросов, задача сделать модель уровня OSI, информация есть как работает, но вот как взаимодействие идет между всем, грубо говоря зачем нужен ip-адерс, если есть уникальный Mac-адрес каждого компа, ну и таких вроде глупых вопросов много, и во всем этом хотелось бы разобраться, на данный момент есть лабораторная работа в универе, где нужно смоделировать канальный уровень, но вот самая главный вопрос, нужен ли ip-адрес в данной модели, если канальный уровню на него все ровно?
https://ru.stackoverflow.com/questions/904861/%d0%93%d0%b4%d0%b5-%d1%85%d1%80%d0%b0%d0%bd%d1%8f%d1%82%d1%81%d1%8f-%d1%84%d0%b0%d0%b9%d0%bb%d1%8b-%d1%81%d0%be%d0%ba%d0%b5%d1%82%d0%b0/904987#comment1486252_904987
Наверное я сформулировал не правильно вопрос, мне бы нужно знать, как вообще создается сокет, если это абстракция, то по какому принципу она работает, и тд. Просто одно дело, если я использую готовые функции на языке C, а другое дело, если я знаю как они работают. Просто хочу разобраться с сетями, да с корнями:)
https://ru.stackoverflow.com/questions/904861/%d0%93%d0%b4%d0%b5-%d1%85%d1%80%d0%b0%d0%bd%d1%8f%d1%82%d1%81%d1%8f-%d1%84%d0%b0%d0%b9%d0%bb%d1%8b-%d1%81%d0%be%d0%ba%d0%b5%d1%82%d0%b0/904987#comment1486467_904987
@РобертГатри, сокет — это чисто программный интерфейс, удобная абстракция и API для программиста. к тому как работает сетевые протоколы оные имеют весьма поверхностное отношения; как в деталях реализованы сокеты — зависит от ОC, обычно это мало-кого интересует, так что основной источник информации по этому вопросу будут исходники... Обычно людей интересует два соседних уровня: детали того, какой именно API предоставляет подсистема сокетов (функции С и их ожидаемое поведение) и детали реализации нижележащих протоколов, которые используются для передачи по сети.
https://ru.stackoverflow.com/questions/904861/%d0%93%d0%b4%d0%b5-%d1%85%d1%80%d0%b0%d0%bd%d1%8f%d1%82%d1%81%d1%8f-%d1%84%d0%b0%d0%b9%d0%bb%d1%8b-%d1%81%d0%be%d0%ba%d0%b5%d1%82%d0%b0/904987#comment1486468_904987
@РобертГатри, для общего введения советую сначала почитать какую-нибудь книгу. От себя могу порекомендовать Д…Э.Камер — «Сети TCP/IP».
https://ru.stackoverflow.com/questions/904861/%d0%93%d0%b4%d0%b5-%d1%85%d1%80%d0%b0%d0%bd%d1%8f%d1%82%d1%81%d1%8f-%d1%84%d0%b0%d0%b9%d0%bb%d1%8b-%d1%81%d0%be%d0%ba%d0%b5%d1%82%d0%b0/904987#comment1486470_904987
@РобертГатри, по поводу вопросов, то что глупые — ничего, однако желательно их чётко формулировать и они должны быть конкретными (не требовать написание целой книги для ответа); все спорные утверждения желательно приводить с последовательностью умозаключений, которые к ним привели или источником; по возможности, желательно снабжать примерами и также придерживаться принципа один пост — один вопрос. Но вопросы из серии «что от меня ожидается в этой лабораторной?» лучше адресовать преподавателю/методичкам/коллегам и практичней будет это выяснить до того, как интересоваться, «а как это сделать?».
Закрыть X