Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы_СЕТИ.docx
Скачиваний:
19
Добавлен:
22.09.2019
Размер:
901.34 Кб
Скачать
  1. Технология xDsl

Сегодня многие поставщики услуг и операторы связи начали активно внедрять различные варианты цифровых абонентских линий (DSL). Набольшее внимание специальстов привлекла технология асимметричной цифровой абонентской линии (Asymmetric Digital Subscriber Line, ADSL), но помимо нее пользователям предложены также службы симметричной цифровой абонентской линии (SDSL), цифровой абонентской линии с переменной скоростью (Rate Adaptive DSL, RADSL) и сверхбыстрой цифровой абонентской линии (Very high-speed DSL, VDSL).

Перечисленные технологии рассчитаны на высокоскоростную передачу данных на коротком отрезке витой пары, соединяющей абонента с ближайшей телефонной АТС, то есть на решение проблемы "последней мили", отделяющей потребителя от поставщика услуг. В то время как обычные модемы рассчитаны на работу с полосой пропускания в 3100 Гц через сеть с произвольным количеством коммутаторов, модемы xDSL могут получить в свое распоряжение полосу порядка 1 МГц - эта величина зависит от длины кабеля до АТС и сечения используемых проводов. Отличия условий работы модемов xDSL от обычных модемов показаны на рис. ниже на примере ADSL-модемов.

ADSL-модемы, подключаемые к обоим концам короткой линии между абонентом и АТС, образуют тир канала: быстрый канал передачи данных из сети в компьютер, менее быстрый дуплексный канал передачи данных из компьютера в сеть и простой канал телефонной связи, по которому передаются обычные телефонные разговоры. На дальнем конце абонентского окончания должен располагаться так называемый мультиплексор доступа ADSL - DSLAM. Этот мультиплексор выделяет подканалы из общего канала и отправляет голосовой подканал в 3100 Гц на АТС, а высокоскоростные каналы данных направляет на маршрутизатор, который должен находится рядом с ADSLAM.

Одно из главных преимуществ технологи ADSL по сравнению с аналоговыми модемами и протоколами ISDN и HDSL - то, что поддержка голоса никак не отражается на параллельной передаче данных по двум быстрым каналам. Широкое распространение технологий xDSL должно сопровождаться некоторой перестройкой работы поставщиков услуг Интернета и поставщиков услуг телефонных сетей, так как их оборудование теперь должно работать совместно.

  1. Удаленный доступ через сети catv и беспроводной доступ

Еще одним популярным методом построения сетей широкополосного доступа является использование сетей кабельного телевидения ( CATV ). Напомним, что предоставление услуг широкополосного доступа NGN по CATV представляет собой один из методов использования существующей инфраструктуры. Подобно технологии DSL , которая формирует каналы широкополосного доступа по телефонных парам, технология доступа по CATV использует коаксиальные кабели, которые приходят в квартиры потенциальных потребителей услуг NGN . Но если технология DSL сталкивается с необходимостью разработки специальных технических решений, чтобы расширить полосу передачи данных, то в технологии традиционного кабельного телевидения, называемой также технологией высокочастотной передачи ( HFC ), такой проблемы нет. Коаксиальные кабели в CATV , в отличие от витой пары категории 3 и 4 в традиционных телефонных сетях, обеспечивают передачу сигналов в диапазоне до 1 ГГц. Это означает, что CATV технически более приспособлено для широкополосного доступа NGN , чем традиционные абонентские телефонные кабели. Принцип организации передачи информации по CATV аналогичен рассмотренному в разд. 3.3 принципу работы систем ADSL . На абонентской стороне устанавливается разветвитель (сплиттер), который позволяет использовать один или несколько частотных каналов кабельного телевидения для передачи данных. Емкость одного канального интервала позволяет передать данные со скоростью 3 Мбит/с и более. При необходимости можно задействовать большее число канальных интервалов. Появление новых спецификаций стандартов цифрового телевидения DOCSIS v .1.0 и v .2.0 позволило упростить конвергенцию NGN и CATV . В последних версиях стандарта DOCSIS предусмотрены все механизмы для передачи данных по CATV . Системы цифрового телевидения очень близки к современным системам NGN , в которых более 80 % трафика составляют телевизионные программы и другие видеоприложения. Поэтому движение к Triple Play со стороны телевидения имеет много положительных сторон. К недостаткам использования CATV для организации сетей доступа можно отнести отсутствие у операторов кабельного телевидения инфраструктуры, которая позволяет перейти от кабельного вещания к NGN . Если в технологии ADSL вся инфраструктура связи присутствует на узле доступа: здесь есть выход па транспортную сеть, серверы VoIP , подсистема биллинга и пр., то в системах кабельного вещания ничего подобного пет. Центральный узел кабельного телевидения обычно территориально удален от основных узлов операторов связи. Операторы кабельного телевидения не могут, в отличие от операторов традиционных систем связи, опираться па уже существующие компоненты NGN и должны создавать всю структуру управления и предоставления услуг заново.

Беспроводные локальные сети все больше и больше приобретают популярность среди пользователей. В течение нескольких лет они проходили процесс стандартизации, повышалась скорость передачи данных, цена становилась доступнее. Сегодня беспроводные сети позволяют предоставить подключение пользователей там, где затруднено кабельное подключение или необходима полная мобильность. При этом беспроводные сети взаимодействуют с проводными сетями. В настоящее время необходимо принимать во внимание беспроводные решения при проектировании любых сетей - от малого офиса до предприятия. Это, возможно, сэкономит и средства и трудозатраты и время. Ниже приведен рисунок построения беспроводной сети на базе оборудования D-Link DWL-2100AP (Внутриофисная высокоскоростная до 108 Мбит/с беспроводная точка доступа 802.11g).

К этой точке доступа посредством радиоканала подключаются рабочие станции, оснащенные wireless сетевыми картами.

Вопросы:

1. Понятие и основные компоненты компьютерной сети.

2. Сетевые характеристики.

3. Виды адресации узлов сети.

4. Локальные адреса.

5. Числовые-составные адреса. IP-адреса.

6. Символьные адреса. DNS-имена.

7. Универсальный идентификатор ресурсов URI.

8. Понятие логической архитектуры компьютерной сети. Одноранговая архитектура.

9. Архитектура клиент-сервер.

10. Технологии сокетов.

11. Первичные и вторичные сети. Общая структура телекоммуникационной сети.

12. Локальные и глобальные сети. Современные тенденции развития сетевых технологий.

13. Сети операторов связи и корпоративные сети.

14. Понятие и типы коммутации.

15. Многоур. подход к стандартизации в КС. Понятие «интерфейс», «стек протоколов».

16. Сетезависимые уровни эталонной модели взаимодействия открытых систем.

17. Сетенезависимые уровни эталонной модели взаимодействия открытых систем.

18. Классификации и характеристики линий связи.

19. Методы кодирования информации.

20. Типы кабелей. Структурированная кабельная система.

21. Витая пара и коаксиальный кабель.

22. Волоконно-оптический кабель.

23. Базовые топологии компьютерных сетей.

24. Общая характеристика технологии Ethernet. Форматы кадров.

25. Метод доступа CSMA/CD.

26. Спецификации физической среды Ethernet.

27. Технология Fast Ethernet.

28. Спецификации физической среды Fast Ethernet.

29. Технология Gigabit Ethernet.

30. Спецификации физической среды Gigabit Ethernet.

31. Общая характеристика и основные преимущества стека TCP/IP.

32. Архитектура IP-пакета.

33. Уровень межсетевого взаимодействия. Функции. Протоколы.

34. Протокол IP. Структура IP-пакета.

35. Понятие маршрутизации. Таблицы маршрутизации.

36. Использование масок в IP-адресации.

37. Протокол TCP/IP. Структура TCP-сегмента.

38. Алгоритм «скользящего окна». Борьба с перегрузкой в TCP.

39. Протокол UDP.

40. Общая характеристика протокола IPv6.

41. Адресная схема IPv6.

42. Дефицит IP-адресов. Технологии NAT и CIDR.

43. Алгоритм работы прозрачного моста.

44. Коммутаторы LAN. Характеристики. Классификация.

45. Ограничения и дополнительные функции коммутаторов.

46. Общая характеристика ГКС.

47. Технология первичных сетей PDH, SDH/SONET, DWDM.

48. Удаленный доступ. Особенности. Виды клиентов.

49. Схема удаленного доступа.

50. Коммутируемый доступ через сети PSTN и ISDN.

51. Технология xDSL.

52. Удаленный доступ через сети CATV и беспроводной доступ

Сокет (Socket - гнездо, разъем) - абстрактное программное понятие, используемое для обозначения в прикладной программе конечной точки канала связи с коммуникационной средой, образованной вычислительной сетью.

Разработать консольное приложение, в котором:

1) выполнить инициализацию Winsock;

2) вывести на экран значения специальных IP-адресов INADDR_ANY и INADDR_BROADCAST;

3) определить номера портов, используемых стандартными службами ftp, telnet, smtp, http, pop3;

4) выполнить разрешение введенного с клавиатуры имени хоста в IP-адрес;

5) по IP-адресу узла, заданному в десятично-точечной нотации, определить его имя;

6) преобразовать IP-адрес и номер порта к сетевому порядку следования байтов, вывести на экран значения до и после преобразования в 16-ричном формате.

#include "stdafx.h"

#include <stdio.h>

#include <winsock2.h>

#include <windows.h>

#include "iostream"

using namespace std;

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

char buf [256];

char *rus(char *str)

{CharToOem(str,buf); return buf;}

int _tmain(int argc, _TCHAR* argv[])

{WSADATA s; WSAStartup(MAKEWORD(2,2), &s); //инициализация

sockaddr_in a1; a1.sin_addr.S_un.S_addr = INADDR_ANY;

cout << "INADDR_ANY " <<inet_ntoa(a1.sin_addr) << endl;

sockaddr_in a2; a2.sin_addr.S_un.S_addr = INADDR_BROADCAST;

cout << "INADDR_BROADCAST " <<inet_ntoa(a2.sin_addr) << endl << endl;

struct servent* serv = getservbyname("ftp", "tcp"); // получение номеров портов

cout << "ftp " <<htons(serv->s_port) << endl; serv = getservbyname("http", "tcp");

cout << "http " <<htons(serv->s_port) << endl; serv = getservbyname("telnet", "tcp");

cout << "telnet " <<htons(serv->s_port) << endl; serv = getservbyname("smtp", "tcp");

cout << "smtp " <<htons(serv->s_port) << endl; serv = getservbyname("pop3", "tcp");

cout << "pop3 " <<htons(serv->s_port) << endl << endl;

cout << rus("Введите имя хоста для разрешения его в IP-адрес: "); char name[255];

cin >> name; struct hostent* host = gethostbyname (name); //ф-ии д/пр.имени в IP-адрес

int n = 0; while (host->h_addr_list[n])

{ struct sockaddr_in adr; memcpy(&adr.sin_addr,host->h_addr_list[n],host->h_length);

cout << "IP: " <<inet_ntoa(adr.sin_addr)<< endl << endl; n++; }

cout << rus("Введите IP-адрес узла: "); char adres[255];

cin >> adres; DWORD adr=inet_addr(adres);

struct hostent* hostn = gethostbyaddr ((char*)&adr,4,AF_INET); //имя узла по IP –адресу

cout << rus("Имя: ")<< hostn->h_name<< endl <<endl;

cout <<rus("IP 209.91.186.78 Порт:21485" )<< endl; sockaddr_in a6;

a6.sin_addr.S_un.S_addr=inet_addr("209.91.186.78"); a6.sin_port=21485;

cout<<rus("В системном порядке следования байтов:") << endl << ("IP: ");

cout<<hex <<ntohl(inet_addr("209.91.186.78"))<<endl <<rus("Порт: ") <<hex <<a6.sin_port <<endl <<endl;

cout<<rus("В сетевом порядке следования байтов:") << endl << ("IP: ");

cout<<htons(a6.sin_addr.S_un.S_un_b.s_b4)<<"."<<htons(a6.sin_addr.S_un.S_un_b.s_b3)<<"."<<htons(a6.sin_addr.S_un.S_un_b.s_b2)<<"."<<htons(a6.sin_addr.S_un.S_un_b.s_b1);

cout<<endl <<rus("Порт: ")<<htons(a6.sin_port);

WSACleanup (); //выгрузка библиотеки и освобождение ресурсов

int pause; cin>>pause; return 0; }

Разработать TCP-сервер, инициализирующий Winsock2, создающий сокет, привязывающий его к локальному IP-адресу и порту и прослушивающий соединения клиентов. Номер порта и IP-адрес вводить с клавиатуры. IP-адрес задавать в десятично-точечной нотации.

сервер

#include "stdafx.h"

#include <stdio.h>

#include <winsock2.h>

#include <windows.h>

#include "iostream"

using namespace std;

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

char buf [256];

char *rus(char *str)

{CharToOem(str,buf);return buf;}

void _tmain()

{WSADATA s; int a = WSAStartup(MAKEWORD(2,2), &s);

int n; SOCKET so; SOCKET so1;

so=socket(AF_INET,SOCK_STREAM,NULL); //создание сокета

cout << rus("Дескриптор сокета\t") << so <<endl;

if(so==SOCKET_ERROR)

{cout << WSAGetLastError (); }

SOCKADDR_IN s_in;

s_in.sin_family = AF_INET;

s_in.sin_port = 1024;

s_in.sin_addr.s_addr = INADDR_ANY;

n=bind (so,(LPSOCKADDR)&s_in,sizeof(s_in)); // привязка сокета данного протокола к

// его стандартному адресу

if(n==0)

{cout << rus("Сокет успешно привязан к его стандартному адресу") <<endl;}

else cout << WSAGetLastError ();

n=listen(so,SOMAXCONN); // перевод сокета в режим прослушивания

if(n==0)

{cout << rus("Прослушивание................" )<<endl;}

else cout << WSAGetLastError ();

SOCKADDR_IN s_from;

int from_len=sizeof(s_from);

so1=accept(so,(LPSOCKADDR)&s_from,&from_len); // сервер принимает соед-е клиента

if(n==0)

{cout << rus("Сервер успешно принял соединение клиента" )<<endl;}

else cout << WSAGetLastError ();

cout << rus("Соединение принято от ")<< inet_ntoa(s_from.sin_addr);

cout << rus(" Порт") <<htons(s_from.sin_port) <<endl;

char RecvBuffer[256];

char MsgText[256]="Zaiceva_Kurnevich";

n=send(so1,MsgText,sizeof(MsgText),MSG_DONTROUTE); //отправка сообщения

n=recv(so1,RecvBuffer,sizeof(RecvBuffer),0); //приём сообщения

cout << rus("Полученное сообщение: ")<<RecvBuffer<<endl;

shutdown(so1,SD_BOTH); // Корректное завершение сеанса

closesocket (so1); //закрытие сокета

WSACleanup ();

cout<<rus("Сокет закрыт")<<endl;

cin>>n;

}

клиент

#include "stdafx.h"

#include <stdio.h>

#include <winsock2.h>

#include <windows.h>

#include "iostream"

using namespace std;

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

char buf [256];

char *rus(char *str)

{CharToOem(str,buf);return buf;}

void _tmain()

{WSADATA s; int a = WSAStartup(MAKEWORD(2,2), &s); int n; SOCKET so;

so=socket(AF_INET,SOCK_STREAM,NULL); //создание сокета

cout << rus("Дескриптор сокета\t") << so <<endl;

if(so==SOCKET_ERROR)

{cout << WSAGetLastError ();}

SOCKADDR_IN s_in;

s_in.sin_family = AF_INET;

s_in.sin_port = 1024;

s_in.sin_addr.s_addr = inet_addr("127.0.0.1");

n=connect (so,(LPSOCKADDR)&s_in,sizeof(s_in)); // Установление соединения

char RecvBuffer[256];

char MsgText[256]="Kurnevich_Zaiceva";

n=recv(so,RecvBuffer,sizeof(RecvBuffer),0);

cout << rus("Полученное сообщение: ")<<RecvBuffer<<endl;

n=send(so,MsgText,sizeof(MsgText),MSG_DONTROUTE);

shutdown(so,SD_BOTH);

closesocket (so);

WSACleanup ();

cout<<rus("Сокет закрыт")<<endl;

cin>>n;}

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

сервер

#include "stdafx.h"

#include <stdio.h>

#include <winsock2.h>

#include <windows.h>

#include "iostream"

using namespace std;

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

char buf [256];

char *rus(char *str)

{CharToOem(str,buf);return buf;}

void _tmain()

{WSADATA s; int a = WSAStartup(MAKEWORD(2,2), &s); int n; SOCKET so;

so=socket(AF_INET,SOCK_DGRAM,IPPROTO_IP);

cout << rus("Дескриптор сокета\t" ) << so <<endl;

if(so==SOCKET_ERROR) {cout << WSAGetLastError ();}

SOCKADDR_IN s_in;

s_in.sin_family = AF_INET;

s_in.sin_port = htons(1024);

s_in.sin_addr.s_addr = INADDR_ANY;

n=bind (so,(LPSOCKADDR)&s_in,sizeof(s_in));

int from_len=sizeof(s_in);

char RecvBuffer[256];

char MsgText[256]="Privet ot Servera! :)";

n=recvfrom(so,RecvBuffer,sizeof(RecvBuffer),0,(SOCKADDR *) & s_in,&from_len);

cout << rus("Принятое сообщение: ")<<RecvBuffer<<endl;

shutdown(so,SD_BOTH);

closesocket (so); WSACleanup ();

cout<<rus("Сокет закрыт")<<endl; cin>>n;}

клиент

#include "stdafx.h"

#include <stdio.h>

#include <winsock2.h>

#include <windows.h>

#include "iostream"

using namespace std;

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

char buf [256];

char *rus(char *str)

{CharToOem(str,buf);return buf;}

void _tmain(int argc, _TCHAR* argv[])

{WSADATA s; int a = WSAStartup(MAKEWORD(2,2), &s); int n; SOCKET so;

so=socket(AF_INET,SOCK_DGRAM,IPPROTO_IP);

cout << rus("Дескриптор сокета\t" )<< so <<endl;

if(so==SOCKET_ERROR) {cout << WSAGetLastError ();}

SOCKADDR_IN s_in;

s_in.sin_family = AF_INET;

s_in.sin_port = htons(1024);

s_in.sin_addr.s_addr = inet_addr("127.0.0.1");

int from_len=sizeof(s_in);

n=connect (so,(LPSOCKADDR)&s_in,sizeof(s_in));

char RecvBuffer[256];

char MsgText[256]="Privet ot Klienta! :)";

n=send(so,MsgText,sizeof(MsgText),MSG_DONTROUTE);

n=sendto(so,MsgText,sizeof(MsgText),0,(SOCKADDR *) & s_in,from_len);

shutdown(so,SD_BOTH);

closesocket (so); WSACleanup ();

cout<<rus("Сокет закрыт")<<endl; cin>>n; }