LLCF(Link Loss Carry Forward)

다음과 같은 구성에서 10.0.5.145 장비의 eth21 포트에 장애가 발생했을 때 하단의 장비에서 알아차릴 수 있는 방법이 무엇일까요?


이럴 때 llcf를 사용한다면 쉽게 컨트롤을 할 수 있습니다. 10.0.5.145 장비의 eth21 eth1 llcf linkpack 구성으로 묶는다면 eth21이 장애로 인하여 Down되었을 시 eth1역시 llcf로 인하여 pseudo Down 상태가 됩니다. 그렇게 된다면 하단에서 왼쪽이 아닌 오른쪽으로 트래픽이 흐를 수 있도록 합니다. NGFWLLCF link pack모드와  group pack 모드 2가지를 지원하고 있습니다.

- Link Pack : OR 조건 / 같은 팩에 묶여 있는 한 개 포트 이상의 물리적 링크  DOWN 발생 시 팩에 묶여 있는 다른 포트의 링크를 DOWN 시킴

- Group Pack : AND 조건같은 팩에 묶여 있는 한 개 포트 이상의 물리적 링크  DOWN 발생하여도 팩에 묶여 있는 다른 포트의 링크를 DOWN 시키지 않음



'Network' 카테고리의 다른 글

[Network] VRRP  (0) 2018.11.21
[Network] 커널패닉  (0) 2018.11.21
[Network] Traceroute VS Tracert  (0) 2018.11.21
[Network] FTP  (0) 2018.11.21
[Network] SNMP  (0) 2018.11.21

Traceroute VS Tracert

Traceroute Tracert는 각각 리눅스와 윈도우에서 사용하는 명령어 라고만 알고 있었는데 이 부분에 대해 질문을 받아 정리하게 되었습니다.

결론적으로 정리하자면, Traceroute Tracert의 차이점 이라고 한다면 udp를 사용하느냐 icmp를 사용하느냐의 차이 입니다.

tracert: icmp기반 프로그램. icmp-8(echo)를 보낸뒤 icmp-0(echo reply)를 확인하여 동작여부를 확인합니다. => 방화벽 정책에 있어서 icmp가 막혀있다라고 한다면 경로추적이 불가능 합니다.

traceroute: udp기반 프로그램. default로 옵션설정을 안했을때 33434/udp부터 7번 즉, 33439/udp까지 보내게됩니다.

해당 udp 포트가 닫혀있을때 icmp-3(Destination Unreachable)이 오는것을 아이디어로 만들어졌습니다.

결론 : icmp가 차단 되있어도 traceroute는 동작한다.


'Network' 카테고리의 다른 글

[Network] 커널패닉  (0) 2018.11.21
[Network] LLCF  (0) 2018.11.21
[Network] FTP  (0) 2018.11.21
[Network] SNMP  (0) 2018.11.21
[Network] ARP  (0) 2018.11.21

FTP

‘FTP의 종류가 뭐가 있을까?’ 라는 질문에 대해서 들은 것에 대해서 정리하겠습니다.

                                                                    Active                                                          Passive


FTP에는 2가지 모드가 있습니다 Active 모드와 Passive 모드의 차이점이라고 한다면

Server-Client 에서 Client가 포트번호를 제공하면 Active, Server에서 포트번호를 요청한다면 Passive 모드가 되겠습니다. Passive Mode에서는 서버에서 어떤 포트를 요청할지 모르는 상황이 생깁니다. 그렇기 때문에 콘트롤 세션이 있을 때 해당 프로토콜에 대해서 Data Session을 모두 수용할 수 있게끔 하는 Logic ALG 입니다.


'Network' 카테고리의 다른 글

[Network] LLCF  (0) 2018.11.21
[Network] Traceroute VS Tracert  (0) 2018.11.21
[Network] SNMP  (0) 2018.11.21
[Network] ARP  (0) 2018.11.21
[Network] 보안존  (0) 2018.11.21

SNMP(Simple Network Management Protocol)

무슨 프로토콜인지는 알고 있었지만 동작원리에 대해서 자세히 몰라서 정리하게 되었습니다.


SNMP의 관리자를 통해 3가지 형태의 SNMP 메시지를 생성하여 Agent로 전송합니다.

또한 Agent는 자신의 MIB에 영향을 미치거나 관리 자원에 발생할 수도 있는 이벤트를 알리기위해 Trap 메시지를 만들어서 SNMP Station에 알리게 됩니다. 기본적으로 3가지 함수를 사용합니다

1)     GET : Agent의 객체 정보 검색

2)     SET : Agent의 객체 값 수정

3)     TRAP : Agent Station에 중요한 이벤트를 알림

ð  여기서 SNMP Manager Polling이라는 방식을 통해서 주기적으로 자신이 관리할 네트워크 장비들에게 질의를 보내게 됩니다.


'Network' 카테고리의 다른 글

[Network] Traceroute VS Tracert  (0) 2018.11.21
[Network] FTP  (0) 2018.11.21
[Network] ARP  (0) 2018.11.21
[Network] 보안존  (0) 2018.11.21
[Network] 라우팅 우선순위  (0) 2018.11.21

ARP(Address Resolution Protocol)

ARP에 대해서는 IP주소를 물리적 네트워크 즉 MAC주소로 바꿔주는 프로토콜임을 알고 있었으나 동작원리에 대해서 자세히 알게 되었습니다.


1)     REACHABLE : 간청요청에 대한 응답이 왔고 이에 대한 캐시 확보되어 접근 가능하다는 확증이 된 상태

ð  해당 주소로 접근 가능하다는 확실한 증거가 있다는 의미

2)     STALE : REACHABLE 상태에서 일정시간(reachable_time) 승인되지 않은 상태가 된시점

ð  도달 가능성을 재 확인해야 함을 표시하는 상태

ð  캐시는 인접주소를 포함하고 있음

ð  만약 첫 REACHABLE 상태이후 경과된 시간이 gc_staletime 경과되면 더이상 이 엔트리는 사용되지 않고 파기합니다.

3)     DELAY : STALE 상태에서 PROBE 상태로 가기 위한 중간 보류상태

ð  지연시간(delay_probe_timer)만료될 때까지 도달가능성을 간주할 수 있는 수신(간청응답 또는 L4 확인)이 있는 경우 REACHABLE 상태로 천이됨

4)     PROBE : 간청요청 단계이며 도달가능성을 간주할 수 있는 수신이 있는 경우 REACHABLE 상태로 천이되며 그렇지 않은 경우 FAILED 상태로 천이

 

실시간 해당 arp 삭제시 동작 확인

# while true; do sleep 1; clear;ip -4 n|grep [IP 주소]; done


'Network' 카테고리의 다른 글

[Network] FTP  (0) 2018.11.21
[Network] SNMP  (0) 2018.11.21
[Network] 보안존  (0) 2018.11.21
[Network] 라우팅 우선순위  (0) 2018.11.21
[Network] 방화벽 bypass  (0) 2018.10.30

보안존

보안존이란? 인터페이스에 보안존을 매핑시켜 라우팅 룩업 후 나가는 패킷에 대해 정해진 방향 (보안존)으로 나가는 패킷에 대해 정책을 적용하기 위해 사용합니다.


현재 NGFW에서 default로 있는 보안존 입니다. ‘탐지테스트보안존 처럼 새로운 보안존을 설정할 수 있으며 기본적으로 제공되는 보안존에는 각각의 의미가 있습니다.

1)     ANY : 모든(?) 존을 의미합니다.

2)     Trust : 신뢰할 수 있는 네트워크 존, 주로 하단 PC대역에 사용합니다

3)     Untrust : 신뢰할 수 없는 존, 사용하지 않는 인터페이스에 붙습니다.

4)     MGT : MGT 인터페이스에 들어가는 존 입니다. 매니지먼트 포트

5)     DMZ : 외부에 서비스를 제공해야 하는 상황에서 내부 자원을 보호하기 위해 내부 네트워크를 보호하기 위한 존 입니다. BP나 테스트망 내 서버 구축시 해당 존을 사용합니다.

6)     PAN : PAN 보안존과 통신될 경우 다른 보안존으로 통신을 차단 시키는 기능입니다.

7)     내부와 외부 : 해당 장비에 들어오는 쪽이 내부’, 나가는 쪽이 외부로 분류 됩니다.


'Network' 카테고리의 다른 글

[Network] SNMP  (0) 2018.11.21
[Network] ARP  (0) 2018.11.21
[Network] 라우팅 우선순위  (0) 2018.11.21
[Network] 방화벽 bypass  (0) 2018.10.30
[Network] 망 구성시 라우팅  (0) 2018.10.25


출처 : Uno's blog

https://djkeh.github.io/articles/Why-do-we-put-slash-at-the-end-of-URL-kor/

 

URL 끝에 '/' 는 왜 붙이는 걸까?

웹사이트에 있는 URL을 스크랩하려고 복사해서 가져오다 보면, 이렇게 생긴 URL을 볼 수 있습니다.

https://www.google.com/

늘 봐와서 대수롭지 않게 여겨지는 부분이지만, 오늘은 조금 깐깐해 보겠습니다. 저 끝에 슬래시(/)… 저거 왜 붙어있는 걸까요?

 

있어도 없어도 동작은 똑같이 잘 되는 것 같은데 말이죠. 오늘 이야기 주제는 트레일링 슬래시(trailing slash)입니다.

트레일링 슬래시(trailing slash) 기초

URL의 끝에 붙이는 슬래시(/)를 트레일링 슬래시(trailing slash)라고 부릅니다. 이것이 무엇일까요?

트레일링 슬래시를 URL 끝에 붙이는 것은 해당 URL 리소스가 디렉토리(directory)임을 의미합니다. 이를 붙이지 않은 것은 해당 URL 리소스가 파일(file)임을 의미하죠.

https://www.google.com/example/ -> 디렉토리입니다.
https://www.google.com/example -> 파일입니다.

여기에 관한 재미있는 사실 몇가지를 적어보자면,

  • 끝에 슬래시가 없는 웹사이트 메인 주소를 클릭하거나, 복사해서 웹 브라우저 주소창에 입력해서 웹사이트에 들어가 보면 맨 끝에 이것이 어느새 알아서 붙어있습니다.
  • 사실 이 때문에, 트레일링 슬래시를 알고 있는 지금도 그냥 슬래시를 끝에 입력하지 않고 웹사이트에 들어갑니다. 한 자를 덜 쳐도 되니까요 ㅋㅋ 원리는 글 밑에서 밝혀집니다.
  • 많은 마케팅 전문가는 웹사이트 홍보를 할 때 이것을 떼어버린다고 합니다. 마케팅 관점에서 볼 때 그게 더 깔끔하다고 하네요. 사실 제가 봐도 그래 보여요 ㅋㅋ
  • 저도 정확히 모르고 있었을 때는 도메인 주소로 웹사이트에 들어갈 때 http://www.domainExample.com이 왠지 기술적으로도 맞을 것으로 생각하며 쓰곤 했습니다. 이게 보기 좋으니 스펙으로도 아마 맞을 것 같은 기분이 들어서요^^; 심각한 문제?
  • 구글 크롤러는 이게 붙어있든 안 붙어있든, 리소스가 실제로 파일이든 디렉토리든 크게 신경 안 씁니다. 그냥 서로 다른 URL로 취급하거든요.

트레일링 슬래시 테크닉이 가지는 이득

트레일링 슬래시를 정확히 사용해주면 기술적으로 이득이 있을까요?

이득이 있습니다.

트레일링 슬래시가 있을 때와 없을 때, 서버의 동작에 약간 차이가 있기 때문입니다. 각각의 차이를 살펴보죠.

1. 트레일링 슬래시가 없는 URL

트레일링 슬래시가 없는 URL을 요청할 때, 서버는 해당 리소스를 우선 파일로 간주합니다.

서버의 처리 동작은 다음과 같습니다:

  1. 해당 이름의 파일이 존재하는지를 먼저 확인합니다.
  2. 없을 경우, 해당 이름의 디렉토리를 확인합니다.
  3. 디렉토리가 있으면, 그 안의 기본 파일(기본값은 index.html이죠)을 확인합니다.

2. 트레일링 슬래시가 있는 URL

트레일링 슬래시가 있는 URL을 요청할 때, 서버는 해당 리소스를 우선 디렉토리로 간주합니다.

서버의 처리 동작은 다음과 같습니다:

  1. 해당 이름의 디렉토리를 확인합니다.
  2. 디렉토리가 있으면, 그 안의 기본 파일(기본값은 index.html이죠)을 확인합니다.

따라서 디렉토리 리소스를 요청하는 경우 트레일링 슬래시를 명시해 준다면, 파일 확인을 하는 동작을 생략할 수 있으므로 페이지 응답 속도에 작은 이득이 있습니다.

한 번만 더 확인해볼게요… 그럼 도메인 URL에도 트레일링 슬래시 붙여야 할까요?

이것은 조금 생각해볼 여지가 있습니다.

www.thoughtco.com의 포스팅에 따르면, 도메인 URL에도 트레일링 슬래시를 붙이는 것이 속도 면에서 이득이라고 합니다. 자세한 내용은 아래 레퍼런스 링크를 참조하세요. 예를 들어 네이버에 가고 싶다면, https://www.naver.com/https://www.naver.com보다 로딩 속도 면에서 좀 더 이득이라는 뜻입니다.

그런데 이 경우 동작은 다릅니다. 트레일링 슬래시만 배운 상태에서 단순하게 생각한다면 https://www.naver.com는 파일 리소스죠. 하지만 URL 스펙을 기초부터 정확히 살펴보면, 다음과 같이 되어있습니다.

scheme:[//[user[:password]@]host[:port]][/path][?query][#fragment]

보기 좀 어지럽죠? 간단하게 정리해서 그려보겠습니다.

1. URL의 간단한 구조

생각해보면, 리소스가 파일인지 디렉토리인지를 결정하는 요소는host가 아니라 path에서 일어날 것입니다. https://www.naver.com/를 해석하면 HTTPS 프로토콜에 www.naver.com 도메인 네임 호스트를 적고 그 뒤에 호스트 루트 경로인 / 를 명시한 것과 같죠. https://www.naver.com는 도메인 네임 호스트까지만 적은 것과 같습니다. 경로는 나오지 않았어요. 그러니까 https://www.naver.com라는 표현은, 리소스가 디렉토리인지 파일인지를 명시하지 않은 게 아니라 리소스 경로 자체를 명시하지 않은 것과 같습니다.

https://www.naver.com/ 의 '/'은 트레일링 슬래시라는 리소스 종류 구분자 라기 보다는, 리소스 경로로 보는 것이 옳습니다.

그런데 말입니다?

그런데 말입니다, HTTP 스펙상 Request에 경로를 생략할 수는 없습니다. 별다른 경로가 없는 웹사이트 메인에 접속하는 경우에도 HTTP Request는 GET / HTTP/1.1과 같이 루트를 의미하는 / 경로가 반드시 포함되지요. 이 점을 고려해볼 때, https://www.naver.com은 온전한 URL이 아닙니다. 온전한 URL 요청이 아니므로, https://www.naver.com요청을 보내면 서버에서 https://www.naver.com/과 같이 Redirection 하는 게 아니라, 애당초 요청을 보낼 수 없었어야 합니다. 그러면? /가 언제 붙는지를 자연스럽게 추론할 수 있겠네요!

그것은 웹 브라우저에서 일어납니다. https://www.naver.com를 입력하면, 웹 브라우저가 여기에 /를 붙여서 https://www.naver.com/으로 요청을 발송합니다. 실제로 헤더를 분석해 보면 무슨 일이 있었는지 알 수 있지요.

난 분명 슬래시 안 붙였다고...!(땡깡)

뭐, 웹 브라우저가 일을 한 번 더 하긴 했군요! 그렇지만 이 속도는 서버에서 리소스 링크를 분석해서 Redirection 하는 것에 비하면 더더욱 사소한 부하일 것이라 생각합니다.

결론적으로, 사용자가 웹사이트 메인 주소를 입력할 때 슬래시를 끝에 빼먹는 것은 정말 정말 사소한 문제라 할 수 있겠네요. 하지만 기술적으로 무엇이 정답이냐 묻는다면?

https://www.naver.com/

짜잔~;; 이게 옳다고 하겠습니다!

또한, 사용자에게는 사소한 문제이지만, 개발자에게는 어떨까요? 개발자가 작성한 서비스 코드는 불특정 다수의 요청을 처리해야 하므로 입장이 완전히 다르지요. 프로그램 코드 안에 URL을 써서 링크로 제공하거나 다른 프로그램으로 요청을 보낼 때는 올바른 표현을 사용하는 것이 좋겠지요?

조금만 더 가보자(집착쩔): 남에게 홈페이지 알려줄 때도 슬래시 붙여야 할까요?

ㅋㅋㅋ;;

그런데 이것도 좀 생각해볼 여지가 있습니다. 리소스 URL로써 https://www.naver.com/가 정답인 것은 분명합니다. 하지만 타인에게 웹사이트를 가르쳐 준다는 것은

  • 리소스를 가르쳐주는 것일까요?
  • 집 주소를 가르쳐주는 것일까요?

제 생각에는, ‘홈페이지 주소를 가르쳐준다’는 말의 의미는 호스트의 도메인 네임을 가르쳐 주는 것 같습니다. 네이버를 가르쳐준다는 것은 즉 www.naver.com을 가르쳐주는 것이죠. 네이버 메인 페이지의 리소스 경로까지 갈 필요는 없지 않을까요? 그래서 좋은 방법이 있습니다.

흔한 홈페이지 홍보용 링크

이렇게 앵커 태그의 참조 주소는 리소스 URL을 제대로 써주고, 보이는 부분은 호스트 네임까지만 작성하는 것이죠. 클릭이나 글자 복사를 배려해서 http://는 얹어서 주기로 하고요.

반대의 경우는 어떨까요(집착쩔2): 파일 리소스에 트레일링 슬래시를 붙이기

사용자가 디렉토리 리소스에 트레일링 슬래시를 빼먹는 것은 있을 법한 습관입니다. ‘귀찮으니까!’라는 진지한 이유가 있으니까요. 그렇다면 반대로 리소스가 원래 파일인데 트레일링 슬래시를 붙이는 경우는 어떨까요? 그런 ‘실수’가 일어날 일은 거의 없겠고, 일부러 그럴 일도 아주 적겠지만, 그 결과는 조금 더 나쁠 것 같네요.

파일 리소스에 트레일링 슬래시를 붙일 경우, 서버는 이를 디렉토리 리소스로 인식하므로 저 위에 있는 2번에 쓰인 동작을 시도하겠죠. 이때는 대부분의 서버가 디렉토리가 없으면 동명의 파일을 확인한다는 식의 동작을 고려하지 않는다고 합니다. 유저는 결국 404 에러 페이지를 보게 될 것입니다.

결론

유저라면, 디렉토리 리소스에 트레일링 슬래시를 붙이는 살짝 더 귀찮은 습관을 들여봅시다.

개발자가 코드 안에서 사용하는 경우라면, 트레일링 슬래시나 루트 경로를 꼼꼼하게 붙여줍시다!


'JSP' 카테고리의 다른 글

[JSP] 충북대학교 모바일 웹페이지 제작  (1) 2018.06.19
[JSP] JSP 게시판 홈페이지  (0) 2018.06.19
[JSP] JSP canvas 공튀기기 게임  (0) 2018.06.19

방화벽 Bypass


Bypass의 의미는 우회 입니다 방화벽에서 Bypass의 의미도 비슷하게 생각할 수 있습니다.

Ips – L4 – 방화벽 – L2 - 서버

만약 이렇게 망이 구성되어 있을 때 방화벽의 기능이 어떠한 문제로 인해 정지된 상태라면 방화벽의 포트를 단순한 하나의 Ethenet 포트로 작동을 전환 시켜 주게 됩니다. 쉽게 생각해서 랜 케이블이 연장되는 통로(?)가 되고 세션이 중지됨 없이 통과하게 됩니다.

현재는 연구소에서 테스트 완료된 항목입니다.


'Network' 카테고리의 다른 글

[Network] 보안존  (0) 2018.11.21
[Network] 라우팅 우선순위  (0) 2018.11.21
[Network] 망 구성시 라우팅  (0) 2018.10.25
[Network] Proxy ARP  (0) 2018.10.25
[Network] GNS3 RIP 기본예제  (4) 2018.08.28

망 처음으로 구성시 열어줘야하는 정책 및 라우팅, NAT

'Network' 카테고리의 다른 글

[Network] 라우팅 우선순위  (0) 2018.11.21
[Network] 방화벽 bypass  (0) 2018.10.30
[Network] Proxy ARP  (0) 2018.10.25
[Network] GNS3 RIP 기본예제  (4) 2018.08.28
[Network] 라우터 Console 접속  (0) 2018.08.21

+ Recent posts