본문 바로가기

반응형
SMALL

독서

(22)
[쉽게 배우는 데이터 통신과 네트워크] CH13. 웹(WWW) 01 웹 서비스1 클라이언트-서버 모델클라이언트가 웹 서버를 지칭할 때 사용하는 주소를 URL이라 한다.HTTP는 클라이언트의 요청과 서버의 응답 정보를 전송하기 위한 목적으로 구현된 프로토콜이다.클라이언트는 수신한 정보를 사용자가 볼 수 있게 웹 브라우저 화면에 표시한다.사용자가 화면을 보는 시점에는 클라이언트와 서버 사이에 어떠한 전송 계층의 연결도 존재하지 않는다.  2 APM의 웹 서비스 구조PHP는 유닉스나 리눅스 환경에서 주로 사용되며, 웹 서버 프로그램인 아파치와 데이터베이스 기능을 지원하는 MySQL이 서로 연동해 동작한다. 이 3가지를 통칭하여 APM(Apache, PHP, MySQL)이라 부른다. 2.1 APM의 동작 원리클라이언트 기능을 수행하는 웹 브라우저는 웹 서버 기능을 수행하는..
[쉽게 배우는 데이터 통신과 네트워크] CH12. 소켓을 이용한 네트워크 프로그래밍 01 소켓의 주소 체계와 서비스소켓은 운영체제에서 제공하는 통신 프로토콜을 편리하게 사용할 수 있도록 도와주는 역할을 한다. 1 소켓의 주소 체계소켓은 프로토콜 종류에 따라 다양한 방식으로 주소를 부여할 수 있다. 1.1 유닉스 주소 체계AF_UNIX로 표시된다.하나의 호스트 내부에서 실행되는 프로세스 사이의 통신을 지원한다.사용하는 주소 체계는 파일 시스템의 경로명을 기반으로 한다. struct sockaddr_un { short sun_family; // AF_UNIX char sun_path[108]; // pathname};🔼 유닉스 주소 체계를 지원하는 sockaddr_un 구조체의 예sun_family : 유닉스 주소 체계를 의미하는 AF_UNIX 값을 갖는다.sun_path : 소켓을 구분..
[쉽게 배우는 데이터 통신과 네트워크] CH11. 상위 계층의 이해 01 상위 계층 소개 02 세션 계층응용 환경에서 전송 계층이 제공하는 서비스를 손쉽게 이용하려면 사용자의 논리적 관점을 고려하여 단순한 사용자 인터페이스를 제공해야 한다. 1 세션 계층의 기능세션 연결은 응용 환경에서 두 응용 프로세서 간의 세션을 설정하기 위해 만든다.동기 문제를 처리한다. (통신 양단에서 서로 동의하는 논리적인 공통 처리 지점)메시지 전송 과정을 의미하는 대화 단계에서 오류가 발생하면, 이전에 설정한 동기점까지는 복구할 수 있다. 2 토큰세션 계층은 두 응용 프로세스의 대화를 관리하려고 토큰이라는 특수 메시지를 사용한다. 2.1 토큰 종류데이터 토큰: 데이터를 전송할 수 있는 권리를 제공한다.해제 토큰: 통신 양단 간의 연결 해제 과정을 제어하기 위해 사용한다.동기 토큰: 세션 연결..
[쉽게 배우는 데이터 통신과 네트워크] CH10. 전송 계층 01. UDP 프로토콜비연결형 서비스를 제공한다.헤더와 전송 데이터에 대한 체크섬 기능을 제공한다.Best Effort 전달 방식을 지원한다. 1. UDP 헤더 구조Source Port / Desination Port (송신 포트 / 수신 포트)송수신 프로세스에 할당된 네트워크 포트 번호호스트에서 실행되는 프로세스를 구분하는 데 이용한다.UDP 포트 번호는 TCP 포트 번호와 독립적으로 관리되고 할당된다.Length (길이)프로토콜 헤더를 포함한 UDP 데이터그램의 전체 크기Checksum (체크섬)프로토콜 헤더와 데이터에 대한 체크섬 값을 제공하여 수신 프로세스가 데이터그램 변형 오류를 감지할 수 있다.UDP는 데이터까지 체크섬을 계산한다. (IP 프로토콜은 헤더만 계산)필드 값이 0이면 오류 검출 기..
[개발자를 위한 레디스] 5장 레디스를 캐시로 사용하기 레디스와 캐시캐시란?캐시란 데이터의 원본보다 더 빠르고 효율적으로 액세스할 수 있는 임시 데이터 저장소를 의미한다.사용자가 동일한 정보를 반복적으로 액세스할 때 원본이 아니라 캐시에서 데이터를 가지고 옴으로써 리소스를 줄일 수 있다.애플리케이션이 다음 조건을 만족시킨다면, 캐시를 도입했을 때 성능을 효과적으로 개선할 수 있다.원본 데이터 저장소에서 원하는 데이터를 찾기 위해 검색하는 시간이 오래 걸리거나, 매번 계산을 통해 데이터를 가져와야 한다.캐시에서 데이터를 가져오는 것이 원본 데이터 저장소 데이터를 요청하는 것보다 빨라야 한다.캐시에 저장된 데이터는 잘 변하지 않는 데이터다.캐시에 저장된 데이터는 자주 검색되는 데이터다. 캐시로서의 레디스레디스는 단순하게 키-값 형태로 저장하므로, 데이터를 저장하..
[쉽게 배우는 데이터 통신과 네트워크] CH9. TCP 프로토콜 01. 전송 계층의 기능데이터 링크 계층은 단순히 물리적인 선로를 통해 데이터를 직접 전달하기 때문에 네트워크 계층의 중개 기능이 필요 없다.전송 계층은 중간에 위치한 논리적 네트워크의 중개 기능을 사용해 전송 기능을 수행한다. (다양한 논리적 자원 사용) 1. 전송 계층의 주요 기능1.1 흐름 제어양 끝단의 호스트에서 실행되는 네트워크 프로세스가 데이터를 주고받는데, 이 과정에서 필요한 주요 기능 중 하나이다.송신 프로세스가 보낼 수 있는 패킷의 한계를 지정하는 방법으로 문제를 해결한다. 1.2 오류 제어전송 오류가 발생하여 수신 데이터의 내용이 깨지거나 분실되면 데이터 재전송에 의한 오류 제어 기능에 의해 복구 절차가 진행된다.전송 계층에서 발생하는 오류는 논리적으로 구축된 각 계층의 소프트웨어가 동..
[쉽게 배우는 데이터 통신과 네트워크] CH8. 네트워크 계층 01. IPv6 프로토콜호스트 주소 공간을 대폭 확장한 IPv6는 기존 인터넷 환경에서 사용하는 IPv4를 대체하기 위한 차세대 프로토콜이다. ✓ 주소 공간 확장송수신 호스트의 주소를 표현하는 공간이 32비트에서 128비트로 확장되었다.이론적으로 호스트를 최대 2^128개까지 지원하여 무한으로 확장되는 인터넷 접속자를 모두 수용할 수 있다.개인이 무선으로 연결하는 유비쿼터스 장비가 기하급수적으로 보급되는 환경에도 쉽게 대처할 수 있다. ✓ 헤더 구조 단순화불필요한 필드가 제외되거나 확장 헤더 형식으로 변경되었다.기존에 과도하게 수행하는 오류 제어와 같은 오버헤드를 줄여 프로토콜의 전송 효율을 높이기 위함이다. ✓ 흐름 제어 기능 지원흐름 제어 기능을 지원할 수 있는 필드(Flow Label)을 도입해 일..
[쉽게 배우는 데이터 통신과 네트워크] CH7. IP 프로토콜 01. 네트워크 계층의 기능기본적으로 라우팅 기능을 제공하고, 라우팅 과정에서 일어나는 문제도 네트워크 계층에서 처리한다. 라우팅라우팅 테이블에 보관된 정보를 이용해 패킷이 목적지까지 도달하기 위한 경로를 선택한다.송수신 호스트 사이의 패킷 전달 경로를 선택하는 과정을 라우팅이라고 한다. 혼잡 제어네트워크에 패킷 수가 과도하게 증가하는 현상을 혼잡이라 하고, 혼잡 현상을 예방하거나 제거하는 기능을 혼잡 제어라 한다.특히 네트워크 특정 지역에서 혼잡이 발생하면, 특성상 주위로 빠르게 확산될 가능성이 높다. 패킷의 분할과 병합큰 데이터를 여러 패킷으로 나누는 과정을 패킷 분할이라 하고, 반대로 목적지에서 분할된 패킷을 다시 모으는 과정을 병합이라 한다. 1. 연결형 서비스와 비연결형 서비스 1.1 비연결형 ..

반응형
LIST