IWished
article thumbnail
CDN(Content Delivery Network)
Network 2023. 4. 9. 20:43

CDN(Content Delivery Network) 콘텐츠를 좀 더 빠르고 효율적으로 제공하기 위해 등장한 서비스 CDN의 특징 원본을 복사하여 저장할 여러 개의 캐시 서버로 구성 콘텐츠를 요청받은 경우 데이터를 전달하기 가장 유리한 캐시 서버에서 관련 콘텐츠를 제공 제공할 콘텐츠를 가지고 있으며 위치상으로 가장 가까운 캐시 서버가 우선순위를 가짐 Content Delivery Network는 콘텐츠를 좀더 빠르고 효율적으로 제공하기 위해 등장했다. 세계 곳곳에 분포하는 데이터 센터에 콘텐츠를 저장해 둔다이후 콘텐츠 요청을 받으면 지리적으로 가장 가까운 데이터 센터에서 콘텐츠를 제공해주는 방식이다. CDN의 동작 방식 데이터 센터가 지도와 같이 위치하고 있다고 가정하자. 원본 서버는 원본을 저장하고 있..

article thumbnail
프록시 캐시(Proxy Cache)
Network 2023. 4. 9. 20:22

프록시 캐시(Proxy Cache) 클라이언트, 혹은 반대로는 서버가 다른 네트워크에 간접적으로 접속할 수 있기 때문에, 보안, 캐싱을 통한 성능, 트래픽 분산 등의 장점을 가짐 한국에 있는 클라이언트에서 원하는 특정 데이터가 있는 원 서버가 미국에 있다고 했을 때, 한국에서 미국까지 직접 접근 후 이미지를 가져오는 시간이 0.5초 가량이라고 가정한다면, 한국에 있는 모든 클라이언트는 모두 0.5초 가량을 기다려야 해당 데이터를 받을 수 있다. 하지만, 현대의 우리는 유튜브와 같은 해외 사이트에서 위와 같은 불편함 없이 빠르게 영상을 시청하는 등의 일이 가능한데, 이는 클라이언트와 원 서버 사이에 위치한 프록시 캐시 서버를 도입했기 때문이다. 이처럼 프록시 캐시 서버를 도입하면 여러 사람이 찾은 자료일수..

article thumbnail
캐시(Cache)
Network 2023. 4. 9. 20:05

캐시의 기본 원리 및 적용 캐시가 없을 때 위의 이미지를 보면 알 수 있듯, 캐시가 없을 경우에 logo.jpg가 필요한 경우 계속 서버로 요청을 하게 된다. 이렇듯 캐시가 없다면 서버 부하가 생길 수 있고, 아래와 같은 단점들이 있다. 데이터가 변경되지 않아도 계속 네트워크를 통해 데이터를 다운로드 받아야함 인터넷 네트워크는 매우 느리고 비쌈 브라우저 로딩 속도가 느림 느린 사용자 경험 제공 캐시 적용 위와 같이 캐시를 적용할 경우 브라우저 캐시에 저장을 해놓고 필요한 부분을 거기서 다시 가져올 수 있다. 캐시 가능 시간동안 네트워크를 사용하지 않아도 됨 비싼 네트워크 사용량을 줄일 수 있음 브라우저 로딩 속도가 매우 빠름 캐싱된 데이터를 이용해 보다 빠른 사용자 경험을 제공함 캐시 시간 초과 캐시 적..

article thumbnail
로드밸런서(Load Balancer)
Network 2023. 4. 9. 19:40

로드밸런서 서비스 규모가 커지면 서버 한 대로는 모든 서비스를 수용할 수 없게 된다. 서버 한 대로 서비스를 제공할 수 있는 용량이 충분하더라도, 서비스를 단일 서버로 구성하면 해당 서버의 애플리케이션, 운영체제, 하드웨어에 장애가 발생했을 때 정상적인 서비스를 제공할 수 없다. 서비스 가용성(availability)를 높이기 위해 하나의 서비스는 보통 두 대 이상의 서버로 구성하는데, 각 서버 IP주소가 다르므로 사용자가 서비스를 호출할 때는 어떤 IP로 서비스를 요청할지 결정해야한다. 이 때, 사용자에 따라 호출하는 서버의 IP가 다르면, 특정 서버에 장애가 발생했을 때, 전체 사용자에게 영향을 미치지 않아 장애 범위는 줄어들겠지만, 여전히 부분적으로 서비스 장애가 발생하게 된다. 이러한 문제점을 해..

article thumbnail
프록시(Proxy)
Network 2023. 4. 9. 19:34

프록시 프록시의 사전적 의미는 대리, 대리권을 의미한다. 이와 마찬가지로 프록시 서버는 원 서버를 대리하여 통신하며 캐시, 로드밸런서, 보안 등 중계 역할을 하는 서버를 일컷는다. 프록시를 쓰는 이유는 보안상의 이유로 직접 통신할 수 없는 두 점 사이에서 프록시 서버가 대리로 통신을 수행하며 보안성, 성능, 안정성을 향상 시키기 위해서이다. 프록시 서버는 서버와 클라이언트 중간에 위치하기 때문에 클라이언트는 프록시 서버를 '서버'라고 인식하고, 서버는 프록시 서버를 '클라이언트'로 인식한다. 이러한 구조상 프록시 서버는 어디에 위치하느냐에 따라 포워드 프록시 혹은 리버스 프록시로 나뉜다. 포워드 프록시(Forward Proxy) 일반적인 프록시 서버는 포워드 프록시를 말하며 이는 클라이언트-서버 구조에서..

article thumbnail
[OSI 7계층/Application] 응용 계층 - HTTP
Network/OSI 7 Layer 2023. 4. 8. 22:55

Application Layer, 응용 계층 Application Layer은 OSI의 최상위 계층으로, 사용자 또는 애플리케이션이 네트워크에 접근할 수 있도록 해준다. 이는 사용자에게 보이는 유일한 계층으로, 메일 전송, 인터넷 접속 등의 작업을 수행한다. 사용되는 프로토콜으로는 HTTP, SMTP, SNMP, FTP, Telnet 등이 있다. 쉽게 말해 최종 사용자에게 가장 가까운 계층이며, 상호작용을 한다. 구글 크롬, 파이어폭스, 사파리 같은 웹브라우저 혹은 디스코드, 아웃룩 같은 응용 프로그램이 대표적이다. HTTP HTTP의 역사 가장 많이 사용하고 중요한 버전은 1.1 버전이며, 2 버전과 3 버전은 성능 개선에 초점을 맞추어 업그레이드 된 버전이다. 1.1 버전과 2 버전은 TCP, 3 버..

article thumbnail
[OSI 5계층/Application] 세션 계층 - Socket
Network/OSI 7 Layer 2023. 4. 8. 22:53

Socket 소켓의 사전적 의미는 "전구 따위를 끼워 넣어 전선과 접속되게 하는 기구"이다. 우리가 소켓이라는 단어를 들었을 때 흔히 전구 소켓을 떠올리는 것처럼, 네트워크에서 사용되는 소켓의 의미도 마찬가지로 프로그램이 네트워크에서 데이터를 송수신 할 수 있도록 해주는 ”네트워크 환경에서 클라이언트와 서버가 서로 연결할 수 있게 만들어진 연결부” 를 의미한다. 조금 더 명확하게 통용되고 있는 소켓의 정의로는 네트워크 상에서 동작하는 두 프로세스 간 통신의 종착점(EndPoint)이다. EndPoint란 IP 주소와 Port 번호의 조합으로 즉, 최종 목적지의 역할을 한다. 소켓은 애플리케이션 계층에 존재하는 프로세스들이 전송 계층의 네트워크를 통해 데이터를 통신할 수 있도록 연결해주는 연결부이다. 데이..

article thumbnail
[OSI 4계층/Transport] 전송 계층
Network/OSI 7 Layer 2023. 4. 8. 21:35

Transport Layer 전송 계층 전송 계층(4계층)은 세션 계층(5계층)을 통해 전송 받은 데이터를 전송 측에서는 전송 단위로 나누고, 수신 측에서는 재조립하여 세션 계층에서 사용할 수 있는 데이터로 되돌리는 역할을 한다. 이 때 전송 단위는 Segment이다. 즉, 양 끝단(End To End)의 사용자들이 신뢰성있는 데이터를 주고 받을 수 있도록 해주는 계층으로, 프로토콜은 TCP, UDP, RTP, SCTR, SPX, AppleTalk 등이 있다. TCP는 Segment 단위 UDP는 Datagram 단위 요약 최종 시스템 및 호스트 간의 데이터 전송을 조율함 보낼 데이터의 용량과 속도, 목적지 등을 처리하며 가장 잘 알려진 예로는 TCP/IP 프로토콜이다. TCP 프로토콜은 IP 프로토콜 ..