Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[2주차 과제] L4, L7 스위치, Restful 에 대하여 #6

Open
khyojun opened this issue Oct 27, 2024 · 0 comments
Open

[2주차 과제] L4, L7 스위치, Restful 에 대하여 #6

khyojun opened this issue Oct 27, 2024 · 0 comments
Assignees
Labels
assignment sopt35 assignment

Comments

@khyojun
Copy link
Member

khyojun commented Oct 27, 2024

L4 Switch

비용

  • 2계층, 3계층까지 보통 다 포함하고 있어서 비용이 조금 비싸다.

역할(IP, PORT 기반)

  • 로드밸런싱: 서버 부하가 되지 않도록 네트워크 트래픽을 여러 서버 네트워크 경로에 분산 처리
  • Quality of Service (QoS): 애플리케이션 유형에 따라 네트워크 트래픽을 조절하여 더 빠른 응답을 처리할 수 있도록 할 수 있다.
  • Packet Filtering : 패킷을 어디로 보내야하는지 ip, port 를 보고 알 수 있다.
  • Session Persistence : connection 이 유지되도록 해준다.
  • Security Features : ACL (액세스 제어 목록) 및 심층 패킷 검사를 수행하는 기능도 해준다. 그래서 어떤 기준에 따라 트래픽을 허용하거나 거부하여 네트워크 전반적인 보안 기능을 제공해준다.

알 수 있는 정보

  • 그러면? L4 Switch 는 4계층을 담당 → 4계층? TransPort 계층
  • 어떤 IP 로 들어왔고 어떤 Port 로 가야하는지 알 수 있을 거 같다.
  • 패킷의 헤더 정보들을 통해 어디로 가야하는지 목적지를 알 수 있다.
  • 어떤 프로토콜(TCP, UDP) 로 들어왔는지 확인할 수 있다.
  • 그래서 예를 들면 http://~~~/

https://www.cables-solutions.com/what-is-layer-4-switch-and-how-does-it-work.html

L7 Switch

비용

비싸다! 왜냐하면 다른 스위치 기능까지 포함할 수 있기 때문에 거기다가 분석할 정보들이 상당히 많기 때문에!

역할(패킷 내용 기반)

  • 패킷의 포트 정보뿐만 아니라 페이로드까지 분석해 로드밸런싱 한다.
  • 패킷의 내용(URL, 캐시, 쿠키 등)을 분석해 요청을 분배
  • Application 계층의 로드 밸런싱이 가능하다.
  • WAF 라는 웹 애플리케이션 방화벽 기능이 있기에 악성 요청 필터링이나 인증 및 접근 제어를 통해
  • HTTP, HTTPS 구분을 위해 우리가 사용하는 Aws 의 Application Load Balancer 가 L7 스위치 역할을 해줌
  • 실제로 브라우저 User-Agent 헤더 정보를 통해 어떤 브라우저에서 들어오는지에 따라 다르게 보여줄 수도 있음!

알 수 있는 정보

  • 페이로드, 패킷 내용 구체적으로 거의 다 알 수 있음

차이점

  • L4 스위치는 페이로드에 대해 신경쓰지 않지만, L7 스위치는 세션을 분리하고 철저하게 클라이언트/서버로 동작
  • L7 스위치는 L4 스위치에서 보지 못한 정보들에 대해 알 수 있으니 이 정보를 바탕으로 부하 분산이 가능하다.

https://aws-hyoh.tistory.com/149

https://aws-hyoh.tistory.com/65

https://myminju.tistory.com/108

결론

  • L4 스위치 : 포트 기반으로 패킷 처리
  • L7 스위치 : 포트 + 페이로드(데이터) 기반으로 데이터 처리, 세션을 분리하고 자신이 철저하게 클라/서버로 동작

What is RESTful?

  • REST : REST는 일련의 웹 API 아키텍처 원칙입니다. [REST API](https://www.ibm.com/kr-ko/topics/rest-apis) (RESTful API라고도 함)는 특정 REST 아키텍처 제약 조건을 준수하는 API입니다. REST API는 GET, PUT, HEAD 및 DELETE와 같은 HTTP 요청을 사용하여 리소스와 상호 작용합니다. REST를 사용하면 데이터를 리소스로 사용할 수 있으며 각 리소스는 고유한 URI로 표시됩니다. 클라이언트는 해당 URI를 제공하여 리소스를 요청합니다.

REST 구성

쉽게 말해 REST API는 다음의 구성으로 이루어져있습니다. 자세한 내용은 밑에서 설명하도록 하겠습니다.

  • 자원(RESOURCE) - URI
  • 행위(Verb) - HTTP METHOD
  • 표현(Representations)

가장 큰 핵심

REST API 설계 시 가장 중요한 항목은 다음의 2가지로 요약할 수 있습니다.

첫 번째, URI는 정보의 자원을 표현해야 한다.

두 번째, 자원에 대한 행위는 HTTP Method 로 표현한다.

그래서 restful 하다고 정의를 내릴때는 여러가지 규칙들이 다 따라야하니까 어떠한

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
assignment sopt35 assignment
Projects
None yet
Development

No branches or pull requests

1 participant