서비스

AeZan·2023년 9월 1일
0

🖥️ 서버와 클라이언트

Client: 컴퓨터 네트워크에서 통신을 먼저 시작하는 주체
Server: 컴퓨터 네트워크에서 요청에 대한 응답을 하는 주체. 항상 대기상태로 준비(deamon)

1:M 도 가능 (서버는 여러 클라이언트의 요청 처리 가능)

🖥️ BOOTP

RARP 를 대체하기 위해 등장
DHCP 전신이고, 호환됨

ex) 기능 부족 - 네트워크 설정에서 DNS static 으로 설정할 수 없음

🖥️ DHCP

각 노드에 TCP/IP 정보를 자동으로 할당해주는 네트워크 프로토콜 (UDP 포트: 67, 68)

사용 목적
DHCP 서버로부터 네트워크 정보를 받아오기 때문에 네트워크 설정을 빠르게 전달하는데 유용함

따라서 여러 시스템의 IP 주소 변경 시 모든 시스템을 재설정할 필요없이 서버에서 새로운 세트의 IP 주소에 사용될 한 개의 DHCP 설정 파일 편집하고 재부팅하면 끝

동작 과정

*보안 관련문제
공인되지 않은 DHCP 서버, 클라이언트로 인해 클라이언트에게 응답할 때 가짜 정보 제공하거나 DHCP 서버가 가지는 IP 주소를 모두 소모시키는 가짜 요청을 발생시키는 등의 문제가 있을 수 있음 (보안 위해 IPSec 등 이용)

🖥️ DNS

도메인 -> IP 시스템
FQDN(Fully Qualified Domain Name): 호스트 + 도메인 주소 ex) www.google.com

구조
계층 구조로 되어있음

이름 해석 과정

레코드 종류

실습

nslookup [domain]

ipconfig /displaydns # DNS 캐시 확인
ipconfig /flushdns # DNS 캐시 초기화

패킷이 총 6개 캡쳐됨 (쿼리해서 게이트웨이 응답, A 레코드 쿼리/응답, AAAA 레코드 쿼리/응답)
그 중 아래 사진은 A레코드 쿼리/응답 패킷

  • DNS Query 패킷
  • DNS Response 패킷

🖥️ HTTP 서비스

URI | URL | URN

URI: Uniform Resource Identifier, 통합 자원 식별자
인터넷 자원을 식별할 수 있는 문자열

  • 하위 개념으로 URL, URN 존재

URL(Location): 자원이 있는 장소에 대한 경로

URN(Name): 특정 자원에 대한 그 이름 자체

*경로가 변경되었을 때 URL은 변경된 주소에서 리소스를 찾지 못함. URN 은 경로가 변경되어도 리소스 위치를 찾을 수 있음

URI 주소 구조

위에가 URL. 아래가 URN

scheme:[//[user[:password]@]host[:port]][/path][?query][#fragment]
  • scheme: 프로토콜 ex) http, ftp

  • authority = [userinfo "@"] host [":"port]
    - userinfo =username : (password) (없을 수도 있음)
    - host: IP 주소, 도메인 주소
    - port: 프로토콜에 의해 포트 번호가 보통 정해짐. (따로 지정했으면 그거 쓰면 됨)

  • path: / 로 시작

  • query: ?로 시작해서 # 으로 끝나거나 없을 수도 있음. key=value 형식

  • fragment: #으로 시작되고 URI 의 마지막. 서버에 보내지지 않는 요청

절대 URI : 모든 전체 경로 표현
상대 URI : 기준 URI 로부터 경로 표현

기준 URI: 상대 URI만 보면 URI의 기준이 어디인지 알 수없음.
보통 HTML의 Head 요소 안에 <base href="https://www.naver.com"> 요소에 표시


웹 프로세스 구조

HTTP 서비스 과정
서버와 클라이언트 간에 하이퍼텍스트 문서를 송수신하는 프로토콜
HTML 문서 전달 프로토콜

*HTTP 1.0 에서는 문서에 이미지가 있으면 연결 설정을 각각 따로 했어야 했는데, 1.1 부터 다시 연결을 설정하지 않고 소켓을 통해 데이터를 전송 받음

클라이언트 -> 서버 요청 방식

  • GET: 서버의 지정한 URL에 위치한 정보 요청시 사용. URL 파라미터 부분에 질의어 항목과 데이터 전송하기 때문에 정보 노출됨
  • POST: URL에 요청하는 자원의 파일명까지만 표시하고 서버에 넘길 값은 HTTP Header 에 포함시켜 인코딩 후 전송함
  • HEAD: 지정한 위치의 자원을 요청하지만 HEAD 정보만 전송
  • COPY, DELETE, PUT: 서버의 지정된 위치의 자원을 복사, 삭제, 저장함
  • OPTIONS: 서버가 지원하는 메소드 조회

*HEAD 는 응답 메세지의 본문을 반환하지 않는 GET 과 같음

HTTP response code

Status Code의미상세 내용
1XX정보 전송단순 정보 제공
2XX요청 처리 성공요청이 성공적으로 처리됨
3XX리다이렉션요청한 해당 자원이 다른 곳에 있음
4XX클라이언트 에러요청(클라이언트)에 문제가 있음
5XX서버 에러서버에 에러가 있음

HTTP response status code

Status CodePhrase상세 내용
200OK클라이언트 요청 성공
201Created클라이언트 PUT 요청 성공
301Move Permanently브라우저 요청을 다른 URL 로 전달
302Found일시적인 페이지 이동
304Not Modified로컬 캐쉬 정보 이용
400Bad Request클라이언트가 서버에게 잘못된 HTTP 요청
401Unauthorized인증 실패
403Forbidden클라이언트의 접근 차단
404Not Found요청한 자료가 존재하지 않음
500Internal Server Error서버가 클라이언트의 요청을 실행할 수 없음
503Service Unavailable서버가 오버로드 되었거나 다운된 상태이기 때문에 사용할 수 없음

🖥️ 텔넷

인터넷을 이용하여 내 컴퓨터에서 상대방의 컴퓨터를 원격으로 제어할 수 있도록 해주는 명령 라인 클라이언트/서버

암호화 안되어 있어서 유저 아이디, 패스워드 확인 가능함 -> 최근엔 암호화된 SSH 사용함

*TCP 포트: 23번

🖥️ FTP

인터넷에서 파일을 전송하는 기본 프로토콜
클라이언트는 1023보다 큰 임의의 번호의 소스 포트를 사용함

*TCP 포트: 21번

🖥️ Email 서비스

SMTP (Simple Mail Transfer Protocol)
네트워크의 두 메일 서버 간에 이메일을 송수신하는데 사용

*TCP 포트: 25번

*사용자가 이메일을 메일 서버로 보낼 때 SMTP 사용 / 메일 서버에서 자신의 이메일 다운로드할 때 POP3, IMAP 사용

POP3 (Post Office Protocol3)
이메일을 수신하는 표준 프로토콜.

*TCP 포트: 110번

IMAP (Internet Mail Access Protocol)
이메일을 저장/복사 하는 프로토콜

*TCP 포트: 143번

*POP3 처럼 SMTP 에 의존하지만, POP3와 달리 IMAP은 컴퓨터에서 지운 메일이 서버에 남아았어 언제 어디서든 이메일을 다시 볼 수 있음

🖥️ SNMP

Simple Network Management Protocol
다른 네트워크 장치를 원격에서 관리할 수 있는 방법을 제공하는 인터넷 표준 프로토콜

사용
네트워크 카드/프로그램, 허브, 라우터 네트워크 장비에서 사용 가능

구성
(네트워크를 관리하는) 중앙 관리 시스템 + (네트워크 관리하는 데 사용하는) 개체 정보 MIB(Management Information Base)

중앙 관리 시스템은 네트워크를 관리하기 위해 하나 이상의 MIB를 모니터 가능

*UDP 포트: 161번

0개의 댓글