서버운영과 Network
네트워크 ACL

 

 


 오늘은 서버운영하는데 꼭 알고있어햐 할 중요한 내용으로 네트워크 ACL에 관하여 알아봅니다.

ACL(Access Control List)는 특정 패킷을 차단하거나 허용할 때 사용하는 네트워크에서 방화벽과 같은 일을 합니다.

ACL은 트래픽을 필터링하고 IP주소와 서브넷을 정의합니다. ACL을 설정하기 위해서는 출발지와 목적지, permit과 deny, in과 out의 설정을 먼저 고려해야합니다.

 

ACl은 표준ACL과 확장ACL이 있습니다.


 표준 ACL
 
 범위는 1~99 이며 출발지 IP 주소만 참조합니다.
 

 확장 ACL
 
 범위는 100~199 이며 출발지 IP, 목적지 IP, TCP, UDP, 포트번호 + ICMP 를 참조합니다.
 


ACL의 주의사항과 처리방법에 대해 알아보겠습니다.

1. 서브넷 범위가 적은 항목부터 설정해야합니다.

ACL은 설정하는 순서대로 순서 번호를 할당받는데 순서 번호대로 검사하여 조건에 만족하는 항목이 있다면 ACL이 동작하게 됩니다.

만약 상위 순위에 permit any가 있다면 그 하위의 순위는 deny가 되지 않습니다.

 


2. ACL의 마지막 항목에는 deny any가 동작합니다.

모든 설정을 하고 permit any를 해주지 않는다면 모두 차단 됩니다.


3. 마지막으로 표준ACL과 확장ACL로 나눠서 항목을 설정합니다.

 

추가적으로 게이트웨이 이중화에 대해 알아보겠습니다.

이중화 게이트웨이는 게이트웨이에 장애가 발생하면 서버들의 외부 네트워크 접근이 불가능하기 떄문에 2개 이상의 게이트 웨이를 사용하는 것을 권장하고 안정적인 네트워크 환경을 구축하는 방법을 이중화 게이트웨이라고 합니다.

 

 

블로그 이미지

itworldkorea

IT korea가 세상(world)을 변화시킨다.

,

서버운영/Network
네트워크 라우팅 프로토콜
 

 

 

 

네트워크의 장비중에 라우터 장비가 있습니다. 라우터는 네트워크 경로를 배정해주는 장치입니다 외부 네트워크에서 다른 사이트로 가는 데이터가 있으면 라우터 장비는 이 데이터를 최적화된 경로를 찾아주는 기능이 있습니다. 또한 관리자가 경로를 직접적으로 결정해줄수도 있습니다.

 


라우터 장비를 사용하여 경로를 찾아 데이터를 전송하는데 라우터에 패켓의 목적지의 IP주소를 라우팅 테이블에 검색해서 인터페이스로 전송 및 처리하는 기능을 IP라우팅이라 합니다.

IP라우팅에는 경로학습, 경로선출, 경로관리 3가지의 기능이 있으며 정적과 동적에 따라 방식이 다릅니다.

 정 적
 
 next-hop정보를 파악해서 경로를 수동으로 학습하는 방식
 
링크의 대역폭 및 라우터 개수를 파악해서 경로를 수동으로 선출하는 방식
 
관리자가 직접적으로 경로를 수정, 삭제, 갱신하는 방식

 


 

 동 적
 
라우팅 프로토콜을 이용하여 네트워크 정보를 교환하는 방식
 
라우팅 업데이트 정보에 포함된 메트릭 값을 확인해 경로를 자동으로 선출하는 방식
 
라우팅 프로토콜의 동작에 의해 자동으로 수정, 삭제, 갱신하는 방식
 

 

라우팅 프로토콜의 종류는 RIPv1, RIPv2, IGRP, EIGRP, OSPF, ISIS, BGPv4 가 있습니다.

 

이러한 라우팅 프로토콜에 따라 관리 방법이 다른데 Distance Vector, Link-State, Path Vector로 나눠집니다.


Distance Vector는 거리와 방행만을 위주로 만든 라우팅 알고리즘으로 라우팅 업데이트에 포함되는 정보는 목적지 네트워크, next-hop, 메트릭을 포함하고 모든 라우팅 정보를 가지고 있을 필요가 없기에 라우팅 테이블을 줄여 메모리를 절약할수 있습니다 단점으로 30초 마다 라우팅 테이블에 변화가 없어도 항상 업데이트를 하기때문에 트래픽을 낭비하고 적용되는 시간도 오래걸리기에 소규모의 네트워크에서 사용합니다. 사용되는 프로토콜은 RIPv1, RIPv2, IGRP, EIGRP 입니다.


Link-State는 하나의 라우터가 목적지까지의 모든 경로를 가지고 모든 경로 정보를 가진 라우터(Topology Database)를 SPF(Shortest Path First)으로 계산하여 라우팅 테이블을 만듭니다. 라우팅 업데이트에 포함되는 정보는 목적지네트워크, next-hop, 메트릭 ,라우터간의연결 링크정보 등 많은 정보를 포함합니다. 트래픽의 발생이 줄어드는 대신 CPU가 해야하는 일이 많아져서 메모리를 많이 사용합니다. 사용되는 프로토콜은 OSPF, ISIS 입니다.

 

라우팅 프로토콜 중에 이제는 사용하지 않는 프로토콜이 있습니다.

서브넷 처리방식에 따라 사용하지 못하게된 프로토콜로 RIPv1과 IGRP가 있습니다.

Classful Routing 프로토콜이 RIPv1과 IGRP인데 네트워크를 클래스로 처리하는 방식으로 라우팅 업데이트에 서브넷 마스크를 포함하지 않기에 현재 네트워크에서는 사용할수없습니다.

Classless Routing 프로토콜은 서브넷 마스크를 확인하는 서브넷 처리방식으로 RIPv2, EIGRP, OSPF, ISIS, BGPv4 프로토콜이 여기에 속 합니다.

 

보통 한국에서는 OSPF 프로토콜을 많이 사용하는데 이유는 정보를 자세히 알려주기 때문입니다. 시스코 라우터 IOS에 show ip ospf database router 를 입력하면 라우팅 업데이트 정보가 상세하게 나오는걸 확인할수있습니다.

 

 

블로그 이미지

itworldkorea

IT korea가 세상(world)을 변화시킨다.

,

JSON(제이슨, JavaScript Object Notation)이란 ?(제이슨, JavaScript Object Notation)이란 ?

 

 

 

 

SON이란? JSON 규칙JSON이란 자바스크립트 언어에서 객체를 표현하는 표기법입니다.

그러나 JSON은 자바스크립트에서만 사용하는것은 아닙니다. JSON은 자바스크립트 구문을 따르기는 하지만 자바스크립트에서 파생되었기 때문에 JSON으로 불리울 뿐 XML이나 CSV처럼 어디서나 사용 가능한 개방형 표준 데이터 포맷(형식) 입니다.

앞서 말했듯 JSON은 개방형 표준 포맷으로 RFC 7159와 ECMA-404라는 두 개의 표준에 의해 기술되고 있으며, 공식 MIME 타입으로는 application/json을, 파일로 저장하게 되는경우 .json의 확장자를 가지게 됩니다.

기존 서버나 클라이언트간의 통신에는 XML 포맷을 사용하는것이 대세를 이루었지만 최근에는 여러가지 장점으로 인하여 JSON 포맷을 이용하는것이 대세가 되었습니다.

JSON은 key와 value를 가진 객체 표기법 이므로 자바, 파이썬, C#등의 객체지향 패러다임 언어에서 이용하는데 용이합니다.

 


JSON의 장점

•단순 텍스트이며 표기가 직관적이므로 사람이 이해하기 쉽습니다.
•속성과 값 쌍으로 이루어지므로 CSV와 다르게 특정 값이 어떤 의미를 지니는지 이해하기 쉽습니다.
•XML의 요소는 <name>Kim</name> 과 같이 여는 태그가 있으면 닫는 태그가 있기 때문에 데이터 자원 소모가 상대적으로 크지만 JSON은 key : value 방식이므로 상대적으로 데이터 자원 소모가 적습니다.
•거의 대부분이 HTTP를 이용한 웹 환경에서 데이터 교환이 이루어 지므로 데이터의 크기가 적다는 것은 매우 큰 의미를 지닙니다.
•특정한 언어나 플랫폼에 독릭접이므로, 규칙만 지켜주면 어떤 시스템간이든 교환이 가능합니다.
•대부분의 언어 및 플랫폼에서 JSON을 더욱 정교하게 다루기 위한 api를 제공하며, 브라우저에서도 json 파서를 내장하고 있습니다.


JSON 문법

자바 스크립트 언어에 익숙한 사람이라면 다음의 규칙은 매우 익숙할 것 입니다.


•JSON 객체는 중괄호 블록 "{", "}" 으로 표기합니다.
•JSON 배열은 대괄호 블록 "[", "]" 으로 표기합니다.
•속성(Key)과 값(Value) 쌍으로 이룹니다.
•속성과 값이 쌍을 이룰 때 콜론으로 구분하며 속성 : 값 형태로 표기합니다.
•속성은 쌍따옴표(")로 묶어 표기하며, 값은 자료형에 따라 표기 방법이 달라집니다. ex) "age" : 3
•속성이 여러개인 경우 ,(콤마)로 구분합니다.

 
[
    {
         "name" : "kim",
         "age"  : 19,
         "isAgree" : true,
         "hobby" : null
    },
    {
         "name" : "lee",
         "age"  : 18,
         "isAgree" : false,
         "hobby" : "cycle"
    }
]


자료형

정수 표기법

정수는 단순히 숫자로 표기하며, 언어에서 지원하는 2진수, 8진수, 16진수 등의 표현은 지원하지 않습니다.

만약 다른 진법 표기가 필요한 경우 문자열 표기를 이용하도록 합니다.


13
1224
-223
0
-21

실수(고정 소수점)


1.556
-33.5

실수(부동 소수점)

1e4
2.5e12
6.78E-5

Boolean 표기법

true
false

 

문자열

문자열은 쌍따옴표(") 로 묶여야 하며, 0개 이상의 유니코드 문자로 이루어집니다.

만약 줄바꿈(개행)이나 쌍따옴표, 슬래시 등의 표기가 필요한 경우 이스케이프 문법을 지원합니다.


"1234"
"Kim"
"김철수"
"\"안녕\""
"hello \n world"
 

문자열 데이터에 사용되는 이스케이프 문법

문자열 데이터는 쌍따옴표로 묶여야 하며 쌍따옴표 안에 사용되는 따옴표 역슬래시 등은 이스케이프 문법으로 처리해 주어야 합니다.

 

•\" 따옴표
•\t 탭
•\n 개행
•\f 폼 피드
•\r 캐리지 리턴
•\b 백스페이스
•\/ 슬래시
•\\ 역슬래시
•\uHHHH 16진수 네자리로되어 있는 유니코드 문자


배열

배열은 대괄호 "[", "]" 로 나타내며, 하나의 배열에는 C나 자바 언어와 같이 한 가지 자료형만을 가지는것이 아닌 여러가지 자료형을 요소로 가질 수 있습니다. 또한 배열의 각 요소는 콤마(,) 로 구분됩니다.


[10, "AA", {"a" : 3, "b" : "bb"}, true]
{"a" : 33, "b" : [30, 20, "사십"]}
 cs

 

'홈페이지제작 > JQuery' 카테고리의 다른 글

[jQuery 기초] jQuery 선택자 (Selector) 목록 정리  (0) 2018.07.02
jQuery 기본 구조  (0) 2017.10.06
블로그 이미지

itworldkorea

IT korea가 세상(world)을 변화시킨다.

,