Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.02.2015, 11:28   #11
challengerr
Участник клуба
 
Аватар для challengerr
 
Регистрация: 30.07.2008
Сообщений: 1,609
По умолчанию

Если вы проект будете делать под windows, то нужно скачать windows SDK на официальном сайте microsoft. В нем есть заголовочный файл snmp.h и WinSnmp.h

Для передачи пакетов потребуются сокеты. Для подключения сокетов используются библиотеки winsock. Описание библиотеки: https://msdn.microsoft.com/en-us/lib...(v=vs.85).aspx
Транспортный протокол - TCP. Подключение с использованием заголовочных файлов WinSock.h и WinSock2.h
Для начинающих статьи:
http://club.shelek.ru/viewart.php?id=35
http://citforum.ru/book/cook/winsock.shtml

Кроме этого, можете обратить внимание на библиотеки .NET для сетей и делать проект легче всего на C#. System.Net
Базовая статья: https://msdn.microsoft.com/ru-ru/library/dd335942.aspx
Описание System.NET: https://msdn.microsoft.com/ru-ru/lib...v=vs.110).aspx
Описание высокоуровневых сокетов: https://msdn.microsoft.com/ru-ru/lib...v=vs.110).aspx

Код:
Socket s = new Socket(AddressFamily.InterNetwork,
SocketType.Stream, ProtocolType.Tcp);
Код:
foreach (NetworkInterface nic in
    NetworkInterface.GetAllNetworkInterfaces())
{
    Console.WriteLine(nic.Name);
    foreach (UnicastIPAddressInformation addrInfo in
        nic.GetIPProperties().UnicastAddresses)
    {
        Console.WriteLine("\t" + addrInfo.Address);
    }
}
Код:
private Socket _serverSocket;

private void SetupServerSocket()
{
    IPHostEntry localMachineInfo =
        Dns.GetHostEntry(Dns.GetHostName());
    IPEndPoint myEndpoint = new IPEndPoint(
        localMachineInfo.AddressList[0], _port);

    _serverSocket = new Socket(
        myEndpoint.Address.AddressFamily,
        SocketType.Stream, ProtocolType.Tcp);
    _serverSocket.Bind(myEndpoint);
    _serverSocket.Listen((int)SocketOptionName.MaxConnections);
}
Листинг 2. Простой многопоточный сервер
Код:
class ThreadedServer
{
    private Socket _serverSocket;
    private int _port;

    public ThreadedServer(int port) { _port = port; }

    private class ConnectionInfo
    {
        public Socket Socket;
        public Thread Thread;
    }

    private Thread _acceptThread;
    private List<ConnectionInfo> _connections =
        new List<ConnectionInfo>();

    public void Start()
    {
        SetupServerSocket();
        _acceptThread = new Thread(AcceptConnections);
        _acceptThread.IsBackground = true;
        _acceptThread.Start();
    }

    private void SetupServerSocket()
    {
        // Получаем информацию о локальном компьютере
        IPHostEntry localMachineInfo =
            Dns.GetHostEntry(Dns.GetHostName());
         IPEndPoint myEndpoint = new IPEndPoint(
            localMachineInfo.AddressList[0], _port);

        _serverSocket = new Socket(
            myEndpoint.Address.AddressFamily,
            SocketType.Stream, ProtocolType.Tcp);
        _serverSocket.Bind(myEndpoint);
        _serverSocket.Listen((int)
            SocketOptionName.MaxConnections);
    }

    private void AcceptConnections()
    {
        while (true)
        {
            Socket socket = _serverSocket.Accept();
            ConnectionInfo connection = new ConnectionInfo();
            connection.Socket = socket;

           connection.Thread = new Thread(ProcessConnection);
            connection.Thread.IsBackground = true;
            connection.Thread.Start(connection);

            lock (_connections) _connections.Add(connection);
        }
    }

    private void ProcessConnection(object state)
    {
        ConnectionInfo connection = (ConnectionInfo)state;
        byte[] buffer = new byte[255];
        try
        {
            while (true)
            {
                int bytesRead = connection.Socket.Receive(
                    buffer);
                if (bytesRead > 0)
                {
                    lock (_connections)
                    {
                        foreach (ConnectionInfo conn in
                            _connections)
                        {
                            if (conn != connection)
                            {
                                conn.Socket.Send(
                                    buffer, bytesRead,
                                    SocketFlags.None);
                            }
                        }
                    }
                }
                else if (bytesRead == 0) return;
            }
        }
        catch (SocketException exc)
        {
            Console.WriteLine("Socket exception: " +
                exc.SocketErrorCode);
        }
        catch (Exception exc)
        {
             Console.WriteLine("Exception: " + exc);
        }
        finally
        {
            connection.Socket.Close();
            lock (_connections) _connections.Remove(
                connection);
        }
    }
}
"SPACE.THE FINAL FRONTIER.This's a voyage of starship Enterprise. It's 5-year mission to explore strange new worlds,to seek out new life and civilizations,to boldly go where no man has gone before"
challengerr вне форума Ответить с цитированием
Старый 24.02.2015, 11:29   #12
challengerr
Участник клуба
 
Аватар для challengerr
 
Регистрация: 30.07.2008
Сообщений: 1,609
По умолчанию

Листинг 4. Асинхронный сервер
https://msdn.microsoft.com/ru-ru/library/dd335942.aspx
Код:
class AsynchronousIoServer
{
    ... // метод SetupServerSocket и конструктор - те же,
        // что и в классе ThreadedServer

    private class ConnectionInfo
    {
        public Socket Socket;
        public byte[] Buffer;
    }

    private List<ConnectionInfo> _connections =
        new List<ConnectionInfo>();

    public void Start()
    {
        SetupServerSocket();
        for (int i = 0; i < 10; i++)
            _serverSocket.BeginAccept(new
                AsyncCallback(AcceptCallback), _serverSocket);
    }

    private void AcceptCallback(IAsyncResult result)
    {
        ConnectionInfo connection = new ConnectionInfo();
        try
        {
            // Завершение операции Accept
            Socket s = (Socket)result.AsyncState;
            connection.Socket = s.EndAccept(result);
            connection.Buffer = new byte[255];
            lock (_connections) _connections.Add(connection);

            // Начало операции Receive и новой операции Accept
            connection.Socket.BeginReceive(connection.Buffer,
                0, connection.Buffer.Length, SocketFlags.None,
                new AsyncCallback(ReceiveCallback),
                connection);
            _serverSocket.BeginAccept(new AsyncCallback(
                AcceptCallback), result.AsyncState);
        }
        catch (SocketException exc)
        {
            CloseConnection(connection);
            Console.WriteLine("Socket exception: " +
                exc.SocketErrorCode);
        }
        catch (Exception exc)
        {
            CloseConnection(connection);
            Console.WriteLine("Exception: " + exc);
        }
    }

    private void ReceiveCallback(IAsyncResult result)
    {
        ConnectionInfo connection =
            (ConnectionInfo)result.AsyncState;
        try
        {
            int bytesRead =
                connection.Socket.EndReceive(result);
            if (0 != bytesRead)
            {
                lock (_connections)
                {
                    foreach (ConnectionInfo conn in
                        _connections)
                    {
                        if (connection != conn)
                        {
                            conn.Socket.Send(connection.Buffer,
                                bytesRead, SocketFlags.None);
                        }
                    }
                }
                connection.Socket.BeginReceive(
                    connection.Buffer, 0,
                    connection.Buffer.Length, SocketFlags.None,
                    new AsyncCallback(ReceiveCallback),
                    connection);
            }
            else CloseConnection(connection);
        }
        catch (SocketException exc)
        {
            CloseConnection(connection);
            Console.WriteLine("Socket exception: " +
                exc.SocketErrorCode);
        }
        catch (Exception exc)
        {
            CloseConnection(connection);
            Console.WriteLine("Exception: " + exc);
        }
    }

    private void CloseConnection(ConnectionInfo ci)
    {
        ci.Socket.Close();
        lock (_connections) _connections.Remove(ci);
    }
}
"SPACE.THE FINAL FRONTIER.This's a voyage of starship Enterprise. It's 5-year mission to explore strange new worlds,to seek out new life and civilizations,to boldly go where no man has gone before"
challengerr вне форума Ответить с цитированием
Старый 24.02.2015, 11:43   #13
Нелли_Ниталиева
Пользователь
 
Регистрация: 24.02.2015
Сообщений: 10
По умолчанию

[QUOTE=challengerr;1473459]Документация по snmp на сайте https://www.ietf.org/rfc/rfc1157.txt (RFC 1157 описание протокола)



Спасибо!
А вот вопрос....
Если я напишу прогу, кот. проверяет активность сетевого оборудования?
(с условием, если IPшник дает отклик в течении 5с, то все ок)
??????
прокатит?
Нелли_Ниталиева вне форума Ответить с цитированием
Старый 24.02.2015, 12:17   #14
challengerr
Участник клуба
 
Аватар для challengerr
 
Регистрация: 30.07.2008
Сообщений: 1,609
По умолчанию

Цитата:
Сообщение от Нелли_Ниталиева Посмотреть сообщение

Спасибо!
А вот вопрос....
Если я напишу прогу, кот. проверяет активность сетевого оборудования?
(с условием, если IPшник дает отклик в течении 5с, то все ок)
??????
прокатит?
Нет.
Тема "Проектирование мультисервисной корпоративной сети".
Ключевое слово - проектирование.

Вот например, есть сайт Mail.ru
У них своя корпоративная сеть, на которой крутится множество сервисов, которые прописаны на определенных IP адресах, причем есть IPv4 и IPv6.

Mail.ru использует передачу данных через спутник. У них свой интернет без провайдера. данные хранятся в облачных дата-центрах, позволяющих обрабатывать петабайты информации. Причем они используют много сервисов. Если для диплома требуется практика, то можно обратиться в mail.ru, чтобы выяснить является ли возможным прохождение у них преддипломной практики. В дипломе требуется практическая часть, которая выясняется на реальных предприятиях. Mail.ru это реальная корпоративная сеть с множеством сервисом. Они ее проектировали прежде чем размещать в интернете. Владельцем mail.ru является Усманов. они контролируют социальную сеть Одноклассники и Вконтакте. То есть это крупнейшая российская корпоративная мультисервисная сеть.

Код:
217 69 139 21 voiplog.mail.ru  (VoIP , голосовая связь - сервис голосовой связи через интернет и телефонии через интернет)
217 69 139 44 l-test.datacloudmail.ru (облачные технологии)
217 69 139 60 auth.mail.ru (сервис авторизации)
217 69 139 66 internal-api.e.mail.ru (сервис API)
217 69 139 67 mobile-api.e.mail.ru (сервис мобильных API)
217 69 139 68 external-api.e.mail.ru (сервис внешних API)
217 69 139 70 www.mail.ru (сервис веб-сайта)
217 69 139 74 pop.mail.ru (сервис интернет-почты по протоколу POP)
217 69 139 78 pop.list.ru
217 69 139 82 pop.inbox.ru
217 69 139 86 pop.bk.ru
217 69 139 90 imap.mail.ru (сервис корпоративной почты по протоколу IMAP)
217 69 139 112 ns2.mail.ru (корпоративный сервис имен)
217 69 139 113 ins1.i.mail.ru (корпоративный сервис имен)
217 69 139 114 bns1.mail.ru (корпоративный сервис имен)
217 69 139 131 cdn.mail.ru (сервис предоставления мобильного интернета)
217 69 139 160 smtp.mail.ru (сервис отправки почты)
217 69 139 178 agent.mail.ru (сервис агента)
217 69 139 179 smsapi.mail.ru (сервис SMS API)

217 69 141 63 img-if31-img.mail.ru (облачный сервис mail.ru для хранения фотографий, изображений)
217 69 141 64 img-if32-img.mail.ru
...

217 69 141 103 photo126.mail.ru  (облачный сервис mail.ru для хранения фотографий, изображений)
...

217 69 142 2 mail.fragoria.ru (игровой сервис игры Fragoria)
Сервер может использоваться либо на технологиях Microsoft (Windows Server 2012/2012 R2, Windows Server 2008/2008 R2, Microsoft Windows NT/2000/2003), либо на технологиях Unix/Linux (FreeBSD, NetBSD).
Вам сперва нужно определиться, на каких технологиях будет построен сервер.
Устанавливается коммутатор и прочее сетевое оборудование. Детальное описание сетей дано у Таненбаума
Литература: Таненбаум Эндрю - Компьютерные сети
С Таненбаума можно попробовать войти в тему диплома, и это для написания основной части диплома.
Определившись с тем, на каком оборудовании будет работать сеть, определяетесь с программным обеспечением.
Операционные системы рабочих станций: Microsoft Windows 10 , Windows 8 и 8.1 , Windows 7 , Vista , 2000/XP
"SPACE.THE FINAL FRONTIER.This's a voyage of starship Enterprise. It's 5-year mission to explore strange new worlds,to seek out new life and civilizations,to boldly go where no man has gone before"

Последний раз редактировалось challengerr; 24.02.2015 в 12:27.
challengerr вне форума Ответить с цитированием
Старый 24.02.2015, 12:29   #15
Нелли_Ниталиева
Пользователь
 
Регистрация: 24.02.2015
Сообщений: 10
По умолчанию

[QUOTE=challengerr;1473509]Нет.
Тема "Проектирование мультисервисной корпоративной сети".
Ключевое слово - проектирование.


У меня такая ситуация.практика уже позади.реальная компания. .(их сеть я уже спроектировала.)
мои задачи:
1.анализ сети организации, где проходила практику
2.выявление недостатков сети- найти проблему.(тут же я предлагаю свое решение проблемы, экономически обоснованное)
3.какой-либо программный продукт для компании
Нелли_Ниталиева вне форума Ответить с цитированием
Старый 24.02.2015, 12:53   #16
challengerr
Участник клуба
 
Аватар для challengerr
 
Регистрация: 30.07.2008
Сообщений: 1,609
По умолчанию

Цитата:
Сообщение от Нелли_Ниталиева Посмотреть сообщение
У меня такая ситуация.практика уже позади.реальная компания. .(их сеть я уже спроектировала.)
мои задачи:
1.анализ сети организации, где проходила практику
2.выявление недостатков сети- найти проблему.(тут же я предлагаю свое решение проблемы, экономически обоснованное)
3.какой-либо программный продукт для компании
1 часть на основе данных полученных во время практики.

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

3 часть программа которая позволяет устранить проблему.

Если какой-то пункт неизвестен, в компании выясняете. Вы же там с админом общались или нет?
"SPACE.THE FINAL FRONTIER.This's a voyage of starship Enterprise. It's 5-year mission to explore strange new worlds,to seek out new life and civilizations,to boldly go where no man has gone before"
challengerr вне форума Ответить с цитированием
Старый 24.02.2015, 12:54   #17
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
По умолчанию

to Нелли_Ниталиева
Цитата:
Сообщение от Нелли_Ниталиева Посмотреть сообщение
мои задачи:
1.анализ сети организации, где проходила практику
2.выявление недостатков сети- найти проблему.(тут же я предлагаю свое решение проблемы, экономически обоснованное)
3.какой-либо программный продукт для компании
Если не секрет, кто Вам поставил такие задачи? Всё-таки проектирование сети и разработка ПО для мониторинга сети или работы с сетевым оборудованием разные вещи.
to challengerr
Цитата:
Сообщение от challengerr Посмотреть сообщение
2 часть основной проблемой может быть низкая пропускная способность, низкая скорость и т.п.
3 часть программа которая позволяет устранить проблему.
Здесь очень многое зависит от характера проблемы и причины её возникновения. Не последнюю роль играет степень использования ресурсов. Если из них "выжато" почти 100%, то говорить о чём либо уже крайне сложно.

Последний раз редактировалось Streletz; 24.02.2015 в 13:01.
Streletz вне форума Ответить с цитированием
Старый 24.02.2015, 13:24   #18
Нелли_Ниталиева
Пользователь
 
Регистрация: 24.02.2015
Сообщений: 10
По умолчанию

Цитата:
Сообщение от challengerr Посмотреть сообщение
1 часть на основе данных полученных во время практики.

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

3 часть программа которая позволяет устранить проблему.

Если какой-то пункт неизвестен, в компании выясняете. Вы же там с админом общались или нет?

Вот именно что ни к скорости, ни к пропускной способности я придраться не могу. там все норм. только могу придраться к расположению серверной, не соблюдению условий, и предложить перенести ее куда-то там потому что 1,2, и т.д.(короче вода)

вот поэтому у меня и образовалась проблема с прогой. с идеями
Нелли_Ниталиева вне форума Ответить с цитированием
Старый 24.02.2015, 13:27   #19
Нелли_Ниталиева
Пользователь
 
Регистрация: 24.02.2015
Сообщений: 10
По умолчанию

Цитата:
Сообщение от Streletz Посмотреть сообщение
to Нелли_Ниталиева
Если не секрет, кто Вам поставил такие задачи? Всё-таки проектирование сети и разработка ПО для мониторинга сети или работы с сетевым оборудованием разные вещи.
куратор по дипломке. ВЫ имеете ввиду что надо делать что-то одно? либо по либо сеть?
Нелли_Ниталиева вне форума Ответить с цитированием
Старый 24.02.2015, 13:46   #20
challengerr
Участник клуба
 
Аватар для challengerr
 
Регистрация: 30.07.2008
Сообщений: 1,609
По умолчанию

Цитата:
Сообщение от Нелли_Ниталиева Посмотреть сообщение
Вот именно что ни к скорости, ни к пропускной способности я придраться не могу. там все норм. только могу придраться к расположению серверной, не соблюдению условий, и предложить перенести ее куда-то там потому что 1,2, и т.д.(короче вода)

вот поэтому у меня и образовалась проблема с прогой. с идеями
Для того, чтобы дать рекомендацию, нужно знать более конкретно тип сети. Иначе получится субъективно.

У диплома есть руководитель, если нет идей, обращаетесь к руководителю диплома.

У сетей Ethernet 10 гигабит сейчас максимум. Проблем действительно может не быть. Так как 10 гигабит был еще 10 лет назад. В википедии написано, что IEEE проектируются 40 гигабит, 100 гигабит, 1 терабит на данный момент.
"SPACE.THE FINAL FRONTIER.This's a voyage of starship Enterprise. It's 5-year mission to explore strange new worlds,to seek out new life and civilizations,to boldly go where no man has gone before"
challengerr вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Прога для фото христик Софт 2 29.12.2014 17:34
прога для развлечения егормот Фриланс 0 27.08.2012 17:58
прога для геокодировки kyzia.ua Общие вопросы Delphi 10 31.03.2011 18:15
Прога для мобильника Egorovka Фриланс 7 18.06.2010 23:32
Защита информации!!!!! Тема для дипломки!!!!! Solny6ko YasnoE Общие вопросы Delphi 4 25.10.2009 10:28