네트워크는 노드와 링크가 서로 연결되어 리소스를 공유하는 시스템이다. 네트워크의 주 목적은 데이터와 자원을 효율적으로 공유하고, 각 장치가 필요한 정보를 신속하게 주고받을 수 있도록 하는 것이다.
네트워크 토폴로지는 네트워크를 구성하는 장치들이 어떻게 연결되어 있는지, 그 구조와 형태를 나타낸 개념이다. 토폴로지는 데이터가 전송되는 경로와 장치들 간의 관계를 정의하며, 네트워크의 효율성과 안정성에 큰 영향을 미친다.
버스형 토폴로지: 버스형 토폴로지는 단일 중앙 케이블(버스)에 모든 장치가 연결된 형태다. 모든 노드는 이 버스를 통해 데이터를 주고받으며, 데이터는 버스를 따라 모든 장치에 전송된다.
특징
장점
단점
스타형 토폴로지: 스타형 토폴로지는 중앙 허브나 스위치에 모든 장치가 개별적으로 연결된 형태대. 각 노드는 허브를 통해서만 다른 장치와 통신할 수 있다.
특징:
장점
단점
링형 토폴로지: 링형 토폴로지는 모든 장치가 순환 형태의 폐쇄 회로로 연결된 형태다. 데이터는 링을 따라 순서대로 전달되며, 각 노드는 다음 노드로 데이터를 전달한다.
트리형 토폴로지: 트리형 토폴로지는 계층 구조를 갖추고 있는 토폴로지로, 스타형 토폴로지가 여러 계층으로 연결된 형태다. 루트 노드를 중심으로 하위 노드가 계층적으로 연결된다.
헤더: 패킷의 앞부분으로, 목적지와 발신지 정보, 패킷의 순서 번호, 프로토콜 타입 등의 전송에 필요한 정보를 포함한다. 이 정보는 라우터나 네트워크 장비들이 패킷이 어디로 가야 하는지를 알 수 있도록 한다.
페이로드: 실제 데이터가 포함된 부분이다. 각 패킷의 페이로드에는 전송하고자 하는 데이터의 일부가 담겨 있으며, 패킷이 모두 수신되면 이 페이로드들을 모아 원래 데이터로 재구성된다.
트레일러: 패킷의 끝부분으로, 일반적으로 오류 검출을 위한 정보가 포함되어 있다. 트레일러를 통해 데이터 전송 도중 손상된 패킷을 식별하고 오류를 수정하거나 재전송할 수 있게 한다.
데이터 분할: 먼저, 보내고자 하는 데이터를 여러 개의 패킷으로 나눈다. 각 패킷에는 헤더, 페이로드, 트레일러가 포함된다.
라우팅 및 전송: 패킷들은 다양한 경로를 통해 네트워크 상에서 전송된다. 이는 네트워크 혼잡을 줄이고 최적의 경로를 사용하기 위함이다.
재조립: 패킷이 목적지에 도착하면, 수신 장치는 패킷을 원래 데이터로 재조립한다. 헤더의 순서 정보가 이때 사용된다.
오류 검출: 트레일러의 오류 검출 정보로 데이터를 확인하여 손상되었거나 누락된 패킷을 다시 요청할 수 있다.
OSI 모델의 7개 계층
물리 계층
역할
데이터를 비트 단위로 전송하는 역할을 한다. 즉, 데이터를 전기적 신호, 빛의 신호 또는 라디오 파형으로 변환하여 네트워크 장치들 간에 물리적으로 전송한다.
구성 요소
케이블, 라우터, 스위치, 네트워크 카드 등 물리적 장치들.
예시: 이더넷 케이블, 광섬유 케이블, Wi-Fi.
데이터 링크 계층 (Data Link Layer)
역할: 물리 계층에서 전송된 데이터를 프레임 단위로 패킹하고, 이를 신뢰성 있게 전송할 수 있도록 오류를 검출하고 수정한다. 또한, 네트워크 장치들 간의 주소 지정(MAC 주소)을 처리한다.
구성 요소: MAC 주소, 스위치, 브리지.
예시: 이더넷, Wi-Fi
네트워크 계층 (Network Layer)
역할: 데이터를 패킷 단위로 전송하며, IP 주소를 사용하여 데이터를 목적지까지 전달한다. 또한, 패킷의 경로를 선택하는 라우팅 기능을 제공한다.
구성 요소: 라우터, IP 주소.
예시: IP(인터넷 프로토콜), ICMP(인터넷 제어 메시지 프로토콜), RIP(라우팅 정보 프로토콜).
전송 계층 (Transport Layer)
역할: 데이터의 종단 간 통신을 담당하며, 흐름 제어, 오류 제어, 세그먼트화 등을 처리한다. 데이터를 작은 단위로 분할하고, 수신자에게 전달하는 순서대로 재조립한다. 이 계층에서는 연결 지향적 통신(TCP)과 비연결 지향적 통신(UDP)이 사용된다.
구성 요소: 포트 번호, 세그먼트.
예시: TCP(Transmission Control Protocol), UDP(User Datagram Protocol).
세션 계층 (Session Layer)
역할: 네트워크 상에서 두 시스템 간의 세션을 설정, 유지 및 종료하는 역할을 한다. 이 계층은 세션 관리를 통해 통신 세션의 시작과 끝을 제어한다.
구성 요소: 세션 ID, 인증 토큰.
예시: RPC(Remote Procedure Call), NetBIOS.
표현 계층 (Presentation Layer)
역할: 데이터를 표현 형식에 맞게 변환한다. 예를 들어, 암호화, 압축, 인코딩 등의 기능을 처리하여 애플리케이션 계층이 데이터를 올바르게 해석할 수 있도록 한다.
구성 요소: 암호화 알고리즘, 압축 형식.
예시: JPEG, SSL/TLS, ASCII, GIF, MPEG.
응용 계층 (Application Layer)
역할: 사용자와 네트워크 간의 직접적인 상호작용을 제공한다. 사용자가 사용하는 애플리케이션이 이 계층에서 작동하며, 데이터 교환 및 통신 프로토콜이 처리된다.
구성 요소: 웹 브라우저, 이메일 클라이언트, FTP 클라이언트 등.
예시: HTTP, FTP, SMTP, POP3, DNS.