We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
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
OSI 7계층 은 개념적으로 사용되는 표준 모델이고, TCP/IP 4계층 은 현실에서 실질적인 통신을위해 사용하는 더 실용적인 모델이다!
OSI 7계층
TCP/IP 4계층
(미미나 자료에서 발췌)
그림을 살펴보면 My Phone(송신측)에서 캡슐화해서 전달한 데이터가 Instagram(수신측)에서 역캡슐화 된다.
캡슐화
역캡슐화
로드밸런싱(Load Balancing)
로드밸런서(Load Balancer)
☁️ 로드밸런서인 L4, L7에 대해서 자세하게 알아보자 !! ☁️
L7과 L4의 로드 밸런싱은 모두 트래픽을 여러 서버에 나누어 주는 역할을 하지만, 처리하는 방식이 다르다.
❗일단 결론부터 말하자면, 요청의 내용을 얼마나 깊이 분석하느냐? 의 차이 ❗
L4 스위치
IP, TCP/UDP **포트 번호를 기준(포트 기반 라우팅)**으로 클라이언트 요청을 여러 서버에 분배한다. 즉, HTTP(포트 80)와 HTTPS(포트 443)와 같은 요청을 구분할 수 있다
→ 어떤 요청이 어떤 서버에 가는지에 대한 관리는 어렵다.
L7 스위치
요청의 내용을 기반으로 하여 트래픽을 분배한다.
아래와 같이, 클라이언트가 요청한 URL, HTTP 헤더, 쿠키, API 경로 등을 분석하여 적절한 서버에 요청을 전달함으로써 더 세밀하게 로드 밸런싱한다.
예를 들어, /images 경로는 이미지 서버로, /api 경로는 API 서버로 라우팅할 수 있다.
앞서 살펴 본 내용을 토대로.. 당연히 L7이 더 비싸다.
L4 로드 밸런서
“단순한 부하 분산”
L7 로드 밸런서
“결제만 담당하는 서버, 회원가입만 담당하는 서버 등.. 작은 단위로 요청을 각각의 서버에 분산”
→ HTTP 쿠키나 세션 데이터를 분석해, 사용자가 처음 접속한 서버로 계속 요청을 보내어 일관된 세션 관리를 가능하게 한다.
(ex :: L4) AWS의 Elastic Load Balancer(ELB)
여기서 백엔드 개발자는 특정 포트로 들어오는 트래픽을 어떻게 분배할지 정의한다.
(ex :: L7) Nginx
http { upstream app1 { server app1.example.com; } upstream app2 { server app2.example.com; } server { location /app1/ { proxy_pass http://app1; } location /app2/ { proxy_pass http://app2; } } }
🧔🏻 OSI 7계층에 대해서 설명해 주세요
💬 실제로 현업에서 자주 사용되는 계층은 주로 4계층이다. 하위 계층으로 갈수록 더 단순하고 기본적인 작업을 처리해야 하기 때문에, 하위 계층은 비교적 “바보같이” 동작하는 것이 효율적입니다.
L4는 IP 주소와 포트 번호만을 기반으로 트래픽을 분배합니다. 이 계층은 IP 정보 외에 더 많은 정보를 알지 못하므로, 매우 단순하게 동작합니다.
L7은 앞단에서 받은 데이터로부터 HTTP, URL, 쿠키와 같은 애플리케이션 데이터를 분석할 수 있으므로, 더 세밀한 방식으로 트래픽을 라우팅할 수 있습니다.
REST란 HTTP URI를 통해 자원(Resource)을 이름으로 구별하고, HTTP Method(POST, GET, PUT, DELETE, PATCH 등)를 통해 해당 자원의 상태를 주고받는 것을 의미한다.
REST
참고문헌
The text was updated successfully, but these errors were encountered:
choyeongju
No branches or pull requests
⭐ TODO
Switch? - L4, L7
OSI 7계층?4계층?
OSI 7계층
은 개념적으로 사용되는 표준 모델이고,TCP/IP 4계층
은 현실에서 실질적인 통신을위해 사용하는 더 실용적인 모델이다!IP
캡슐화/역캡슐화
(미미나 자료에서 발췌)
그림을 살펴보면 My Phone(송신측)에서 캡슐화해서 전달한 데이터가 Instagram(수신측)에서 역캡슐화 된다.
캡슐화
계층마다 필요한 정보(헤더)를 붙여서 다음 계층으로 보낸다.역캡슐화
받는 쪽에서 헤더를 하나씩 제거한다.Routing
L4, L7 Switch 역할_Load Balancing의 차이?
로드밸런싱(Load Balancing)
이란,로드밸런서(Load Balancer)
라고 한다.☁️ 로드밸런서인 L4, L7에 대해서 자세하게 알아보자 !! ☁️
L7과 L4의 로드 밸런싱은 모두 트래픽을 여러 서버에 나누어 주는 역할을 하지만, 처리하는 방식이 다르다.
❗일단 결론부터 말하자면, 요청의 내용을 얼마나 깊이 분석하느냐? 의 차이 ❗
L4 스위치
IP, TCP/UDP **포트 번호를 기준(포트 기반 라우팅)**으로 클라이언트 요청을 여러 서버에 분배한다. 즉, HTTP(포트 80)와 HTTPS(포트 443)와 같은 요청을 구분할 수 있다
→ 어떤 요청이 어떤 서버에 가는지에 대한 관리는 어렵다.
L7 스위치
요청의 내용을 기반으로 하여 트래픽을 분배한다.
아래와 같이, 클라이언트가 요청한 URL, HTTP 헤더, 쿠키, API 경로 등을 분석하여 적절한 서버에 요청을 전달함으로써 더 세밀하게 로드 밸런싱한다.
예를 들어, /images 경로는 이미지 서버로, /api 경로는 API 서버로 라우팅할 수 있다.
비용
앞서 살펴 본 내용을 토대로.. 당연히 L7이 더 비싸다.
사용상황
L4 로드 밸런서
“단순한 부하 분산”
L7 로드 밸런서
“결제만 담당하는 서버, 회원가입만 담당하는 서버 등.. 작은 단위로 요청을 각각의 서버에 분산”
→ HTTP 쿠키나 세션 데이터를 분석해, 사용자가 처음 접속한 서버로 계속 요청을 보내어 일관된 세션 관리를 가능하게 한다.
Server가 위의 내용들을 알아야 하는 이유는? ~~
(ex :: L4) AWS의 Elastic Load Balancer(ELB)
여기서 백엔드 개발자는 특정 포트로 들어오는 트래픽을 어떻게 분배할지 정의한다.
(ex :: L7) Nginx
미미나 리마인드 : 면접 Tip
🧔🏻 OSI 7계층에 대해서 설명해 주세요
💬 실제로 현업에서 자주 사용되는 계층은 주로 4계층이다. 하위 계층으로 갈수록 더 단순하고 기본적인 작업을 처리해야 하기 때문에, 하위 계층은 비교적 “바보같이” 동작하는 것이 효율적입니다.
L4는 IP 주소와 포트 번호만을 기반으로 트래픽을 분배합니다. 이 계층은 IP 정보 외에 더 많은 정보를 알지 못하므로, 매우 단순하게 동작합니다.
L7은 앞단에서 받은 데이터로부터 HTTP, URL, 쿠키와 같은 애플리케이션 데이터를 분석할 수 있으므로, 더 세밀한 방식으로 트래픽을 라우팅할 수 있습니다.
What is RESTful?
REST
란 HTTP URI를 통해 자원(Resource)을 이름으로 구별하고, HTTP Method(POST, GET, PUT, DELETE, PATCH 등)를 통해 해당 자원의 상태를 주고받는 것을 의미한다.기준
클라이언트가 좋아할만한 API PATH?! - RESTful ..
→ 유지보수 및 호환성 문제
→ 이를 통해 계층적인 URI 구조를 갖게끔 해서, 확장이 편리하게 하면 좋겠다.
→ 예를 들어, 파일 확장자는 api path에서 클라이언트가 알 필요가 없다. 클라이언트는 리소스만 요청하게끔 하자~
참고문헌
The text was updated successfully, but these errors were encountered: