[그림으로 보는 네트워크] 1회

devAnderson·2022년 9월 13일
0

스터디

목록 보기
2/2

네트워크의 개요

1. 프로토콜

컴퓨터 통신의 과정에서 통신할 때 사용하는 네트워크 아키텍쳐. 마치 언어에서 서로 소통하기 위해 문법이 필요하듯, 네트워크에서는 서로 통신할 때 데이터 형식과 규정을 정해주는데 이것을 프로토콜이라 한다.

OSI 7계층을 기준으로
응용계층~세션계층(SNMP,FTP,SMTP,HTTP,DNS 등), 전송계층(TCP), 네트워크계층(IP), 데이터링크계층(이더넷), 물리계층 등으로 나누어 구분할 수 있다.


2. 사설 네트워크 vs 공용 네트워크

사설 네트워크는 기업의 회사 내 네트워크나 가정 네트워크와 같이 접속할 수 있는 장비를 제한하는 네트워크이고, 공용 네트워크는 공인된 IP를 이용한 네트워크를 사용하여 전 세계와 함께 통신한다.

해당 공용 네트워크는 ISP에서 부여해준다. ISP를 기준으로 사설 IP 로 분리된다. 이 사설 IP 주소는 NAT를 통해 공용 네트워크로 연결되게 된다.


3. LAN vs WAN

LAN : 로컬 영역 네트워크라 불리며, 근거리를 범위로 하여 해당 기기들끼리 연결하는 네트워크이다.
WAN : 광역 통신망이라 볼리며 LAN을 연결하는 역할을 한다.


4. 서버와 클라우드

서버는 클라이언트에게 데이터를 제공해주는 프로그램 혹은 장치를 뜻한다. 서버를 운영하는 방식은 크게 두개로 나뉜다

1) 온프레미스

회사 내의 서버 운영실을 상상하면 좋다. 해당 내에 있는 서버 관리 컴퓨터들(랙) 들을 스위치와 라우터를 이용해서 접근하며 사용하는 것을 뜻한다

2) 클라우드 서비스

서버를 직접 운용하지 않고 인터넷을 통해서 해당 서버의 기능을 대여하는 방식을 뜻한다. (AWS를 상상하면 좋다)

IaaS : 인프라형 서비스. 하드웨어와 관련된 서비스를 주로 제공한다. 즉, CPU, GPU 등과 같은 하드웨어 기능들을 대여해서 그 위에 필요한 기능을 설치해 사용하는 방식이다.

Paas : 플랫폼형 서비스. 운영체제와 미들웨어까지 제공해주는 서비스이다. 이 위에 어플리케이션을 탑재하여 사용하는 방식이다

SaaS : 구글 드라이브와 같은 온라인 스토리지처럼, 해당 어플리케이션까지 모두 탑재되어 올인원처럼 기능을 제공하는 서비스를 뜻한다.


5. OSI 7계층

a. 물리계층

데이터를 전기 신호로 전달하는 계층. 리피터와 허브라는 기기를 이용한다.
데이터링크계층으로 받은 데이터를 전기 신호로 전환하여 전달하는 역할을 한다.
(즉, 해당 전기 신호를 전달받은 대상은 이 전기신호를 0과 1로 전환하여 해석하게 된다)

허브는 연결되어 있는 컴퓨터들끼리 서로 데이터를 공유할 수 있도록 중계하는 역할을 한다. 한 네트워크의 대역폭을 연결된 컴퓨터들끼리 분할해서 사용하는 기능을 제공한다. (즉, 연결되어 있는 모든 컴퓨터에 대해서 동시에 데이터를 전송하게 되고, 한 네트워크의 대역폭을 공유해서 사용하기 때문에 연결된 컴퓨터가 많아질 수록 속도가 느려진다)

b. 데이터링크 계층

한 네트워크 안에서 기기간의 데이터 전송과 물리 주소를 결정한다. 스위치라는 기기를 사용한다. 이더넷 헤더가 붙거나, 역캡슐화때 떼어지는 장소이다.

해당 계층은 2개의 계층으로 나뉜다

LLC : 논리적 링크 제어이다.

MAC : 물리적으로 매체의 연결 방식을 제어하고 1계층 물리계층과 연결하는 역할.

이더넷 헤더에는 목적지의 MAC 주소, 출발지 MAC주소 그리고 타입이 붙게 된다.

타입코드는 예를 들어 IPv4 라면 0x0800를 사용하는 것과 같다.

MAC 주소란, 예를 들어, 각 기기가 스위치로 연결되어있다고 할 떄, 어떤 컴퓨터에게 데이터를 전송해야 하는지 구분해야 한다. 물리적인 카드에 기록된 하드웨어의 주소인 MAC 주소를 이용해 스위치 내부에 존재하는 "MAC 주소 테이블"로 구분하여 어떤 기기에 데이터를 전송하는 지를 구분한다.

참고로, 스위치는 데이터를 전기 신호로 전달을 받았을 때 전달받은 데이터의 포트를 제외한 다른 모든 연결된 포트에게 전기신호를 전송하면서 MAC주소 테이블에 기록하게 되는데 이 과정을 "플러딩" 이라고 한다

플러딩을 통해 전달받은 전기 신호가 자신의 MAC주소와 다르다면 해당 기기는 그 전기신호로 되어있는 데이터를 전달받은 후 파기한다. 이 과정을 "필터링" 이라고 한다.

c. 네트워크 계층

네트워크들끼리의 데이터를 전송하는 기능을 담당한다. IP 주소와 관련이 있다.
라우터라는 장치가 한 로컬 네트워크가 다른 로컬 네트워크끼리 연결되는 과정을 진행한다. IP 헤더가 붙을 경우 데이터 단위를 "패킷" 이라고 부른다.

주요 특징은 비신뢰성, 비연결성을 가진다. (서로 연결 없이, 목적지의 IP 주소에 대해서 데이터를 전송할 수 있도록 목적지를 설정하는 것을 주요 목적으로 한다.)

IP주소의 구조는
1. 네트워크 ID
2. 호스트 ID

로 나눌 수 있다. 네트워크 ID는 네트워크상에서 사용되는 ip 주소체계를 따른 구조를 뜻하며, 호스트 ID는 이 네트워크 ID와 연결되어 있는 분산된 식별단위이다.

d. 전송 계층

데이터에 대해서 신뢰성있고 정확하게 전달하는 역할을 한다.

e. 세션, 표현, 응용 계층

세션 계층은 세션끼리의 연결과 신뢰성 확정을 담당하고, 표현계층은 압축 형식과 관련된 역할을, 응용계층은 http와 같이 전달할 데이터에 대한 프로토콜을 결정짓는 역할을 한다.


6. 캡슐화와 역캡슐화

데이터를 상위, 하위로 보낼 때마다 필요한 헤더들을 붙여나가는 것을 캡슐화,
그리고 그것을 받은 서버의 입장에서 해당 필요한 헤더들을 떼어내어 해석하는 과정을 역캡슐화라 한다. 이때 캡슐화가 진행이 되면서 데이터들의 단위들이 바뀌는데 이 데이터 단위들을 칭하는 단어를 Protocol Data Unit(PDU)이라고 한다.

예를 들어, 데이터 링크 계층에서 이더넷 헤더가 붙으면 이더넷 프레임이라고 부르는 것과 같다.


profile
자라나라 프론트엔드 개발새싹!

0개의 댓글