네트워크란?
Node들이라고 불리는 장치(pc,server,router, switch etc)들이 link(간선)을 통해 message를 주고받는 집합체
Link의 형태
네트워크 Topology
네트워크 토폴로지(Network Topology)는 네트워크 장치들이 서로 연결된 구조를 나타내는 방식입니다. 각 토폴로지는 성능, 비용, 안정성에서 차이를 보입니다.
node(장치)와 link(링크) 배치가 어떻게 되는가?
더보기
1. 버스 토폴로지 (Bus Topology)
- 구조: 모든 장치가 하나의 중앙 케이블(버스)에 연결된 형태
- 특징: 설치와 구성 비용이 낮으며, 장치가 추가되면 쉽게 연결할 수 있음
- 단점: 중앙 케이블에 장애가 발생하면 전체 네트워크가 다운될 수 있음
- 사용 예: 소규모 네트워크, 구형 이더넷
2. 스타 토폴로지 (Star Topology)
- 구조: 중앙 허브나 스위치에 모든 장치가 개별적으로 연결된 형태
- 특징: 중앙 장치를 통해 통신이 이루어지며, 장치 추가가 쉬움
- 단점: 중앙 장치에 문제가 생기면 전체 네트워크가 영향을 받음
- 사용 예: 사무실, 소규모 LAN
3. 링 토폴로지 (Ring Topology)
- 구조: 모든 장치가 원형으로 연결된 형태로, 데이터가 한 방향으로 순환하며 전송됨
- 특징: 일정한 데이터 전송 속도를 제공하며, 모든 장치가 순서대로 데이터에 접근 가능
- 단점: 하나의 장치에 문제가 생기면 네트워크 전체에 영향을 줄 수 있음
- 사용 예: MAN에서 일부 사용
4. 메시 토폴로지 (Mesh Topology)
- 구조: 모든 장치가 다른 장치들과 직접적으로 연결된 형태
- 특징: 높은 신뢰성 제공 (한 장치의 장애가 전체 네트워크에 영향을 주지 않음)
- 단점: 많은 케이블과 포트가 필요하여 구축 비용이 높음
- 사용 예: 군사, 항공, 의료 네트워크와 같은 고신뢰성 요구 환경
5. 트리 토폴로지 (Tree Topology)
- 구조: 계층적인 구조로, 상위 장치에 하위 장치들이 연결된 형태 (스타 토폴로지와 버스 토폴로지의 결합)
- 특징: 대규모 네트워크에서 관리가 용이하고, 데이터 전송 효율이 높음
- 단점: 특정 계층에 문제가 생기면 해당 부분의 네트워크가 마비됨
- 사용 예: 대규모 기업 네트워크, 통신사 네트워크
6. 하이브리드 토폴로지 (Hybrid Topology)
- 구조: 둘 이상의 토폴로지 방식을 결합한 형태
- 특징: 특정 목적에 맞게 다양한 장점 활용 가능
- 단점: 복잡성과 구축 비용이 높음
- 사용 예: 대형 네트워크, 복합적인 연결 구조를 가진 기업
네트워크 분류
크기, 소유권, 구조에 의해서 분류
- LAN (Local Area Network)
- 건물 내 또는 가까운 거리에서 여러 기기를 연결하는 네트워크로, 빠르고 안정적인 데이터 전송이 가능합니다.
- 범위: 10~1,000미터 (예: 사무실, 학교 네트워크)
- MAN (Metropolitan Area Network)
- 도시 규모의 네트워크로, 여러 LAN을 연결하여 하나의 큰 네트워크를 형성합니다.
- 범위: 수십에서 수백 킬로미터 (예: 대학교 캠퍼스, 시티 와이파이)
- WAN (Wide Area Network)
- 국가나 대륙 간에 걸쳐 넓은 지역을 연결하는 네트워크로, 여러 LAN과 MAN을 연결합니다. 인터넷이 대표적인 WAN입니다.
- 범위: 수백에서 수천 킬로미터 (예: 인터넷, 글로벌 기업 네트워크)
네트워크 계층구조( Network Layer Architecture)
데이터를 송수신하기 위해 필요한 일련의 단계나 계층을 의미하며, 이 과정에서 데이터는 각 계층을 거쳐 가공, 전송, 수신됩니다. 대표적인 네트워크 계층 모델로 OSI 7 계층 모델과 TCP/IP 4 계층 모델이 있습니다
TCP/IP 모델 ==> 인터넷 모델
1. Physical
- 장치 연결부분의 물리적 특성.
- 제 장치들을 연결하기 위해 필요한 전기적, 물리적 세부 사항들을 정의하는 계층이다.
- 통신 채널을 통해 전송되는 사용자 장치의 디지털 데이터를 이에 상응하는 신호들로 변환한다.
2. Data link
- 프레임화, 송수신 주소 명시, 흐름제어 등
- 물리 계층을 통해 송수신된 데이터의 오류를 검출하고 수정하는 역할을 합니다.
- 시스템 간에 오류 없는 데이터 전송을 위해 상위 계층에서 받은 패킷을 프레임으로 변환하여 물리계층에 전송한다.
- 헤더의 끝에는 물리 주소 정보가 들어있고, 트레일러에는 오류를 검출하는 비트를 포함한다.
2.1 에러제어
비트에 대한 에러 검출과 복구
2.2 흐름 제어
수신 측과 송신 측의 데이터처리 속도차이 해결
2.3 접근제어
여러장치들이 동일한 링크를 공유할 떄 충돌이 발생하지 않도록 조절
ex) 이더넷
3. Network
- 데이터를 목적지까지 전송하기 위해 경로를 설정하고, 패킷을 라우팅합니다.
- IP 주소를 사용하여 데이터를 전달하며, 라우터가 이 계층에서 동작합니다.
- 라우터?
- 라우터(Router)는 컴퓨터 네트워크에서 데이터 패킷을 서로 다른 네트워크 간에 전달하는 역할을 하는 장치입니다. 주로 인터넷과 같은 광범위한 네트워크에서 사용되며, 네트워크 간의 경로를 설정하고 데이터 흐름을 관리하는 기능을 수행합니다.
4. Transport
- 데이터 전송의 신뢰성을 보장하며, 오류 검출 및 재전송 기능을 제공합니다.
- TCP와 UDP 프로토콜이 이 계층에서 사용되며, 데이터를 세그먼트로 분할합니다.
5. Application
- 사용자와 직접 상호 작용하는 계층으로, 애플리케이션이 네트워크에 접근할 수 있도록 지원합니다.
- HTTP, FTP, SMTP 등의 프로토콜이 이 계층에서 동작합니다.
프로토콜이란
네트워크에서 프로토콜(Protocol)은 데이터를 안전하고 정확하게 주고받기 위한 규칙과 절차를 정의한 약속입니다. 컴퓨터, 서버, 라우터와 같은 네트워크 장비들이 서로 다른 네트워크 환경에서 데이터를 교환할 때 통신할 수 있도록 하는 일종의 언어와도 같습니다.
주요 프로토콜의 역할
프로토콜은 데이터 전송의 다양한 측면을 관리하는데, 예를 들어 다음과 같은 기능을 수행합니다:
- 데이터 전송 규칙: 데이터를 패킷 단위로 나누고, 이를 목적지로 안전하게 전달하는 규칙을 정의합니다.
- 에러 검출과 수정: 데이터 전송 중 발생할 수 있는 오류를 검출하고, 이를 수정하는 방법을 포함합니다.
- 연결 설정과 해제: 데이터를 송수신할 장치 간 연결을 설정하고, 데이터를 모두 주고받은 후 안전하게 연결을 해제하는 절차를 정의합니다.
- 데이터 흐름 제어: 데이터가 과도하게 전송되지 않도록 제어하는 기능도 포함됩니다.
네트워크 프로토콜의 종류
1. 인터넷 프로토콜 (IP)
- IP (Internet Protocol): 데이터를 패킷(Packet)이라는 작은 단위로 나누어 전달하며, 목적지 주소에 따라 데이터를 전송하는 역할을 합니다. IP는 인터넷에서 데이터를 목적지까지 전달하는 기본적인 프로토콜로, IP 주소를 통해 네트워크 장치를 식별합니다.
- IP 버전: 주로 IPv4와 IPv6 두 가지가 사용되며, IPv6는 IP 주소 부족 문제를 해결하기 위해 개발되었습니다.
2. 전송 계층 프로토콜
- TCP (Transmission Control Protocol): 신뢰성 있는 데이터 전송을 위해 개발된 프로토콜로, 데이터가 순서대로 도착하고 손실 없이 전송되도록 보장합니다. 주로 웹 페이지 전송이나 파일 다운로드에 사용됩니다.
- UDP (User Datagram Protocol): TCP보다 간단한 프로토콜로, 연결 설정 없이 빠르게 데이터를 전송합니다. 실시간 스트리밍, 온라인 게임 등 빠른 데이터 전송이 중요한 상황에서 사용됩니다. 다만, 신뢰성은 보장하지 않습니다.
3. 응용 계층 프로토콜
- HTTP (Hypertext Transfer Protocol): 웹 브라우저와 웹 서버 간에 텍스트, 이미지, 동영상 등의 데이터를 주고받기 위한 프로토콜입니다. 웹사이트 접근과 같은 인터넷 활동의 기본을 담당합니다.
- HTTPS (Hypertext Transfer Protocol Secure): HTTP의 보안 버전으로, 데이터가 암호화되어 전송됩니다. 민감한 정보를 보호하기 위해 사용됩니다.
- FTP (File Transfer Protocol): 서버와 클라이언트 간 파일을 전송하는 프로토콜입니다. 파일 업로드 및 다운로드에 사용되며, 종종 서버에 파일을 관리할 때 쓰입니다.
- SMTP (Simple Mail Transfer Protocol): 이메일을 송신할 때 사용하는 프로토콜로, 메일 서버 간 메일 전송을 담당합니다.
- POP3 (Post Office Protocol 3)와 IMAP (Internet Message Access Protocol): 이메일을 서버에서 가져와 읽을 때 사용하는 프로토콜입니다. POP3는 이메일을 다운로드하는 방식이고, IMAP은 서버에서 이메일을 관리할 수 있도록 해 줍니다.
4. 네트워크 관리 프로토콜
- SNMP (Simple Network Management Protocol): 네트워크 장치의 상태를 모니터링하고 관리하는 데 사용됩니다. 네트워크 장애를 감지하거나 장치 성능을 추적하는 데 유용합니다.
- ICMP (Internet Control Message Protocol): 네트워크 문제를 진단하고 상태를 점검하는 프로토콜로, 흔히 '핑(ping)' 명령어에서 사용됩니다. 네트워크가 연결되어 있는지 확인할 때 주로 사용됩니다.
5. 데이터 링크 계층 프로토콜
- Ethernet: 로컬 네트워크에서 데이터가 전송되는 방식을 정의하는 프로토콜입니다. 대부분의 유선 네트워크에서 사용되며, 이더넷 프레임 단위로 데이터를 주고받습니다.
- PPP (Point-to-Point Protocol): 두 네트워크 장치 간 직접적인 연결을 설정하는 데 사용되며, 주로 전화선이나 전용선에서 데이터 전송에 사용됩니다.
6. 보안 프로토콜
- SSL (Secure Sockets Layer)와 TLS (Transport Layer Security): 데이터 암호화를 통해 보안을 제공하는 프로토콜로, HTTPS에서 사용되어 안전한 데이터 전송을 보장합니다.
- IPSec (Internet Protocol Security): 네트워크 계층에서 데이터가 전송될 때 보안을 제공하는 프로토콜로, VPN과 같은 네트워크에서 안전한 통신을 위해 사용됩니다.