Border Gateway Protocol (BGP)

  • AS(Autonomous System) 사이의 연결을 위한 것: 최적의 경로를 선택
    •  AS: 자율 시스템, 작은 네트워크 → AS가 모여 인터넷을 형성하는 것
  • 서로 다른 인터넷을 연결하거나 서로 다른 ISP(KT, SKT, LG U+ 등..)와 동시에 접속할 때 사용하는 것

  • 이미지의 상황에선 Option 1이 선택될 것: "가장 빠르고 효율적인 경로"
  • 외부 BGP(eBGP): 인터넷상에서 경로 교환 및 트래픽 전송
  • 내부 BGP(iBGP): 자체 내부 네트워크 내에서의 라우팅
  • BGP hijacking: 
    • 각 AS들은 BGP를 이용하는 BGP 라우터들을 가지고 있고
    • 각  BGP 라우터는 AS 간의 최적 경로가 포함된 라우팅 테이블을 저장하고 있음
    • 이 라우팅 테이블은 각 AS가 자신이 소유한 새로운 IP 접두사를 브로드캐스트함에 따라 거의 실시간 업데이트
    • 업데이트 할 때 보안 문제가 생김!!(가장 최근 발생한 브로드캐스트를 신뢰한다.)

'Computer Science > Network' 카테고리의 다른 글

[VM] VirtualBox 네트워크 정리  (0) 2022.12.22
[Server] HTTPS와 SSL 인증서  (0) 2021.08.06
URI vs URL  (0) 2021.07.27
RESTful  (0) 2021.07.27

HTTP VS HTTPS

HTTP: Hypertext Transfer Protocol의 약자

HTTPS: S = "Over Secure Socket Layer"의 약자 

"즉 HTTPS는 보안이 강화된 HTTP"

 

HTTPS와 SSL

SSL 프로토콜 위에서 돌아가는 프로토콜을 HTTPS라 한다.(SSL ⊃ HTTPS)

 

나머지 참고) https://opentutorials.org/course/228/4894

 

HTTPS와 SSL 인증서 - 생활코딩

HTTPS VS HTTP HTTP는 Hypertext Transfer Protocol의 약자다. 즉 Hypertext 인 HTML을 전송하기 위한 통신규약을 의미한다. HTTPS에서 마지막의 S는 Over Secure Socket Layer의 약자로 Secure라는 말을 통해서 알 수 있듯이

opentutorials.org

 

'Computer Science > Network' 카테고리의 다른 글

[VM] VirtualBox 네트워크 정리  (0) 2022.12.22
BGP 개념  (0) 2022.11.30
URI vs URL  (0) 2021.07.27
RESTful  (0) 2021.07.27

URI

"Uniform Resource Identifier" (통합 자원 식별자)

 

URL

컴퓨터 네트워크 상에서 리소스가 어디 있는지 알려주기 위한 규약(URI의 서브셋)

 

"URI는 식별하고 URL은 위치를 가리킨다"

 

 

'Computer Science > Network' 카테고리의 다른 글

[VM] VirtualBox 네트워크 정리  (0) 2022.12.22
BGP 개념  (0) 2022.11.30
[Server] HTTPS와 SSL 인증서  (0) 2021.08.06
RESTful  (0) 2021.07.27

REST

"Representational State Transfer"

  • 자원을 이름으로 구분하여 해당 자원의 상태를 주고 받는 모든 것을 의미
  • 자원(resource)의 표현(representation)에 의한 상태 전달
    • 자원: 소프트웨어가 관리하는 모든 것(문서, 그림 등)
    • 자원의 표현: 자원을 표현하기 위한 이름(DB의 학생정보가 자원이면 'students'는 자원의 표현
    • 상태 전달: JSON 혹은 XML을 통해 데이터를 주고 받는다
  • HTTP URI(Uniform Resource Identifier)를 통해 자원(Resource)을 명시하고, HTTP Method(POST, GET, PUT, DELETE)를 통해 해당 자원에 대한 CRUD Operation을 적용하는 것을 의미한다.
  • 필요한 이유
    • 애플리케이션 분리 및 통합
    • 다양한 클라이언트의 등장
    • 최근의 서버프로그램은 다양한 브라우저와 안드로이드폰, 아이폰과 같은 모바일 디바이스에서도 통신을 할 수 있어야한다.
  • 구성요소
    • 자원(Resource): URI
    • 행위(Verb): HTTP Method
    • 표현(Representation of Resource): JSON, XML, TEXT, RSS
  • 특징
    • Server-Client: 서로간 의존성이 줄어든다.
    • Stateless: Client의 context(세션, 쿠키..)를 Server에 저장하지 않는다.
    • Cacheable: 웹 표준 HTTP 프로토콜을 그대로 사용하므로 웹에서 사용하는 기존의 인프라를 그대로 활용 가능
    • Layered System
    • Code-On-Demand: Server로부터 스크립트를 받아 Client에서 실행한다.(Optional)
    • Uniform Interface: URI로 지정한 Resource에 대한 조작을 통일되고 한정적인 인터페이스로 수행한다.

REST API

  • REST 기반으로 서비스 API를 구현한 것(API: Application Programming Interface)
  • 특징
    • 사내 시스템들도 REST 기반으로 시스템을 분산해 확장성과 재사용성을 높여 유지보수 및 운용을 편리하게 할 수 있다.
    • REST는 HTTP 표준을 기반으로 구현하므로, HTTP를 지원하는 프로그램 언어로 클라이언트, 서버를 구현할 수 있다.

❗ REST API 설계 규칙에 관해서는 https://gmlwjd9405.github.io/2018/09/21/rest-and-restful.html 를 확인하자 ❗

 

RESTful

  • 일반적으로 REST라는 아키텍처를 구현하는 웹 서비스를 나타내기 위해 사용되는 용어
  • "REST 원리를 따르는 시스템을 지칭"
  • 목적
    • 이해하기 쉽고 사용하기 쉬운 REST API를 만드는 것
    • 일관적인 컨벤션을 통한 API의 이해도 및 호환성을 높이는 것
    • 성능이 중요한 상황에선 굳이 RESTful한 API를 구현할 필욘 없다!

 

❗ 아마 url, uri와 관련이 깊은 것으로 생각된다.. 다음 내용으론 url과 uri의 차이를 알아봐야겠다 ❗

'Computer Science > Network' 카테고리의 다른 글

[VM] VirtualBox 네트워크 정리  (0) 2022.12.22
BGP 개념  (0) 2022.11.30
[Server] HTTPS와 SSL 인증서  (0) 2021.08.06
URI vs URL  (0) 2021.07.27

+ Recent posts