728x90
반응형

IP Protocol은 송신 시스템과 수신 시스템 사이의 패킷을 최적의 경로를 통해 전달하는것이 주된 목적이다. (단편화 시켜서 전달)

IP Protocol은 신뢰성이 없고 오류 발생 가능성이 높은 비연결성 Protocol이다. 

에러 발생 원인이나 진단 기능 및 상황 정보를 지원하지 않는데 이런 IP Protocol의 단점을 보완한 것이 ICMP Protocol이다.

 

즉, ICMP Protocol은 TCP/IP에서 IP 패킷을 처리할 때 발생되는 문제를 알려주는 프로토콜이다.

 

IP에는 오로지 패킷을 목적지에 도달시키기 위한 내용들로만 구성되어 있다. 따라서 정상적으로 목적지 호스트에 도달하는 경우에는 IP에서 통신이 성공하고 종료되므로 아무런 문제가 없다.

그러나, 만일 전달해야 할 호스트가 꺼져 있거나, 선이 단절된 경우와 같은 비정상적인 경우에 이 패킷전달을 의뢰한 출발지호스트에 이러한 사실을 알려야하지만, IP에는 그러한 에러에 대한 처리 방법이 명시되어있지 않다.

이러한 IP의 부족한 점을 메꾸기 위하여 사용되는 것이 바로 ICMP 이다

ICMP는 해당 호스트가 없거나, 해당 포트에 대기중에 서버프로그램이 없는 등의 에러상황이 발생할 경우 IP헤더에 기록되어 있는 출발지 호스트로 이러한 에러에 대한 상황을 보내주는 역할을 수행하게 된다.

(인터넷/통신 상에서 발생한 일반적인 상황에 대한 보고, 인터넷/통신 상에서 발생한 오류에 대한 보고)

물론 이 외에도 메시지를 제어하는 추가적인 기능들이 있다.

 

 

ICMP Layer

ICMP 프로토콜은 Network 계층에 속하며 IP 프토콜과 같이 사용한다.

 

 

ICMP 사용 명령어

 

1. Ping 명령 : 상대방 호스트의 작동 여부 및 응답시간 측정하는데 사용

  • Echo Request (ICMP 질의메시지 요청)

  • Echo Rely (ICMP 응답메시지 요청)

2. Tracert 명령 : 목적지까지의 라우팅 경로 추적을 하기위해 사용

  • Time Exceeded 확인 기능

 

 

 

ICMP 패킷 헤더 구조

 

 

ICMP는 기본적으로 4개의 헤더로 구성되어 있다.

  • ICMP Type : ICMP의 메시지를 구별

  • ICMP Code : 메세지 내용에 대한 추가 정보 (즉, ICMP Type에 대한 상세 정보)

  • ICMP CheckSum : ICMP의 값이 변조 여부를 확인

  • ICMP 메시지1, 메시지2 : ICMP Type에 따라 내용이 가변적으로 들어가는 내용

 

 

ICMP Type 

 

 

 

 

ICMP Test

 

ICMP TYPE - Request

 

ICMP구조에 따라 Type 8, Code 0, Checksum, Data를 확인 할 수 있음.

type이 Request 이기 때문에 메세지 1(data)에 특정값(abcdefg .. 이하 생략)이 채워져 있다.

 

 

 

 

ICMP TYPE - Reply  [응답이 정상적인 경우]

 

Type 0, Code 0, Checksum 도 정상적이다.

또 동일하게  Reply 이기 때문에 메세지 1(data)에 특정값으로 채워져 있는 것을 확인할 수 있다

 

 

 

ICMP TYPE - Destination Unreachable [응답이 비정상적인경우]

 

어떠한 이유로 인해 패킷이 정상적으로 도달하지 못하는 경우 이에 대한 응답메세지를 보내는데, Unreachable도 그 중 하나이다.

Type 3, Code 13, Checksum 도 정상적인데, 차이점은 메세지 2(data)에 실패한 패킷의 정보(IPV4, ICMP)가 담겨있는 것을 볼 수 있음.

 

 

참고 URL

https://m.blog.naver.com/PostView.nhn?blogId=lookie77&logNo=70024036178&proxyReferer=https:%2F%2Fwww.google.com%2F

http://www.firewall.cx/networking-topics/protocols/icmp-protocol/156-icmp-time-exceeded.html

http://www.firewall.cx/networking-topics/protocols/icmp-protocol/155-icmp-redirect-message.html

http://www.firewall.cx/networking-topics/protocols/icmp-protocol/152-icmp-echo-ping.html

https://run-it.tistory.com/31

 

반응형

'Network' 카테고리의 다른 글

Load Balancing  (0) 2018.12.28
Forward Proxy and Reverse Proxy  (0) 2018.12.19
라우터 초기화 방법  (0) 2018.08.14
NAT와 NAPT  (0) 2018.08.14
IP Masquerade (IP 마스커레이드)  (0) 2018.08.14
728x90
반응형
Load Balancing 이란?

  • 하나의 인터넷 서비스가 발생하는 트래픽이 많을 때 여러 대의 서버가 분산처리하여 서버의 로드율 증가, 부하량, 속도저하 등을 고려하여 적절히 분산처리하여 해결해주는 서비스

  • 부하 분산을 위해서 가상(virtual) IP를 통해 여러 서버에 접속하도록 분배하는 기능

  • IP, Port, Session을 기반으로한 기술로 L4 Switch라고도 함



주요 기능

  • NAT(Network Address Translation): 사설 IP 주소를 공인 IP 주소로 바꾸는 데 사용하는 통신망의 주소 변조기

  • DSR(Dynamic Source Routing protocol): 로드 밸런서 사용 시 서버에서 클라이언트로 되돌아가는 경우 목적지 주소를 스위치의 IP 주소가 아닌 클라이언트의 IP 주소로 전달해서 네트워크 스위치를 거치지 않고 바로 클라이언트를 찾아가는 개념

  • Tunneling : 인터넷상에서 눈에 보이지 않는 통로를 만들어 통신할 수 있게 하는 개념, 데이터를 캡슐화해서 연결된 상호 간에만 캡슐화된 패킷을 구별해 캡슐화를 해제



종류

  • L2 : Mac 주소 바탕으로 Load Balancing

  • L3 : IP 주소를 마탕으로 Load Balancing

  • L4 : Transport Layer (IP와 Port) Level에서 Load Balancing, TCP/UDP



  • L7 : Application Layer (사용자의 Request) Level에서 Load Balancing, HTTP/HTTPS/FTP (Protocol)



HTTP

No Image

  • X-Forwarded-For : Http 또는 Https 로드 밸런서를 사용할 때 클라이언트의 IP 주소를 식별하는데 도움
  • X-Forwarded-Proto : 클라이언트가 로드 밸런서 연결에 사용한 프로토콜(Http 또는 Https)을 식별하는데 도움
  • X-Forwarded-Port : 클라이언트가 로드 밸런서 연결에 사용한 포트를 식별하는데 도움



Load Balancing 정책

  • Least Connection
    - 현재 세션이 가장 적은쪽으로 세션을 연결 (현재 세션 수를 고려하기 때문에 약간의 메모리를 소비)
    - 트래픽으로 인해 세션이 길어지는 경우 권장하는 방식
    - Default metric으로 제일 많이 사용하는 옵션

  • Weighted Least Connection
    - Real Server의 처리 능력을 고려하여 가중치를 부여하면서 least-connection scheduling을 적용하여 트래픽을 고루게 분산시키는 방법

  • Round Robin
    - Real Server의 마지막 번호를 가진 서버로부터 출발하여 순차적으로 세션을 연결하는 방식
    - 특별한 서비스가 있지않은 일반적인 웹 사이트에서 운영하는 곳에서 사용
    - 가장 단순한 기법으로 장비에 부하가 적음

  • Weighted round-robin
    - 서로 다른 처리 능력을 가진 서버가 있을 경우 사용, 가중치를 주어 많이 처리할 수 있는 서버로 많은 트래픽을 할당

  • Source (Hash)
    - 사용자의 IP를 Hashing하여 분배하는 방식으로 항상 같은 서버로 연결되는 것을 보장 
    - Source IP(사용자)와 Destination IP(Vip)를 조합하여 어떤 수(Hasing Key)를 만들어낸다. 만약 Source의 마지막 자리 IP가 1이고 Destination이 244이면 245라는 수를 만들어 설정된 Real Server의 수로 나눔을 한다. 만약 Real Server가 3대라면 245/3이면 나머지가 0이므로 1번 Real Server에 접속하고 나머지가 1이면 2번 Real Server에 접속하도록 하는 방식이다. 그러면 그 다음에 접속하더라도 Source IP와 Destination IP가 동일하다면 나머지값도 항상 동일하므로 지정된 서버로만 계속 접속하게 된다. 보통은 세션을 유지해야하는 사이트(인증, 보안)에서 주로 사용

  • Minmiss
    - Source (Hash)와 비슷한 기법으로 국내에서 사용되지 않음, 장비 자체에서 정해진 Hashing 알고리즘을 적용시키는데 Source 기법과 차이는 Real Server가 Down 되었을 경우 여기에 세션이 물려있던 사용자들을 어떻게 처리할 것인가 하는 부분에서 차이가 있다.



서비스 방식

ì¬ì©ì ì½ì ì´ë¯¸ì§

  • 네트워크 상단에 L4 Switch 가상서버가 존재하여 서버로 들어오는 패킷을 Real Server로 균일하게 트래픽을 부하분산
    (Real Server가 정상적으로 작동하지 않는 경우 이를 감지하여 정상적으로 작동하는 서버로 부하분산)
  • Load Balancing으로 구성된 서버 중 특정 서버가 다운되었을때 다운된 서버로 이동하는 트래픽을 정상 작동중인 서버로 보내 서비스 가용성을 높임
  • 이중화된 Load Balancer들은 서로 Health Check를 한다



장애 발생시 구동 방식
No Image



장점

  • 고가의 서버로 확장하지 않고 저렴한 비용으로 다수의 서버를 증설하여 경제적 비용 절감
  • 대량의 트래픽으로 1대의 서버에 집중적인 부하율이 높아지면 L4 Switch가 이를 감지하여 합리적으로 부하분산 처리
  • 1대의 서버 장애가 발생하여도 서비스 중단 없이 다른 서버로 적절히 자동 분배하여 무중단 서비스 운용 가능
  • 서버 증설시 무중단 서비스 가능



반응형

'Network' 카테고리의 다른 글

ICMP (Internet Control Message Protocol)  (0) 2020.10.25
Forward Proxy and Reverse Proxy  (0) 2018.12.19
라우터 초기화 방법  (0) 2018.08.14
NAT와 NAPT  (0) 2018.08.14
IP Masquerade (IP 마스커레이드)  (0) 2018.08.14
728x90
반응형
Forward Proxy

  • 클라이언트가 웹 서버에 접근하려고 할 때 클라이언트의 요청이 웹서버에 직접 전송되는 것이 아니고 중간에 Proxy 서버에게 전달되어 Proxy 서버에서 그 요청을 웹서버에게 전달하여 응답을 받아 클라이언트에게 전달(forward)해 주는 방식 
  • Forward Proxy에는 Caching 기능이 있으며 자주 사용하는 Content의 경우 성능 향상을 가져올 수 있으며 정해진 싸이트만 연결하게 설정하는 등 웹 사용환경을 제한할 수 있으므로 기업환경에서 많이 사용



용도
  • Content Filtering
  • eMail security
  • NAT
  • Compliance Reporting



Reverse Proxy

  • 클라이언트가 웹 서버에 데이터 요청을 하면 웹서버에서 직접 요청을 받는게 아닌 앞단의 Proxy 서버가 받아 뒷단의 웹 서버에게 다시 요청을 하는 방식으로 웹서버에게 전달받은 데이터를 클라이언트에게 다시 전달하는 방식
  • 내부 서버가 직접 서비스를 제공해도 되지만 이렇게 구성하는 이유는 보안때문
  • DMZ 구간이라하는 내부,외부 네트워크 사이에 위치하는 구간이 있는데 이 구간에 메일서버, 웹서버, FTP 서버등 외부 서비스를 하는 서버가 위치하게 된다. 서버가 이 구간에 위치하여 해킹을 당할경우 연결된 내부 서버까지 해킹을 당할 위험이 있다. (서비스를 JAVA로 구현하여 WAS를 DMZ 에 놓고 서비스하는 경우 WAS는 DB서버와 연결되기에 WAS가 뚤리면 DB서버까지 뚤릴 위험이 크다)
    이 때문에 DMZ 구간에 Reverse Proxy 서버를 두고 실제 서비스는 내부에 위치시켜 클라이언트에게는 Proxy 서버에서 데이터를 전달받도록 구성한다.
    (리눅스 환경의 웹 서버라면 SELinux 기능을 활용 시 SELinux 정책상 Apache Tomcat은 8080,8009 포트만 접근 가능하도록 할 수 있기때문에 웹 서버 권한으로는 내부로 연결이 불가능하게 할 수 있다) 




용도
  • Application Delivery including
  • Load Balancing (TCP Multiplexing)
  • SSL Offload/Acceleration (SSL Multiplexing)
  • Caching
  • Compression
  • Content Switching/Redirection
  • Application Firewall
  • Server Obfuscation
  • Authentication
  • Single Sign On



반응형

'Network' 카테고리의 다른 글

ICMP (Internet Control Message Protocol)  (0) 2020.10.25
Load Balancing  (0) 2018.12.28
라우터 초기화 방법  (0) 2018.08.14
NAT와 NAPT  (0) 2018.08.14
IP Masquerade (IP 마스커레이드)  (0) 2018.08.14
728x90
반응형
1. 라우터 콘솔과 USB케이블로 PC연결

2. 라우터 드라이브 설치 및 드라이브 확인


3. SetCOM.exe로 연결확인
 

4. CRT 및 Putty 프로그램 설치

5. 프로토콜 Serial로 라우터 설정과 CRT 설정 같도록 설정


6. 시스코 장비별 Configuration Register 명령어 확인

7. 라우터 재부팅후 부팅전 Ctrl+Break로 ROMMON화면으로 들어감


8. 위의 설정대로 하면 초기  SetUP모드로 부팅됨
   - 부팅이후 Setup 메뉴 No로 선택
   - en으로 관리자모드 선택
   - 초기화 명령어 입력

9. 라우터 초기화 명령어 입력


10. 초기화 이후 다시 레지스트리 원상복귀


11. 라우터 초기화 완료
* 0x2102와 0x2142의 차이점

 


반응형

'Network' 카테고리의 다른 글

ICMP (Internet Control Message Protocol)  (0) 2020.10.25
Load Balancing  (0) 2018.12.28
Forward Proxy and Reverse Proxy  (0) 2018.12.19
NAT와 NAPT  (0) 2018.08.14
IP Masquerade (IP 마스커레이드)  (0) 2018.08.14
728x90
반응형
* 모두 private IP를 global IP로 변환하는 기술이다 (사설 IP를 공인 IP로 변경)


NAT란?

* private IP 주소가 할당된 클라이언트가 인터넷상의 어떤 서버에 접근할때 NAT 라우터는 클라이언트의 IP(192.168.0.x)를 NAT가 가지고 있는
global IP(54.xxx.xxx.xxx)로 변환하여 패킷을 전송

* 반대로 서버에서 클라이언트로 전송시 NAT의 global IP 주소로 전송하고 이를 받은 NAT 라우터는 클라이언트의 private IP 주소로 변환하여 전송

클라이언트 (192.168.0.x) <-> NAT 라우터 <IP변환> (54.xxx.xxx.xxx)  <-> 목적지 서버 (182.xxx.xxx.xxx)

* NAT는 global IP 주소와 private IP 주소가 1:1 변환을 하기때문에 동시에 여러 클라이언트가 접근할 수 없다


NAPT란?

* private IP 주소와 포트 번호까지 변환하는 기술을 의미

* private IP 주소를 global IP 주소로 변환할 때 private IP 주소별로 다른 포트 번호를 변환한다
(예를 들어 같은 private IP 대역을 가진 클라이언트 2명 A(192.168.0.1), B(192.168.0.2)가 외부통신을 하려는 경우 NAT는 먼저 통신된 A가 진행이 완료 후 B가 진행이된다. 하지만 NAPT의 경우 클라이언트 A(192.168.0.1:1500), B(192.168.0.2:1600) 형식으로 IP주소 뒤에 포트 번호를 변환하여 서로 다른

포트 번호로 외부 통신을 진행하기 때문에 클라이언트 모두 외부 통신이 가능해진다) 


반응형

'Network' 카테고리의 다른 글

ICMP (Internet Control Message Protocol)  (0) 2020.10.25
Load Balancing  (0) 2018.12.28
Forward Proxy and Reverse Proxy  (0) 2018.12.19
라우터 초기화 방법  (0) 2018.08.14
IP Masquerade (IP 마스커레이드)  (0) 2018.08.14
728x90
반응형
* 가면이라는 의미로 NAT 기술안에 속해 있는 기술이다

* 예를 들어 클라이언트 2명 A(192.168.0.1), B(192.168.0.2)가 route0 안에 있는 경우 클라이언트들은 공인 IP를 가지고 있지않기에 외부 통신이
될수가 없다. 해당 문제를 보안하기 위해 IP 마스커레이드가 생긴 것인데 사설 대역 IP를 가진 클라이언트들이 패킷을 전송하면 라우터에서 목적지에
모두 자신이 보낸 것처럼하여 패킷을 전송한다. (클라이언트 A가 패킷을 전송하면 발신자가 192.168.0.1에서 라우터를 거치면서 211.xxx.xxx.xxx 형식으로
변환이 되서 나가는 것, 수신측에서는 클라이언트 IP가 아닌 211.xxx.xxx.xxx 의 공인 IP가 보낸것으로 받게 된다)

* IP 마스커레이드는 주소변환만 하는것이 아닌 포트번호까지 포트포워딩시켜주는 기능을 가지고 있다.

(클라이언트가 외부로 패킷을 보냈을 경우 라우터에서는 공인IP의 무작위 포트번호를 붙여서 보내준다. 외부에서 응답 패킷을 보낼때 전송받은 포트번호로 패킷을 보낼 수 있도록 하고 해당 응답패킷을 받은 라우터는 포트 번호를 이용해 클라이언트에게 패킷을 전달) 


반응형

'Network' 카테고리의 다른 글

ICMP (Internet Control Message Protocol)  (0) 2020.10.25
Load Balancing  (0) 2018.12.28
Forward Proxy and Reverse Proxy  (0) 2018.12.19
라우터 초기화 방법  (0) 2018.08.14
NAT와 NAPT  (0) 2018.08.14

+ Recent posts