Обмен технологиями

сетевое программирование!

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

сетевое программирование

【1】Архитектура развития сети

(1) Архитектура C/S
C: клиент (клиент)

S: сервер (сервер)

ПРИЛОЖЕНИЕ - это сервер

Архитектура C/S реализует разделение внешнего интерфейса и внутренней бизнес-логики посредством взаимодействия между клиентским программным обеспечением и сервером, обеспечивая стабильную и надежную модель архитектуры.

(2) Архитектура B/S
B: браузер (веб-страница)

S: сервер (сервер)

Открыть QQ Music ----> Сделать запрос в QQ Music

Рендеринг ресурсов в локальном браузере

Архитектура B/S реализует разделение внешнего интерфейса и внутренней бизнес-логики посредством взаимодействия между браузером и сервером, обеспечивая гибкую и масштабируемую модель архитектуры.


(3) Преимущества и недостатки архитектуры B/S и организации C/S.


Б/С архитектура
Методы обслуживания и обновления просты: мне нужно только обновить ресурсы сервера.

Стоимость также относительно невысока, а вариантов много.

Слишком много служебных данных и серьезная нагрузка

C/S-архитектура
Снижена нагрузка на сервер, а клиенту выделено некоторое количество ресурсов для хранения.

Хранение и управление данными относительно прозрачны, а приложение разработано методом реверс-инжиниринга.

Высокая стоимость и трудоемкое обслуживание.

Архитектура C/S — основная тенденция


【2】Интернет-протокол


(1) Что такое сетевое программирование?


Исследовательская предпосылка сетевого программирования основана на Интернете.

Сетевое программирование — это написание кода на основе Интернета.

(2) Средство сетевого программирования


Средой сетевого программирования является компьютерная сеть.

Сетевые протоколы, среды и библиотеки сетевого программирования являются основой для реализации сетевого программирования.

【3】Семиуровневый протокол OSI


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

Уровень представления: отвечает за представление и кодирование данных, преобразование и сжатие данных перед передачей в различные системы.

Уровень сеанса: отвечает за установление, управление и завершение сеансов, включая такие функции, как синхронизация обмена данными, а также создание и восстановление контрольных точек.

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

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

Уровень канала передачи данных: передает данные через кадры и отвечает за надежную передачу данных.

Физический уровень: отвечает за передачу битовых потоков на физических носителях, включая среды передачи, физические интерфейсы и электрические характеристики.

преимущество:
Простота понимания и реализации: поскольку модель OSI имеет четкую многоуровневую структуру, ее легко понять и реализовать.

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

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

Пониженная сложность: модель OSI имеет меньшую сложность по сравнению с другими архитектурами, поскольку функциональность каждого уровня фиксирована.

недостаток:


Слишком теоретическая. Модель OSI слишком теоретическая, что ограничивает ее использование в практических реализациях.

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

Слишком громоздко: поскольку модель OSI разделена на 7 уровней, это приведет к увеличению сложности протокола и потреблению ресурсов в практических приложениях.

Высокая стоимость реализации. Поскольку модель OSI требует использования большого количества протоколов и устройств для обеспечения связи между различными уровнями, стоимость реализации высока.

【4】Пятиуровневый протокол TCP


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

Транспортный уровень. Протокол транспортного уровня обеспечивает сквозной протокол для обеспечения надежной передачи данных в сети.

Сетевой уровень: управляет передачей и маршрутизацией данных в сети.

Уровень канала передачи данных: обеспечивает надежную передачу данных в физической сети. Он инкапсулирует пакеты данных в кадры и передает их через физические носители.

Физический уровень: отвечает за передачу битовых потоков на физических носителях, включая среды передачи, физические интерфейсы и электрические характеристики.

преимущество:
Просто и понятно. Пятиуровневый протокол TCP/IP прост и понятен, его легко понять и реализовать.

Высокая открытость: протокол TCP/IP — это открытый стандарт с хорошей совместимостью и масштабируемостью.

Стабильный и надежный: протокол TCP обеспечивает надежные услуги передачи данных, обеспечивая целостность и надежность данных.

Высокая гибкость: протокол TCP/IP поддерживает множество различных приложений, таких как электронная почта, передача файлов, просмотр веб-страниц и т. д.

Высокая безопасность: протокол TCP/IP предоставляет некоторые механизмы безопасности, такие как IPSec, SSL и т. д., для обеспечения безопасности и конфиденциальности данных.

недостаток:


Высокая сложность: реализация протокола TCP/IP относительно сложна и требует глубокого понимания принципов сетевых протоколов и связанных с ними технологий.

Ограниченная производительность. Чтобы обеспечить надежность данных, протокол TCP вводит определенную задержку и накладные расходы и не подходит для приложений с высокими требованиями к работе в реальном времени.

Недостаточная безопасность. Некоторые механизмы безопасности протокола TCP/IP уязвимы для атак, и для обеспечения безопасности необходимо принять дополнительные меры.

Ограниченная надежность. Хотя протокол TCP/IP обеспечивает надежные услуги передачи данных, при перегрузке сети могут возникнуть такие проблемы, как потеря пакетов и задержка, и для их решения необходимо принять некоторые меры.

Не подходит для крупномасштабного развертывания. Поскольку протокол TCP/IP плохо учитывает вопросы управления и обслуживания сети, при крупномасштабном развертывании сети могут возникнуть некоторые проблемы.

【5】Протокол Ethernet


Стандартизирует стандарты нашего доступа в Интернет.

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

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

Протокол EthernetФункции
Гибкость, скорость, простота, надежность, отказоустойчивость, масштабируемость, надежность.

【6】IP-протокол


Это сетевой протокол связи

Протокол TCP/IP — это протокол сетевого уровня, который отвечает за передачу пакетов данных с адреса источника на адрес назначения.

Он определяет, как данные передаются и маршрутизируются через Интернет.

IP-протоколФункции: Нет связи, простой и гибкий, передача пакетов, маршрутизация, IP-адрес, номер версии, тип протокола.

【7】Mac-адрес


сетевая карта

Его также называют физическим адресом, который относится к глобально уникальному адресу, присваиваемому сетевому оборудованию (например, компьютерам, маршрутизаторам, коммутаторам, сетевым картам) при его изготовлении.

Найдите поле под названием «Физический адрес» или «MAC-адрес».

【8】Трансляция


Обмен данными внутри одной локальной сети

【9】Протокол TCP


потоковый протокол

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

(1) Трехстороннее рукопожатие


1. Клиент отправляет серверу запрос на соединение (с идентификатором клиента aaa)

2. Сервер получает запрос на подключение клиента и отправляет запрос обратно клиенту (с идентификатором сервера и идентификатором клиента bbb)

3. Клиент и сервер устанавливают соединение.

(2) Помашите четыре раза


1. Клиент отправляет серверу запрос на отключение.

2. Сервер получает запрос клиента и продолжает обработку незавершенных данных.

3. Отправьте клиенту запрос на отключение.

4. Клиент получает запрос на отключение от сервера и отключается.

【10】Протокол UDP


соглашение о телеграмме

Протокол UDP — это протокол транспортного уровня.

Функции
Без установления соединения: UDP не требует установления соединения перед отправкой данных.

Просто и быстро: заголовок протокола UDP относительно небольшой. Накладные расходы на связь минимальны, поэтому передача происходит относительно быстро.

Ненадежность: UDP не предоставляет гарантий надежности, а также не гарантируется порядок передачи пакетов данных.

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

Подходит для приложений реального времени:

【11】Протокол сокетов подходит для приложений реального времени.


Как установить TCP-соединение/UDP-соединение

Что такое сокет:
Scoket можно понимать как абстрактную конечную точку, которую можно использовать для установления сетевых подключений, отправки и получения данных.

Scoket — это программный интерфейс, используемый для реализации сетевой связи. Он позволяет приложениям передавать данные и одноклассники между разными компьютерами по сети.