스위치(Switch) 데이터 전달 모드 종류
스위치에는 데이터를 전달하는 모드에 여러 방식이 존재합니다. Store-and-Forward, Cut-thorugh, Frgament Free 방식 등입니다. 가장 큰 차이점은 어디까지 저장하냐가 큰 관건입니다. 그리고 저장하는 범위에 따라, 에러 검출 여부가 정해집니다. 아래에 스위치 데이터 전달에 있어, 각 모드를 정리해 두었으니, 비교하시면 좋을 것 같네요. Store-and-Forward 프레임 전체를 수신 및 저장하여 출력 포트 결정 CRC 검사를 통해, 오류 프레임은 버린다. Latency가 큼 Cut-through 프레임의 목적지 주소를 저장하고 검사하여 출력포트 결정 에러 프레임 판단 불가 Latency가 작은 편 Fragment Free(Modified Cut-through) 일정 부분까..
2022.03.07
no image
Wireshark, 송신 IP Checksum이 0으로 보이는 이유
수신하는 쪽에서는 Checksum 값이 있는데 송신하는 쪽에서 Wireshark로 분석할 때, IP Checksum이 0으로 보일 수 있습니다. 송신하는 쪽의 운영체제는 Window고 Window에 내장된 IP 프로토콜이니 송신의 문제는 없을 겁니다. 이런 현상은 Cehcksum Offload라는 개념 때문인데, 먼저, 송신하는 쪽에서 Wireshark로 확인해보겠습니다. 현상 확인 신기하게도 수신측에서는 IP Header Checksum이 잘 나타납니다. Window 네트워크 설정 중, Checksum Offload 때문인데, 아래 화면들처럼 모두 설정을 Disable하겠습니다. 송신하는 쪽에서, 다시 확인해보겠습니다. 이제는 IP Cheksum이 잘 나오네요. 수신 쪽에서의 IP Checksum과도 ..
2022.03.07
no image
Ethernet PHY Extended Register 개념과 Pseudo-code
IEEE802.1 Clause 22에 따르면, Ethernet PHY는 32개의 레지스터를 제어할 수 있습니다. 하지만, 가끔 32개 이상의 레지스터를 제어할 수 있다고, Datasheet에 적혀있는 PHY들이 있습니다. 자료조사한 바에 따르면, 이 개념은 Extended Register 라고 많이 표현합니다. 혹은 Page 라고 표현하기도 하는데, Page라는 용어는 이미 쓰이고 있는 부분들이 많아서 이 글에서는 Extended Register라고 표현하겠습니다. Extended Register 개념 https://ww1.microchip.com/downloads/en/DeviceDoc/VMDS-10494.pdf 위 링크의 Datasheet를 보면 아래와 같은 설명이 있습니다. 확장 페이지 1 레지스터..
2022.03.07
no image
계층별 PDU 명칭과 프레임/패킷/세그먼트 차이
일반적으로 통신 및 네트워크 분야에서 데이터의 시작과 끝이 존재합니다. 지속적으로 데이터를 송신할 이유도 없지만, 송/수신에 실패했을 때 재전송을 하거나 트래픽 제어를 위해서라도 중간중간 약간의 여유시간이 필요하기 때문입니다. (이론적으로, 지속적인 데이터를 송신하는 기술도 있겠으나 저의 경우 경험해본 적은 없습니다.) 그리고 디지털 신호 기준으로 '0' 또는 '1' 으로 송신하기 때문에 데이터의 시작과 끝이 있는 것이 관리하기 훨씬 용이합니다. (간혹, '0'과 '1' 외에도 '-1'과 같은 신호를 보내는 기술도 있지만 전체적인 맥락은 큰 차이가 없습니다.) 컴퓨터 네트워크 분야에서는 데이터의 시작과 끝 즉, 하나의 데이터를 부르는 명칭도 계층(Layer)마다 조금씩 다릅니다. 통신 기술, 기업, 분야..
2022.03.07
NLP(Normal Link Pulse), FLP(Fast Link Pulse) 개념
NLP(Normal Link Pulse) 10Base-T에서 16ms의 주기를 가지고, 100ns 시간 동안의 링크펄스(Linkpulse)를 송신합니다. Linkpulse가 도착한 이후로, 150ms 동안 또 다른 Linkpulse나 프레임이 수신되지 않으면 링크 에러로 판단합니다. 150ms 내에, 4번의 연속적인 링크펄스를 수신하거나, 프레임을 수신하면 에러를 회복합니다. ※ 에러의 경우 수신자 기준으로 판단하므로, 참고하시기 바랍니다. FLP(Fast Link Pulse) 100Base-Tx/100Base-T에서 NLP를 확장하여 사용하는 개념입니다. 자신의 Spec.을 송신할 수 있고 Auto-negotiation과 연관된 기능입니다. FLP는 33개의 NLP로 구성되어 있고 16±8ms 주기를 ..
2022.03.04
no image
MDC, MDIO (Management Data Clock, Management Data Input/Ouput) clause 22 정리
MDC(Management Data Clock)/MDIO(Managment Data Input/Ouput)는 MAC에서 PHY를 제어 및 관리하기 위해 사용되는 2-Wire 직렬 버스입니다. 이번에는 IEEE 802.3의 Clause 22에 정의된 방식을 정리해보겠습니다. MDC/MDIO Clause 22는 32개의 PHY와 각 PHY 내 32개의 레지스터에 접근할 수 있습니다. MDC/M,DIO 핀에 대한 내용은 다음과 같습니다. 분류 MDC MDIO 인터페이스 클럭 MDIO MDIO 인터페이스 데이터 MDC/MDIO를 이용하여 PHY의 속도, Duplex mode, Auto-negotiation 등에 대해 설정할 수 있습니다. 이 외에도, 해당 PHY의 특수한 기능 설정도 가능합니다. PHY 내부 레..
2022.03.04
no image
NIC(Network Interface Card)란
NIC(Network Interface Card)는 쉽게 말해 컴퓨터 및 기기가 인터넷에 연결되게끔 도와주는 부품(또는 장치)입니다. 흔히, 랜카드 라고 부르고 있는 부품이죠. 또 다른 말로 네트워크 카드, 닉카드, 이더넷카드 등으로 불리기도 합니다. L2 장비로, 물리 계층과 데이터 링크 계층 서비스를 제공합니다. OSI 7계층 기준으로 보면, L1과 L2를 포함하는 장치입니다. 따라서, MAC 주소를 포함하고 있습니다. 그리고 이 MAC 주소는 고유하다는 특성을 가지고 있어요. 펌웨어(또는 임베디드) 환경에서 이더넷을 개발하시는 분들은 Chip 형태가 익숙하겠지만, 컴퓨터에서 상위 레이어를 개발하시는 분들은 NIC가 더 익숙할 것 같습니다. 아무튼, 두 분야를 연동해서 바라보자면, NIC는 PHY와 ..
2022.03.04
VLAN(Virtual LAN) 개념 및 분류
VLAN(Virtual LAN)은 논리적으 도메인(또는 네트워크망)을 분리하는 개념입니다. 컴퓨터 네트워크는 분야가 워낙 방대하다보니, 용어를 혼선해서 쓰는 것 같습니다. 네트워크 망을 분리한다는 개념은, 프로토콜로서 나누는 경우도 있으니 이 글에서는 VLAN으로 나누는 것을 도메인이라고 표현하겠습니다. VLAN의 경우 TCP, UDP 등과 같은 프로토콜의 개념과는 사뭇 다릅니다. VLAN에서 패킷을 구분하기 위해서 주로 사용되는 표준은 IEEE 802.1Q 입니다. (다른 방법이 있을지도 모르지만, 이번 글에서는 논외로 하겠습니다.) OSI7계층의 개념으로 바라보자면, L2에서 스위치를 이용해 브로드캐스트 도메인을 나누기 위한 기술입니다. VLAN 이용 목적 VLAN은 다른 VLAN 태그를 가진 도메인..
2022.03.04
no image
물리/논리 포트(Port) 개념
컴퓨터 네트워크에서의 포트(Port)는 크게 두 가지를 의미합니다. 물리적인 포트(Port)와 논리적인 포트(Port)가 있죠. 각각의 개념에 대해 정리해보겠습니다. 물리적인 포트 물리적인 포트의 개념은 간단합니다. 우리가 흔히, 인터넷을 활용하기 위해 이더넷 케이블을 공유기에 연결할텐데요. 케이블이 연결되는 공간이 물리적인 포트 입니다. 물론, 이 개념도 깊게 접근하면 공부할 것이 많습니다. 하지만, 개인적인 생각으로는 S/W 개발자 기준에서는 포트라는 것이 물리적인 포트도 존재한다 정도로 인식하며 될 것 같습니다. 논리적인 포트 논리적인 포트(Port)의 개념은 상대적으로 복잡합니다. (편의상 이하, 포트=논리적인 포트) 그리고 포트는 S/W로 구별되는 하나의 주소라고 보시면 됩니다. 설명을 덧붙이자..
2022.02.25