- •Аннотация
- •Лекция 1. Что такое Java? История создания.
- •1. Что такое Java?
- •2. История создания Java
- •2.1. Сложности внутри Sun Microsystems
- •2.2. Проект Green
- •2.3. Компания FirstPerson
- •2.4. World Wide Web
- •2.5. Возрождение Oak
- •2.6. Java выходит в свет
- •3. История развития Java
- •3.1. Браузеры
- •3.2. Сетевые компьютеры
- •3.3. Платформа Java
- •4. Заключение
- •5. Контрольные вопросы
- •Аннотация
- •1. Основы объектно-ориентированного программирования
- •1.1. Методология процедурно-ориентированного программирования
- •1.2. Методология объектно-ориентированного программирования
- •1.3. Объекты
- •1.3.1. Состояние.
- •1.3.2. Поведение
- •1.3.3. Уникальность
- •1.4. Классы
- •1.4.1. Инкапсуляция
- •1.4.2. Полиморфизм
- •1.5. Типы отношений между классами
- •1.5.1. Агрегация
- •1.5.2. Ассоциация
- •1.5.3. Наследование
- •1.5.4. Метаклассы
- •1.6. Достоинства ООП
- •1.7. Недостатки ООП
- •1.8. Заключение
- •1.9. Контрольные вопросы
- •Аннотация
- •Лекция 3. Лексика языка
- •1. Лексика языка
- •1.1. Кодировка
- •1.2. Анализ программы
- •1.2.1. Пробелы
- •1.2.2. Комментарии
- •1.2.3. Лексемы
- •1.3. Виды лексем
- •1.3.1. Идентификаторы
- •1.3.2. Ключевые слова
- •1.3.3. Литералы
- •1.3.3.1. Целочисленные литералы
- •1.3.3.2. Дробные литералы
- •1.3.3.3. Логические литералы
- •1.3.3.4. Символьные литералы
- •1.3.3.5. Строковые литералы
- •1.3.3.6. Null литерал
- •1.3.3.7. Разделители
- •1.3.3.8. Операторы
- •1.3.3.9. Заключение
- •1.4. Дополнение: Работа с операторами
- •1.4.1. Операторы присваивания и сравнения
- •1.4.2. Арифметические операции
- •1.4.3. Логические операторы
- •1.4.4. Битовые операции
- •1.5. Заключение
- •1.6. Контрольные вопросы
- •Аннотация
- •Лекция 4. Типы данных
- •1. Введение
- •2. Переменные
- •3. Примитивные и ссылочные типы данных
- •3.1. Примитивные типы
- •3.2. Целочисленные типы
- •4. Дробные типы
- •5. Булевский тип
- •6. Ссылочные типы
- •6.1. Объекты и правила работы с ними
- •6.2. Класс Object
- •6.3. Класс String
- •6.4. Класс Class
- •7. Заключение
- •8. Заключение
- •9. Контрольные вопросы
- •Аннотация
- •Лекция 5. Имена. Пакеты
- •1. Введение
- •2. Имена
- •2.1. Простые и составные имена. Элементы.
- •2.2. Имена и идентификаторы
- •2.3. Область видимости (введение)
- •3. Пакеты
- •3.1. Элементы пакета
- •3.2. Платформенная поддержка пакетов
- •3.3. Модуль компиляции
- •3.3.1. Объявление пакета
- •3.3.2. Импорт-выражения
- •3.3.3. Объявление верхнего уровня
- •3.4. Уникальность имен пакетов
- •4. Область видимости имен
- •4.1. "Затеняющее" объявление (Shadowing)
- •4.2. "Заслоняющее" объявление (Obscuring)
- •5. Соглашения по именованию
- •6. Заключение
- •7. Контрольные вопросы
- •Аннотация
- •Лекция 6. Объявление классов
- •1. Введение
- •2. Модификаторы доступа
- •2.1. Предназначение модификаторов доступа
- •2.2. Разграничение доступа в Java
- •3. Объявление классов
- •3.1. Заголовок класса
- •3.2. Тело класса
- •3.3. Объявление полей
- •3.4. Объявление методов
- •3.5. Объявление конструкторов
- •3.6. Инициализаторы
- •4. Дополнительные свойства классов
- •4.1. Метод main
- •4.2. Параметры методов
- •4.3. Перегруженные методы
- •5. Заключение
- •6. Контрольные вопросы
- •Аннотация
- •Лекция 7. Преобразование типов
- •1. Введение
- •2. Виды приведений
- •2.1. Тождественное преобразование
- •2.2. Преобразование примитивных типов (расширение и сужение)
- •2.3. Преобразование ссылочных типов (расширение и сужение)
- •2.4. Преобразование к строке
- •2.5. Запрещенные преобразования
- •3. Применение приведений
- •3.1. Присвоение значений
- •3.2. Вызов метода
- •3.3. Явное приведение
- •3.4. Оператор конкатенации строк
- •3.5. Числовое расширение
- •3.5.1. Унарное числовое расширение
- •3.5.2. Бинарное числовое расширение
- •4. Тип переменной и тип ее значения
- •5. Заключение
- •6. Контрольные вопросы
- •Аннотация
- •1. Введение
- •2. Статические элементы
- •3. Ключевые слова this и super
- •4. Ключевое слово abstract
- •5. Интерфейсы
- •5.1. Объявление интерфейсов
- •5.2. Реализация интерфейса
- •5.3. Применение интерфейсов
- •6. Полиморфизм
- •6.1. Поля
- •6.2. Методы
- •6.3. Полиморфизм и объекты
- •7. Заключение
- •8. Контрольные вопросы
- •Аннотация
- •Лекция 9. Массивы
- •1. Введение
- •2. Массивы, как тип данных в Java
- •2.1. Объявление массивов
- •2.2. Инициализация массивов
- •2.3. Многомерные массивы
- •2.4. Класс массива
- •3. Преобразование типов для массивов
- •3.1. Ошибка ArrayStoreException
- •3.2. Переменные типа массив, и их значения
- •4. Клонирование
- •4.1. Клонирование массивов
- •5. Заключение
- •6. Контрольные вопросы
- •Аннотация
- •Лекция 10. Операторы и структура кода
- •1. Управление ходом программы
- •2. Нормальное и прерванное выполнение операторов
- •3. Блоки и локальные переменные
- •4. Пустой оператор
- •5. Метки
- •6. Оператор if
- •7. Оператор switch
- •8. Управление циклами
- •8.1. Цикл while
- •8.2. Цикл do
- •8.3. Цикл for
- •9. Операторы break и continue
- •9.1. Оператор continue
- •9.2. Оператор break
- •10. Именованные блоки
- •11. Оператор return
- •12. Оператор synchronized
- •13.1. Причины возникновения ошибок
- •13.2. Обработка исключительных ситуаций
- •13.2.1. Конструкция try-catch
- •13.2.2. Конструкция try-catch-finally
- •13.3. Использование оператора throw
- •13.4. Обрабатываемые и необрабатываемые исключения
- •13.5. Создание пользовательских классов исключений
- •13.6. Переопределение методов и исключения
- •13.7. Особые случаи
- •14. Заключение
- •15. Контрольные вопросы
- •Аннотация
- •Лекция 11. Пакет java.awt
- •1. Введение
- •2. Апплеты
- •2.1. Тег HTML <Applet>
- •2.2. Передача параметров
- •2.3. Контекст апплета
- •2.4. Отладочная печать
- •2.5. Порядок инициализации апплета
- •2.6. Перерисовка
- •2.7. Задание размеров графических изображений
- •2.8. Простые методы класса Graphics
- •2.9. Цвет
- •2.9.1. Методы класса Color
- •2.10. Шрифты
- •2.10.1. Использование шрифтов
- •2.10.2. Позиционирование и шрифты: FontMetrics
- •2.10.3. Использование FontMetrics
- •2.10.4. Центрирование текста
- •3. Базовые классы
- •4. Основные компоненты
- •5. Менеджеры компоновки
- •6. Окна
- •7. Меню
- •8. Обработка событий
- •8.1. Рисование "каракулей" в Java
- •8.2. Рисование "каракулей" с использованием встроенных классов
- •9. Заключение
- •10. Контрольные вопросы
- •Аннотация
- •Лекция 12. Потоки выполнения. Синхронизация
- •1. Введение
- •2. Многопоточная архитектура
- •3. Базовые классы для работы с потоками
- •3.1. Класс Thread
- •3.2. Интерфейс Runnable
- •3.3. Работа с приоритетами
- •3.4. Демон-потоки
- •4. Синхронизация
- •4.1. Хранение переменных в памяти
- •4.2. Модификатор volatile
- •4.3. Блокировки
- •5. Методы wait(), notify(), notifyAll() класса Object
- •6. Контрольные вопросы
- •Аннотация
- •Лекция 13. Пакет java.lang.
- •1. Введение
- •2. Object
- •3. Class
- •4. Wrapper Classes
- •4.1. Integer
- •4.2. Character
- •4.3. Boolean
- •4.4. Void
- •5. Math
- •6. Строки
- •6.1. String
- •6.2. StringBuffer
- •7. Системные классы
- •7.1. ClassLoader
- •7.2. SecurityManager - менеджер безопасности
- •7.3. System
- •7.4. Runtime
- •7.5. Process
- •8. Потоки исполнения
- •8.1. Runnable
- •8.2. Thread
- •8.3. ThreadGroup
- •9. Исключения
- •10. Заключение
- •11. Контрольные вопросы
- •Аннотация
- •Лекция 14. Пакет java.util
- •1. Введение
- •2. Работа с датами и временем
- •2.1. Класс Date
- •2.2. Классы Calendar и GregorianCalendar
- •2.3. Класс TimeZone
- •2.4. Класс SimpleTimeZone
- •3. Интерфейс Observer и класс Observable
- •4. Коллекции
- •4.1. Интерфейсы
- •4.1.1. Интерфейс Collection
- •4.1.2. Интерфейс Set
- •4.1.3. Интерфейс List
- •4.1.4. Интерфейс Map
- •4.1.5. Интерфейс SortedSet
- •4.1.6. Интерфейс SortedMap
- •4.1.7. Интерфейс Iterator
- •4.2. Aбстрактные классы используемые при работе с коллекциями.
- •4.3. Конкретные классы коллекций
- •4.4. Класс Collections
- •5. Класс Properties
- •6. Интерфейс Comparator
- •7. Класс Arrays
- •8. Класс StringTokenizer
- •9. Класс BitSet
- •10. Класс Random
- •11. Локализация
- •11.1. Класс Locale
- •11.2. Класс ResourceBundle
- •12. Заключение
- •13. Контрольные вопросы
- •Аннотация
- •Лекция 15. Пакет java.io
- •1. Система ввода/вывода. Потоки данных (stream)
- •1.1. Классы InputStream и OutputStream
- •1.2. Классы-реализации потоков данных
- •1.2.1. Классы ByteArrayInputStream и ByteArrayOutputStream
- •1.2.2. Классы FileInputStream и FileOutputStream
- •1.2.3. PipedInputStream и PipedOutputStream
- •1.2.4. StringBufferInputStream
- •1.2.5. SequenceInputStream
- •1.3. Классы FilterInputStreeam и FilterOutputStream. Их наследники.
- •1.3.1. BufferedInputStream и BufferedOutputStream
- •1.3.2. LineNumberInputStream
- •1.3.3. PushBackInputStream
- •1.3.4. PrintStream
- •1.3.5. DataInputStream и DataOutputStream
- •2. Serialization
- •2.1. Версии классов
- •3. Классы Reader и Writer. Их наследники.
- •4. Класс StreamTokenizer
- •5. Работа с файловой системой.
- •5.1. Класс File
- •5.2. Класс RandomAccessFile
- •6. Заключение
- •7. Контрольные вопросы
- •Аннотация
- •Лекция 16. Введение в сетевые протоколы
- •1. Основы модели OSI
- •2. Physical layer (layer 1)
- •3. Data layer (layer 2)
- •3.1. LLC sublayer.
- •3.2. MAC sublayer.
- •4. Network layer (layer 3)
- •4.1. Class A
- •4.2. Class B
- •4.3. Class CClass DClass E
- •5. Transport layer (layer 4)
- •6. Session layer (layer 5)
- •7. Presentation layer (layer 6)
- •8. Application layer (layer 7)
- •9. Утилиты для работы с сетью
- •9.1. IPCONFIG (IFCONFIG)
- •9.3. Ping
- •9.4. Traceroute
- •9.5. Route
- •9.6. Netstat
- •9.7. Задания для практического занятия
- •10. Пакет java.net
- •11. Заключение
- •12. Контрольные вопросы
Стр. 1 из 37
Лекция 16. Введение в сетевые протоколы
Содержание лекции. |
|
|
1. |
Основы модели OSI........................................................................................................ |
2 |
2. |
Physical layer (layer 1)..................................................................................................... |
4 |
3. |
Data layer (layer 2)........................................................................................................... |
8 |
|
3.1. LLC sublayer.................................................................................................................. |
9 |
|
3.2. MAC sublayer................................................................................................................. |
9 |
4. |
Network layer (layer 3)................................................................................................... |
10 |
|
4.1. Class A......................................................................................................................... |
11 |
|
4.2. Class B......................................................................................................................... |
12 |
|
4.3. Class CClass DClass E................................................................................................ |
12 |
5. |
Transport layer (layer 4)................................................................................................. |
13 |
|
5.1. TCP.............................................................................................................................. |
14 |
|
5.2. UDP.............................................................................................................................. |
14 |
6. |
Session layer (layer 5).................................................................................................... |
15 |
7. |
Presentation layer (layer 6)............................................................................................ |
15 |
8. |
Application layer (layer 7)............................................................................................... |
15 |
9. |
Утилиты для работы с сетью....................................................................................... |
16 |
|
9.1. IPCONFIG (IFCONFIG)............................................................................................... |
17 |
|
9.2. ARP.............................................................................................................................. |
18 |
|
9.3. Ping.............................................................................................................................. |
18 |
|
9.4. Traceroute.................................................................................................................... |
19 |
|
9.5. Route............................................................................................................................ |
21 |
|
9.6. Netstat.......................................................................................................................... |
22 |
|
9.7. Задания для практического занятия......................................................................... |
23 |
10. Пакет java.net.............................................................................................................. |
24 |
|
11. Заключение................................................................................................................. |
32 |
|
|
|
Программирование на Java |
Rendered by www.RenderX.com
Стр. 2 из 37 |
Основы модели OSI |
12. Контрольные вопросы |
................................................................................................ 32 |
1. Основы модели OSI
Втечение последних нескольких десятилетий размеры и количество сетей значительно выросли. В 80-х годах имелось множество типов сетей. И практически каждая из них была построена на своем типе оборудования и программного обеспечения, зачастую не совместимых между собой. Это приводило к значительным трудностям при попытке соединить несколько различных типов сетей (например, различный тип адресации делал эти попытки практически безнадежными). Эта проблема была рассмотрена Всемирной Организацией по Стандартам (International Organization for Standardization, ISO), и было принято решение разработать модель сети, которая могла бы помочь разработчикам и производителям сетевого оборудования и программного обеспечения работать сообща.
Врезультате в 1984 г. была разработана модель OSI - модель взаимодействия открытых систем (Open Systems Interconnected). Эта модель состоит из семи уровней. Схематично ее можно представить следующим образом:
Номер уровня |
Название уровня |
Единица информации |
Layer 7 |
Уровень приложений |
Данные (data) |
Layer 6 |
Представительский уровень |
Данные (data) |
Layer 5 |
Сессионный уровень |
Данные (data) |
Layer 4 |
Транспортный уровень |
Сегмент (segment) |
Layer 3 |
Сетевой уровень |
Пакет (packet) |
Layer 2 |
Уровень передачи данных |
Фрейм (frame) |
Layer 1 |
Физический уровень |
Бит (bit) |
Хотя на сегодняшний день существуют разнообразные модели сети, большинство разработчиков придерживается именно этой общепризнанной схемы. OSI-модель позволяет разделить сетевые функции на уровни и понять, как происходит обмен данными по сети. Каждый уровень взаимодействует только с соседними уровнями, протокол взаимодействия стандартизован. Это позволяет использовать реализации сетевого и программного обеспечения от разных производителей в различных комбинациях. Например, протоколы высокого уровня (HTTP, FTP) не зависят от физических параметров используемой сети.
Рассмотрим процесс передачи информации между двумя компьютерами. Программное обеспечение формирует сообщение на уровне 7 (приложений), состоящее из заголовка и полезных данных. В заголовке содержится служебная информация, которая необходима уровню приложений адресата для обработки требуемой информации (например, это может быть информация о файле, который необходимо передать, или операции, которую необходимо выполнить). После того, как сообщение было сформировано, уровень приложений направляет его вниз на представительский уровень (layer 6). Полученное сообщение, состоящее из служебной информации уровня 7 и полезных данных, для уровня 6 представляется как одно целое сообщение (хотя уровень 6 может считывать служебную информацию уровня 7). Протокол представительского уровня выполняет требуемые действия на основании данных, полученных из заголовка уровня приложений, и добавляет заголовок своего уровня, в котором содержится необходимая информация для соответствующего (6-го) уровня адресата. Полученное в результате сообщение передается далее вниз сеансовому уровню, где также добавляется служебная информация. Дополненное сообщение передается на следующий транспортный уровень и т.д., на каждом последующем уровне (схематично это представлено на рис.1). При этом служебная
Программирование на Java
Rendered by www.RenderX.com
Стр. 3 из 37
информация не обязательно добавляется в начало сообщения. Например, на 3-м уровне служебная информация добавляется к началу и концу сообщения (рис.2). В итоге получается сообщение, содержащее служебную информацию всех 7 уровней. Процесс добавления служебной информации называется инкапсуляцией (encapsulation).
Далее это сообщение передается через сеть в виде битов. Бит - это минимальная порция информации, которая может принимать значение 0 или 1. Таким образом, все сообщение кодируется в виде набора нулей и единиц, например 010110101. В простейшем случае на физическом уровне для передачи формируется электрический сигнал, состоящий их серии электрических импульсов (0 - нет сигнала, 1 - есть сигнал). Именно эта единица принята для измерения скорости передачи информации. Современные сети обычно предоставляют каналы с производительностью в десятки и сотни Кбит/с и Мбит/с.
Получатель на физическом уровне получает сообщение в виде электрического сигнала (рис.3). Далее происходит процесс обратный инкапсуляции - декапсуляция. На каждом
Программирование на Java
Rendered by www.RenderX.com
Стр. 4 из 37 |
Physical layer (layer 1) |
уровне происходит разбор служебной информации. После декапсуляции сообщения на первом уровне (считывания и обработки служебной информации 1го уровня), это сообщение, содержащее служебную информацию второго уровня и данные в виде полезных данных и служебной информации вышестоящих уровней, передается на следующий уровень. На канальном (2-м) уровне снова происходит анализ системной информации, и сообщение передается на следующий уровень. И так до тех пор, пока сообщение не дойдет до уровня приложений, где в виде конечных данных передается принимающему приложению. В качестве примера можно привести обращение браузера к веб-серверу. Приложение клиента - браузер, формирует запрос для получения веб-страницы. Этот запрос передается приложением на уровень 7 и далее последовательно на каждый уровень модели OSI. Достигнув физического уровня, наш первоначальный запрос "обрастает" служебной информацией каждого уровня. После этого он предается по физической сети (кабелям) на сервер в виде электрических импульсов. На сервере происходит разбор соответствующей системной информации на каждом уровне, в результате чего посланный запрос достигает процесса веб-сервера, где обрабатывается и после обработки клиенту отправляется ответ. Процесс отправки ответа аналогичен посылке запроса - за исключением того, что сообщение посылает сервер, а клиент его получает.
Вместе с названием сообщение (message) в стандартах ISO для обозначения единицы данных используют термин протокольный блок данных (Protocol Data Unit, PDU).
Для более глубокого понимания принципов работы сети рассмотрим каждый уровень по отдельности.
2. Physical layer (layer 1)
Как видно из общей схемы расположения уровней в модели OSI - физический уровень (physical layer) самый первый. Этот уровень описывает среду передачи данных. Стандартизируются физические устройства, отвечающие за передачу электрических сигналов (разъемы, кабеля и т.д.) и правила формирования этих сигналов. Рассмотрим по порядку все составляющие этого уровня.
Большая часть сетей строится на кабельной структуре (хотя также существуют сети, основанные на передаче информации с помощью, например, радиоволн). На сегодняшний день существуют различные типы кабелей для передачи информации. Наиболее распространенные из них:
•телефонный провод;
•коаксиальный кабель;
•витая пара;
•оптоволокно.
Телефонный кабель начал использоваться для передачи данных со времен первых компьютеров. Главным преимуществом использования телефонных линий - использование существующих линий связи для передачи информации. При использовании телефонных линий можно передавать данные между компьютерами, находящихся на разных материках (также как и передача голоса между людьми, удаленных друг от друга на многие тысячи километров). На сегодняшний день использование телефонных линий также остается популярным. Большинство пользователей, которых устраивает небольшая скорость
Программирование на Java
Rendered by www.RenderX.com
Стр. 5 из 37
передачи данных, могут получить доступ к Интернету со своих домашних компьютеров. Основными недостатками использования телефонного кабеля при передаче данных является небольшая скорость передачи, т.к. соединение происходит не напрямую, а через телефонные станции. При этом требование к качеству передаваемого сигнала при передаче данных значительно выше, чем при передаче "голоса". А т.к. большинство аналоговых АТС не справляется с этой задачей (уровень "шума" или помех и качество сигнала оставляет желать лучшего), то скорость передачи данных очень низкая. Хотя при подключении к современным цифровым АТС можно получить высокую и надежную скорость связи.
Коаксиальный кабель использовался в сетях несколько лет назад, но сегодня встретить сеть, использующую этот кабель, очень сложно. Этот тип кабеля по строению практически идентичен обычному телевизионному коаксиальному кабелю - центральная медная жила отделена слоем изоляции от оплетки, за исключением электрических характеристик (в телевизионном кабеле используется кабель с волновым сопротивлением 75 Ом, в сетевом коаксиальном кабеле - 50 Ом).
Основными недостатками этого кабеля является низкая скорость пропускания (до 10 Мбит/с), подверженность воздействиям внешних помех. Кроме того, подключение компьютеров в таких сетях происходит параллельно, а значит, скорость максимальная возможная скорость пропускания делится на всех пользователей. Но по сравнению с телефонным кабелем коаксиальный кабель позволяет объединять близко расположенные компьютеры, скорость передачи данных и качество связи намного лучше при использовании коаксиального кабеля вместо телефонного.
Витая пара ("twisted pair") - наиболее распространенное средство для передачи данных между компьютерами. В данном типе кабеля используется медный провод, попарно скрученный, что позволяет уменьшить количество помех и наводок при передаче сигнала по самому кабелю, так и при воздействии внешних помех. Существует несколько категорий этого кабеля. Основные из них: Cat 3 - был стандартизирован в 1991 г, электрические характеристики позволяли поддерживать частоты передачи до 16 МГц, использовался для передачи данных и голоса. Более высокая категория, Cat 5 была специально разработана для поддержки высокоскоростных протоколов. Поэтому электрические характеристики лежат в пределах до 100Мгц. На таком типе кабеля работают протоколы передачи данных 10,100,1000 Мбит/с. На сегодняшний день кабель Cat5 практически вытеснил кабель Cat 3. Основным преимуществом витой пары перед телефонными и коаксиальными кабелями - более высокая скорость передачи данных при использовании одно и того же кабеля. Также использование кабеля Cat 5 в большинстве случаев позволяет, не меняя кабельную структуру, повысить производительность сети.
Оптоволокно используется для соединения больших сегментов сети, которые располагаются далеко друг от друга, или в сетях, где требуется большая полоса пропускания, помехоустойчивость. Оптический кабель состоит из центрального проводника света (сердцевины) - стеклянного волокна, окруженного другим слоем стекла - оболочкой, обладающей меньшим показателем преломления, чем сердцевина. Распространяясь по сердцевине, лучи света не выходят за ее пределы, отражаясь от покрывающего слоя оболочки. Световой луч обычно формируется полупроводниковым или диодным лазером. В зависимости от распределения показателя преломления и от величины диаметра сердечника различают:
•одномодовое волокно;
•многомодовое волокно
Программирование на Java
Rendered by www.RenderX.com
Стр. 6 из 37 |
Physical layer (layer 1) |
Понятие "мода" описывает режим распространения световых лучей в сердечнике кабеля. В одномодовом кабеле используется проводник очень малого диаметра, соизмеримого с длиной волны света. В многомодовом кабеле используется более широкие сердечники, которые легче изготовить технологически. В этих кабелях в сердечнике одновременно существуют несколько световых лучей, отражающихся от оболочки под разными углами. Угол отражения луча называется модой луча. Оптоволокно обладает следующими преимуществами: устойчивы к электромагнитным помехам, высокие скоростные характеристики на больших расстояниях. Основным недостатком является как дороговизна самого кабеля, так и трудоемкость монтажных работ т.к. все работы выполняются на дорогостоящем высокоточном оборудовании.
Физический уровень также отвечает за преобразование сигналов между различными средами передачи данных. Например, при необходимости соединить сегмент сети, построенной на оптоволокне и витой паре применяют т.н. конверторы (в данном случае они преобразуют световой импульс в электрический).
Сетевой адаптер - устройство, позволяющее обмениваться наборами битов, представленными электрическими сигналами. Сетевой адаптер (сетевая карта, англ. Network adapter) обычно имеет шину для подключения в компьютер ISA или PCI, и соответствующий разъем для подключения к среде передачи данных (например, для витой пары, коаксиала и т.п.).
Теперь, когда известно с помощью чего происходит соединение компьютеров в одну сеть, рассмотрим физическую схему соединения компьютеров или другими словами - физическую топологию (структуру локальной сети).
Топология "шина"(bus):
Все компьютеры и сетевые устройства подсоединены к одному проводу, и фактически они напрямую соединены между собой.
Программирование на Java
Rendered by www.RenderX.com
Стр. 7 из 37
Топология "кольцо"(ring):
Кольцо состоит из сетевых устройств и кабелей между ними, образующих одно замкнутое кольцо.
Топология "звезда"(star):
Все компьютеры и сетевые устройства подключены к одному центральному устройству.
Программирование на Java
Rendered by www.RenderX.com