Подборка по базе: Задание 1«Теоретические основы психодиагностики как науки», .doc, Мусаева Р.Е. Задания 1 к лаб. раб. 1-2. Методология науки.doc, История науки и техники.doc, Психолого-педагогические теории и технологии начального образова, Автономная некоммерческая организация профессионального образова, ..Автономная некоммерческая организация профессионального образо, ЦИФРОВАЯ ОБРАЗОВАТЕЛЬНАЯ СРЕДА КАК РЕСУРС ТРАНСФОРМАЦИИ РОССИЙСК, КР История науки и техники.docx, Опорный конспект по обществознанию для подготовки к ОГЭ по теме , Становление психологии как самостоятельной науки.pdf
Контрольные вопросы
- Что такое протокол ошибок? Какая информация в нем со- держится?
- Как формируется протокол ошибок?
- Назовите основные команды управления протоколированием.
- Как можно очистить протокол ошибок? В каких случаях очистка проводится автоматически?
- Какие возможности имеются у администратора системы для внесения произвольных данных в протокол ошибок?
Лабораторная работа № 7. Выявление и устранение ошибок программного кода информационных систем
Целью работы является ознакомление с методами обнаруже- ния и устранения ошибок в информационных системах. Результа- том практической работы является отчет, в котором должно быть приведено описание указанного преподавателем метода обнаруже- ния ошибок и продемонстрированы результаты его применения на практике.
Для выполнения лабораторной работы № 7 студент должен изучить приведенный ниже теоретический материал. Отчет сдается в распечатанном и электронном (файл Word) видах.
Методы обнаружения ошибок
Принимая во внимание, что в программном обеспечении будут ошибки, то, очевидно, в первую очередь следует принять меры для их обнаружения. Более того, если необходимо принимать дополни- тельные меры (например, исправлять ошибки или их последствия), то все равно сначала нужно уметь обнаруживать ошибки.
По способу обнаружения ошибок можно выявить два метода:
- пассивные попытки обнаружить симптомы ошибки в про- цессе «обычной» работы программного обеспечения;
- активные попытки программной системы периодически об- следовать свое состояние в поисках признаков ошибок.
Пассивное обнаружение ошибок
Меры по обнаружению ошибок могут быть приняты на не- скольких структурных уровнях программной системы. Наиболее продуктивными являются меры, применяемые при переходе от од- ной компоненты к другой, а также внутри одной компоненты.
Пассивное обнаружение ошибок базируется на следующих принципах:
Взаимное недоверие. Каждая из компонент должна предпо- лагать, что все другие содержат ошибки. Когда она получает какие- нибудь данные от другой компоненты или из источника вне систе-
мы, она должна предполагать, что данные могут быть неправиль- ными, и пытаться найти в них ошибки.
Немедленное обнаружение. Ошибки необходимо обнару- жить как можно раньше. Это не только ограничивает наносимый ими ущерб, но и значительно упрощает задачу отладки.
Избыточность. Все средства обнаружения ошибок основаны на некоторой форме избыточности (явной или неявной).
Используя данные принципы можно сформулировать конкрет- ные меры по обнаружению ошибок:
- Проверяйте атрибуты любого элемента входных данных. Если входные данные должны быть числовыми или буквенными, проверьте это. Если число на входе должно быть положительным, сравните его с нулем. Если известно, какой должна быть длина входных данных, проверьте ее.
- Применяйте метки и пояснения в таблицах, записях и управляющих блоках и проверяйте с их помощью допустимость входных данных. Добавьте поле записи, явно указывающее на ее назначение.
- Проверяйте, находится ли входное значение в установлен- ных пределах. Например, если входной элемент – адрес в основной памяти, проверяйте его допустимость. Всегда проверяйте поле ад- реса или указателя на нуль и считайте, что оно неверно, если равно нулю. Если входные данные – таблица вероятностей, проверьте, находятся ли все значения между нулем и единицей.
- Проверяйте допустимость всех вариантов значений. Если входное поле – код, обозначающий один из десяти районов, никогда не предполагайте, что если это не код ни одного из районов 1, 2,…, 9, то это обязательно код района 10.
- Если во входных данных есть какая-либо явная избыточ- ность, воспользуйтесь ею для проверки данных.
- Там, где во входных данных нет явной избыточности, вве- дите ее. Если ваша система использует крайне важную таблицу, по- думайте о включении в нее контрольной суммы. Всякий раз, когда таблица обновляется, следует просуммировать (по некоторому мо- дулю) ее поля и результат поместить в специальное поле контроль- ной суммы. Подсистема, использующая таблицу, сможет теперь проверить, не была ли таблица случайно испорчена, – для этого только нужно выполнить контрольное суммирование.
- Сравнивайте, согласуются ли входные данные с какими- либо внутренними данными. Если на входе операционной системы возникает требование освободить некоторый блок памяти, она должна убедиться, что этот блок в данный момент действительно занят.
После обнаружения ошибки неизбежно возникает вопрос, что делать дальше. Наилучшее решение – немедленно завершить вы- полнение программы или (в случае операционной системы) переве- сти ЦП в состояние ожидания. С точки зрения предоставления че- ловеку, отлаживающему программу, например системному про- граммисту, самых благоприятных условий для диагностики ошибок немедленное завершение представляется наилучшей стратегией. Всегда, когда это возможно, лучше приостановить выполнение про- граммы, чем регистрировать ошибки (либо обеспечить как допол- нительную возможность работу системы в любом из этих режимов).
Активное обнаружение ошибок
Не все ошибки можно выявить пассивными методами, по- скольку эти методы обнаруживают ошибку лишь тогда, когда ее симптомы подвергаются соответствующей проверке. Можно вы- полнять и дополнительные проверки, если спроектировать специ- альные программные средства для активного поиска признаков ошибок в системе. Такие средства называются средствами активно- го обнаружения ошибок.
Активные средства обнаружения ошибок обычно объединяют- ся в диагностический монитор: параллельный процесс, который пе- риодически анализирует состояние системы с целью обнаружить ошибку. Большие программные системы, управляющие ресурсами, часто содержат ошибки, приводящие к потере ресурсов на длитель- ное время. Например, управление памятью операционной системы выделяет блоки памяти программам пользователей и другим частям операционной системы. Ошибка в этих самых «других частях» си- стемы может иногда вести к неправильной работе блока управления памятью, занимающегося возвратом сданной ранее выделенной процессу памяти, что вызывает постепенное ухудшение работы си- стемы.
Диагностический монитор можно реализовать как периодиче- ски выполняемую задачу (например, она планируется на каждый час) либо как задачу с низким приоритетом, которая планируется для выполнения в то время, когда система переходит в состояние ожидания. Как и прежде, выполняемые монитором конкретные про- верки зависят от специфики системы, но некоторые идеи будут по- нятны из примеров. Монитор может обследовать основную память, чтобы обнаружить блоки памяти, не выделенные ни одной из вы- полняемых задач и не включенные в системный список свободной памяти. Он может проверять также необычные ситуации: например, процесс не планировался для выполнения в течение некоторого ра- зумного интервала времени. Монитор может осуществлять поиск
«затерявшихся» внутри системы сообщений или операций ввода- вывода, которые необычно долгое время остаются незавершенны- ми, участков памяти на диске, которые не помечены как выделен- ные и не включены в список свободной памяти, а также различного рода странностей в файлах данных.
Иногда желательно, чтобы в чрезвычайных обстоятельствах монитор выполнял диагностические тесты системы. Он может вы- зывать определенные системные функции, сравнивая их результат с заранее определенным и проверяя, насколько приемлемо время вы- полнения. Монитор может также периодически выдавать системе
«пустые» или «легкие» задания, чтобы убедиться, что система функционирует хотя бы самым минимальным образом.
Протоколы ошибок
В Swift есть несколько протоколов по обработке ошибок.
Основной
- Error
Специализированные
- LocalizedError
- RecoverableError
- CustomNSError
Протокол ошибок (Protocol Error)
Тип данных, представляющий значение ошибки, которое может быть выброшено.
Это встроенный протокол, который объявлен как:
Любой тип, декларирующий соответствие протоколу Error
, может использоваться для представления ошибки в системе обработки ошибок Swift. Поскольку у протокола Error
нет собственных требований, то можно заявить о соответствии для любого пользовательского типа, который создаете.
Использование перечислений в качестве ошибок
Перечисления Swift хорошо подходят для представления простых ошибок.
Для этого необходимо создать перечисление, которое соответствует протоколу Error
. В перечислении следует описать случаи для каждой возможной ошибки. Если есть дополнительные сведения об ошибке, которые могут быть полезны для решения проблемы с ошибкой, то следует использовать связанные значения (associated values), чтобы включить эту информацию.
В следующем примере показано перечисление IntParsingError
, которое фиксирует два разных типа ошибок, которые могут возникнуть при синтаксическом анализе целого числа из строки:
- переполнение, когда значение, представленное строкой, слишком велико для целочисленного типа данных,
- недопустимый ввод, когда нечисловые символы находятся на входе.
enum IntParsingError: Error {
case overflow
case invalidInput(Character)
}
В этом примере случай invalidInput
включает недопустимый символ в качестве связанного значения.
В следующем примере кода показано возможное расширение типа Int
, которое анализирует целочисленное значение экземпляра String
и выдает ошибку при возникновении проблемы во время анализа.
extension Int {
init(validating input: String) throws {
// ...
let c = _nextCharacter(from: input)
if !_isValid(c) {
throw IntParsingError.invalidInput(c)
}
// ...
}
}
При вызове новой инициализации Int
в операторе do
можно использовать сопоставление с шаблоном, чтобы сопоставить конкретные случаи пользовательского типа ошибки и получить доступ к их связанным значениям, как в примере ниже.
do {
let price = try Int(validating: "$100")
} catch IntParsingError.invalidInput(let invalid) {
print("Invalid character: '(invalid)'")
} catch IntParsingError.overflow {
print("Overflow error")
} catch {
print("Other error")
}
// Output
// Invalid character: '$'
Включение дополнительных данных в ошибки
Иногда необходимо, чтобы разные состояния ошибок включали одни и те же общие данные, такие как позиция в файле или некоторые состояния вашего приложения. После того как вы это сделаете, используйте структуру для представления ошибок.
В следующем примере используется структура для представления ошибки при синтаксическом анализе XML-документа, включая номера строк и столбцов, в которых произошла ошибка:
do {
let price = try Int(validating: "$100")
} catch IntParsingError.invalidInput(let invalid) {
print("Invalid character: '(invalid)'")
} catch IntParsingError.overflow {
print("Overflow error")
} catch {
print("Other error")
}
// Output
// Invalid character: '$'
Еще раз используйте сопоставление с образцом для условного отлова ошибок. Вот как вы можете перехватывать любые XMLParsingError
ошибки (синтаксического анализа XML), выдаваемые функцией parse(_:)
:
do {
let xmlDoc = try parse(myXMLData)
} catch let e as XMLParsingError {
print("Parsing error: (e.kind) [(e.line):(e.column)]")
} catch {
print("Other error: (error)")
}
// Output
// Parsing error: mismatchedTag [19:5]
В этом протоколе есть такое свойство localizedDescription
, которое позволяет получить локализованное описание ошибки.
Это свойство вычисляемое и объявлено как
var localizedDescription: String { get }
Специализированные протоколы ошибок
Есть несколько специализированных протоколов ошибок, которым перечисление с ошибками может соответствовать. И, вероятно, следует использовать их по сравнению с протоколом ошибок по умолчанию (Error), который предоставляется языком по умолчанию.
Все эти протоколы сами соответствуют протоколу Error
.
Ниже будут рассмотрено несколько протоколов, которые можно использовать при работе с ошибками в Swift.
LocalizedError
Протокол LocalizedError предоставляет четыре свойства для отображения пользователю информации об ошибках на его родном языке.
Ниже перечислены четыре свойства, и все они являются строками. Они необходимы, но они обеспечивают реализацию по умолчанию (Required. Default implementation provided.).
- var errorDescription: String?
- var failureReason: String?
- var helpAnchor: String?
- var recoverySuggestion: String?
Примером реализации может быть:
enum NetworkError: LocalizedError {
case noNetwork
case unexpectedResponse
var errorDescription: String {
switch self {
case .noNetwork:
NSLocalizedString("No network connection found", comment: "")
case .unexpectedResponse:
NSLocalizedString("The server returned an unexpected response", comment: "")
}
}
var failureReason: String? {
switch self {
case .noNetwork:
NSLocalizedString("Could not connect to the internet", comment: "")
case .unexpectedResponse:
NSLocalizedString("The server is not working properly", comment: "")
}
}
var recoverySuggestion: String? {
switch self {
case .noNetwork:
NSLocalizedString("Check your internet connection and try again", comment: "")
case .unexpectedResponse:
NSLocalizedString("Contact support", comment: "")
}
}
}
Есть еще одна интересная деталь об этом типе ошибок, а именно то, что при соединении с Objective-C
(или преобразовании в NSError
— casted as NSError
) все свойства протокола получают ключами userInfo
словаря NSError
:
NSLocalizedDescriptionKey
дляerrorDescription
NSLocalizedFailureReasonErrorKey
дляfailureReason
NSLocalizedRecoverySuggestionErrorKey
дляrecoverySuggestion
NSHelpAnchorErrorKey
дляhelpAnchor
Так что, если необходимо, чтобы ваши ошибки были связаны с Objective-C, это одна из специализаций, которую следует учитывать.
RecoverableError
Протокол RecoverableError предоставляет средства, которые помогут вашим пользователям попытаться восстановиться после ошибок. Эта специализация предоставляет одно свойство и два метода:
- var recoveryOptions: [String]: это массив строк, которые можно показать своему пользователю при попытке восстановления после ошибок. Это свойство является обязательным и не предоставляется реализация по умолчанию (Required);
- func attemptRecovery(optionIndex: Int) -> Bool: используйте это, чтобы попытаться восстановиться после ошибки, а затем верните логическое значение, указывающее, была ли операция успешной или нет.
optionIndex
соответствует индексу опции в массивеrecoveryOptions
. Этот метод обязательный и не предоставляется реализация по умолчанию (Required); - func attemptRecovery(optionIndex: Int, resultHandler: (Bool) -> Void): как и в предыдущем методе, используйте этот метод, чтобы попытаться исправить ошибку. Разница в том, что используется замыкание для передачи результата восстановления, поэтому вы можете использовать его, когда необходимо попытаться восстановить используя асинхронные операции. Этот метод обязательный и предоставляется реализация по умолчанию (Required. Default implementation provided).
Быстрый пример реализации:
enum NetworkError: RecoverableError {
case noNetwork
case unexpectedResponse
var recoveryOptions: [String] {
switch self {
case .noNetwork:
return [
NSLocalizedString("Retry", comment: ""),
NSLocalizedString("Open Settings to Change Network", comment: "")
]
case .unexpectedResponse:
return [
NSLocalizedString("E-Mail support", comment: ""),
NSLocalizedString("Change server", comment: "")
]
}
}
func attemptRecovery(optionIndex recoveryOptionIndex: Int) -> Bool {
switch self {
case .unexpectedResponse:
if recoveryOptionIndex == 0 {
// Mail support
} else if recoveryOptionIndex == 1 {
// Change server
}
return true
default:
return false
}
}
// ...
}
Опять же, к свойствам можно получить доступ через userInfo
NSError
, используя NSLocalizedRecoveryOptionsErrorKey
для recoveryOptions
и ключ NSRecoveryAttempterErrorKey
для доступа к параметрам восстановления.
CustomNSError
Наконец, протокол CustomNSError
предоставляет свойства для создания хорошо известного объекта NSError
с доменом ошибки , кодом ошибки и информацией о пользователе. Все свойства являются обязательными, но предоставляется реализация по умолчанию для каждого (Required. Default implementation provided.):
- static var errorDomain: String: это домен ошибки в обратной нотации DNS.
- var errorCode: Int: код ошибки в виде
Int
. - var errorUserInfo: [String : Any]: в виде словаря [String: Any].
Быстрый пример реализации:
enum NetworkError: CustomNSError {
enum ErrorCode: Int {
case noNetwork
case unexpectedResponse
}
var errorDomain = "com.andyibanez.com.myApp.NetworkError"
var appErrorCode: ErrorCode
var errorCode: Int {
return self.appErrorCode.rawValue
}
var errorUserInfo: [String : Any] {
let dic = [
"URL": //...,
]
}
}
Поскольку вы сами предоставляете userInfo
, то вам не нужно беспокоиться о том, какие у него ключи. Он обладает большой гибкостью, но с ним сложнее работать.
Смешивание несколько протоколов вместе
Помните, что это протоколы, и вам разрешено соответствовать более чем одному протоколу одновременно. Поэтому ничто не мешает вам, скажем, создать исправимую локализованную ошибку.
Пример:
enum NetworkError: LocalizedError, RecoverableError {
case noNetwork
case unexpectedResponse
// MARK: - LocalizedError
var localizedDescription: String {
switch self {
case .noNetwork:
return NSLocalizedString("No network connection found", comment: "")
case .unexpectedResponse:
return NSLocalizedString("The server returned an unexpected response", comment: "")
}
}
var failureReason: String? {
switch self {
case .noNetwork:
return NSLocalizedString("Could not connect to the internet", comment: "")
case .unexpectedResponse:
return NSLocalizedString("The server is not working properly", comment: "")
}
}
// MARK: - RecoverableError
var recoverySuggestion: String? {
switch self {
case .noNetwork:
return NSLocalizedString("Check your internet connection and try again", comment: "")
case .unexpectedResponse:
return NSLocalizedString("Contact support", comment: "")
}
}
var recoveryOptions: [String] {
switch self {
case .noNetwork:
return [
NSLocalizedString("Retry", comment: ""),
NSLocalizedString("Open Settings to Change Network", comment: "")
]
case .unexpectedResponse:
return [
NSLocalizedString("E-Mail support", comment: ""),
NSLocalizedString("Change server", comment: "")
]
}
}
func attemptRecovery(optionIndex recoveryOptionIndex: Int) -> Bool {
switch self {
case .unexpectedResponse:
if recoveryOptionIndex == 0 {
// Mail support
} else if recoveryOptionIndex == 1 {
// Change server
}
return true
default:
return false
}
}
}
Вывод
Обработка ошибок в Swift становится проще, когда использовать эти протоколы ошибок. Они могут сильно помочь в написании лучшего кода обработки ошибок, который работает во всей платформе Foundation и в остальных API.
Еще полезные ссылки
- Опционалы
- Управление потоком
- Функции
- Перечисления
- Протоколы
- Передача и обработка ошибок
Также информацию по протоколам ошибок можно получить на странице официальной документации.
Ссылки на официальную документацию:
- Apple Developer Documentation — Error
- Apple Developer Documentation — LocalizedError
- Apple Developer Documentation — RecoverableError
- Apple Developer Documentation — CustomNSError
����� 9 ����������
��������: ������ � �����������
���������(ICMP)
- 9.1 ��������
- 9.2 ���������� ��������
����������� ��������� - 9.3 ��������� �� ������
������ ����������� ������ - 9.4 �������� ���������
ICMP - 9.5 ������ ��������� ICMP
- 9.6 ������������
������������ ���������� � ���
��������� - 9.7 ������ ���������
������� ��� � ������ ��� - 9.8 ��������� �
�������������� ���������� - 9.9 ���������� �������
���������� � ������������ ���� - 9.10 ������ ����������
��������� - 9.11 ������� ���������
�������� �� ������ - 9.12 �����������
����������� ��� �������
������� ����� - 9.13 ��������� � ������
��������� - 9.14 �������������
����� � ������ �������
�������� - 9.15 ��������� �������
� ������ ���������� - 9.16 ��������� �����
������� - 9.17 �����
- ��� �����������
�������� - ����������
9.1 ��������
�� ��� ������, ��� ����������
�������� ������������ ����������
�������� �������� ��� ������������
����������, � ��� �����������
������������ �� ����� � ����� ��
��� ���, ���� ��� �� ���������
�����, ������� ����� ��������
��������� �� � ��������� �����
����������. ���� ���� �� �����
���������������� ��� ���������
�����������, ��� ���� ����
��������� ��������� ������� ���
������, ����� ��� ������������
����, �������� �� ��� �����������
���������� �����������, ��� �����
�������� ���������������
���������, ��� ���������
����������� �������� ��� �������
��������� ��������. ��� �����
������������� ��������,
������������ ������� � ��� ���
�������� ����������� ���������� �
���������� �� �������. �� ������,
��� ����� ���������� ���� ��������,
����� �������� � ��������� ���
��������, � ��� ��� ���������� ���
��� �������� ������������
����������.
9.2 ���������� ��������
����������� ���������
� ������� ��� ������������
����������, ������� �� �������,
������ ���� �������� ��������� ���
������������� ��� ��������
����������� ����������, ��
����������� ���� �������� �
�������� ������������. ��� �������
������ ��������, ���� ���
������������� ��������� �
����������� �������������, �� ����
�� ���������� ������, ���������
���������� ��� �����. ������ �����
����� �������� � �����������, IP
�������� ��������� ��������
����������, ����� ������
���������� �������� ��� ���������
��������� �� ����, ����� ����������
������� ������� �����, ��� �����
������������� ����� ���
�������������, ��� �� �����
���������� ���������� �������.
������ �������� ����� ��������,
���������� ����� � ����������,
���������� �� �����������
�����������, ����������� � ���, ���
� ������ ����������� ����� �����
���������� �� ������� ������������
��� ��������� �� ����� �
������������� �������. � ���������,
�� ������� ������ �����������
���������, ����������� �� �����
�������, ������ �� �������� ������
��� �������� ���� �� ���������
������ ��� ���������. �������
���������� ������ �������. � �����
��������� IP ��� ������, ��� ����� ��
������ ����������� ���������
��������� ��� ������ � �����
�������.
����� ���� ����������� ������ �
��������� �������� �� ������� ���
������������� ���������� �
������������� �������� ������,
������������ �������� ��������
��������� ������������ ����������
� ��������� TCP/IP. ���� ��������,
��������� ��� ���������� ��������
����������� ���������(ICMP),
��������� ����������� ������ IP �
������ ���������� � ������
���������� IP.
��� � ���� ������ �������,
��������� ICMP ���������� ��
��������� � ���� ������
IP-����������. �������� �����������
��������� ICMP, ��� �� �����, ��������
�� ���������� ��������� ���
������������ �� ������ ����������,
� ����������� ����������� IP �� ����
������. �� ����, ����� ���������
��������� ICMP �� ������, ���
������������ ������ ������������
����������� ICMP. �������, ���� ICMP
���������, ��� ������ ���� �������
���������� ���������� �����
�������� ������ ��� ����������
����������, �� ������� �� ����
���������������� ������. ��������
�����:
���������� �������� �����������
��������� ��������� ������
�������� ����������� ��������� ���
��������� �� ������� �� ������
����� ��� ���; ICMP ������������
�������������� ����� �����������
������������ �����������
��������� ������ �����.
������������� ������������� ���
�������������� ������ �����������
�������� � �������� ������
�������� ���, ICMP �� ������������
������ ��� ������. ���� �����������
������������ �������������
��������� ��������� ICMP, �����
������ ����� ������� ��������� ICMP
�� ����� ������ ������. �������, ���
����� ������������ ICMP ��� ����� ��
������ ��� ������ ���. �������
������ �� ���������� ���
������������ ICMP ����������� � ���,
��� �� ������������ �������
��������, ������������ ��� ����
����������� � ��������������
���������.
9.3 ��������� �� ������
������ ����������� ������
������ ����������� ������, ICMP —
��� �������� ��������� �� �������.
�� ������������ ��� ������,
�������������� ������, ������
�������� �� ������ ���������������
���������. ���� ������������
��������� ���������� ����������
������� ������������� ICMP �
���������� �������� ���������
�������� � ����� �� ������, ICMP ��
������������� ��������� ��������,
������� ����� ����������� � �����
�� ��� ��������� ������. ������
������:
ICMP ������ �������� � ���������
������� ��������������� ���������;
�������� ��� ������ ������� ������
� ����������� �����������
����������� � ����������� ��������
�� ����������� ������.
������� ����� ������ ������� ��
��������������� ���������, ��
������ — ���. ��� ��� ICMP �������� ��
������� ��������������� ���������,
�� �� ����� ��������������, �����
������������� ������������� �����
�� �������. ��������, ����������,
��� ����������� ������� �� ����
����� ����� G1,G2,…,Gk. ���� Gk ��������
������������ ���������� �
��������� � �������� ��������
����������� �� ���� G�, �� Ge �����
���� �������� �� ������
��������������� ���������. �
���������, �������� �� �������� ��
��� �������� � �� ����� ���������
����������� ������� ���� ������.
����������, �������� �� ������ ����
����������, ����� ���� ������ ���
��������.
����� ������������ ICMP
��������������� � ��������������
���������� ? ����� ������ ����
��������, ���� ���������
������������ ���� ��������
����������� � ������������� �
���������� ������. �����������
�������� ����, ������� ����������
������ ��������������� ��������� �
��������� ����������; ��� ��
�������� ������� �������� ������
���� ����� ��������(�����
��������� �������, �����
������������ ����� ������
��������).
����� ����, ��� ��� ����� �����
��������� � ������ ���� �������
�������������, �� ����������
����������� ������������� � �����.
�������, ����� �����������
��������� ������� �����, ������
������, ����� ���� ��� ������ ��
�����. ���� ���� ������������
������, �� �� ����� ������ �����
������������� ������ ������������
��� �����������, � ������� �� �����
�������� �� �� ������. ������
�������� �������� ����������� ����
���� ���������� ICMP, ����� ��������
��������������� ��������� �
��������� ��������, �������� �� ��,
��� �������������� ��� �����
����������������� �
���������������� ����, �����
������������ � ��������� ������.
9.4 �������� ��������� ICMP
��������� ICMP ������� ���� �������
������������, ��� �������� ��
������� 9.1. ������ ��������� ICMP
���������� �� ��������� � ����
������ IP-�����������, ������� ����
���������� �� ������ ����������
���� � ���� ������ �����.
�����������, ������� ��������� ICMP
���������������� ����� ��� ��, ���
� �����������, ������� ����������
��� �������������; ��� ��� ��
������������ ��������������
��������� ��� ����������. �������,
���� ��������� �� ������� �����
���� �������� ��� �������. �����
����, � ��� ������������� ����
��������� �� ������� ����� �������
�������������� ������������.
���������� �������� ��� ��������
��������� ������, ����
IP-�����������, ������� ���������
ICMP, ������� ������. ��� ����������,
������������� ��� ����, �����
�������� �������� ���������
��������� �� �������, ��������� �
���� ������� ����������� ��
�������, ����������, ��� ���������
ICMP �� ������������ ��� ������,
����������� ��-�� ����������,
������� ��������� �� ������� ICMP.
-------------------------------------- |��������� | ������ ICMP | | ICMP | | -------------------------------------- V V ------------------------------------------------- | ���������| ������� ������ ����������� | |����������| | ------------------------------------------------- V V ----------------------------------------------------------- |���������| ������� ������ ����� | |����� | | -----------------------------------------------------------
������� 9.1 ��� ������
������������ ICMP. ��������� ICMP
��������������� � IP-�����������,
������� � ���� �������
��������������� � ����� ���
��������. ��� ������������� ICMP ����
��������� ����������� ��������
�������� 1.
����� �������, ��� �������� �� ��,
��� ��������� ICMP ��������������� �
����������, ��������� IP, ICMP ��
��������� ���������� �����
�������� ������ — �� ��������
����������� ������ IP. �������
������������� IP ���
��������������� ��������� ICMP
����������� � ���, ��� ��
������������ �������� ���������
���������� ����� ��� ����, �����
������� ������ ���������
����������. �������, ��� �� �����
���� ���������� ������ � �������
���������� ��������.
9.5 ������ ��������� ICMP
���� ������ ��������� ICMP �����
���� ����������� ������, ��� ���
���������� � ���� ���������� �����:
8-�������� �������������� ���� ���,
������� �������������� ���������,
8-�������� ���� ���, �������
������������ ����� ������
���������� � ���� ���������, �
16-�������� ����
�����������_�����(ICMP ����������
��� �� ����� ���������� ��������,
��� � IP, �� ����������� ����� ICMP
��������� ������ ��������� ICMP).
������ ����, ��������� ICMP,
���������� �� �������, ������
�������� ��������� � ������ 64 ����
������ �����������, ���������
������.
�������� ����������� �� ������
��������� �����������, ���������
������, �������� ������� ���������
���������� ����� ����� ����������,
����� ��������� � ����� ����������
��������� ������������ ��
��������� ���� �����������. ��� ��
������ �����, ��������� �����
�������� ������ � ������ TCP/IP
��������������� ����� �������, ���
����������� ����������
������������ � ������ 64 �����.
���� ��� ICMP ���������� �����
���������, � ����� ��� ������. ���
���� ��������:
���� ��� | ��� ��������� ICMP |
---|---|
0 | ����� �� ��� |
3 | ���������� ����������� |
4 | ���������� ��������� |
5 | ��������������(��������� ��������) |
8 | ������ ��� |
11 | ��������� ����� ��� ����������� |
12 | ������ ��������� � ����������� |
13 | ������ ��������� ������� |
14 | ����� ��� ��������� ����� |
15 | ������ ����������(�� ���������) |
16 | ����� �� ������ ����������(�� ���������) |
17 | ������ ����� ������ |
18 | ����� �� ������ ����� ������ |
��������� ������ ���������
������ �� ���� ���������, �������
��� ���� ��������� ��������
������� ��������� � �� �����.
9.6 ������������
������������ ���������� � ���
���������
��������� TCP/IP ������������
��������, ���������� �������
��������������� ��� �������������
���������������� �������� � ����.
���� �� ����� ��������
������������ ������� �������
�������� ��������� ICMP ������ ��� �
����� ���. ��� ��� ���� ��������
��������� ������� ��� ����������
����� ����������. ����� ������,
���������� ������ ���, ����������
����� �� ��� � ���������� ���
��������������� �����������. ����
������ �������� ��������������
������� ������; ����� ��������
����� ������, ��������� � �������.
������ ��� � ��������� � ��� �����
����� �������������� ��� ��������
������������ ���������� � ���
����������� �������� �� �������.
��� ��� � ������ ���, � ����� �� ����
���������� � IP-������������,
�������� ����� ������
��������������� �
����������������� �������� ������
������������ �������. ��-������,
����������� ����������� IP ��
������ ��������� ���������
������������� �����������.
��-������, ������������� �����
����� ���������� � �����������
�������������� � ���������
�������������� �����������.
�-�������, ������ ����������
�������� (�� ������� ����, ���
������������ ����������) �
����������� ����������� ��� IP, ���
� ICMP ��������� ���� �������. �
�������, ������� ��������� � ������
�� ���� �������� ���� ���������.
�� ������ �������� �������,
������� ������������ �������� ���
������� ������� ��� ICMP, ����������
ping. ����������� ������ ����
��������� �������� ����� ��������
��� ICMP, ��������� ������ � ������
���������� � ������� ����������.
��� ��������� ������������
��������� ����� ���������� ������
� ��������� ������� �����
���������. ����� ������� ������
������ �������� ������ ��� ICMP �
���� ������.
9.7 ������ ���������
������� ��� � ������ ���
������� 9.2 �������� ������
��������� ������� ��� � ������ ��
������ ���.
0 8 16 ------------------------------------------------------------ |���(8 ��� 0)| ���(0) | ����������� ����� | ------------------------------------------------------------ | ������������� | ���������������� ����� | ------------------------------------------------------------ | �������������� ������ | ------------------------------------------------------------ | ...... | ------------------------------------------------------------
������� 9.2 ������
��������� ������� ��� � ������ ��
����
����, ��������� ��������������
������ ����� ���������� ����� �
�������� ������, ������� ����
������� �����������. ����� �� ���
������ ���������� �� �� �����
������, ��� ���� �������� �� �
�������. ���� ������������� �
���������������� �����
������������ ������������ ���
�������� ������������ �������
��������. �������� ���� ���
����������, �������� �� ���������
��������(8) ��� �������(0).
9.8 ��������� �
�������������� ����������
����� ���� �� ����� ���������
IP-�����������, �� ��������
��������� «����������
�����������» �������
��������������� �����������,
��������� ������, ����������� ��
������� 9.3.
0 8 16 ------------------------------------------------------------ |���(3) | ���(0-5) | ����������� ����� | ------------------------------------------------------------ | �� ������������(������ ���� ����� ����) | ------------------------------------------------------------ | ���������� ��������� ���� ������ 64 ���� ����������� | ------------------------------------------------------------ | ...... | ------------------------------------------------------------
������� 9.3 ������
��������� � ��������������
����������
���� ��� � ��������� �
�������������� ����������
�������� ����� �����, �������
��������� �������. ��������
��������� ��������:
�������� | ����� |
---|---|
0 | ���� ����������� |
1 | ��� ���������� |
2 | �������� ���������� |
3 | ���� ���������� |
4 | ��������� ������������ |
5 | ������ ��� ������������� ��������� |
6 | ���� ���������� ���������� |
7 | ��� ���������� ���������� |
8 | ��� ��������� ���������� |
9 | �������������� � ����� ���������� ��������������� ��������� |
10 | �������������� � ��� ���������� ��������������� ��������� |
11 | ���� ����������� �� ������ ������������ |
12 | ��� ���������� ��-�� ������ ������������ |
���� IP �������� ����������
���������� ��������, �����������
�� ������������ ������ ���. ������
���, ����� ������ ������ �����
���������� ������������� ���
�������� �����������, ����
�������� ��������� �
�������������� ���������� �������
��� ���������, � ����� ����������
�����������. ������ ��������������
���� ������ �������� ����������
������ �������������; ������
�������������� ��� — ���������
������ ��� ��������(�����������
�������� ������, ����� �����
���������� ����� ���������
��������, ��������� � ����� 16. ���
�������� �� ������ ���
������������� � ������� � �������
��������� ICMP � �������������� ���).
��� ��� ��������� ��������
�������� ������� �����������,
��������� ������, �� �������� �����
����� �����, ����� �����
����������.
���������� ����� ����
������������� ��-�� ����, ���
������������ ���� ��������
����������������, ��-�� ����, ���
����������� ������ ��������������
����� ����������, ��� ( � ������
�������) ��-�� ����, ��� � ����� ��
������� �������� � ���� ����������.
�������, ��� ���� ����� �������� ��
�������, ������� ��� ����������,
��� ����� �� ����� ��� ���� �������
��������. ��������, ���� ������
���������� ������������ � ����
Ethernet, �� ������� ������������ ��
������������� �������������
��������� �����������. �������,
���� ����� ���������� ��������
������ ���������� ���� ����� ����,
��� ��� ���������, �� ������� ���
���� ������� ���������� � ���, ���
������ �� ������������. ��������
�����:
���� ����� �������� ��������� �
�������������� ����������, ����
��� �� ����� ����������
������������� ��� ��������
�����������, �� ��� �������� ������
��������������.
����� ��������� � ��������������
����� � ��������� ������ ����,
����� �� ������, ��� ���������
����� �������� ������ ����������
���������� ����� ���������,
���������� ������. ����� �������
����� ��������� ��������� �������
��� �� �� ��������. ����
����������� �������� �����
������������� ��������� �
������������ ���������, �� ���
����� �������� � ���������
��������� �� ������ �������������
���������. ���� ����� �����
��������������� �����������, ��
���������� ��� «��
���������������», �� ����
�������� ��������� «���������
������������» ������� ���������.
9.9 ���������� �������
���������� � ������������ ����
��� ��� IP �������� ���������� ���
������������ ����������, �� �����
�� ����� ������������� ������ ���
���������������� ������� ��
��������� ����������. � ����������,
������� ����� ������� ����������
������, ��������, ����������
������������� ����(congestion). �����
��������, ��� ������������ ����
����� ��������� ��-�� ����
���������� ������ ������.
��-������, ����������������
��������� ����� ������������
������� �������, ��� ���� �����
���������� ���. ��������,
���������� ��������������,
������������ ���������� �������.
������������, ���������� ��, �����
������������� �������� � ��������
����� �� ��������� ����������
����(WAN), ���� ��� ��������������
����� ���� ����������� �
���������������� ��������� ����.
������������ ����� ��������� �
�����, �������������� � ����������
����, ��� ��� ����������� �����
��������� �������, ��� �� �����
�������. ��-������, ���� ��������
����� ����������� ������������
����� �������� ����������� �����
���� ����, ���� ���� �����
��������� �������������, ���� ��
���� �������� � ����������� � ��
�������� ��� ��������.
����� ����������� ��������� ��
���� ��� ��� �������, ��� ��
�������� �� ������������, ��
�������� ������ �� � ������� �
����� ������. ���� ��� ����������� —
��� ����� ���������� ���� ���
�������� ����������, �� �����
����������� ������ ��������. ����
�� ������� ���������� ���������, ��
�� � �������� ����� ��� ��� ����
������ ��� ������ ��� ������� �
�������� ����� ������� �����
����������� �����������. �����
������ ���������� ��������� �
���������� ��������� ��� ������ ��
��������� ������������.
��������� � ���������� ���������
������� �� ��������� ���������
�������� �������� ����������.
������ ������������� �����
�������� �� ������ ��������� �
���������� ��������� �� ������
��������� �����������. ����� �����
����� ������������ ����� �������
���������� ������ �� ������������.
��������� ��������� �� ����������
��������� � ��������� ��������� �
���������� ���������� ��������.
������ �������� ��������
������������ � ��������, �������
������� ���������� ��������� � ���
������, ����� �� ������� ��������
����������� ������� ��������, �� ��
����, ��� ��� ������������.
�� ���������� ��������� ICMP,
����������� ������, ��������
���������� ���������. ������ �����
���, ��������� ��������� �
���������� ��������� �� ���������
������, �, ������� ��������, �
������� �� �������� ����������� ��
� �� ��� ���, ���� � ���� ��
���������� ��������� ��������� �
���������� ���������; ����� ��
���������� ����������� �������� ��
��� ���, ���� �� ����� �� �������
��������� � ���������� ���������.
9.10 ������ ����������
���������
������ ������� ����� ICMP ���, ��� �
����������� �����, �
��������������� 32-�������� ����,
��������� � ���������� ���������
����� ����, ���������� �������
�����������. ������� 9.4
������������ ���� ������. ��� � �
������ ���������� �� ������� ICMP
���� �������� ����������� ��������
������� �����������, ���������
���� ������ ���������� ���������.
0 8 16 31 ------------------------------------------------------------ |���(4) | ���(0) | ����������� ����� | ------------------------------------------------------------ | �� ������������(������ ���� ����� ����) | ------------------------------------------------------------ | ���������� ��������� ���� ������ 64 ���� ����������� | ------------------------------------------------------------ | ...... | ------------------------------------------------------------
������� 9.4 ������
��������� � ���������� ���������
ICMP. ������������� ����� ��������
���� ��������� � ����������
��������� ������ ���, ����� ���
������� �����������; �������
����������� ��������������
��������� �����������.
9.11 ������� ���������
�������� �� ������
������� ������������� ���������
������ �� �������� � �������
�������� ���������� �������. ���
�������������� �� � ������� �����
������������ ��� �������� �������,
� ������� �������������� ����
������� ������ � ��� ��������� ���
���������� ������. ��� ���������
��������� ���� �������
������������� � ��� ��� ����� �����
����� �������������. ���������
����� ���� ���������(��������,
����� �������� �����������
������������) ���
����������(��������, ����� �����
���� ����������� � ���������). ���
�� ������ �����, ����� ������������
������������ ����������� �
�������������, ����� �����������
��������� � ���� � ������������
������ ��������. ������� �����
�������������� ����� �������:
��������������, ��� ����� �����
���������� ��������; ��� ��������
��������, ���� ������� ���������� �
���������, �� ������������ ������
����� �������� �� ������.
����� ������ ��������������
����� ������� � ����� ��������
������������ ���������� �
������������� � ����� ������������
������� ���, � ���������
������������ ��� �����������
������� ���������� �
�������������, ����������� ���
�������������� (��������, �����
������ �����). ������� ��� ��������
��������, ���� �����������
����������, � ���������� �� ��, ���
����� ������� �������� ��� �������
�������������. ���� ����
������������, ��� ��� ����������
������������� �������, �� ��������
��� ��������� ICMP, ����������
«���������������»,
������������� ��������� �������� �
������� ������������� ���. ����
���� ����� ���������� ��������
����������� � �� ����������.
������������� �����
�������������� ICMP �������� ��
��������: ��� ��������� ��� �����
������� ����� ������ ������ ����� �
��������� ����. ���� ��������� ����
���������� ��������� ICMP �
�������������� ������ ���, �����
��� �������� �����������, ���
������� ���������� ������ �������.
������� ������������� ���
��������� ���������, �� �����
��������� ����������� �������� ���
���� ������������ ����������.
��������� � ��������������, ���
�� �����, �� ������ ��������
��������������� ���������� �
��������� ���������, ��� ��� ���
������������� ������ ���
�������������� ����� ������ � ��� �
����� ���������� ����. ������� 9.5
������������ ��� ��������.
�������� ������� ��������������,
��� �������� � ��������
����������� ���������� �. �����
���� �1 ����������� ����������
����������� ����� ���� �2 ������
����� �4(�� ���� �1 �� ������ ������
����� ������� ����). ����� ���� �5
��������� �����������, �� �� �����
������� ��������� ��������������
ICMP �1, ��� ��� �� �� ����� �����
����� �1. ����������� �����
���������� ��������, ���
���������������� ���������� �
��������� ����� �����������
������.
| -- | -- | -- |--|�1|-|-|�2|-| -- | | | �|--| -- | -- |-|�3|-| -- | -- | | -- |---|�5|-| -- | | -- | -- |--| �| | |----|�4|-----| | -- | | -- |
������� 9.5 ��������� �
�������������� ICMP �� ��������
������������� ����� �������. � ����
������� ���� �5 �� ����� ���������
�1 ������������ ����� �������� ����
��� ���������� ����� � � �.
������ �����-���������� ���, ��� �
����������� �����, ������
��������� � ��������������
�������� 32-������� ���� ����������
����� ����� � ���� �������
�����������, ��� ��� �������� ��
������� 9.6
0 8 16 31 ------------------------------------------------------------ |���(5) |���(�� 0 �� 3)| ����������� ����� | ------------------------------------------------------------ | ���������� ����� ����� | ------------------------------------------------------------ | ���������� ��������� ���� ������ 64 ���� ����������� | ------------------------------------------------------------ | ...... | ------------------------------------------------------------
������� 9.6 ������
��������� � �������������� ICMP
���� ���������� ����� �����
�������� ����� �����, �������
������ ������������ ��� ���
����������� ����������� �
����������, ���������� � ���������
�����������. ���� ����������
��������� �������� ��������� IP �
��������� 64 ���� �����������,
������� ������� � ��������� �����
���������. ������� ���, �����������
��������� � �������������� ICMP,
������ �������� ����� ����������
����������� �� ��������
�����������. ���� ��� � ��������� �
�������������� ICMP ����� ���������
���������, ��� ����������������
����� ����������, ��� ���� ��������
����� ��������� �����:
�������� ���� | ����� ��������� |
---|---|
0 | �������������� ���������� ��� ���� ����(��������) |
1 | �������������� ���������� ��� ����� ��� |
2 | �������������� ���������� ��� ����� ���� ������� � ���� |
3 | �������������� ���������� ��� ����� ���� ������� � ��� |
���������. ��������, ���
������ ��������� IP ��������� ���
�������, ������������� ���
�������������
��� �������, ����� ��������
������� �������������� ICMP ������
�� ���, � �� �� ������ �����. �����
�� ������, ��� ����� ����������
������ ��������� ��� ������
����������� � �������������.
9.12 �����������
����������� ��� ������� �������
�����.
��� ��� ���������� �����
��������� ����� ��������� ������
��� ����������� ����������� ��
������ ��������� ������, ������ �
������� ������������� �����
�������� � ����� ������������� �
��������� ����� ����������, D. ����
������������� ����� �������� ��
���� ������, ������ �� �������
���������� ����������� � �������
���������� D ������� �����, ���
����� �������� �� �������� �����
������. ����� ��������� ������
��������� ���� �������������,
������ �� ��� ����������
����������� � ����������� � �
���������� ����� �� �����. ����
����������� ������ � ����
�������������, ��� �����
������������ �� ���� ����������.
��� ���� �������� �����, ��� ������
���������� �� ������������
������������ �� ��������� TCP/IP
������ ����������� ����� �������
����� �����, ������ ����������
����� �������. ���� ��������������
������� ������� ����� ������ ���,
����� �� ������������ �����������,
� ������� �����������, �����
������� ���������� �������.
���������� �� ����, ������ �� ����
����������� ��-�� ���������
�������� ������� ����� ��� ��-��
���������� ������� ��������
���������� �����������, ��
�������� ��������� ICMP «���������
�����» ��������� �����������,
��������� ������, ���������� ��
������� 9.7
0 8 16 31 ------------------------------------------------------------ |���(11) |���(0 ��� 1) | ����������� ����� | ------------------------------------------------------------ | �� ������������(������ ���� �����) | ------------------------------------------------------------ | ���������� ��������� ���� ������ 64 ���� ����������� | ------------------------------------------------------------ | ...... | ------------------------------------------------------------
������� 9.7 ������
��������� ICMP � ���������� �������.
���� �������� ��� ��������� ������
���, ����� ������� �����������
��-�� ��������� ���� ������� �����
� ��������� ����������� ��� ��-��
��������� ������� ������ ���
�������� ���������� �����������.
���� ��� ��������� �������
���������:
�������� ���� | ����� |
---|---|
0 | ��������� �������� �������� ������� ����� |
1 | ��������� ����� �������� ��������� ��� ������ |
������� ���������� ��������
������ ����� ���� ����������
�����������. ����� ���������
������ �������� �����������,
����������� ��� ��������� ������ �
������� ������� ��� ��������� ��
������� ���� ����������
�����������. �������� ���� 1
������������ ��� ����, �����
�������� ����������� � �����
������; ��� ������ ������
���������� ��������� ���������.
9.13 ��������� � ������
���������
����� ���� ��� ��� ������������ �
���������, ��������� �
������������, �� �������������� �
����� ��������� ��������� ��
������� ICMP( ��������, ������������
��������� �����������), �� ��������
��������� «������ ����������»
��������������� �����������. �����
�� ��������� ������ ����� ��������
����� ���� ��������������
���������� �����. ���������, ������
�������� �������� �� ������� 9.8,
���������� ������ � ��� ������,
���� ����������� ������ ����
������� ��-�� ���� ������.
0 8 16 ------------------------------------------------------------ |���(12) | ���(0 ��� 1) | ����������� ����� | ------------------------------------------------------------ |��������� | �� ������������(������ ���� ����� ����) | ------------------------------------------------------------ | ���������� ��������� ���� ������ 64 ���� ����������� | ------------------------------------------------------------ | ...... | ------------------------------------------------------------
������� 9.8 ������
��������� ICMP ������ ����������.
����� ��������� ���������� ������
� ��� ������, ����� ��-�� ����
������ ����������� ���������.
��� ������������� ���������
����������� ���������� ����
��������� � ��������� ���������
��� ������������� ������ �
�����������, ���������� ������. ���
1 ������������ ��� ������, �����
��������� ����� �����������(
��������, ����� ����������� �
������� �����); ���� ��������� ��
������������ ��� ���� 1.
9.14 ������������� ����� �
������ ������� ��������
���� ������ � ��������� �����
�����������������, ������ ���
�������� ���������� ���� �� �����,
������ � ������ ������ ���� �������
� ������� �������. ������
������������ ���� ����� �������
������������� ��������������
������. ���� ���������� TCP/IP
�������� ��������� ����������,
������� ����� �������������� ���
������������� �����. ���� ��
���������� ���������� ����������
��������� ICMP ��� ���������
�������� ������� �� ������ ������.
������������� ������ ��������
��������� ICMP «������ ���������
�����» ������ ������, ������, ���
������ ������ ������ �� �������
�������� �������. �����������
������ ���������� «�����
��������� �����» ������,
�������� ������. ������� 9.9
���������� ������ ���������
������� � ������ ��������� �����.
0 8 16 ------------------------------------------------------------ |���(13, 14) | ���(0) | ����������� ����� | ------------------------------------------------------------ | ������������� | ���������������� ����� | ------------------------------------------------------------ | ���������� ��������� ���� ������ 64 ���� ����������� | ------------------------------------------------------------ | ��������� ����� ����������� | ------------------------------------------------------------ | ��������� ����� ������ | ------------------------------------------------------------ | ��������� ����� �������� | ------------------------------------------------------------
������� 9.9 ������
��������� ICMP ������� � ������
��������� �����
���� ��� ��������������
��������� ��� ������(13) ��� �����(14);
���� ������������� �
���������������� �����
������������ ���������� ��� �����
����� �������� � ���������.
���������� ���� �������������
�������, ��������� � �������������
����� ��������, �� ��������. ����
��������� ����� �����������
����������� ��������������
������������ ����� ���������
������, ���� ��������� ����� ������
����������� ����� ����� ������
�������, � ���� ��������� �����
�������� �����������
��������������� ����� ���������
������.
��� ���������� ��� ��� ����
��������� ����� ��� �����������
���������� ������� �������� �����
���� � ������������� ����� �����.
��� ��� ����� �������� ����
��������� ����� �����������, ���
����� ��������� ����� �����,
��������� ��� �������� ������� �
����������, ������������ ������ ��
���� � ����������� ������. ��� ���
����� �������� ��� ����� �������
������� �� ��������� ������, ��� �
����� ������ ������, ��� �����
��������� ����� �������� �� ����, �
�� ��� ������ — ������� ����� ������
� ���������� ������. �� ��������
������ ������ ����� ������� �����
�������� �� ����, ��� ������������
���������� ��������� ICMP �
��������� ������. �������, ���
��������� ������ ������ �������
�������� �� ���� ����� �������
����� ��������� � ��������� ��. ���
�� �����, ����� �������� �� ����
����� ����� ��������,
��������������� � ��������
���������, ����� ������ ��������,
���� �� �������� ������� �������.
����� ����, ��������, ��� ��� ��� IP
�������� ����������� �
����������������� ���������,
����������� ����� ���� ��������,
��������� ��� ���������� �� ��
�������. �������, ������� ���������
�� ����������� ���������������;
��������� ������� ��������������
������ ��� ������ ������.
9.15 ��������� ������� �
������ ����������
��������� ICMP ������� ���������� �
������ ����������( ��� 15 � 16)
��������� � ��������� �����
����������� � �� ������
��������������. ���
��������������� ��� �����������
��� ����� ���������� ������� ���
��������. ������ ��� �����������
������ ������������ ���������
RARP(����� 6), � BOOTP(����� 19).
9.16 ��������� �����
�������
����� 16 ���������� �������
��������� ��������, � ����� ������
�� ����������. � ���� ������ �����
��������, ��� ����� ��� ����������
��������� ��������, ��������� ����
� ���� �������������� ��� ��
IP-������ �������������� ����������
����. ��� ���������� ���������
�������� ��� ���� �����, ����� ����
�� 32-������� ����������� ������
������������� ���������� ����, �
����� — �������������� ���.
����������, ��������� ���
������������� ������, ������������
����� 32-������� ��������,
���������� ������ �������.
����� ������ ����� �������,
������������ � ��������� ����,
������ ����� ������� ���������
������� ����� ������ ����� �
�������� ����� ����� ������.
������, �������� ������, ����� ����
������� ��������� ��������, ����
��� ����� ����� �����, ��� �������
����������������� ���������, ����
�� ����� ���. ������� 9.10 ����������
������ ��������� ����� ������.
0 8 16 ------------------------------------------------------------ |���(17, 18) | ���(0) | ����������� ����� | ------------------------------------------------------------ | ������������� | ���������������� ����� | ------------------------------------------------------------ | ����� ������ | ------------------------------------------------------------
������� 9.10 ������
��������� ������� ����� ������ �
������ ����� ������. ������, ���
�������� ����������������� ������,
�� ����, ����� ���� ����� ��������
��.
���� ��� � ��������� ����� ������
���������, �������� �� ���������
��������(17) ��� �������(18). �����
�������� ����� ������ ������� ����
� ���� ����� ������. ��� �������,
���� ������������� �
���������������� ����� ���������
������ ������� ����� � ��������.
9.17 �����
������� �������������� �����
�������� �������� �������
��������� �� �����������������
�������� �� ����� ���
����������������� �������� ��
������ ���. ������ �����
������������ ������
�������������� � �������
����������� ������������ ��
���������� ��� ��� ��������� ��� ��
������� ��� ��� ������� ��� �����
���������� � ���������.
ICMP ������������ �����������
�������������� ����� ������� � ���;
�� �������� ����������� ������ IP.
ICMP �������� � ���� ��������� �
«���������� ���������»,
������������ �������� ��������,
��������� «��������������»,
��������� �� ��� ��������� ������
�������������, ���������
«�������/������ ���», �������
��� ����� ������������, �����
����������, ��������� ��
����������. ��������� ICMP
���������� � ���� ������
����������� IP � ����� ��� ����
������������� ����� � ������
���������: ���� ���� ��������� ICMP,
���� ���� � ���� ����������� �����
ICMP. ��� ��������� ���������� ������
��������� ����� ��������� � ���
�����.
��� ����������� ��������
��� Tanenbaum[1981], ��� � Stallings[1985]
������������� �����������
��������� �-����� � ��������� �� �
���������� �������� �����������.
������� �������� �������� �� ��,
��� �������� �����������
���������, � �����. Grange � Gien[1979], �
����� Driver, Hopewell, � Iaquinto[1979]
����������������� �� ��������
���������� �������, ��� �������
����������� ��������� ����������.
Gerla � Kleinrock[1980] ������������
���������� ��������� ����������
�������.
ICMP, ��������� ����� ��� ��������
TCP/IP, ���������� Postel[RFC 792]. Nagle[RFC 896]
������������� ���������
���������� ��������� � ����������,
��� ����� ������ ������������ ��
��� ���������� ���������� ����. Prue
� Postel[RFC 1016] ������������� �����
����� ����������, �������
���������� ����� ��� ����������
���������. Nagle[1987] ����������, ���
���������� ������ ��������
��������� � ����� � ��������
�����������. Mogul � Postel[RFC 950]
������������� ��������� ������� �
������ ����� �������. �������, Jain,
Ramakrishnan � Chui [1987] ����������, ���
����� � ������������ ���������
����� ����������������� ���
���������� ���������� ����.
����� �������� ���������
������������� ����� ������� � Mills[RFC
956, 957 � 958].
����������
9.1 ���������� ���������� �������
��������� ICMP � ������ ����
���������� � ����� ��������� ���� �
������� ���.
9.2 ����������, ������� �� ��
�������� ������ ����� ���� ���
������, ��� �������� ��������� ICMP �
���������� ���������.
9.3 ������������ ��������,
���������������� ���� �� ���������
��������� ICMP � ��������� ������.
9.4 ����������, �������� �� ����
������������ ������� ������� ping.
����� �� ������� �� ������ ?
9.5 �����������, ��� ������������
������� �������� ��������� ICMP �
���������� ������� ����������
����������. ����������� �� ���
���������� ������� traceroute, ��������
������ ������ ����� ���������� �
����������� ������������.
9.6 ���� �� ������������ �
���������, ���������� ���������
������� ping ��� ��� 128.10.2.1 ( ������ �
������)
9.7 ������ �� ���� ������
���������� ICMP ����� �������
��������� �� ��������� � �������
��������� ? ������ ?
9.8 ���������� Ethernet, ������� ����
��� � 12 ������, �������������� �
����. ����������, �����
����(������� ������������),
���������� IP-����� � ��������� ���,
�������� ��� ������� 24 ������.
9.9 �������� ������ ����������
��������� ICMP � ����������� ������
Jaina. ����� �� ��������� ����� ������
��� ���������� ���������� ���� ?
������ ?
9.10 �� ���������� ��������� ICMP,
����������� ������ �������������
��������, ��� ������ ��������
�������� � ����, ��� �����������
����������� ������������. ���
����� �������� ����� ���������
����� ���� �������� ?
9.11 ������ �� ��������� �� �������
ICMP ��������� ��������� �����,
������������, ����� ��� ����
������� ? ������ ?
����� | ���������� | ������
Функции разрабатываемого программного обеспечения
Основные функции разрабатываемой автоматизированной информационной системы заключаются в следующем:
· Загрузка в приложение реестров счетов;
· Проведение ФЛК загруженных реестров;
· Формирование отчета об ошибках при приеме реестров;
· Загрузка проверенных реестров в БД;
· Проведение МЭК:
o Проверка на соответствие БД федеральных льготников;
o Проверка на соответствие реестрам;
o Проверка на соответствие кодам и тарифам заболеваний.
· Формирование протокола ошибок;
· Формирование актов МЭК;
· Формирование отчетной формы ТЛ;
· Обновление справочников и реестров;
· Отражение, поиск, фильтрация данных по справочникам и реестрам;
Структурный анализ потоков данных (DFD)
Модель создана для отображения потоков данных в процессе учета документов по оказанию МСП определенным категориям граждан Тюменской области в ТФОМС ТО.
Модель отображает действия специалистов ТФОМС по обработке данных внутри организации. На рисунке 5 отображена общая контекстная диаграмма, на рисунке 6 диаграмма декомпозиции и на рисунке 7 отображена диаграмма декомпозиции блока 1.3 Проведение МЭК.
Общая контекстная диаграмма
Рисунок 5 Контекстная диаграмма процесса учета документов по оказанию МСП определенным категориям граждан Тюменской области в ТФОМС ТО
Диаграмма декомпозиции
Рисунок 6 Диаграмма декомпозиции процесса учета документов по оказанию МСП определенным категориям граждан Тюменской области в ТФОМС ТО
Диаграмма декомпозиции блока 1.3
Рисунок 7 Диаграмма декомпозиции процесса 1.3 Проведение МЭК
Описание диаграмм модели DFD
Общая контекстная диаграмма.
На общей контекстной диаграмме (рисунок 5) отображены внешние сущности, с которые взаимодействует система, такие как: медицинские организации, департамент здравоохранения, пенсионные фонд и управление по ОМС.
1) Медицинские организации предоставляют ТФОМС реестры счетов (приложение 3),в ТФОМС реестры проходят МЭК и по результатам МЭК формируются такие документы как: протокол ошибок, данные об ошибках при приеме реестров счетов, акты МЭК медицинской помощи по льготному слухопротезированию, глазопротезированию, зубопротезированию и обеспечению молочными продуктами (приложение 4);
2) Пенсионный фонд предоставляет ТФОМС справочник «федеральных льготников» (приложение 6);
3) Департамент здравоохранения предоставляет справочники ДЗ (приложение 6), а ТФОМС отправляет департаменту здравоохранения отчетную форму ТЛ (приложение 5);
4) Управление по ОМС предоставляет справочники управления по ОМС.
Диаграмма декомпозиции.
На диаграмме декомпозиции (рисунок 6) отображены 5 процессов происходящих в системе, такие как: прием реестров счетов, ФЛК, проведение МЭК, подготовка актов МЭК и протокола ошибок, создание отчетной формы ТЛ.
1) Изначально осуществляется загрузка реестров, которые предоставили медицинские организации;
2) Затем загруженные в приложение реестры счетов (приложение 3) проходят форматно-логический контроль. Форматно — логический контроль представляет собой проверку на соответствие форматным требованиям. В случае обнаружения ошибок формируется документ «данные об ошибках при приеме реестров счетов» и оправляется в медицинскую организацию. Если ФЛК прошел без ошибок, то данные реестров сохраняются в БД реестры счетов;
3) Далее проходит МЭК, этот процесс декомпозирован на диаграмме декомпозиции процесса 1.3 проведение МЭК (рисунок 7);
4) После проведения МЭК осуществляется подготовка актов МЭК и реестров ошибок. Процесс основывается на полученном протоколе ошибок после проведения МЭК. В результате формируются акты по льготному слухопротезированию, зубопротезированию, глазопротезированию и обеспечению молочными продуктами, а так же формируется реестры ошибок;
5) На основе актов и реестров ошибок формируется отчетная форма ТЛ и оправляется в департамент здравоохранения.
6) На основе справочников ДЗ, справочника федеральных льготников и справочников управления по ОМС осуществляется актуализация справочников.
Диаграмма декомпозиции процесса 1.3
На диаграмме декомпозиции процесса 1.3 Проведения МЭК (рисунок 7) отображены 4 процесса, которые осуществляют МЭК, такие как: проверка пациентов в БД федеральных льготников, проверка справочникам НСИ, проверка на соответствие реестрам, формирование протокола ошибок по проделанным проверкам.
1) Изначально осуществляется проверка на наличие пациента в БД федеральных льготников, на основе результатов проверки формируется «результаты проверки БД федеральных льготников»;
2) Далее осуществляется проверка справочникам НСИ. К справочникам НСИ относятся такие справочники как: МКБ-10, льготные категории, результаты обращений, коды услуги, молочные смеси и продукты, категории молочных смесей, стоимость услуги по тарифу;
3) После проверка справочника НСИ осуществляется проверка на соответствие реестрам, таким как: СМО, МО, врачи;
4) После всех проверок осуществляется формирование протокола ошибок по проделанным проверкам. Протокол ошибок формируется на основе результатах проверки БД федеральных льготников, проверки НСИ, проверки на соответствие реестрам.
Методология проектирования базы данных: этап логического проектирования в нотации IDEF1X
Цель создания модели – отображение логических связей между сущностями в системе. Логическая модель данных в нотации IDEF1X является основой для построения физической модели, которая, в свою очередь, будет определять, в каком именно виде будут храниться данные в БД и как эти данные будут связаны между собой.
Логическая модель представляет собой информационную модель предприятия, на основе существующих конкретных моделей данных, не зависимо от СУБД и прочих физических условий реализации.
Данные в БД основываются на результатах изучения работы специалистов ТФОМС.
База состоит из 21 таблиц (рисунок 8).
Основными являются таблицы «Реестр счета Слухопротезирования», «Реестр счета Глазопротезирования», «Реестр счета Зубопротезирования» и Реестр счета Отпуск МП. Они включает в себя информацию о пациенте, о враче и о медицинских организациях оказывающих МСП, а так же данные об оказанных услугах, их стоимость и т.д.
Так же представлены различные справочники и реестры такие как: реестр «федеральные льготники», реестр «СМО», справочник «МКБ-10», справочник «льготные категории», реестр «Врачи и фельдшеры», реестр «МО», справочник «Коды ошибок», справочник «Результат обращений», справочник «Код услуги», справочник «молочные смеси и продукты», справочник «Категории МС», справочник «Типы реестров». На основе этих справочников осуществляется МЭК. После проведения МЭК формируется протокол ошибок. В свою очередь на основе протокола ошибок формируются акты по оказанию социальных поддержек
Диаграмма IDEF1X
Рисунок 8 Логическая модель данных в нотации IDEF1X