HTTP 헤더는 무엇일까? HTTP 헤더 --HTTP 메시지에서필드 라인에 다양한 HTTP 헤더들이 명시된다. 요청 메시지에 주로 사용되는 헤더HostUser-AgentRefererAuthorization Host는요청을 보낼 호스트를 나타내는 헤더로,주로 도메인 네임으로 명시되며, 포트 번호도 포함될 수 있다.Host: www.google.com-- http://www.goolge.com/example/test에 요청 보낸 경우의 Host 헤더 값 User-Agent는웹 브라우저처럼 HTTP 요청을 시작하는 클라이언트 측의 프로그램을 나타내는 헤더로,요청을 보낸 클라이언트의 정보가 명시된다.즉, 요청 메시지를 생성하는데 관여한 클라이언트 프로그램과 관련된 다양한 정보가 명시된다.User-Ag..
CS/네트워크

HTTP는 무엇인가? HTTP (HyperText Transfer Protocol) --HTTP는응용 계층에서 정보를 주고받는 데 사용되는 프로토콜로,웹에서 클라이언트와 서버 간에 데이터를 주고받기 위한 프로토콜이다. HTTP의 중요한 특성요청과 응답을 기반으로 동작미디어 독립적상태를 유지하지 않음 (Stateless)지속 연결을 지원 요청-응답 기반 프로토콜HTTP는 클라이언트-서버 구조 기반의 요청-응답 프로토콜이다.클라이언트는 서버에게 요청 메시지를 보내고,서버는 클라이언트에게 응답 메시지를 보내는 방식처럼클라이언트와 서버가 서로 HTTP 요청 메시지와 응답 메시지를 주고받는 구조다.즉, 클라이언트는 리소스를 요청하고, 서버는 해당 요청에 따라 리소스를 제공하거나 결과를 반환한다. 그래서..

DNS는 무엇이고 어떻게 동작할까? 도메인 네임 & 네임 서버 --네트워크에서는 특정 호스트를 가리키기 위해 IP 주소를 사용한다.하지만 목적지 주소를 IP로만 사용하기에는 모든 호스트의 IP 주소를 기억해야 하며, 호스트의 IP 주소는 언제든 변경될 수 있듯이 많은 번거로움이 존재한다. 그래서 일반적으로는 특정 호스트를 IP 주소로 가리키지 않고 "도메인 네임(Domain Name)"을 많이 사용한다. 도메인 네임 (Domain Name)은호스트의 IP 주소와 대응하는 문자열 형태의 주소다.- www.naver.com- www.google.com "IP 주소"와 "도메인 네임"의 관계는전화번호부에 "전화번호"와 "이름"의 관계와 비슷하다.정석대로라면 특정 전화번호를 입력하여 통화를 해야 하지만..

TCP의 특징인 오류, 흐름, 혼잡 제어는 어떻게 동작할까? TCP의 오류 제어, 흐름 제어, 혼잡 제어 --TCP의 중간 과정인 데이터 송수신 과정에서발생하는 오류 제어, 흐름 제어, 혼잡 제어는모두 TCP의 신뢰성을 보장하기 위한 기능이다. TCP는 재전송을 기반으로 다양한 오류를 제어하고, 흐름 제어를 통해 처리할 수 있는 만큼의 데이터만을 주고받으며,혼잡 제어를 통해 네트워크가 혼잡한 정도에 따라 전송량을 조절하여 데이터를 안전하게 송수신할 수 있도록 한다.-- 오류 제어 (재전송 기법) --신뢰성을 보장하기 위해서는 "오류"를 제어할 수 있어야 하는데이를 위해 TCP는 잘못된 서그먼트를 재전송하는 방법을 사용한다. TCP 세그먼트에는 오류 검출을 위한 "체크섬" 필드가 존재하지만..

TCP와 UDP는 어떻게 통신할까? TCP 통신 (Transmission Control Protocol) --TCP는신뢰할 수 있는 통신을 위한 연결형 프로토콜이다. TCP 통신의 단계를 크게 3단계로 나눌 수 있다.통신하기 전에 연결하기데이터 통신 수행통신이 끝나면 연결 종료하기 MTU (Maximum Transmission Unit)은네트워크를 통해 전송할 수 있는 데이터의 최대 크기를 의미한다.여기서 "IP MTU"는 IP 네트워크에서 하나의 IP 패킷이 가질 수 있는 최대 크기를 의미한다.MSS (Mazimum Segment Size)는TCP에서 사용하는 개념으로 TCP로 한 번에 전송할 수 있는 최대 데이터 크기를 의미한다.해당 데이터는 TCP 세그먼트에서 실제 데이터(Payload)..

전송 계층에 관하여 전송 계층 --전송 계층은신뢰할 수 있는 통신과 연결형 통신을 가능하게 하여IP의 한계를 극복하고, 포트 번호를 통해 응용 계층의 애플리케이션 프로세스들을 식별하는 역할을 수행한다. 네트워크 계층의 IP는 "신뢰할 수 없는 통신"과 "비연결형 통신"을 수행하게 된다.신뢰할 수 없는 통신 = IP 프로토콜의 패킷이 수신지까지 정상적으로 전달되었는지 보장하지 않는다.즉, IP 프로토콜은 데이터 패킷을 목적지까지 전달해 주지만,도중에 손실되거나 손상된 패킷이 있어도 이를 감지하거나 복구하지 않는다.그리고 네트워크 혼잡, 라우터 문제 등으로 인해 패킷이 손실되거나 순서가 뒤바뀌거나, 중복되거나, 지연되면IP는 이를 해결하지 않는다.간단하게 "전송은 하지만 결과에 대해서는 어떠한 ..

라우팅은 무엇인가? 라우팅 (Routing) --라우팅은라우터의 핵심 기능으로패킷이 이동할 최적의 경로를 설정한 뒤에 해당 경로로 패킷을 이동시키는 것을 의미한다. 라우터 (Router)는네트워크 계층의 핵심 기능을 담당하는 장치로서로 다른 네트워크를 연결하고, 데이터를 적절한 목적지로 전달하는 역할을 수행하는 네트워크 장비다.허브 or 스위치보다 높은 계층에 속하는 장비로기능적으로는 사실상 컴퓨터와 매우 유사하다고 볼 수 있다.(가정환경에서는 공유기가 라우터의 역할을 대신하며, 이를 "홈 라우터"라고도 부른다.)(사실 공유기는 라우터 기능뿐만 아니라 "NAT", "DHCP 서버", "방화벽" 등 다양한 장치의 기능이 함축된 네트워크 장비다.)멀리 떨어져 있는 호스트 간의 통신 과정에서패킷은 서..

IP 주소에 대해서 네트워크 주소 & 호스트 주소 --IP 주소는 크게 2가지 파트로 나누어진다.네트워크 주소 : 인터넷에서 각 네트워크를 식별하기 위한 주소 파트 (네트워크 ID, 네트워크 식별자 등으로 부르기도 한다.)호스트 주소 : 네트워크에서 각 장치를 식별하기 위한 주소 파트(호스트 ID, 호스트 식별자 등으로 부르기도 한다.) 위 그림처럼네트워크 주소에 하나의 옥텟을 사용한다면, 호스트 주소 할당에 3개의 옥텟을 사용할 수 있어서 상대적으로 많은 호스트에 IP 주소를 할당할 수 있다.반대로 호스트 주소가 하나의 옥텟만 사용한다면 각 네트워크는 적은 호스트에 IP 주소를 할당할 수 있지만, 3개의 옥텟만큼의 많은 네트워크를 구성할 수 있게 된다. 옥텟(Octet)은8bit로 ..