네트워크 구조는 시스템 간 데이터 통신이 이루어지는 방식과 계층을 정의하는 개념이다.
네트워크의 규모, 목적, 통신 방식에 따라 다양한 형태로 구성된다.
네트워크 구조
네트워크 구조는 물리적 구성(Topology)와 논리적 계층 모델로 나눌 수 있다.
1. 물리적 구성
- 버스형 : 하나의 공유된 선(Bus)을 통해 모든 노드가 연결된 구조로 하나의 케이블에만 의존하므로 충돌과 단절에 취약해 현재는 잘 사용되지 않는다. (초기 LAN 구조에서 사용)
- 스타형 : 중앙 장치(허브, 스위치)를 통해 모든 장치가 연결된 구조로 장애 발생 시 특정 노드만 영향을 받으므로 네트워크 확장과 관리가 쉬워 현재 가장 많이 사용되는 방식이다. (이더넷 네트워크)
- 링형 : 모든 장치가 순환 형태로 연결된 구조로 장애 발생 시 전체 네트워크가 마비될 수 있다.
- 메시형(Mesh) : 모든 노드가 서로 연결되있는 구조로 장애에 강하고 안정적이지만 구축 비용이 높다. 고가용성이 필요한 군사, 금융, 블록체인등의 환경에서 사용한다.
- 하이브리드형 : 여러 개의 네트워크 토폴로지를 결합한 구조로 대규모 네트워크(기업, 데이터 센터)에서 활용한다.
2. 논리적 계층 모델
OSI 7 계층 모델
국제 표준기구 (ISO)에서 정의한 네트워크 모델로, 각 계층이 특정한 역할을 담당한다.

TCP/IP 4계층
TCP/IP 모델은 OSI 7계층을 단순화한 모델이며 실제 인터넷에서 사용된다.
- 네트워크 인터페이스 계층 (Link) - OSI 1,2 계층
- 인터넷 계층(Network) - OSI 3 계층
- 전송 계층(Transport) - OSI 4 계층
- 응용 계층(Application) - OSI 5~7 계층
1. 네트워크 인터페이스 계층 (Network Interface Layer)
OSI의 물리 계층 + 데이터 링크 계층으로 실제 데이터를 전기 신호, 무선 신호로 변환하여 전달한다.
주요 역할
- 물리적 데이터 전송
- 데이터를 비트 형태로 변환하여 전송
- LAN(이더넷 , wifi) 또는 WAN(광섬유, DSL, 5G)등의 물리적 매체 사용
- 프레임 생성 및 처리
- 상위 계층에서 받은 IP 패킷을 프레임으로 변환
- 송신시 프레임을 물리적 매체를 통해 전송, 수신 시 수신된 프레임을 분석하여 상위 계층으로 전달
- MAC 주소를 통한 장치 식별
- IP 주소 대신 MAC 주소(물리적 주소) 기반으로 통신
- 스위치, 허브 등의 장치가 프레임을 목적지까지 전달하는데 사용
- 에러 감지 및 흐름 제어
- 패리티 비트 , 체크섬 등을 이용하여 데이터 전송 중 오류 발생 여부 확인
- 네트워크 혼잡을 피하기 위해 흐름 제어 수행
네트워크 인터페이스 계층에서 사용하는 프로토콜

2. 인터넷 계층 (Internet Layer)
패킷을 목적지 까지 전송하는 역할을 한다.
주요 역할
- 패킷 전달
- 전송계층에서 만들어진 세그먼트를 IP 헤더 (IP주소, 라우팅 정보 등)을 추가하여 IP 패킷으로 캡슐화함
- 송신지에서 목적지까지 데이터 패킷을 올바른 경로로 전송
- 라우팅 및 주소 지정을 통해 목적지에 도달
- IP 주소 기반 통신
- 장치 간 데이터 전송을 위해 IP주소 사용
- MAC 주소와는 다르게 네트워크 간 통신을 담당
- 라우팅(Routing)
- 라우터를 사용하여 최적의 경로를 찾아 패킷을 전달
- 경로 설정을 위한 라우팅 프로토콜(RIP,OSPF,BGP)등 사용
- 단편화 (Fragmentation) 및 재조립 (Reassembly)
- 네트워크 환경에 맞게 큰 데이터 패킷을 작은 조각으로 나눠 전송
- 수신 측에서 다시 조립하여 원래 데이터로 복원
- ICMP를 통한 오류 감지 및 네트워크 진단
- 네트워크 상태를 점검하고 오류를 감지하기 위해 ICMP(Internet Control Message Protocol) 사용

3. 전송 계층 (Transport Layer)
프로세스 간 데이터 전송을 담당한다.
주요 기능
- 프로세스 간 통신 제어 : 네트워크 계층은 장치 간 통신을 처리하지만 전송 계층은 장치 내 특정 프로세스 간 통신을 담당
- 데이터 흐름 제어 : 송신 속도를 조절하여 네트워크 혼잡과 수신자의 과부화를 방지
- 에러 검출 및 복구 : 데이터 손실이나 손상 여부를 확인하고 필요시 재전송 요청
- 세그먼트 분할 및 재조립 : 상위 계층에서 받은 데이터를 세그먼트 단위로 나누어 전송하고 수신 측에서 다시 조립. 각 세그먼트는 헤더를 포함하여 송신됨
- 다중화, 역다중화 : 여러 애플리케이션이 동시에 네트워크를 사용할 수 있도록 다중 연결 관리
주요 프로토콜

4. 응용 계층 (Application Layer)
사용자가 네트워크 서비스를 직접 이용할 수 있도록 하는 계층이다.
주요 기능
- 사용자와 네트워크 간 인터페이스 제공
- 애플리케이션(웹 브라우저 , 이메일 클라이언트 , 메신저 등)이 네트워크 기능을 활용할 수 있도록 지원
- 데이터 표현 및 변환
- 텍스트 인코딩 (UTF-8, ASCII), 이미지 압축(JPEG, PNG) , 암호화 (SSL/TLS) 등
- 세션 관리 및 연결 유지
- 연결 유지 및 동기화 (FTP , SSH)
- 네트워크 서비스 제공
- 웹 브라우징(HTTP) , 파일 전송 (FTP) , 이메일 (SMTP , IMAP , POP3), 원격 접속 등 다양한 서비스 제공
주요 프로토콜

데이터 흐름 정리
- 사용자가 응용 계층 서비스 ( 웹 브라우저 , 이메일 클라이언트 ) 실행
- 응용 계층에서 HTTP / SMTP 등 프로토콜을 사용하여 데이터 생성
- 전송 계층에서 세그먼트(Segment)로 변환 (TCP/UDP)
- 인터넷 계층에서 패킷(Packet)으로 변환 (IP Routing)
- 네트워크 인터페이스 계층에서 프레임 (Frame)으로 변환 후 전송 (MAC)
- 목적지 장치에서 역순으로 데이터를 재조립하여 사용자에게 제공
