Сетевая интерфейсная карта (сокращенно NIC), также известная как сетевой адаптер, представляет собой устройство, которое подключает компьютер к локальной сети. Пока он подключен к локальной сети, необходимо установить сетевую карту. Сетевая карта в основном включает в себя два нижних уровня OSI, физический уровень и уровень канала передачи данных. Микросхема физического уровня называется PHY, а микросхема канального уровня называется MAC-контроллером. над введением.
Сегодня мы подошли к пониманию принципа работы сетевой карты и изучим процесс отправки и получения пакетов данных.
Сетевая карта работает на двух последних уровнях OSI: физическом уровне и уровне канала передачи данных. Физический уровень определяет электрические и оптические сигналы, статус линии, эталонный тактовый сигнал, кодирование данных и схемы, необходимые для передачи и приема данных, и передает данные устройствам канального уровня, предоставляющим стандартные интерфейсы. Канальный уровень обеспечивает такие функции, как механизм адресации, построение фрейма данных, проверку ошибок данных, управление передачей и стандартный интерфейс данных для сетевого уровня. Микросхема уровня канала передачи данных в плате Ethernet называется MAC-контроллером. Эти две части многих сетевых карт делаются вместе. Связь между ними заключается в том, что шина PCI подключается к шине MAC, MAC подключается к PHY, а PHY подключается к сетевому кабелю (через трансформатор).
Давайте продолжим рассмотрение того, как PHY и MAC передают данные и взаимодействуют друг с другом. Подключите MAC и PHY через стандартный интерфейс MII, определенный IEEE. Этот интерфейс определен IEEE. Интерфейс MII передает все данные и данные управления сетью. MAC определяет рабочее состояние PHY и управляет PHY, используя интерфейс SMI (последовательный интерфейс управления), читая и записывая регистры PHY. Часть регистров на PHY также определяется IEEE, так что PHY отражает свое текущее состояние в регистрах, а MAC постоянно считывает регистр состояния PHY через шину SMI, чтобы узнать текущее состояние PHY, например как скорость соединения и возможность дуплекса Подождите. Конечно, вы также можете установить регистры PHY через SMI для достижения целей управления, таких как открытие и закрытие управления потоком, режим автосогласования или обязательный режим и т. д.
Поэтому, будь то физически подключенный интерфейс MII и шина SMI или регистр состояния и регистр управления PHY, существуют спецификации IEEE, поэтому MAC и PHY разных компаний могут работать согласованно. Конечно, чтобы взаимодействовать с некоторыми уникальными функциями PHY различных компаний, драйвер необходимо соответствующим образом модифицировать.
процесс работы
Когда PHY отправляет данные, он получает данные от MAC (для PHY нет понятия кадра, для него это все данные независимо от адреса, данные по-прежнему CRC), и каждые 4 бита добавляются 1 бит кода обнаружения ошибок, а затем преобразует параллельные данные в данные последовательного потока, а затем в соответствии с правилами кодирования физического уровня (кодирование NRZ на основе 10Based-T или манчестерское кодирование на основе 100-T) кодирование данных преобразуется в аналоговый сигнал и отправлены. Процесс получения данных обратный.
Теперь давайте посмотрим на последнюю часть вывода PHY.
Когда работает КМОП-чип, уровень генерируемого сигнала всегда больше 0 В (это зависит от процесса и требований к дизайну чипа), но такой сигнал будет иметь большое постоянное напряжение, когда его отправляют на 100 метров или даже дальше. прочь. потеря веса. Более того, если внешний сетевой кабель напрямую подключен к чипу, электромагнитная индукция и статическое электричество могут легко повредить чип.
Кроме того, метод заземления оборудования отличается, и различное окружение сети приведет к тому, что уровни 0 В двух сторон будут несовместимы. Таким образом, сигнал передается от A к B. Поскольку уровень 0 В оборудования A отличается от уровня 0 В точки B, это вызовет большой ток. Поток от устройства с более высоким потенциалом к устройству с более низким потенциалом. В это время необходим трансформатор (изолирующий трансформатор). Он фильтрует дифференциальный сигнал, посылаемый PHY, с помощью дифференциального фильтра сопряжения катушек, чтобы усилить сигнал, и соединяет его с другим концом сетевого кабеля посредством преобразования электромагнитного поля. Таким образом, нет физического соединения между сетевым кабелем и PHY, и сигнал передается, постоянная составляющая в сигнале отсекается, а данные также могут передаваться в устройствах с разными уровнями 0В.
Сам изолирующий трансформатор рассчитан на напряжение 2кВ~3кВ, и в то же время он играет роль молниезащиты. Сетевое оборудование некоторых пользователей легко сгорает в грозовую погоду, большинство из которых вызвано неразумной конструкцией печатной платы, и большинство из них сожгли интерфейс оборудования, и сгорело мало микросхем, потому что изолирующий трансформатор играет защитную роль. .
При отправке данных сетевая карта сначала прослушивает, есть ли несущая на носителе (несущая указывается напряжением), и если есть, то думает, что другие станции передают информацию и продолжает слушать носитель. После того, как среда связи замолкает на определенный период времени (называемый межкадровым интервалом IFG=9,6 мкс), то есть она не занята другими станциями, начинается передача данных кадра, продолжая прослушивание среды связи до обнаруживать столкновения. Во время передачи данных, если обнаружено столкновение, передача немедленно останавливается, и в среду отправляется сигнал «блокировки», чтобы информировать другие станции о том, что произошло столкновение, таким образом отбрасывая поврежденные данные кадра, которые могли быть получены. , и ожидание Случайное количество времени (алгоритм CSMA/CD для определения времени ожидания представляет собой алгоритм бинарной экспоненциальной отсрочки). Подождите случайное количество времени, прежде чем сделать новую отправку. Если коллизия все еще происходит после нескольких повторных передач (более 16 раз), передача прерывается.
При приеме сетевая карта сканирует каждый кадр, передаваемый на носителе, и если его длина меньше 64 байт, он считается фрагментом коллизии. Если полученный фрейм не является конфликтующим фрагментом, а адрес назначения является локальным адресом, проверьте целостность фрейма, если длина фрейма больше 1518 байт (это называется слишком большим фреймом, это может быть вызвано неправильным драйвером LAN или помехи) или если не проходит проверку CRC, считается, что кадр искажен. Кадры, прошедшие проверку, считаются действительными, и сетевая карта получает их для локальной обработки.