안녕, 리뷰어. 나는 뫙대🛠️
CS에 대한 개념이 0에 수렴해 공부를 시작합니다. 네트워크 공부는 '혼자 공부하는 네트워크'를 기반으로 합니다. 이번 글에서는 물리 계층과 데이터 링크 계층에 대해 다룹니다. 글을 읽기 전에 물리 계층에는 주소 개념이 없다는 사실을 기억하세요.
- 저자
- 강민철
- 출판
- 한빛미디어
- 출판일
- 2024.04.12
이더넷
LAN, 특히 유선 LAN 환경에서 가장 대중적으로 사용되는 기술. 통신 매체의 규격들과 송수신되는 프레임의 형태, 프레임을 주고받는 방법 등이 정의된 네트워크 기술
→ 네트워크에서 데이터를 주고받기 위한 규칙(프로토콜) 및 하드웨어 기술로 이해함.
이더넷 표준 IEEE 802.3
전기전자공학자협회(IEEE)는 IEEE 802.3으로 이더넷 관련 기술을 표준화
i.e. IEEE 802.3은 이더넷 관련 표준 규격들의 집합. 지원되는 네트워크 장비, 통신 매체의 종류와 전송 속도 등이 달라질 수 있음
물리 계층 - 통신 매체
- 통신 매체 표기 형태: 전송속도BASE-추가특성
- 전송 속도(숫자): Mbps가 기본, G가 붙으면 Gbps
- BASE: 변조 타입 중 베이스밴드 방식. 대부분 이더넷 통신 매체는 BASE를 사용
- 변조 타입: 비트 신호로 변환된 데이터를 통신 매체로 전송하는 방법
- 추가 특성: 통신 매체의 특성
- 전송 가능한 최대 거리, 물리 계층 인코딩 방식, 비트를 전송할 전송로(레인) 수 등
- 통신 매체 종류
- C: 동축 케이블
- T: 트위스티드 페어 케이블 e.g. 10BASE-T
- S: 단파장 광섬유 케이블 e.g. 1000BASE-SX
- L: 장파장 광섬유 케이블 e.g. 10GBASE-SR
데이터 링크 계층 - 이더넷 프레임

- 헤더
- 프리앰블: 송수신지 간의 동기화를 위해 사용되는 정보 8byte(64bit)
- 시작 `10101010` 끝 `10101011`
- MAC 주소: 네트워크 인터페이스마다 부여되는 물리적 주소 6byte(48bit) 참조. NIC
- 타입/길이: 1536(16진수 0600) 이상일 경우 타입을, 1500(16진수 05DC) 이하일 경우 길이(크기)를 나타냄 2byte
- 타입(이더타입): 상위 계층에서 사용된 프로토콜의 이름 명시 e.g. 타입 `0800` 프로토콜 `IPv4`
- 프리앰블: 송수신지 간의 동기화를 위해 사용되는 정보 8byte(64bit)
- 페이로드
- 데이터: 전달 내용, 네트워크 계층의 데이터와 헤더를 합친 PDU(패킷packet) 포함 46-1500byte
- 일정 크기(46byte) 이하의 데이터라면 크기를 맞추기 위해 패딩padding 정보(0)가 내부에 채워짐
- 데이터: 전달 내용, 네트워크 계층의 데이터와 헤더를 합친 PDU(패킷packet) 포함 46-1500byte
- 트레일러
- FCS(Frame Check Sequence): 수신한 이더넷 프레임에 오류가 있는지 확인 4byte
- CRC(Cyclic Redundancy Check, 순환 중복 검사): 프리앰블을 제외한 나머지 필드 값
- 송신지: CRC 값을 FCS 필드에 명시
- 수신지: CRC 값과 FCS 필드 값 비교 → 오류 검출
- CRC(Cyclic Redundancy Check, 순환 중복 검사): 프리앰블을 제외한 나머지 필드 값
- FCS(Frame Check Sequence): 수신한 이더넷 프레임에 오류가 있는지 확인 4byte
NIC(Network Interface Controller)
호스트와 통신 매체를 연결하고, MAC 주소가 부여되는 네트워크 장비(하드웨어). 물리 계층과 데이터 링크 계층 모두 사용
네트워크 장비
물리 계층 - 허브
여러 대의 호스트를 연결하는 장치. 포트(연결 지점)에 호스트와 연결된 통신 매체 연결
- 전달받은 신호를 다른 모든 포트로 그대로 다시 내보냄. 송수신되는 정보에 대한 조작이나 판단X
- 반이중 모드로 통신: 한 번에 한 방향으로 전송할 수 있는 통신 방식 → 충돌 원인
- 허브에 연결된 모든 호스트는 같은 콜리전(Collision, 충돌) 도메인 → 허브에 신호를 동시에 송신하면 충돌 발생
- CSMA/CD(Carrier Sense Multiple Access with Collision Detection): 반이중 이더넷 네트워크의 충돌 방지 프로토콜
- CS: 통신 매체 상에서 흐르는 신호(Carrier) 감지 → 현재 전송이 가능한 상태인지 확인
- MA: 다중 접근 → 다른 호스트가 전송 중이 아닐 때 메시지 전송
- CD: 충돌 검출 → 충돌이 발생하면 임의의 시간만큼 대기 후 재전송
데이터 링크 계층 - 스위치(L2 스위치)
MAC 주소를 학습해 특정 MAC 주소를 가진 호스트에만 프레임을 전달. 주소를 바탕으로 송수신되는 정보에 대한 조작과 판단O
- MAC 주소 테이블: 스위치의 포트와 연결된 호스트의 MAC 주소 연관 관계를 나타내는 정보(표 형태)
- MAC 주소 학습 과정
- 플러딩: 송신지 포트를 제외한 모든 포트로 프레임 전송 → 허브와 동일
- 필터링: 전달받은 프레임을 어디로 보내고 어디로 내보내지 않을지 결정
- 포워딩: 프레임이 전송될 포트에 실제로 프레임을 전송
- 에이징: MAC 주소 테이블에 등록된 특정 포트에서 일정 시간 동안 프레임을 전송받지 못했을 때 해당 항목을 삭제
전이중 모드(동시에 양방향으로 데이터를 전송할 수 있는 통신 방식) 통신 지원
ɑ
반이중/전이중 모드: 데이터가 송수신되는 방향에 관한 규칙, 송수신지 유형 전송 방식과 다름
VLAN(Virtual LAN) 기능. 한 대의 스위치로 가상의 LAN을 만드는 방법
- 포트 기반: 스위치의 포트가 VLAN을 결정. 가장 단순하지만 대중적인 방식
- VLAN 트렁킹: 두 대 이상의 VLAN 스위치를 트렁크 포트trunk port에 서로 연결해 확장
ɑ
트렁크 포트는 태그 포트tagged port라고도 불림. i.e. 트렁크 포트는 태그가 있는 다중 VLAN 트래픽용
트렁크 포트가 아닌 일반적인 포트는 액세스 포트access port. i.e. 액세스 포트는 단일 VLAN 트래픽용 - VLAN 태그: VLAN을 식별하는 정보 → 802.1Q 프레임에 추가
- VLAN 트렁킹: 두 대 이상의 VLAN 스위치를 트렁크 포트trunk port에 서로 연결해 확장
- MAC 기반: 송수신하는 프레임 속 MAC 주소가 호스트에 속할 VLAN을 결정
통신 매체 종류로도 충분한 것 같아 케이블 관련 사항은 스킵했습니다. 추후 문제 풀이 때 필요하다 생각되면 추가하겠습니다.
후기: 이더넷이 프로토콜인지, 기술인지 정의 내리지 못해 이해하는게 오래 걸렸습니다. 그 다음에는 VLAN이...
🤔 MAC 기반 VLAN은 포트 기반 VLAN의 물리적 단점(포트 수 부족)을 보완했다고 생각했다. 둘만 비교하자면 포트 기반은 static, MAC 기반은 dynamic처럼 보이나, MAC 기반도 대규모 동적 환경에서는 약하다고 한다. 각각의 VLAN이 어떤 상황에서 쓰이는지 궁금하다.
'CS > 네트워크' 카테고리의 다른 글
| [혼자 공부하는 네트워크] 04 전송 계층 - UDP (0) | 2025.05.13 |
|---|---|
| [혼자 공부하는 네트워크] 04 전송 계층 - TCP (1) | 2025.05.13 |
| [혼자 공부하는 네트워크] 03 네트워크 계층 - IP 주소 (2) | 2025.05.10 |
| [혼자 공부하는 네트워크] 03 네트워크 계층 - IP와 라우터 (0) | 2025.05.10 |
| [혼자 공부하는 네트워크] 01 컴퓨터 네트워크 시작하기 (2) | 2025.04.28 |