1. Network
Protocol
- 규정이나 규약과 관련된 내용
- 프로토콜은 어떤 표준협회나 워킹 그룹이 만들었는지 또는 회사에서 사용하느냐에 따라 특징이 많이 달라지고 다양한 프로토콜이 존재
- 최근에는 복잡하고 산재되어 있던 여러 가지 프로토콜 기술이 이더넷-TCP/IP 기반 프로토콜들로 변경되고 있음
- 적은 컴퓨팅 자원과 느린 네트워크 속도를 이용해서 최대한 효율적으로 통신하는 것이 목표이다 보니 대부분의 프로토콜이 문자 기반이 아니라 2진수 비트 기반
- 비트 기반: 몇 번째 전기 신호는 보내는 사람 주소, 몇 번째 전기 신호는 상위 프로토콜 지시자 등과 같이 까다롭게 약속하고 철저히 지켜야 통신을 할 수 있음
- 애플리케이션 레벨(사용자)에서는 비트 기반이 아닌 문자 기반 프로토콜을 사용(HTTP, SMTP 등)
- 비트로 메시지를 전달하지 않고 문자 자체를 이용해 헤더와 헤더 값 데이터를 표현하고 전공
HTTP 프로토콜의 헤더(예시)
GET /api HTTP/1.1
Accept: text/html, application/xhtml+xml, */*
Referer: http://zigispace.net/
Accept-Language: ko-KR
User-Agent: Mozilla/5.0 (Windows NT 6.1; W0W64; Trident/7.0;
TCO_20181006113830;
rv:11.0) like Gecko
Accept-Encoding: gzip, deflate
Host: theplmingspace.tistory.com
DNT: 1
Connection: Keep-Alive
- 문자 기반 프로토콜은 효율성은 비트 기반 프로토콜보다 떨어지지만 다양한 확장이 가능
- TCP/IP 프로토콜 스택

- TCP/IP 는 프로토콜이라 부르지 않고 프로토콜 스택이라고 부르는데, TPC와 IP는 별도 계층에서 동작하는 프로토콜인데 함께 사용하기 때문에 묶어서 표현하는 경우가 많음
- TCP, IP, UDP, ICMP, ARP, HTTP , SMTP, FTP 와 같은 매우 다양한 애플리케이션 레이어 프로토콜이 존재
- 4 계층으로 구분
Application Layer - FTP, SSH, TELNET, DNS, SNMP
Transport Layer - TCP, UDP
Network Layer - IP, ICMP, ARP
DataLink, Physical Layer - 이더넷(Ethernet)
OSI 7계층과 TCP/IP
-
과거에는 통신용 규약이 표준화되지 않고 각 벤더에서 별도로 개발했기 때문에 호환되지 않는 시스템이나 애플리케이션이 많았고 통신이 불가능 했는데, 이를 하나의 규약으로 통합하려는 노력이 OSI 7계층
-
네트워크의 동작으로 나누어 이해하고 개발하는데 많은 도움을 주어서 주요 레퍼런스 모델로 활용하고 있지만, 최근에는 대부분의 프로토콜이 TCP/IP 프로토콜 스택을 기반으로 되어 있음

- TCP/IP Protocol Layer
- Application, Presentation, Session
- Transport
- Network
- Data Link, Physical
- Upper / Lower Layer
- Upper - Application, Presentation, Session
- Lower - Transport, Network, Data Link, Physical
OSI 7계층 별 이해
1 계층 - Physical Layer
- 물리적 연결과 관련된 정보를 정의
- 전기 신호를 전달하는데 초점을 맞춤
주요 장비
Hub(여러 대의 장비를 연결), Repeater(증폭기), Cable, Connector, Tranceiver, TAP(네트워크 모니터링, 패킷 분석을 하기 위해서 전기 신호를 다른 장비로 복제해주는 장비) 등
- 허브는 주소의 개념이 없으므로 전기 신호가 들어온 포트를 제외하고 모든 포트에 같은 전기 신호를 전송
2 계층 - Data Link Layer
- 전기 신호를 모아서 우리가 알아볼 수 있는 데이터 형태로 처리
- 정확한 주소로 통신이 되도록 하는데 초점이 맞춰져 있음
- 출발지와 목적지 주소를 확인
- 에러 탐지 와 수정 기능(최근에는 수행하지 않음)도 있음
주요 장비
- NIC(Network Interface Card) 와
Switch
MAC Address(물리 주소, 하드웨어 주소)
3 계층 - Network(OSI 7) / Internet(TCP/IP) Layer
- 논리적인 주소를 사용
- IP 주소를 사용(네트워크 주소와 호스트 주소로 구분)
- 경로 설정(Routing)이 가장 중요한 역할
IP Address 사용
주요 장비
4 계층 - Transport Layer
- 해당 데이터들이 정상적으로 잘 보내지도록 확인하는 역할을 수행
- 컴퓨터 안에서 애플리케이션(프로세스)을 구분 - 소프트웨어단
- 패킷의 번호를 인식해서 에러 여부와 메시지 조립 여부를 결정
- 애플리케이션 구분자(
Port Number)와 시퀀스(패킷의 번호), ACK(Acknowledgement) 번호를 이용해서 부하를 분산하거나 보안 정책을 수립하여 패킷을 통과시키거나 차단하는 기능을 수행
주요 장비
5 계층 - Session Layer
- 양 끝 단의 응용 프로세스가 연결을 성립하도록 도와주고 연결이 안정적으로 유지되도록 관리하고 작업 완료 후애는 이 연결을 끊는 역할을 수행
- 에러 복구와 재전송 담당
6 계층 - Presentation Layer
- 표현 방식이 다른 애플리케이션이나 시스템 간의 통신을 돕기 위해서 동일한 형식으로 변환시키는 역할을 수행
- 인코딩, 디코딩, 압축 등
7 계층 - Application Layer
- 최상위 계층으로 애플리케이션 서비스를 수행
- 네트워크를 사용하는 소프트웨어의 UI 부분이나 사용자 입출력 부분을 정의하는 계층
- HTTP나 FTP 같은 실제 서비스가 구동되는 계층
Encapsulation & Decapsulation

- 상위 계층에서 하위 계층으로 데이터를 보내면 물리 계층에서 전기 신호로 네트워크를 통해 신호를 보냄
- 받는 쪽에서는 다시 하위 계층에서 상위 계층으로 데이터를 전송
- 하나의 컴퓨터에서 다른 컴퓨터로 데이터를 전송할 때,
Application(7) 에서 Presentation(6) 계층으로 내려보내서 압축이나 암호화를 진행
Presentation(6) 에서 Session(5) 계층으로 내려보내서 연결을 유지하도록 함
Transport(4) 에서 데이터에 4계층 해더(포트)를 붙여서 Segment를 만들고 Network(3) 으로 내려보냄
Network(3) 에서 헤더(IP)를 붙여서 Packet을 만들고 Data Link(2) 로 보냄
- 2계층에서 헤더(MAC Adddress)를 붙여서 Frame 을 만들어서
Physical(1) 로 보냄
- 1계층에서 전기 신호를 만들어서 전송
- 받는 쪽에서 역으로 하나씩 열어서 해석
Known Ports
- (IANA(국제 인터넷 주소 관리 기구) 에서 주요 서비스용으로 미리 할당해 놓은 번호)
TCP 20, 21 - FTP(파일 전송 서비스)
TCP 22 - SSH (Secure SHell)
TCP 23 - Telnet
TCP 25 - SMTP (Simple Mail Transport - 이메일 전송)
UDP 49 - TACACA (Terminal Access Controller Access Control System - 네트워크 장비에 접속하려는 사용자 인증 및 권한 부여)
- Authentication - 인증
- Authorization - 인가
- Accounting - 계정
TCP 54 / UDP 53 - DNS
UDP 67, 68 - Bootstrap Protocol, 네트워크 장비가 부팅될 때 자신의 IP 주소와 필요한 설정 정보를 서버로부터 할당받기 위한 프로토콜
TCP 80 / UDP 80 - HTTP
UDP 123 - NTP(Network Time Protocol), 네트워크에 연결된 컴퓨터들의 표준 시간과 동기화해서 사용하기 위한 프로토콜
UDP 161, 162 - SNMP(Simple Network Management Protocol), 네트워크 관리 프로토콜
TCP 443 - HTTPS
Registerd Ports (1024 ~ 49151)
- 특정 애플리케이션이나 기업이 등록해서 사용하는 포트
3306 - MySQL, MariaDB
5432 - PostgreSQL
6379 - RedisDB
27017 - MongoDB
1521 - Oracle
Dynamic/Private Ports (49152 ~ 65535)
- 클라이어트가 서버에 접속할 때 임시로 할당받는 포트
2. Network Components
네트워크 연결 부분
-
LAN(Local Area Network) - 작은 사무실이나 건물 정도의 내부 네트워크
-
MAN(Metro Area Network) - 도시 정도를 연결하고 관리하는 네트워크
-
WAN(Wide Area Network) - 멀리 떨어진 LAN을 연결해주는 네트워크
-
예전에는 LAN과 MAN, WAN 에서 사용하는 기술이 모두 달라 사용하는 프로토콜이나 전송 기술에 따라 쉽게 구분할 수 있었는데, 지금은 대부분 이더넷을 사용하기 때문에 관리 범위 기준으로 구분
-
MAN은 수~수십 Km 범위의 한 도시를 네트워크로 연결하는 개념인데, 일반적으로 도시 단위의 네트워크를 구분할 때는 통신사가 이미 갖고 있는 네트워크를 구축하면 WAN으로 보고 자체 인프라를 통해서 네트워크를 구축하면 MAN으로 구분
LAN
- 홈 네트워크용이나 사무실용 네트워크처럼 비교적 소규모의 네트워크를 의미
- 먼 거리를 통신할 필요가 없어 스위치와 같은 비교적 간단한 장비로 연결된 네트워크
- 소모 비용, 신뢰도, 구축 및 관리를 위해 다른 다양한 기술이 사용되었지만 현재는 대부분 이더넷 기반 전송 기술을 사용
WAN
- 먼 거리에 있는 네트워크를 연결하기 위해 사용
- 멀리 떨어진 LAN을 서로 연결하거나 인터넷에 접속하기 위한 네트워크
- 특별한 경우가 아니면 직접 구축할 수 없는 범위의 네트워크이므로 대부분 통신사업자로부터 회선을 임대해서 사용
네트워크 회선
인터넷 회선
- 인터넷 접속을 위해서 통신 사업자와 연결하는 회선
- 전용 회선과 선로 공유 회선
- 전용 회선이 선로 공유 회선보다 속도도 빠르고 안정적
전용 회선
- 가입자와 통신 사업작 간에 대역폭(Bandwidth - 속도)을 보장하는 서비스
- 대역폭을 보장해주는 기술에는 여러가지가 있지만 가입자와 통신 사업자 간에는 전용 케이블로 연결시켜주고, 내부에서 TDM(Time Division Multiplexing) 같은 기술로 마치 직접 연결한 것처럼 통신 품질을 보장
- 인터넷 전용 회선이 아닌 일반 전용 회선은 본사와 지사 연결에 사용
- 전용 회선 구분
저속
- 음성 전송 기술 기반
- 64kbps 단위로 구분되어 사용
- 작은 기본 단위를 묶어 회선 접속 속도를 높이는 방법
- 높은 속도가 필요하지 않을 때나 높은 신뢰성이 필요할 때 사용
- 사용 빈도는 점점 줄어들지만, 결재 승인과 같은 전문(Clear Text) 전송을 위한 VAN(Value Added Network) 연결에는 저속 회선을 사용
- 이 기술을 사용하려면 원격지 전송 기술로 변환할 수 있는 라우터가 필요
고속
- 메트로 이더넷
- 광케이블 기반의 이더넷
- 가입자와 통신 사업자 간의 접속 기숳은 이더넷을 사용하고 통신 사업자 내부에서는 이런 개별 가입자를 묶어 통신할 수 있는 다른 고성 통신 기술을 사용
VPN(Virtual Private Network)
- 물리적으로는 전용선이 아니지만, 가상으로 직접 연결한 것 같은 효과가 나도록 만들어주는 네트워크 기술
- 다양한 VPN 기술이 있고 가입자 입장에서의 기술과 통신 사업자 입장에서의 기술이 별도로 발전
통신 사업자 입장에서의 VPN
- 전용선은 거리가 늘어날 수록 비용이 증가
- 전용선은 사용 가능한 대역폭을 보장해주지만 가입자가 계약된 대역폭을 항상 100% 사용하는 것은 아니어서 비용이 클 수 있음
- 비용을 줄일 수 있게 하기 위해서 통신 사업자가 직접 가입자를 구분할 수 있는 VPN 기술을 사용해서 비용을 줄임
가입자 VPN
- 일반 인터넷망을 이용해서 직접 가상 전용 네트워크를 구성할 수 있음
- 대부분의 경우 VPN 내부에서 통신은 비용을 지불하지 않음
DWDM(Dense Wavelength Division Multiplex)

- 파장 분할 다중화 전송
- 광케이블
- 초창기 광케이블은 하나의 회선에 하나의 통신만 가능했는데 이렇게 하면 비용이 증가
📌 Multiplexing(다중화)
- 회선 공유
- FDM(주파수 분할 다중화)
- 차선을 나누는 것과 유사
- 완충 대역 발생 - 사용하지 못하는 대역
- TDM(시분할 방식)
NIC(Network Interface Card)
- LAN 카드라고 많이 부르는데 정식 명칭은 NIC
- 컴퓨터를 네트워크에 연결하기 위한 하드웨어 장치
- 서버는 여러 네트워크에 동시에 연결되어야 하거나 더 높은 대역폭이 필요한 경우 네트워크 인터페이스를 추가로 장착
직렬화(Serialization)
- 전기적 신호를 데이터 신호 형태로 또는 데이터 신호 형태를 전기적 신호로 변환해주는 역할을 수행
- 네트워크 카드 외부 케이블에서는 전기 신호 형태로 데이터가 전송되는데 이런 상호 변환 작업을 직렬화 라고 함
MAC 주소
- 네트워크 인터페이스 카드는 MAC 주소를 가지고 있음
- 받은 데이터를 읽어서 도착지 MAC 주소가 자신의 MAC 주소이면 시스템 내부에서 처리할 수 있도록 하고 아니면 폐기
Flow Control(흐름 제어)
- 패킷 기반 네트워크에서는 다양한 통신이 하나의 채널을 이용하므로 이미 통신 중인 데이터 처리 때문에 새로운 데이터를 받지 못할 수 있음
- 데이터 유실 방지를 위해서 상대방에게 통신 중지를 요청할 수 있는데 이 작업이 흐름 제어
케이블과 커넥터
- 무선을 많이 이용하는 추세이기는 하지만 신뢰도 높은 통신은 유선을 사용
- 이더넷 네트워크 표준
- 1,000BASE-T/10GBASE-T
- 1,000BASE-SX/10GBASE-SR
- 1,000BASE-LX/10GBASE-LR
- → 앞의 1000은 외부 네트워크와의 속도(1000Gbps)
- → 뒤의 10은 내부 네트워크와의 속도(10Gbps)
- → BASE는 채널
- → T가 케이블 타입
HUB
- 케이블과 동일한 1계층에서 동작하는 장비
- 거리가 멀어질수록 줄어드는 전기 신호를 재생성 해주고 여러 대의 장비를 연결할 목적으로 사용
- 단순히 들어온 신호를 모든 포트로 내보내 네트워크에 접속된 모든 단말이 경쟁하게 하므로 전체 네트워크 성능이 줄어드는 문제가 있고, 패킷이 무한 순환해 네트워크 전체를 마비시키는 루프와 같은 다양한 장애의 원인이 됨
Switch
- 허브와 동일하게 여러 장비를 연결하고 통신을 중계하는 2계층 장비
- 내부 동작 방식은 허브와 다르지만, 여러 장비를 연결하고 케이블을 한 곳으로 모아주는 역할은 유사
- 허브의 역할과 통신을 중재하는 2가지 역할을 모두 포함하므로 스위칭 허브라고도 함
- MAC 주소를 이해할 수 있어서 목적지 MAC 주소의 위치를 파악하고 목적지가 연결된 포트로만 전기 신호를 보냄
Router
- OSI 7계층 중 3계층에서 동작하면서 먼 거리로 통신할 수 있는 프로토콜로 변환하는 장비
- 원격지로 쓸데없는 패킷이 전송되지 않도록 브로드캐스트와 멀티 캐스트를 컨트롤하고 불문명한 주소로 통신을 시도할 경우 이를 버림
- 정확한 방향으로 통신하도록 최적의 경로로 패킷을 포워딩
- 일반 사용자가 라우터 장비를 접하기는 어렵지만, 라우터와 유사한 역할을 하는 L3 스위치와 공유기는 쉽게 찾아볼 수 있음
Load Balancer
- OSI 4계층 장비
- Application 계층에서 Application 프로토콜의 특징을 이해하고 동작하는 7계층 로드밸런서는 별도로 ADC(Application Delivery Controller) 라고 함
- L4 스위치라고 불리는 장비도 로드밸런서의 한 종류로 스위치처럼 여러 포트를 가지고 있으면서 로드밸런서 역할을 하는 장비
- 로드밸런서가 가장 많이 사용되는 곳은 웹 서버
- 웹 서버를 증설하고 싶을 때 로드밸런서를 웹 서버 앞에 두고, 웹 서버를 여러 대로 늘려준 후 대표 IP는 로드밸런서가 갖고 로드밸런서가 사용자의 요청을 받아서 패킷의 목적지를 변경해서 전송하는 원리를 이용해 여러 대의 웹 서버가 동시에 동작해서 서비스 성능을 높여주는 동시에 서버에 문제가 발생하더라도 빠른 시간 안에 서비스가 복구되도록 도와줌
- 로드밸런서는 IP 변환 외에도 서비스 헬스 체크 기능이나 대용량 세션 처리 기능을 수행
보안 장비
- 대부분의 네트워크 장비는 정확한 정보 전달에 초점이 맞추어져 있지만, 보안 장비는 네트워크 장비와 달리 정보를 잘 제어하고 공격을 방어하는데 초점이 맞추어져 있음
- 방어 목적과 보안 장비가 설치되는 위치에 따라 다양한 보안 장비가 사용됨
- 가장 유명한 보안 장비는 방화벽으로 OSI 7계층에서 동작해 방화벽을 통과하는 패킷의 3, 4 계층 정보를 확인하고 패킷을 정책과 비교해서 버리거나 포워딩
IP 공유기
- 2계층의 스위치, 3계층의 라우터, 4계층의 NAT 와 간단한 방화벽 기능을 한 곳에 모아놓은 장비
- 공유기 내부는 스위치 부분, 그리고 무선 부분과 라우터 부분 회로로 나눔
Modem
- 짧은 거리를 통신하는 기술과 먼 거리를 통신할 수 있는 기술이 달라서 이 기술을 변환해주는 장비
- 공유기의 LAN 포트와 WAN 포트는 모두 일반 이더넷이어서 100m 이상 먼 거리로 데이터를 보내지 못하기 때문에 먼 거리 통신이 가능한 기술로 변환해주는 모뎅미 별도로 필요
- 기가 인터넷의 경우는 FTTH 모뎀을 사용하고, 동축 케이블 인터넷은 케이블 모뎀을 사용하고, 전화선을 사용할 경우 ADSL, VDSL 모뎀을 사용
3. NetworkConnectivity
수신자의 범위에 따른 분류
- Unicast
- Multicast
- Broadcast
- Anycast
Unicast

- 출발지와 목적지가 1:1로 통신
- 출발지와 목적지가 명확히 하나로 정해져 있는 대부분의 통신은 유니캐스트 방식을 사용
Broadcast

- 동일 네트워크에 속한 모든 호스트가 목적지
- 목적지 주소가 모든으로 표기되어 있는 통신 방식으로 유니캐스트로 통신하기 전에 상대방의 정확한 위치를 알기 위해 사용
- 주소 체계에 따라 브로드캐스트를 다양하게 분류할 수 있지만, 기본 동작은 로컬 네트워크에서 모든 호스트에 패킷을 전달해야 할 때 사용
Multicast

- 1:그룹(멀티캐스트 구독 호스트) 통신
- 하나의 출발지에서 특정 목적지 다수로 데이터를 전송
- 멀티캐스트 그룹 주소를 이용해 해당 그룹에 속한 다수의 호스트로 패킷을 전송하기 위한 방식으로 IPTV 와 같은 실시간 방송을 볼 때 이 통신 방식을 이용
- 사내 방송이나 증권 시세 방송과 같이 단방향으로 다수에게 동시에 같은 내용을 전달할 때 사용
- 화상 회의에도 이용
Anycast
- 1:1 통신(목적지가 동일 그룹 내의 1개 호스트)
- 다수의 동일 그룹 중 가장 가까운 호스트에서 응답
- IPv4에서는 일부 기능 구현
- IPv6에서 모두 구현 가능
- 애니캐스트 주소가 같은 호스트들 중에서 가장 효율적으로 서비스할 수 있는 호스트와 통신하는 방식
- 이런 애니캐스트 게이트웨이의 성질을 이용해서 가장 가까운 DNS 서버를 찾을 때 사용하거나, 가장 가까운 게이트웨이를 찾는 애니캐스트 게이트웨이 기능에 사용
결론
- 최종 통신은 1:1로 unicast와 anycast가 동일하지만, 통신할 수 있는 후보자는 서로 다름
- unicast는 출발지와 목적지가 모두 한 대씩이지만, anycast 는 같은 목적지 주소를 가진 서버가 여러 대여서 통신 가능한 다수의 후보군이 있음
- 현재 주로 사용하고 있는 네트워크 주소 체계는 IPv4 기반이고, 일부 모바일 네트워크와 데이터센터 위주로 새로운 IPv6 주소 체계가 사용되고 있다.
- IPv6 에서는 브로그캐스트가 존재하지 않고
링크 로컬 멀티캐스트로 대체되어 사용됨
링크 로컬 멀티캐스트
- 같은 물리적 네트워크 안에 있는 특정 그룹의 장치들에게만 데이터를 전송하는 방식
- 링크 로컬은 라우터를 넘어가지 않는 동일한 로컬 네트워크 내로 범위를 한정
- 특징
- 범위 제한: 데이터가 라우터를 통과하지 못하기 때문에 오직 같은 스위치나 허브에 연결된 장치들끼리만 통신이 가능
- 네트워크 상의 장치들을 찾거나(Neighbor Discovery) 자동으로 설정을 주고 받을 때 주로 사용
- 브로드캐스트와 다르게 해당 데이터를 받기로 설정된 그룹 멤버들에게만 전달되어 불필요한 트래픽을 줄임
- 사용 사례
- IPv6 환경에서는 브로드캐스트가 존재하지 않기 때문에 링크 로컬 멀티캐스트가 그 역할을 대신 수행
주소 자동 설정(SLAAC - StateLess Address Autoconfiguration) : 장치가 네트워크에 접속하자마자 자신의 존재를 알리거나 중복 주소를 확인할 때 사용
- BOOTP나 DHCP가 서버에게 주소를 할당받는 방식이라면, 이
방식은 가이드를 받아서 스스로 주소를 만들어내는 방식
- → 라우터에게 네트워크 주소를 물어보고 응답을 받으면 거기에 MAC Address 를 붙여서 IPv6 주소를 생성
- IoT 장치에 이용
- IP 할당 내역이나 기업망, 엄격한 IP 관리가 필요한 곳에서 DHCPv6를 사용
인근 장치 탐색(Neighbor Discovery) : IPv4에 ARP 대신 상대방의 MAC 주소를 알아내기 위해서 멀티캐스트 메시지를 보낼 때 사용
BUM Traffic
- Broadcast - Unknown Unicast - Multicast 를 지칭
- B, U, M 은 서로 다른 종류의 트래픽이지만 네트워크에서의 동작은 유사
MAC Address
- MAC Address 는 변경할 수 없도록 하드웨어에 고정되어 출하되므로 네트워크 구성 요소마다 다른 주소를 가짐
- 모든 네트워크 장비 제조업체에서 장비가 출하될 때마다 MAC 주소를 할당하게 됨
- 매번 이 주소의 할당 여부를 확인할수 없으므로 한 제조업체에 하나 이상의 주소풀을 주고 그 풀 안에서 각 제조업체가 자체적으로 MAC 주소를 할당
- 네트워크 장비 제조업체에 주소 풀을 할당하는 것을 제조사 코드라고 하고, 이 주소는 IEEE가 관리
- 48비트 16진수 12자리로 표현
- 앞의 24비트와 뒤의 24비트로 나누어 구분하는데 제조사 코드가 MAC 주소 앞의 24비트인 OUI 값이고, 뒤의 24비트의 값인 UAA는 각 제조사에서 자체적으로 할당하여 네트워크에서 각 장비를 구분하게 함
유일하지 않은 MAC 주소
- 네트워크 장비 제조업체는 자신의 제조업체 코드 내에서 뒤의 24비트의 UAA 값을 할당하는데 실수나 의도적으로 MAC 주소가 중복될 수 있음
- MAC 주소는 동일 네트워크에서만 중복되지 않으면 동작하는데 아무런 문제가 없음
- MAC 주소는 동일 네트워크 안에서 통실할 때만 사용
- 네트워크 통신을 할 때 네트워크가 달라서 라우터의 도움을 받아야 한다면, 라우터에서 다른 네트워크로 넘겨줄 때 출발지와 도착지의 MAC 주소가 변경되므로 네트워크를 넘어가면 기존 출발지와 도착지 MAC 주소를 유지하지 않음
MAC 주소 변경
- MAC 주소는 BIA(Burned In Address) 상태로 NIC에 할당
- 일반적으로 ROM 형태로 고정되어 출하되므로 NIC에 고정된 MAC 주소를 변경하기는 어렵지만, 결국 이 MAC 주소도 메모리에 적재되어 구동되므로 여러가지 방법을 이용해서 변경된 MAC 주소로 NIC를 동작시킬 수 있음
- 보안상의 이유로 MAC 주소 변경을 막아놓은 운영체제도 있지만, 손쉽게 명령어나 설정파일 변경만으로 MAC 주소를 변경 가능
- 윈도우즈의 경우는 Driver 상세 정보에서 MAC 주소 변경을 제공하기 때문에 쉽게 변경 가능
- 리눅스는 GNU MacChanger 나 리눅스 배포판의 네트워크 설정 파일에 MAC 주소를 입력하면 주소 변경이 가능