CS Repo 49

네트워크 장비/기기의 종류와 역할 총정리

본 게시글은 그림으로 공부하는 TCP/IP 구조 도서를 참고하였습니다.네트워크 구성 기기네트워크 구성 기기는 각각 자신이 속한 계층까지만 처리할 수 있다.지금부터 각 계층에 속하는 기기들을 알아보자.물리 계층역할물리적인 사양에 관하여 모두 정의되어 있는 것들을 담당한다.케이블/커넥터 형태핀 할당(핀 배열)패킷의 컨버팅광 신호(케이블)/전기 신호(LAN)으로 변환전파로 변조다루는 PDU: 비트종류NIC, 리피터, 리피터 허브, 미디어 컨버터, 액세스 포인트각각 어떠한 장치들인지 알아보자.NICNetwork Interface Card기본 기능모든 네트워크 단말(스마트폰/PC/태블릿 등)은 애플리케이션이나 운영체제가 처리한 패킷을 NIC를 이용해 LAN 케이블이나 전파로 보내게 된다.네트워크 인터페이스/네트워..

PDU, PCI, SDU란?

통신 프로토콜은 일반적으로 여러 계층으로 나뉘며, 각 계층은 상위 계층에서 전달받은 데이터를 포장해 하위 계층으로 전달한다.이때 등장하는 SDU, PCI, PDU의 의미에 대해 알아보자.SDU (Service Data Unit)상위 계층이 하위 계층에 전달하는 서비스 단위를 의미한다.특징상위 계층의 사용자 데이터를 그대로 포함하며, 아직 하위 계층의 제어 정보(header, trailer 등)가 첨가되지 않은 상태이다.하위 계층에서는 이 SDU에 자신의 프로토콜 제어 정보(PCI 등)를 덧붙여 PDU를 생성한다.PCI (Protocol Control Information)각 계층의 하위 계층이 부가하는 제어 정보로, 데이터의 처리 및 전달, 오류 검출·수정, 흐름 제어, 순서 보장 등의 역할을 수행한다...

네트워크와 프로토콜

네트워크의 역사와 발전과정, 네트워크의 기본 구조를 살펴보도록 하자.네트워크란?네트워크의 역사1960년대시분할 시스템(Time Sharing System)과 네트워크과거 1960년대에는, 한대의 대형 컴퓨터의 처리를 짧은 시간으로 나누어 여러 사람이 사용하도록 만들었다.따라서, TSS 단말에서 대형 컴퓨터에 전화를 걸어 접속한 뒤, 마치 이를 전용 컴퓨터처럼 취급하였다.이것이 네트워크의 시초이다.1970년대ARPANET데이터를 패킷이라 부르는 작은 단위로 잘라서 취급하는 패킷 교환 방식이 도입되었다.네트워크의 데이터 전송 방식네트워크의 데이터 전송 방식에는 크게 두가지가 있다.회선 교환 방식(Circuit Exchange Method)일대일 전송로를 먼저 만들고, 교환을 마칠때까지 전송로를 계속 사용하는..

웹 캐시

본 내용은 "HTTP 완벽 가이드" 와 모든 개발자를 위한 HTTP 웹 기본 지식 내용을 참고하여 기록한 정리본입니다.정말 중요한 챕터이다.반드시 이해하고 넘어가야 한다.캐시의 장점불필요한 데이터 전송을 제거같은 데이터가 반복해서 요청될 경우, 네트워크 대역폭이 낭비되는 공간이 생길 수 있다.데이터 저장을 계층화하여, 중복된 트래픽을 제거할 수 있다.네트워크 병목을 제거클라이언트가 서버에 접근할 때의 속도 = 그 경로에 있는 가장 느린 네트워크의 속도이다.일반적으로 원격 서버보다 로컬 네트워크가 더 넓은 대역폭을 제공하기 때문에,빠른 LAN에 있는 캐시로부터 사본을 가져오면, 성능 개선이 가능하다.오프로딩(Offloading)원서버에 대한 요청 수를 완화할 수 있다.갑작스런 요청 쇄도에 의한 원 서버의 ..

프록시

본 내용은 "HTTP 완벽 가이드" 내용을 참고하여 기록한 정리본입니다.프록시 - 웹 중개자프록시란?트랜잭션을 수행하는 중개자이다.프록시 서버에 추가적인 서비스를 삽입할 수 있다.웹 서버이자 웹 클라이언트의 역할을 동시에 수행한다.따라서, HTTP 클라이언트와 HTTP 서버 양쪽의 규칙을 모두 준수해야 한다.프록시의 분류개인 프록시와 공유 프록시공용 프록시여러 클라이언트가 함께 사용하는 프록시이다.캐시 프록시로 동작할 수 있다.개인 프록시단일 클라이언트를 위해 사용되는 프록시이다.SSH 터널링을 지원할 때 사용하거나,섀도삭스와 같은 프로그램에서 사용한다.프록시 vs 게이트웨이프록시동일한 프로토콜을 사용하는 두 개 이상의 애플리케이션을 연결한다.단순 중개자의 역할을 수행한다.게이트웨이서로 다른 프로토콜을 ..

웹 서버

본 내용은 "HTTP 완벽 가이드" 내용을 참고하여 기록한 정리본입니다.웹 서버일반적으로 웹 서버는 HTML, CSS, JS, 이미지 등 정적 파일을 제공하는 역할로 많이 알려져 있지만, 동적 콘텐츠와 애플리케이션 로직을 제공하기 위해 다른 프로세스나 내부 모듈과 연동하기도 한다.또한 SSL/TLS 암호화 같은 보안 계층을 고려하거나, 가상 호스팅을 통해 여러 사이트를 한 서버에서 운영하는 등 부가적인 기능을 수행한다.주요 키워드커넥션 아키텍처docroot응답 메시지 생성 방식리다이렉션 방식웹 서버의 종류다목적 소프트웨어 웹 서버아파치Nginx임베디드 웹 서버MongooseGoAhead WebServer진짜 웹 서버가 하는 일웹 서버는 기본적으로, 다음과 같은 7단계의 뼈대를 기반으로 동작한다.클라이언트..

HTTP 커넥션 관리 최적화 기법

본 내용은 "HTTP 완벽 가이드" 내용을 참고하여 기록한 정리본입니다.사전지식: 커넥션 헤더의 오해커넥션 헤더의 내용두 개의 인접한 HTTP 애플리케이션 사이에서, “현재 맺고 있는 커넥션”에만 적용할 옵션을 지정하고자 할 때 사용하는 헤더.예를 들어, 특정한 임시 헤더(meter)나 비표준 옵션(bill-my-credit-card), 연결 종료(close) 등에 대한 정보를 전달한다.meter 같은 헤더는 다른 커넥션으로 전달되면 안 된다.bill-my-credit-card와 같은 옵션을 선택할 수 있다.트랜잭션이 끝나면 커넥션을 끊겠다는 의사를 close로 밝힐 수 있다.커넥션 헤더의 동작 방식HTTP 헤더 필드 명“이 커넥션에만” 해당되는 헤더 이름을 지정한다. 예: Connection: mete..

HTTP에서 바라본 TCP 커넥션 관리 방식

본 내용은 "HTTP 완벽 가이드" 내용을 참고하여 기록한 정리본입니다.게시할 내용HTTP의 커넥션 사용 방식TCP의 구조TCP 지연TCP 병목TCP 막힘흐름제어/혼잡제어HTTP 네트워크 프로토콜 스택HTTP는 전송 계층인 TCP 위에서 동작하며, IP 계층을 통해 패킷이 전달된다. 이 과정에서 여러 계층을 거치기 때문에, 각 계층이 가진 헤더(메타데이터)들이 포함되어 전송된다.HTTPSHTTPS는 위의 HTTP 네트워크 프로토콜 스택에 SSL/TLS를 위한 보안 계층을 추가한 프로토콜이다. SSL/TLS 계층에서 암호화, 무결성 보장, 인증 등의 과정을 거친 후에 TCP 계층에 데이터를 전달하기 때문에, 일반 HTTP보다 연결 과정이 조금 더 복잡하고 느리다.그러나 전송되는 내용이 암호화되어 보안성을 ..

HTTP 메시지

본 내용은 "HTTP 완벽 가이드" 내용을 참고하여 기록한 정리본입니다.게시할 내용메시지는 어떻게 흘러가는가HTTP 메시지의 세 부분시작줄헤더바디요청과 응답 메시지의 차이요청 메시지가 지원하는 여러 메소드들응답 메시지가 반환하는 여러 상태 코드들HTTP 헤더들은 각각 무슨일을 하는가메시지는 어떻게 흘러가는가요청과 응답이라는 두 가지 형식으로 통신하며, 클라이언트-서버 간의 데이터를 교환한다.메시지는 크게 시작줄, 헤더, 바디 세 부분으로 이루어져 있다.요청 메시지와 응답 메시지는 기본 구조는 유사하지만, 시작줄에서 사용하는 구문이 다르다.요청 메시지는 메소드, URL, 버전으로 시작한다.응답 메시지는 버전, 상태코드, 사유구절로 시작한다.HTTP 메시지의 세 부분시작줄요청 메시지: 메소드 URL HTTP..

URL과 리소스

본 내용은 "HTTP 완벽 가이드" 내용을 참고하여 기록한 정리본입니다.게시할 내용URL 문법 및 컴포넌트URL의 각 구성 요소가 가지는 의미와 역할을 설명한다.단축 URL여러 웹 클라이언트에서 지원하는 상대 URL과 확장 URL 등 단축 URL에 관한 내용을 다룬다.URL 인코딩 및 문자 규칙URL 작성 시 사용되는 인코딩 방식과 문자 사용 규칙에 대해 설명한다.공통 URL 스킴다양한 인터넷 정보 시스템에서 채택하는 URL 스킴에 대해 살펴본다.URNURL과는 구분되는 리소스 명명 방식인 URN에 대해 설명한다.URI란?URI는 리소스를 식별하는 방식으로, HTTP와는 별개로 독립적인 개념이다. 주로 다른 프로토콜과 결합되어 특정 리소스를 명시하는 데 사용된다.리소스 명명 방식URI는 리소스를 이름으로..