no image
Wireshark FCS/CRC 4Byte 안보이는 이유
환경마다 다르겠지만, 특정 환경에서는 Wireshark에서 송신하는 패킷의 길이보다 4Byte 더 받는 것처럼 나타날 수도 있습니다. 이 차이는 FCS(Frame Check Sequence) 또는 CRC(Cyclic Redundancy Check) 때문입니다. 아래 그림에서 보이는 것처럼 프레임의 가장 끝 부분에 위치해 있습니다. 이 현상은, 지난 번 IP Checksum 구간이 0으로 보이는 것과 유사한 이유입니다. PHY 즉, 물리계층에서 수행하기 때문에 Wireshark에서는 보이지 않습니다. 따라서, PHY에서 계산하여 추가적으로 송신했다고 볼 수 있겠네요. 아마, 설정에서 이런 것을 변경할 수 있지 않을까 싶지만 당장 저에게 필요한 부분은 아니기 때문에 기회가 되면 알아보도록 하겠습니다. 잘 이..
2022.03.07
스위치(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
계층별 PDU 명칭과 프레임/패킷/세그먼트 차이
일반적으로 통신 및 네트워크 분야에서 데이터의 시작과 끝이 존재합니다. 지속적으로 데이터를 송신할 이유도 없지만, 송/수신에 실패했을 때 재전송을 하거나 트래픽 제어를 위해서라도 중간중간 약간의 여유시간이 필요하기 때문입니다. (이론적으로, 지속적인 데이터를 송신하는 기술도 있겠으나 저의 경우 경험해본 적은 없습니다.) 그리고 디지털 신호 기준으로 '0' 또는 '1' 으로 송신하기 때문에 데이터의 시작과 끝이 있는 것이 관리하기 훨씬 용이합니다. (간혹, '0'과 '1' 외에도 '-1'과 같은 신호를 보내는 기술도 있지만 전체적인 맥락은 큰 차이가 없습니다.) 컴퓨터 네트워크 분야에서는 데이터의 시작과 끝 즉, 하나의 데이터를 부르는 명칭도 계층(Layer)마다 조금씩 다릅니다. 통신 기술, 기업, 분야..
2022.03.07
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
멀티캐스트 IP/MAC 주소 변환
MAC 주소는 벤더 코드와 호스크 코드로 나뉘며, 총 48bit입니다. 벤더 코드는 OUI와 같은 의미이며, OUI가 궁금하신 분들은 아래 링크를 참조하세요. OUI(Organizationally unique identifier) 개념 멀티캐스트 MAC 주소 이 외에 MAC 주소가 존재하는데, 멀티캐스트 MAC 주소 입니다. IP 멀티캐스트 개념에서 활용되는 MAC 주소입니다. 멀티캐스트 MAC 주소는 01:00:5E:XX:XX:XX와 같이, 상위 주소가 01:00:53 로 고정합니다. 사실, bit로 구분해야 좀 더 확실한데 고정되는 bit는 25bit입니다. 멀티캐스트 MAC 주소를 bit로 접근하면, 0000 0001 : 0000 0000 : 0101 1110 : 0xxx xxxx : xxxx xx..
2022.02.24
IP 멀티캐스트, 멀티캐스트 주소 범위, 멀티캐스트 프르토콜
멀티캐스트(Multicast)는 특정된 여러 단말(또는 대상)에게 데이터를 송신하는 방식입니다. ※ 유니캐스트(Unicast), 브로드캐스트(Broadcast)와 같이 다른 전송 방식이 궁금하신 분들은 아래 링크를 참조하세요. 유니캐스트(Unicast), 멀티캐스트(Multicast), 브로드캐스트(Broadcast) 멀티캐스트 전송 방식을 특정 계층(Layer)이나 프로토콜에 국한되서 동작한다고 설명된 자료들이 많습니다. 하지만, 제가 조사한 바에 따르면 유니캐스트, 멀티캐스트, 브로드캐스트는 전송 방식에 대한 개념입니다. 예를 들어, IP 멀티캐스트(Layer3, L3) / 오버레이 네트워크(Overlay Network) / 인터넷 릴레이 챗(Internet Relay Chat, IRC) 처럼 멀티캐..
2022.02.24