2025/02/18 8

[Chapter 14] DNS (DNS 프로토콜)

다른 인터넷 프로토콜 처럼 DNS 호스트도 클라이언트와 서버 기능을 동시에 수행한다. 질의 요청을 수행하는 호스트는 해석기를 가지고 있어야 한다. 네임 서버도 다른 네임 서버에 정보를 요청할 수 있으므로 해석기를 사용한다. 해석기는 DNS 서비스의 네트워크 트래픽을 줄이려고 다양한 형식으로 캐시 데이터를 활용한다.DNS 메시지DNS 프로토콜을 사용하는 호스트는 DNS 데이터를 요청하거나, 반대로 응답할 때 DNS 메시지를 전송한다. DNS 프로토콜은 DNS 요청을 하는 호스트와 요청에 대한 응답 기능을 수행하는 호스트 사이의 상호 동작을 지원하기 위해 질의 메시지와 응답 메시지를 정의한다.DSN 메시지의 구조DNS 요청이 필요하면 DNS 메시지에 내용을 기록한다. 모두 다섯 부분으로 구성된 DNS메시지에..

CS/Network 2025.02.18

[Chapter 14] DNS (네임 서버와 해석기)

DNS 서비스에서 가장 중요한 것은 분산 네트워크 서비스의 형태를 지원하는 것이다.인터넷에서 네임 서버는 여러 곳에 흩어져 있다. 이들 서버는 전체 네임스페이스의 일부 정보를 전적으로 책임지며, 유기적인 연관 관계를 통해 네임 서버의 정보를 일관성 있게 관리한다.해석기DNS 서비스는 클라이언트-서버 구조로 설계되었다. 도메인 이름과 호스트  주소의 변환 정보를 원하는 네트워크 응용 프로그램은 해석기(Reslover)라 불리는 DNS 클라이언트에 정보 제공을 요청한다. 해석기는 가장 가까운 네임 서버와 접촉해 정보 제공을 요청하고 해당 서버에 정보가 없으면 다른 네임 서버와 접촉해 정보를 찾는 과정을 반복한다.ex) 도메인 이름 www.korea.co.kr과 관련된 IP 주소를 얻는 과정은 해석기로부터 시..

CS/Network 2025.02.18

[Chapter 14] DNS (도메인 네임 스페이스)

DNS는 거대한 분산 데이터베이스 시스템이며, 도메인 네임 스페이스는 이 DNS가 저장, 관리하는 계층적 데이터베이스이다.도메인 네임 스페이스는 최상위 호스트인 루트가 존재하고 그 밑으로 인터넷에 연결된 모든 호스트가 트리 형태로 연속해서 이어진 계층 구조이다.도메인 네임 스페이스의 호스트는 크기가 최대 63바이트인 레이블을 이름으로 갖는데 루트 호스트는 크기가 0인 널 레이블(null Label)을 가지므로 이름이 없는 것이나 마찬가지이다.도메인 이름은 점(.)으로 구분한 호스트 레이블의 연속으로 표현한다. ex)www.korea.co.kr이라는 도메인 이름은 루트 밑으로 kr, co, korea, www 호스트가 순차적으로 연결된 상태를 의미하고, www.korea.co.kr은 트리 구조의 제일 밑에..

CS/Network 2025.02.18

[Chapter 14] DNS (DNS 서비스)

인터넷에 연결된 모든 컴퓨터는 32비트 숫자로 구성된 고유의 IP 주소를 부여받는다. 이 숫자가 IP 프로토콜의 패킷 속에 기록되어 적절한 경로를 선택하는 길잡이 역할을 한다.ip 주소는 IP 프로토콜이 효율적으로 동작할 수 있도록 고려하여 설계되었지만 일반 사용자 입장은 중요하게 고려되지 않았다.호스트 분배 작업을 인터넷의 규모가 커지고 더 이상 수작업으로 관리할 수 없게 되었는데 이를 계기로 DNS(Domain Name System)서비스가 탄생하게 되었다.IP 주소 체계인터넷에서 32비트의 이진수로 된 IP 주소로 호스트를 구분한다. IP 주소는 32비트의 주소를 네 부분으로 나누어 8비트의 십진수인 www.xxx.yyy.zzz  형태로 표현한다.Ex. 211.223.201.29IP프로토콜의 유니캐..

CS/Network 2025.02.18

[Chapter 13] 웹 WWW(CGI)

HTML로 웹 문서를 작성하면 클라이언트에서 실행되는 웹 브라우저 서버의 정보를 일방적으로 받아들이는 단방향 통신으로 동작한다. 사용자가 입력하는 정보를 처리하려면 CGI(Common Gateway Interface)기능이 필요하다.CGI는 새로운 언어의 개념이 아니다. C, C++, Shell, Perl 등과 같은 언어로 작성되어 서버에서 실행되는 프로그램이다.HTML 문서에서 사용자의 입력을 서버로 전달하는 기능은 태그를 이용해 구현된다.태그 속성속성설명ACTION사용자의 입력 데이터를 처리할 CGI 프로그램의 URL 주소 지정METHOD사용자 데이터를 넘겨주는 방식 지정- GET 방식: 데이터를 프로그램 환경 변수로 넘김- POST 방식: 표준 입력 사용ENCTYPE데이터 형식 지정웹 브라우저 화면..

CS/Network 2025.02.18

[Chapter 13] 웹 WWW(HTTP)

HTTP(HyperText Transfer Protocol)는 분산 하이퍼미디어 환경에서 빠르고 간편하게 데이터를 전송하는 프로토콜이다. HTTP는 80번 포트를 사용하도록 정의된다. 따라서 HTTP 서버는 80번 포트에서 대기하고, 클라이언트는 TCP를 사용해 연결을 설정한다.웹 브라우저는 사용자가 요청하는 자원을 가리키는 URL 주소에 사용할 프로토콜을 표현한다. 즉, URL 주소의 첫 번째 부분을 사용해 서비스 유형을 표현한다. ex) HTTP 서버로부터 웹 정보를 얻으려면 http://www.korea.co.kr과 같이 URL 주소에 HTTP를 사용한다고 명시해야 한다. FTP 서버에 접근하려면 ftp://www.korea.co.kr, 텔넷 서버를 사용하려면 telnet://www.korea.co..

CS/Network 2025.02.18

[Chapter 13] 웹 WWW(HTML)

HTML은 웹 브라우저의 어느 위치에 어떤 데이터를 어떤 모양으로 표시하는 지를 나타낸다. 즉, 화면의 출력 형식을 기술하는 언어이다.HTML로 작성한 문서는 서버에 보관되고, 클라이언트는 이 문서의 내용을 회신받아 웹 브라우저에 출력한다.출력 결과는 HTML로 기술된 방식을 따라야 하므로 웹 브라우저는 HTML을 해석하는 프로그램이라 할 수 있다.HTML 문서의 구조HTML(HyperText Markup Language)은 웹 문서를 작성하는 언어이며, HTML 문서는 태그로 시작하여 태그로 종료한다.전체 내용은 크게 헤더의 두 부분으로 구성되며, 헤더는 와 태그를 사용하고, 바디는 와태그를 사용한다.은 문서 제목으로 웹 브라우저 상단에 표시된다. HTML의 예 HTML 문서의 내용 ..

CS/Network 2025.02.18

[Chapter 13] 웹 WWW(클라이언트-서버 모델)

전 세계적으로 웹(World Wide Web) 서버의 TCP 포트는 0번으로 지정되어있다. 클라이언트에 해당하는 웹 브라우저는 이 포트 번호를 이용해 서버와 연결을 시도한다. 웹 서버와 연결이 설정되면, 클라이언트의 정보 요구에 대해 서버가 웹 문서를 회신하는 방식으로 응답한다. 서버가 전송한 문서 내용은 클라이언트의 웹 브라우저를 통해 사용자 화면에 표시된다.클라이언트와 서버 사이의 연결은 사용자의 정보 요구가 발생할 때마다 새로운 연결을 설정하고 해제하는 과정을 반복한다. 즉, 서버가 제공하는 정보의 전송은 TCP 연결에 의해 이루어지지만, 웹 문서의 전송이 완료되어 사용자가 웹 브라우저로 보는 시점에는 TCP 연결이 이미 해제된 상태이다.클라이언트-서버 모델클라이언트와 서버의 연결 설정 해제 과정은..

카테고리 없음 2025.02.18