Компьютерные системы и сети

  • Вид работы:
    Контрольная работа
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    63,22 Кб
  • Опубликовано:
    2016-01-19
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Компьютерные системы и сети

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ

БЕЛОРУССКИЙ НАЦИОНАЛЬНЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

МЕЖДУНАРОДНЫЙ ИНСТИТУТ ДИСТАНЦИОННОГО ОБРАЗОВАНИЯ

Кафедра «Информационные системы и технологии»









КОНТРОЛЬНАЯ РАБОТА

Компьютерные системы и сети


Выполнил:

Зеневич Дмитрий Алексеевич





Минск 2015

Введение

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

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

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

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

Расширение локально-вычислительных сетей и удлинение линий связи привело к необходимости создания глобальных сетей, в состав которых входят локальные, региональные сети и отдельные ПК. Для соединения ПК и сетей в глобальной сети используются специальные линии связи: волоконно-оптические, телефонные, спутниковые и т.д. Скорость передачи в таких линиях зависит от качества всех составляющих. Наиболее массовым каналом передачи данных является телефонные линии.

Объединение большого числа локально-вычислительных сетей привело в итоге к созданию всемирной компьютерной сети - Интернет.

электронный вычислительный сеть ethernet

. Теоретические сведения

MAC-адрес (от англ. <https://ru.wikipedia.org/wiki/%D0%90%D0%BD%D0%B3%D0%BB%D0%B8%D0%B9%D1%81%D0%BA%D0%B8%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA> Media Access Control - управление доступом к среде, также Hardware Address) - это уникальный идентификатор, присваиваемый каждой единице активного оборудования компьютерных сетей <https://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80%D0%BD%D0%B0%D1%8F_%D1%81%D0%B5%D1%82%D1%8C>.

При проектировании стандарта Ethernet <https://ru.wikipedia.org/wiki/Ethernet> было предусмотрено, что каждая сетевая карта (равно как и встроенный сетевой интерфейс) должна иметь уникальный шестибайтный номер (MAC-адрес), прошитый в ней при изготовлении. Этот номер используется для идентификации отправителя и получателя фрейма <https://ru.wikipedia.org/wiki/%D0%9A%D0%B0%D0%B4%D1%80_(%D1%82%D0%B5%D0%BB%D0%B5%D0%BA%D0%BE%D0%BC%D0%BC%D1%83%D0%BD%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8)>, и предполагается, что при появлении в сети нового компьютера (или другого устройства, способного работать в сети) сетевому администратору не придётся настраивать MAC-адрес.

Уникальность MAC-адресов достигается тем, что каждый производитель получает в координирующем комитете IEEE Registration Authority <#"864349.files/image001.jpg">

Рис. 1. - Перечисление ресурсов сети

Рис. 2 - Отображение МАС адресов устройств

. Стек протоколов TCP/IP

Стек протоколов TCP/IP - набор сетевых протоколов <https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB%D1%8B_%D0%BF%D0%B5%D1%80%D0%B5%D0%B4%D0%B0%D1%87%D0%B8_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85> передачи данных, используемых в сетях, включая сеть Интернет <https://ru.wikipedia.org/wiki/%D0%98%D0%BD%D1%82%D0%B5%D1%80%D0%BD%D0%B5%D1%82>. Название TCP/IP происходит из двух наиважнейших протоколов семейства - Transmission Control Protocol <https://ru.wikipedia.org/wiki/Transmission_Control_Protocol> (TCP) и Internet Protocol <https://ru.wikipedia.org/wiki/Internet_Protocol> (IP), которые были разработаны и описаны первыми в данном стандарте.

Протоколы работают друг с другом в стеке <https://ru.wikipedia.org/wiki/%D0%A1%D1%82%D0%B5%D0%BA> (англ. <https://ru.wikipedia.org/wiki/%D0%90%D0%BD%D0%B3%D0%BB%D0%B8%D0%B9%D1%81%D0%BA%D0%B8%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA> stack, стопка) - это означает, что протокол, располагающийся на уровне выше, работает «поверх» нижнего, используя механизмы инкапсуляции <https://ru.wikipedia.org/wiki/%D0%98%D0%BD%D0%BA%D0%B0%D0%BF%D1%81%D1%83%D0%BB%D1%8F%D1%86%D0%B8%D1%8F_(%D0%BA%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80%D0%BD%D1%8B%D0%B5_%D1%81%D0%B5%D1%82%D0%B8)>. Например, протокол TCP <https://ru.wikipedia.org/wiki/TCP> работает поверх протокола IP <https://ru.wikipedia.org/wiki/IP>.

Стек протоколов TCP/IP включает в себя четыре уровня:

прикладной уровень <https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%B8%D0%BA%D0%BB%D0%B0%D0%B4%D0%BD%D0%BE%D0%B9_%D1%83%D1%80%D0%BE%D0%B2%D0%B5%D0%BD%D1%8C> (application layer),

транспортный уровень <https://ru.wikipedia.org/wiki/%D0%A2%D1%80%D0%B0%D0%BD%D1%81%D0%BF%D0%BE%D1%80%D1%82%D0%BD%D1%8B%D0%B9_%D1%83%D1%80%D0%BE%D0%B2%D0%B5%D0%BD%D1%8C> (transport layer),

сетевой уровень <https://ru.wikipedia.org/wiki/%D0%A1%D0%B5%D1%82%D0%B5%D0%B2%D0%BE%D0%B9_%D1%83%D1%80%D0%BE%D0%B2%D0%B5%D0%BD%D1%8C> (network layer),

канальный уровень <https://ru.wikipedia.org/wiki/%D0%9A%D0%B0%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9_%D1%83%D1%80%D0%BE%D0%B2%D0%B5%D0%BD%D1%8C> (link layer).

Протоколы этих уровней полностью реализуют функциональные возможности модели OSI <https://ru.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D0%B5%D0%BB%D1%8C_OSI>. На стеке протоколов TCP/IP построено всё взаимодействие пользователей в IP-сетях. Стек является независимым от физической среды передачи данных.

Порты

Приложения, использующие «сокеты», идентифицируют себя на компьютере посредством номера порта (port number). Например, FTP-сервер использует определенный TCP-порт, поэтому другие приложения могут связаться с ним.

Порты могут иметь любой номер от 0 до 65 536. Номера портов для приложений клиентов динамически назначаются операционной системой при обработке запроса на обслуживание. Существуют зарезервированные (или заранее известные, от англ. well-known) номера портов, которые закреплены за стандартными прикладными протоколами и службами. Их список можно узнать, просмотрев текстовый файл Windows\System32\Drivers\Etc\Services.

Номера зарезервированных портов расположены в интервале от 1 до 1024. Полный список зарезервированных номеров портов определен в стандарте RFC 1700.

«Сокет» (от англ. socket) во многом аналогичен дескриптору файла (file handle). Он обеспечивает конечную точку сетевого соединения. Приложение, создавая «сокет», указывает три параметра: IP-адрес узла, тип обслуживания (протокол TCP для ориентированного на соединение обслуживания и UDP для не ориентированного) и порт, используемый приложением.

Протокол UDP

Протокол User Datagram Protocol (UDP) обеспечивает не ориентированную на соединение службу доставки датаграмм по принципу «максимального усилия». Это означает, что получение всей датаграммы или правильной последовательности отправленных пакетов не гарантируется.

Протокол UDP используется приложениями, не требующими подтверждения. Обычно такие приложения передают данные небольшого объема за один раз. Примеры служб и приложений, использующих UDP: сервис имен NetBIOS, сервис датаграмм NetBIOS и сервис SNMP.

Порты протокола UDP

Для использования протокола UDP приложение должно знать IP-адрес и номер порта получателя. Порт - место назначения при доставке сообщений - идентифицируется уникальным номером. Порт действует как мультиплексная очередь сообщений, то есть он может получать несколько сообщений одновременно. Важно отметить, что порты протокола UDP, перечисленные в таблице, отличаются от портов TCP несмотря на использование тех же значений номеров. Протокол UDP описан в стандарте RFC 768.

. Консольное приложение MyServer (Chat Server)

Исходный код main.cpp:

#pragma comment (lib,"Ws2_32.lib")

#include <WinSock2.h>

#include <iostream>

#include <WS2tcpip.h>Connect; //Prinimaet podkluch pol'zovoteley* Connections; // Kollekciya socketov - massiv socketovListen; //Socket dlya podklucheniyaClientCount = 0;SendMesageToClient(int ID)

{* buffer = new char[1024];(Sleep(75))

{(buffer,0,sizeof(buffer));(recv(Connections[ID],buffer,1024,NULL))

{(buffer);("\n"); (int i=0; i<=ClientCount; i++)

{(Connections[i],buffer,strlen(buffer),NULL); // otpravka vsem clientam soobschenie

}buffer;

}main ()

{(LC_ALL,"russian");data; //Peremennaya tipaversion = MAKEWORD (2,2); //Versiya socetov res = WSAStartup (version,&data); //res - rezultat inicializacii socketa;(res!=0)

{0;

}addrinfo hints; // Peremennie dlya raboty s socketamaddrinfo * result;= (SOCKET*)calloc(64,sizeof(SOCKET)); // inicializaciya(&hints,sizeof(hints)); //ochistili stucturu.ai_family = AF_INET; //tip soketa.ai_flags = AI_PASSIVE; // flag.ai_socktype = SOCK_STREAM; //DEGRAMA.ai_protocol = IPPROTO_TCP;

//info o hoste (o nas)(NULL,"7770",&hints,&result); // hints - nastroyki soketa, result - info o sockete, servere itd= socket (result->ai_family,result->ai_socktype,result->ai_protocol); // Inicializiruem socket Listen(Listen,result->ai_addr,result->ai_addrlen); // Ob'yavili server(Listen,SOMAXCONN); // Max clientov(result);("Start server...\n");m_connect[] = "Connect... ;;;5";

{

//cicl obrabotki soobscheniy(Connect = accept(Listen,NULL,NULL)) // ojudanie podclucheniya

{("Client connect....\n");[ClientCount] = Connect; // sohranyaem socket clienta(Connections[ClientCount],m_connect,strlen(m_connect),NULL); // soobchenie o podcluchenii dlya clienta++;//++ k polzovateley(NULL,NULL,(LPTHREAD_START_ROUTINE)SendMesageToClient,(LPVOID)(ClientCount-1),NULL,NULL);

}

Рис.3 - Сервер

5. Приложение MyClient(Chat Client)

Исходный код файла Program.cs

System;System.Collections.Generic;System.Linq;System.Threading.Tasks;System.Windows.Forms;MyClientclass Program

{

/// <summary>

/// </summary>

[STAThread]void Main()

{.EnableVisualStyles();.SetCompatibleTextRenderingDefault(false);.Run(new Form1());

}

6. Исходный код файла Form1.cs

System;System.Collections.Generic;System.ComponentModel;System.Data;System.Drawing;System.Linq;System.Text;System.Threading.Tasks;System.Windows.Forms;System.Net;System.Net.Sockets;System.IO;System.Threading;MyClient

{

public partial class Form1: Form

{private Socket Client;//сокет для клиентаIPAddress ip = null; // Хранит ip адрессint port = 0;Thread th;Form1()

{();.Enabled = false;.Enabled = false;.Enabled = false;

//Ниже принимаем найстройки для клиента

{sr = new StreamReader(@"Client_info/Client_info.txt");buffer = sr.ReadToEnd();.Close();[] connect_info = buffer.Split(':');= IPAddress.Parse(connect_info[0]);= int.Parse(connect_info[1]);.ForeColor = Color.Green;.Text = "Настройки:\n IP сервера:" + connect_info[0] + "\n Порте сервера: " + connect_info[1];

}(Exception ex) //в случае ошибки

{.ForeColor = Color.Red;.Text = "Настройки не найдены";form = new Form2();.Show();

}

}void настройкиToolStripMenuItem_Click(object sender, EventArgs e)

{form = new Form2();.Show();

}SendMessage(string message)

{(message != "" && message != " ")

{[] buffer = new byte[1024];= Encoding.UTF8.GetBytes(message);.Send(buffer);= new Thread(delegate() { RecvMessage(); });.Start();

}

}RecvMessage()

{[] buffer = new byte[1024];(int i = 0; i < buffer.Length; i++)

{[i] = 0;

}

{.Receive(buffer);message = Encoding.UTF8.GetString(buffer);count = message.IndexOf(";;;5");(count == -1)

{;

}Clear_Message = "";(int i = 0; i < count; i++)

{_Message += message[i];

}(int i = 0; i < buffer.Length; i++)

{[i] = 0;

}.Invoke((MethodInvoker)delegate()

{.AppendText(Clear_Message);

});

}(Exception ex)

{

}

}void button2_Click(object sender, EventArgs e)

{(textBox1.Text != "" && textBox1.Text != " ")

{.Enabled = true;.Enabled = true;= new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);(ip != null)

{.Connect(ip, port);

}void button1_Click(object sender, EventArgs e)

{("\n" + textBox1.Text + ":" + richTextBox2.Text + ";;;5");.Clear();

}void авторToolStripMenuItem_Click(object sender, EventArgs e).Show("BY Dmitry Zenevich");

}void выходToolStripMenuItem_Click(object sender, EventArgs e)(th != null ) th.Abort();(Client != null) Client.Close();.Exit();

}

Исходный код файла Form2.cs

System;System.Collections.Generic;System.ComponentModel;System.Data;System.Drawing;System.Linq;System.Text;System.Threading.Tasks;System.Windows.Forms;System.IO;MyClient

{partial class Form2: Form

{

public Form2()();

}void button1_Click(object sender, EventArgs e)

{(textBox1.Text != "" && textBox1.Text != " " && textBox1.Text != "" && textBox1.Text != " ")

{

{data = new DirectoryInfo("Client_info");.Create();sw = new StreamWriter(@"Client_info/Client_info.txt");.WriteLine(textBox1.Text + ":" + textBox2.Text);.Close();.Hide();.Restart();

}(Exception ex)

{.Show("Ошибка:" + ex.Message);

}

}

Пример работы программы

Рис.4 - Чат клиент

Заключение

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

В контрольной работе сделан обзор, сравнительные характеристики, достоинства и недостатки протоколов таких как TCP и UDP. Существует много других эффективных и полезных приложений как чат и сервер, число их увеличивается с каждым днем. Поэтому, чтобы не отстать от ритма современной жизни, нужно постоянно быть в курсе новинок технических средств ПЭВМ, системного программного обеспечения и прикладных компьютерных технологий.

Список использованных источников

1. MSDN Library. Раздел Networking and Directory Services - Network Pro-tocols - NetBIOS, раздел Networking and Directory Services - Network Manage-ment - Windows Networking (WNet).

2. Справочник по командам Windows. [Электрон, ресурс] / Режим доступа: http://winchanger.whatis.ru/file/prog.zip

. Windows: Сети: Изучение TCP/IP. [Электрон, ресурс] / OS Zone. Режимдоступа: http://www.oszone.net/display.php?id=1409

. К.Закер. Компьютерные сети. Модернизация и поиск неисправностей: Пер. с англ. - СПб.: БХВ-Петербург, 2004. - 1008 с.: ил.

6. Windows: Сети: Изучение TCP/IP: [Электрон, ресурс] / OS Zone. Режим доступа: http://www.oszone.net/display.php?id=1409

. К.З акер. Компьютерные сети. Модернизация и поиск неисправностей: Пер. с англ. - СПб.: БХВ-Петербург, 2004. - 1008 с.

Похожие работы на - Компьютерные системы и сети

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!