[클라우드] 네트워크

HyeonSeok·2023년 2월 28일
0

Ops Engineering

목록 보기
5/13

네트워크

리소스를 공유하거나 파일을 교환하거나 전자통신을 허용하기 위해 연결된 두 대 이상의 컴퓨터로 구성된다.

근거리 통신망(LAN)

LAN(Local Area Network)는 비교적 작은 영역에 제한된 네트워크이다. 일반적으로 실험실, 학교 또는 건물과 같은 지리적 영역에 제한된다.
이때 통신하는 장치들을 각각 노드라고 부르며, 노드라는 개념에는 개인용 컴퓨터, 서버 등을 모두 포함한다.

광역 네트워크(WAN)

WAN(Wide Area Network)는 서울, 대한민국 또는 전 세계와 같은 더 넓은 지역의 네트워크를 연결한다. 이때 전용 대양 횡단 케이블 또는 위성 업링크를 사용하여 비슷한 유형의 글로벌 네트워크를 연결하게 된다.

도시권 통신망(MAN)

LAN과 WAN의 중간격인 크기를 가진 네트워크. 도시권 정도의 규모에서 사용되는 네트워크이다.


네트워크 계층구조와 프로토콜

프로토콜은 네트워크에 있는 컴퓨터 간의 통신을 제어하는 일련의 규칙이다. 두 대의 컴퓨터가 서로 대화하려면 동일한 언어를 사용해야한다. 하지만 컴퓨터의 운영체제(OS), 네트워크 카드(NIC), 응용 프로그램에 따라 이런 것들이 달라질 수 있다. 때문에 서로간의 통신을 위해 다양한 유형의 네트워크 프로토콜 및 표준이 필요하다.

OSI 참조 모델

Open Systems Interconnection, 일명 OSI 참조모델은 총 7개의 계층으로 나뉜다.

LayerNameProtocal예시
7ApplicationHTTP, FTP, SMTP, DNS웹 서버(Apache, Nginx, IIS)
6Presentation
5Session
4TransportTCP,UDPL4 스위치 (port를 핸들링, 로드밸런서)
3NetworkIPICMP
2DataLinkEthernetL2 스위치
1PhysicalEthernet케이블

ICMP : ping 테스트에 사용되는 프로토콜
SMTP : Simple Mail Transfer Protocol 메일 전송 프로토콜, 메일 받을때는 POP3 프로토콜
로드밸런서 : 부하를 분산시키는 장치

(1) Physical Layer

데이터를 물리 매체상으로 전송하는 역할을 담당하는 계층이다.
사용자 장비와 네트워크 종단장비 사이의 물리적, 전기적인 인터페이스 규정에 초점을 두고 있으며, 단순히 데이터 전달의 역할을 한다.

주요 역할

  1. 데이터 전달
  • 전송단위 : bit

물리계층의 있는 그대로의 전송설비를 신뢰할 수 있는 링크로 변환한다.
네트워크 계층에서 정보를 받아 주소와 제어정보를 헤더와 테일에 추가한다.
두 가지의 주요 역할을 한다.

  1. 주소할당 : 물리계층으로부터 받은 신호들이 네트워크 상의 장치에 올바르게 안착할 수 있게 한다.
  2. 오류 감지 : 신호가 전달되는 동안 오류가 포함되는지를 감지한다. 오류가 감지되면 데이터 링크 계층은 해당 데이터를 폐기한다.
  • 전송단위 : Frame
  • Mac 주소를 사용한다.

Mac 주소 : (Media Access Control Address)는 데이터 링크 계층에서 통신을 위한 네트워크 인터페이스에 할당된 고유 식별자이다. 모든 노드장치는 제품이 생산되는 시점부터 Mac주소를 할당받는다.

(3) Network Layer

세 가지 주요역할

  1. 네트워크 설정 : 송신측에서 수신측까지 데이터를 안전하게 전달하기 위해서 논리적 링크를 설정
  2. 데이터 변환 : 상위계층 데이터를 작은크기의 패킷으로 분할하여 전송하는 역할
  3. 라우팅(Routing) : 데이터를 목적지까지 가장 안전하고 빠르게 전달
  • 전송단위 : 패킷(Packet)
  • IP 주소를 사용한다.

(4) Transport Layer

로드밸런서, 부하분산, L4 스위치가 존재하는 계층, AWS의 ELB

  • 전송단위 : Segment(세그먼트)
  • Port 주소를 사용한다. (TCP, UDP 포트가 다름)

(5) Session Layer

세션 계층은 네트워크 대화 제어기로 통신 시스템간에 상호대화를 설정하고 유지하고, 동기화한다.
실제 이용자의 응용프로그램(SSH) 사이에서 세션이라 불리는 연결을 확립하고 유지하며 동기화하는 기능을 제공한다.

세션
ssh client(console) -- 세션연결 --> ssh Server
http client(Browser) -- 세션연결 --> httpd Server
  • 전송단위 : message

(6) Presentation Layer

송 수신자가 공통으로 이해할 수 있도록 정보의 데이터 표현방식을 바꾸는 기능을 담당.
데이터 전송시에 암호화와 압축을 수행하여 세션계층으로 내려보낸다.

  • 전송단위 : message

(7) Application Layer

최상위 계층으로 사용자가 네트워크에 접속하는 것을 가능하게 한다. 전자우편, 원격파일 접속과 전송 등 사용자 인터페이스를 제공한다.

  • 전송단위 : message

개인적 생각 : 5,6,7계층은 아무래도 세션과 프레젠테이션 계층의 역할들이 우리가 흔히 앱 이라고 부르는 응용프로그램의 기능으로 존재하는 부분들이기 때문에 TCP/IP에서 애플리케이션 계층으로 묶어서 생각하는 것 같다.

TCP/IP 계층

[출처] https://fiberbit.com.tw/tcpip-model-vs-osi-model/

실제 실무에서는 주로 TCP/IP 모델을 주로 사용하며, OSI 모델의 설명하기 힘든 Presentation계층과 Session 계층을 Application 계층과 합쳐서 본다.

profile
즐겁게 사는 개발자가 됩시다

0개의 댓글