OSI 7 계층은 네트워크 통신을 계층별로 나눈 모델로, 각 계층은 특정 기능을 담당한다.
1. Application Layer - 사용자와 직접 상호작용하는 계층 (HTTP, SMTP ).
2. Transport Layer - 데이터 분할과 흐름 제어, 신뢰성 있는 전송(TCP), 비신뢰성 전송(UDP)을 담당한다.
3. Network Layer - 패킷을 목적지까지 전달하며, 라우팅을 수행 (IP 등).
4. Data Link Layer - 물리적 주소(MAC) 기반 통신, 오류 검출 및 일부 수정 수행 (Ethernet 등).
데이터 링크 계층은 OSI 7 계층 중 두 번째 계층으로, 물리적으로 연결된 노드 간 신뢰성 있는 데이터 전송을 담당한다.
1. 인접한 노드 간 데이터 전송 및 흐름 제어 수행.
2. 물리 계층에서 발생한 오류 감지는 가능하지만, 수정은 보통 상위 계층에서 수행.
3. Ethernet이 대표적인 프로토콜이며, 스위치가 동작하는 계층.
4. 데이터를 프레임 단위로 전송하며, 물리 계층과 협력하여 신호로 변환.
이더넷 프레임은 데이터 링크 계층에서 사용되는 프로토콜로, 네트워크에서 데이터 전송을 위해 일정한 구조를 갖는다. 주요 필드는 Preamble, Destination Address, Source Address, Type/Length, Data, FCS 등으로 구성된다. Preamble은 프레임의 시작과 동기화를 담당하며, FCS(Frame Check Sequence)는 오류 검출을 위한 CRC 값을 포함한다. Destination Address와 Source Address는 각각 목적지와 출발지의 MAC 주소를 나타낸다. Type 필드는 상위 프로토콜(예: IPv4, IPv6,ARP 등)을 식별하는 역할을 한다.
스위치는 네트워크에서 MAC 주소를 기반으로 프레임을 전달하는 장비이다. MAC 주소 테이블을 유지하며, 목적지 주소가 테이블에 없으면 새롭게 저장하는 과정을 Learning이라고 한다. 목적지 주소가 테이블에 없으면 Flooding을 수행하여 모든 포트로 프레임을 전달한다. Broadcasting은 특정 목적지 없이 네트워크의 모든 장치로 데이터를 전송하는 방식이며, 목적지 주소를 모를 때 수행하는 동작과 다르다.
ARP는 IP 주소를 MAC 주소로 변환하는 프로토콜이다. 송신 장치는 먼저 ARP Cache Table을 확인하여 목적지 IP에 대한 MAC 주소가 있는지 찾는다. 주소가 없으면 네트워크에 ARP Request(브로드캐스트)를 보내고, 대상 장치는 ARP Reply(유니캐스트)로 응답한다. 받은 MAC 주소는 ARP Cache Table에 저장되며, 이후 해당 MAC 주소를 이용해 패킷을 전송한다.
IPv4 헤더는 Version, IHL, Type of Service, Total Length, Identification, Flags, Fragment Offset, TTL, Protocol, Header Checksum, Source IP, Destination IP 등으로 구성된다. Version 필드는 IPv4(4) 또는 IPv6(6)을 나타낸다. Total Length는 전체 패킷 크기를, Time to Live(TTL)은 패킷의 생존 시간을 의미하며, 홉을 지날 때마다 감소하여 0이 되면 폐기된다. Source IP Address는 출발지 IP 주소를 그대로 포함하며, 암호화되지 않는다.
IPv4 주소는 A, B, C, D, E 클래스로 나뉜다.
ICMP는 네트워크 진단과 오류 보고를 위해 사용된다. Type 8은 Echo Request, Type 0은 Echo Reply로 핑(Ping) 요청 및 응답을 수행한다. Type 9는 Router Advertisement, Type 3은 Destination Unreachable로 목적지에 도달할 수 없음을 의미한다. Type 11은 Time Exceeded로 TTL이 초가되었을 때 사용된다.
동적 라우팅은 네트워크 상태 변화에 따라 자동으로 라우팅 테이블을 업데이트하는 방식이다. Distance Vector 라우팅(RIP 등)은 Bellman-Ford 알고리즘을 사용하며, 주기적으로 전체 라우팅 정보를 업데이트한다. Link State 라우팅(OSPF 등)은 Dijkstra's 알고리즘을 기반으로 하며, 이벤트 기반으로 변경 사항만 반영한다. Distance Vector 방식은 이웃 라우터와 정보를 공유하는 반면, Link State 방식은 네트워크 전체의 정보를 활용해 최적 경로를 계산한다.
BGP FSM은 BGP 피어 간의 연결을 설정하고 유지하기 위한 상태 머신이다. 주요 상태로는 Idle, Connect, Active, OpenSent, OpenConfirm, Established가 있다. OpenSent 상태는 OPEN 메시지를 보낸 후 응답을 기다리는 상태이다. OpenConfirm 상태는 OPEN 메시지를 받은 후 Keepalive 메시지를 기다리는 상태이다. 최종적으로 Established 상태가 되면 피어 간 라우팅 정보가 교환된다.
Transport 계층은 호스트 간 신뢰성 있는 데이터 전송을 담당하며, TCP와 UDP가 주요 프로토콜이다. End-to-End 통신을 관리하고, 포트 번호를 사용하여 프로세스 간 데이터 전송을 수행한다. 소켓(socket)을 통해 애플리케이션 간 통신이 이루어진다. 그러나 사용자 인터페이스(UI)를 제공하지 않으며, 이는 애플리케이션 계층의 역할이다.
NAT는 사설 IP를 공인 IP로 변환하여 인터넷에 연결할 수 있도록 하는 기술이다. 이를 통해 공인 IP 주소를 절약하고, 내부 네트워크 구조를 변경하지 않고도 외부 통신이 가능하다. 하지만 공인 IP 할당이 완전히 불필요한 것은 아니며, 최소한의 공인 IP는 필요하다. 또한, NAT를 사용하면 내부 IP 주소가 직접 노출되지 않아 보안성이 향상된다.
Wi-Fi는 IEEE 802.11 표준을 기반으로 하는 무선 네트워크 기술이다.
1. 802.11ac, 802.11g, 802.11n → Wi-Fi 규격에 해당하며, 각각 5GHz(AC), 2.4Hz(G), 듀얼밴드(N) 지원.
2. 802.11v → Wi-Fi 성능을 최적화하는 기능(네트워크 관리 관련)으로, Wi-Fi 규격이 아닌 관리 프레임워크.