개발/Node.js

[Node.js] 네트워크의 기본 구조

xuwon 2024. 11. 13. 12:16

네트워크의 종류


네트워크는 LAN, MAN, WAN 이렇게 3가지 종류가 있습니다.

 

LAN (Local Area Network)

근거리 통신망으로, 학교나 사무실, 가정 등 특정 구역 내에서 네트워크를 형성하는 네트워크 유형

- 비교적 작은 범위에서 운영
- 높은 전송 속도
- 네트워크 내의 자원(파일, 프린터 등)을 공유하기 위해 사용
- ex) 가정용 와이파이 네트워크, 소규모 사무실 네트워크

 

MAN (Metropolitan Area Network)

 

도시 단위의 중간 범위에서 사용되는 네트워크.
여러 개의 LAN을 연결하여 형성!

- 도시나 대학교 캠퍼스처럼 LAN보다 큰 지역에서 사용
- 특정 지역의 여러 네트워크를 연결하여 더 큰 네트워크를 형성함.
- ex) 대학교 캠퍼스 네트워크

 

WAN (Wide Area Network)

 

광역 통신망으로, 국가, 대륙 등 넓은 범위를 연결하는 네트워크.

- 다양한 LAN과 MAN을 포함하여 매우 넓은 범위를 커버함.
- 속도가 느려질 수 있지만 더 많은 사용자 수용 가능
- ex) 인터넷

 

네트워크 계층: OSI 7계층 모델


OSI 7계층 모델은 네트워크 통신을 7개의 계층으로 나눠 이해하고 관리하기 쉽게 만든 모델

 

1. 물리 계층 (Physical Layer)

데이터를 전기적 신호로 변환하여 전송, 네트워크 장비 간 물리적 연결 담당

- ex) 케이블, 리피터, 허브

 

2. 데이터 링크 계층 (Data Link Layer)

물리 계층에서 전송된 데이터를 오류 없이 전송하고 수신하는 기능.
MAC 주소 기반 통신

- ex) 스위치, 브릿지

* MAC 주소
- 네트워크 상 장치들을 식별하기 위해 각 네트워크 인터페이스에 할당된 고유 식별자
- 물리적 주소 또는 하드웨어 주소라고도 불림.

 

3. 네트워크 계층 (Network Layer)

데이터 패킷의 경로 설정 및 IP 주소를 기반으로 최적의 경로를 찾아 전달

- ex) 라우터, IP 프로토콜

 

4. 전송 계층 (Transport Layer)

데이터 전송의 신뢰성을 보장하며, 포트를 통해 데이터 송수신

- ex) TCP, UDP 프로토콜

 

* 데이터 링크 계층과의 차이점

데이터 링크 계층

- 로컬 네트워크 내에서 데이터의 물리적 전송과 오류 검출에 집중
- 로컬 네트워크 내의 데이터 전달을 마치고 네트워크 계층으로 넘겨줌.

전송 계층

- 네트워크 간 통신. 포트 번호로 애플리케이션을 식별하고 TCP/UDP 프로토콜을 통해 신뢰성 보장
- 데이터를 넘기기 전 오류 제어 기능을 수행 후 세션 계층으로 데이터 전달

 

5. 세선 계층 (Session Layer)

통신 세션을 설정, 유지, 종료하는 역할

- ex) 세션 관리, 인증

 

6. 표현 계층 (Presentation Layer)

데이터의 인코딩과 디코딩, 데이터 형식의 변환을 수행하여 서로 다른 시스템 간 데이터 호환성 제공

- ex) 암호화, 압축

 

7. 응용 계층 (Application Layer)

사용자와 직접 상호작용하는 계층.
네트워크 서비스를 사용자에게 제공

- ex) HTTP, FTP, 이메일 프로토콜

 

데이터 캡슐화


 

캡슐화

데이터가 네트워크를 통해 전송되기 위해 각 OSI 계층을 통과하며 각 계층의 헤더 정보를 추가하여 패킷 형태로 만드는 과정.

- 상위 계층 -> 하위 계층으로 내려가며 각 계층의 프로토콜이 필요한 정보 추가
- 데이터 손실과 오류 감소

 

역캡슐화

수신 측에서 데이터가 하위 계층에서 상위 계층으로 올라가면서 각 계층에서 추가한 헤더를 제거하는 과정.

- 네트워크를 통해 수신된 데이터는 하위 계층에서 상위 계층으로 올라가며 각 계층의 헤더를 제거해 원래 데이터 추출
- 데이터를 정확히 복원하여 송신된 정보와 동일한 데이터가 전달되도록 보장.