티스토리 뷰

반응형

네트워크의 개념

네트워크 프로토콜과 계층

네트워크 기기, 형태

 

네트워크 개념

IT 네트워크의 시작 : 1960년대, 미국에서 하나의 거대한 메인 프레임의 성능을 다수의 사람이 동시에 활용할 수 있도록 하기 위해서, 여러 대의 단말기를 메인 프레임과 전화선으로 연결했다.

 

이게 네트워크의 시작이다.

 

메인프레임 1개에 전화선 네트워크가 있으면 단말기 B가 사용하고 나서, 그 후에 단말기 A의 작업이 진행되고, 그 후에 단말기 C를 처리하게 된다.

 

동시에 처리하는 게 아니라 순차적으로 처리 하나, 메인프레임의 성능이 아주 좋아서 동시처럼 느껴질 뿐이다.

 

회선 교환 방식

위의 예시가 회선 교환 방식이다. 데이터를 교환하기 위해 1:1로 연결된 데이터 통로(회선)을 만들고, 데이터 교환이 완료될 때까지 회선을 계속 사용하는 방식이다.

데이터가 안 갔으면 데이터를 다시 처음부터 다시 보내야 한다.

전화 모선이 점유되어 있으면 못쓴다.

 

이걸 개선하기 위해서 나온 게 패킷 교환 방식이다.

 

패킷 교환 방식

패킷 교환 방식 : 데이터를 패킷이라는 작은 단위로 나뉘어서 헤더라는 정보를 붙여 데이터를 교환한다.

헤더에는 송수신 포트번호, 패킷 순서 번호, 데이터 시작 위치, 한번에 전송할 수 있는 데이터의 양 등이 포함된다.

패킷(packet) = 소포라는 뜻, 패킷이라는 택배 물품에 헤더라는 송장을 붙여 보내는 개념이다.

 

패킷 교환 방식은 필요한 만큼만 회선을 이용하며, 같은 회선을 다른 사용자도 함께 사용할 수 있다.

패킷이 손상될 경우 데이터 전체를 다시 보내지 않고, 손상된 패킷만 보내면 된다.

 

네트워크 프로토콜과 계층

프로토콜 : 패킷을 전송하기 위한 규칙이다. 이런 정해진 규칙을 따르기 떄문에, 다른 기기들 간의 통신이 가능해진다.

HTTP(hypertext transfer protocol) : 웹 서버와 웹브라우저가 패킷을 교환할 때 사용하는 프로토콜

이 외에도 DNS, FTP, SSL/TLS, TCP, UDP, SNMP, IEEE, ARP 등 매우 많은 프로토콜이 존재한다.

 

요즘에는 HTTPS로 조금 더 보안이 강화되었다.

 

계층(Layer)

송신 기기와 수신 기기 사이에서 주고 받는 데이터는 각 계층별로 처리된다.

계층 별로 처리가 된다는 거는,

1.사용자가 검색할 키워드를 입력하면,

2. 데이터 분할(패킷)

3. 수신지 확인

4. 패킷 송신

 

그러면 서버에서 그걸 받았을 때, 거꾸로

1. 패킷 수신

2. 송신지 확인

3. 패킷 결합

4. 검색 실행

 

이렇게 계층별로 실행된다는 것이다.

 

계층의 유형

대표적인 2가지 계층 : TCP/IP 참조 모델, OSI 참조 모델이 있다.

 

TCP/IP 참조 모델 : 1970년대 개발. 4계 계층으로 구성

OSI 7 참조 모델 : 184년 국체 표준화 기구(ISO)에서 개발한 계층 구조 모델, 7계 계층으로 구성한다.

업계에서는 OSI 7의 7계층 중에서, 1,2,3,4,7 이렇게 5개를 쓴다.

각 계층마다 L1,L2, L3, L4, L7으로 부른다.

 

1계층 - 물리 : 같은 네트워크의 하드웨어단에서 연결되어 있는 것을 관리

2계층 - 데이터링크 계층 

3계층 - 네트워크 계층 등등..

 

네트워크 기기 : 계층별로 존재하는 포로토콜에 따라 데이터를 전송하는 기기

각 계층별로 동작하는 네트워크 기기가 다르다.

 

7계층에서 작동하는 WAF, L7 Load Balancer등의 기기들은 하위 계층에서 작동하는 기기들의 기능을 전부 가지고 있다.

 

L1 

NIC : PC나 서버를 네트워크에 연결해주는 하드웨어

PC나 서버의 슬롯에 장착형, USB 포트형, 메인보드의 슬롯에 장착하거나 온보드로 부착된 형태가 있다.

 

무런 랜카드라고 생각하면 쉽다.

노트북에 장착하는 무선 NIC 같은 게 있다.

 

허브(hub) : 전달받은 패킷(비트)의 복사본을 포트에 연결된 다른 모든 기기로 전송한다.

연결된 기기들이 네트워크 ㅐ역폭을 나눠서 쓰기 때문에 데이터 전송 성능이 떨어진다.

 

대역폭 : 네트워크 회선이 초당 처리할 수 있는 비트의 양(bit per second)

대역폭이 100mbps인 회선으로 허브에 5개 pc를 연결(broadcast)하면 pc당 20mbps 대역폭만 사용한다.

쉽게 말해서 조금 다르긴 하지만, 공유기이다.

 

AP : 패킷을 전파로 바꿔서 송출하는 기기이다.

무선과 유선 사이의 다리 역할을 수행한다.

무선 WIFI 네트워크

네트워크 신호를 받아다가 무선으로 송출한다.

 

L2

Mac 어드레스를 가지고 있다.

Mac 주소 : 컴퓨터들이 서로 데이터를 전송하기 위해 사용하는 물리적 주소로 NIC에 내장되어 있음

그 기기만의 고유번호, 식별번호 등 기기를 구분하기 위한 주소로 사용된다.

 

그런데 Mac 주소가 있어도 위치를 알아야 한다.

이더넷 : 네트워크 환경에서 데이터를 주고 받기 위한 가장 대표적인 기술 규격

UTP 케이블(인터넷 선)으로 단말기와 네트워크 기기를 연결한다.

 

랜선의 옆면에 cat5, cat6 등등이 적혀 있는데, 이 숫자가 높아질수록 속도가 빠르다.

cat5면 바꿀 필요가 있다.

 

L2 스위치

L2 스위치 : 단말기가 보낸 패킷(프레임)의 헤더에 있는 MAC 주소를 보고 같은 네트워크다른 단말기로 패킷을 전송한다. 여기서 같은 네트워크는 같은 L2 스위치에 연결되어 있어야 한다.

 

페이로드에 보내는 사람의 mac 주소와, 받는 사람의 mac 주소가 있다.

그러면 L2 는 각각의 포트번호를 기록한 테이블이 있다.

그렇기에 mac 주소에 맞는 포트를 인지해서 받는 사람의 포트로 패킷을 보내준다.

 

L3

IP Address 사용

서로 다른 네트워크에 연결되어 있는 컴퓨터들이 데이터를 전송하기 위해 사용하는 논리적 주소(가상의 주소)로 OS 상에서 설정한 주소이다.

mac 어드레스는 같은 네트워크에서 교환.

IP는 다른 네트워트간의 연결

가상의 주소이다.

 

Public IP Address : 공인 ip 주소. 네트워크와 외부의 네트워크가 통신하기 위해 사용한다(아파트 이름을 찾아가는 것과 같다)

Private IP Address : 사설 ip 주소 : 같은 네트워크 안에서 통신하기 위해 사용한다(아파트 동 호수)

 

사설 IP는 다 다르다.

 

라우터

라우터는 단말기가 보낸 패킷의 헤더에 있는 IP address를 보고 다른 네트워크의 다른 단말기로 패킷을 전송(라우팅)

라우터는 라우팅 테이블이라는 게 있다.

mac 어드레스는 어떤 단말기로 보낼 것이라는 테이블이라면,

라우터는 그 데이터를 어떤 네트워크로 보낼 것이라는 테이블이 있다.

 

완전히 다른 네트워크끼리 통신할 수 있도록 IP 주소를 보고 전달한다.

다른 네트워크 중에서 어느쪽으로 어느 경로로 데이터를 보내는 게 나을지를 선택한다.

예를 들어, 다른 네트워크 쪽에서 3개의 네트워크가 있다면, 가장 가까운 곳으로 데이터를 보낸다.

 

그러나 라우터는 포트가 많지 않다.

L2 스위치랑 라우터를 함께 사용하고 싶을 때 L3 스위치를 사용한다.

 

L4

L4 스위치 : IP 주소와 포트 번호를 참조하여 트래픽을 분산해 서버로 전송하는 로드 밸런싱 기기

로드 밸런싱 : 들어오는 트래픽을 둘 이상의 서버로 분산해서 전송하여 부하를 분산하는 것

트래픽 : 서버와 네트워크 장치에서 일정 시간 내에 흐르는 데이터의 양이다.

 

바로 서버한테 요청이 가는 게 아니라, 내 뒤에 있는 서버들이 데이터를 받아줄 수 있는 상태인지 판단해서 가장 적절한 서버에 데이터를 보내 준다.

 

부하 분산을 한다.

 

방화벽

방화벽 : IP 주소와 포트번호를 참조하여 통신을 허가하거나 차단하는 기기이다.

미리 정의된 보안 규칙에 따라 들어오고 나가는 트래픽을 제어할 수 있다.

 

송수신지 포트 번호, 송수신지 IP를 방화벽의 보안 규칙에 보낸다.

그러면 정책에 맞는지 없는지를 판단한다.

 

그래서 맞지 않으면 차단한다.

 

L7

L7 스위치 : IP 주소와 포트 번호 + 애플리케이션 콘텐츠 정보들을 참조해서 로드밸런싱하는 기기

애플리케이션 콘텐츠 정보 : URL, 파일명, 콘텐츠의 문자열 등

 

클라이언트가 요청한 콘텐츠 파일이 뭔지를 일단 한번 보고, 그 뒤에 있는 서버들이 감당할 수 있으면 데이터를 보내거나, 서버가 가지고 있지 않은 정보를 판단해서 보내준다.

 

웹 방화벽

웹 방화벽 : 웹 애플리케이션 서버를 안전하게 보호하는 기기

클라이언트와 서버 사이에서 교환되는 데이터를 애플리케이션 레벨(7 계층)에서 상세히 검사하고 조치한다.

블랙리스트, 화이트리스트, 웹 트래픽 분석 등 다양한 보안 기능을 제공한다.

 

웹 방화벽은 기존의 방화벽에 애플리케이션에 관련된 정보를 한번 더 본다.

블랙리스트 : 리스트에 있는 IP는 제외하고 모두 통신 허용

화이트 리스트 : 리스트에 있는 IP만 통신 허용

 

화이트 리스트는 IP가 바뀌면 자동으로 업데이트 되지 않는다.

IP 등록에 기반을 두기 때문이다.

 

웹 트래픽 분석

사용자가 서버로 보내는 트래픽을 분석해여 정책에 따라 조치한다.

XSS (cross site scripting) : 애플리케이션에 악성 스크립트를 심어두고 사용자가 접속하면 공격해서 정보 갈취

SQL injection : 악성 sql을 실행하여 데이터베이스 정보를 조작(데이터 수정 혹은 삭제)

 

네트워크의 형태

LAN : 근거리 통신망이다. 가정이나 기업 내부 등 한정된 범위 네트워크이다.

pc방의 어느 구역, 사무실등

스타크래프트 멀티플레이 생각하면 쉽다.

클라이언트 기기와 L2 스위치로 구성되어 있다.

 

WAN(wide area network) : 원거리 통신망이다. 물리적으로 거리가 매우 떨어진 곳의 네트워크를 연결한다.

인터넷 : 모든 컴퓨터를 하나의 통신만 안에 열결하고자 하는 international network(다수의 WAN)이다.

월드 와이드 웹(WWW) : 인터넷에 연결된 컴퓨터를 통해 사람들이 정보를 공유할 수 있는 공간이다.

LAN 환경에 L3 스위치를 추가해서 구성한다.

즉, 라우터들끼리 연결되어 있는 것이다.

 

여러 개의 LAN에 하나의 L3 스위치(라우터)가 연결되어 있고, 이렇게 엄청나게 많은 라우터들이 연결되어 있는 게 WAN, internet이다.

 

VPN(virtual private network) : 인터넷 상에서 가상의 전용선을 만들어 통신할 수 있게 하는 기술

특정 네트워크들만을 위한 전용 WAN으로 Peer to Peer, 1:1로 연결하고 이 구간의 통신을 암호화한다.

기업 본사 LAN과 지사 LAN을 연결할 때 인터넷을 거치지 않고 이 두 네트워크만의 전용 WAN을 VPN으로 구성한다.

 

VPN 사용 예시 : 한국에서 아르헨티나의 서버스에 접속 가능하다.

통신 구간을 암호화한다는 건 접속하는 나의 정보를 수신지에 알려주지 않는 것이다.

 

집 혹은 카페와 같은 외부에서 기업 내부의 애플리케이션(사내 그룹웨어)에 안전하게 접속 가능하다.

일반적으로 보안 때문에 기업의 네트워크 시스템으로는 접속할 수 없다.

공용 IP에 대한 것들을 해커가 탈취할 수 있다. 그렇기에 반드시 VPN을 사용해서 해당 PC와 회사 내부 시스템을 연결하는 전용 선을 뚫어준다.

 

DMZ : 비무장 지대. 외부 네트워크(외부망)와 내부 네트워크(내부망)의 중간 지점

내부망에는 존재하나 외부망에서 접근할 수 없는 영역으로, 외부망에 있는 해커의 공격으로부터 기업의 중요한 서버와 클라이언트를 보호하기 위해서 사용한다.

 

vpn은 외부망에서 내부망으로 들어가는 것이다.

그런데 DMZ가 중간이 있어서, 하나의 필터를 쳐준다.

그래서 해당 서비스에서는 내부망에 접근하지 못하게 하고, 각 단계를 통과할 때마다 방화벽을 체크하게 한다.

 

일반적인 LAN, WAN, DMZ 구성도

 

다수의 LAN이 l3 스위치에에 연결되어 있고, DMZ를 통과하고, WAN에 연결되어서, 다시 DMZ를 통과하고, 다시 L3 스위치에 들어간 LAN에 연결된다.

반응형