Tech Juny

[02]-06 네트워크 활용(TCP/IP) 본문

정보보안기사 필기

[02]-06 네트워크 활용(TCP/IP)

태크주니 2021. 2. 17. 23:20

1. 애플리케이션 계층

: 사용자들이 사용하는 프로그램이 있는 계층

- Ex) FTP, DNS, HTTP, Telnet, SMTP, SNMP

 

1) HTTP (Hyper Text Transfer Protocol)

: WWW로 시작되는 인터넷 에서 웹 서버와 사용자 인터넷 브라우저에 문서를 전송하기 위해 사용되는 통신 프로토콜

- 개방형 프로토클 (Open Protocol)

- 요청 시에만 TCP 연결을 하는 State-less 프로토콜

- TCP 80 Port

- TCP 3-Way Handshaking 기법 사용

 

  • HTTP Version 1.1

- 연속적인 요청 시에는 연결을 유지한 상태에서 서비스 (Keep Alive Connection)

- 서비스 요청 이후에 바로 연결 종료하지 않고 연결 대기 후에 종료 동작

 

  • HTTP 세션 연결 과정

① Web Server는 80 Port  개방후 Client 요청 대기

② Client가 Web Server 접속 요청(SYN) 시도

③ Client 요청에 대한 응답(SYN,ACK)

④ Client는 응답에 대한 확인 메시지(ACK) 전송

⑤ TCP-PUSH 빠른 처리, HTTP-GET 페이지 요청

⑥ Server 측은 Client 요청에 대한 점검(무결성)

⑦ 요청 HTML 페이지를 Client에게 전송

⑧ Client 전송 데이터를 점검(무결성)

 

  • HTTP 프로토콜 구조

- HTTP Header : 웹 브라우저 정보, 요청방식, 파리미터 등

- HTTP Body : POST 방식의 Request 시 Body에 파라미터 정보를 넣고 전송

- Header와 Body 사이에는 개행문자(\r\n\r\n )으로 구분

 

  • HTTP 요청 방식
요청 방식 내용
GET 방식 - 서버에 전달할 때 데이터를 URL에 포함시켜서 요청
- 전송할 수 있는 데이터 양이 제한됨(2Kbte or 4Kbyte)
POST 방식 - 서버에 전달 할때 데이터를 Request Body에 포함 시킴
- 데이터 전송량의 제한 X

 

# 쿠키 : 웹 브라우저에서 저장할 수 있는 작은 공간 (임시 저장-> 만료 날짜가 있음)

# 세션 쿠키 : 연결이 종료 되면 자동으로 쿠키 값도 삭제됨

 

  • 클리이언트 측 정보 유지
방식 내용
Cookei 클라이언트 측에서 상태 정보를 저장, 최대 4Kbyte
Session 클라이언트와 웹 서버 사이의 네트워크 연결이 지속적으로 유지 되는 상태

 

  • 쿠키와 세션의 차이점
방식 Cookie Session
저장 위치 클라이언트 서버
저장 형태 Text 형식 Object 형식
종료 시점 - 쿠키 저장 시에 종료 시점을 설정
- 설정하지 않으면 브라우저 종료 시점이 됨
정확한 시점을 알 수 없음
자원 클라이언트 자원 서버 자원
용량 - 한 도메인당 20개
- 쿠키 하나에 4KB, 총 300개
용량 제한 없음

 

  • HTTP Version 2.0

- 멀티플랙싱, 헤더압축, 서버 푸시 등 기술이 추가된 버전

 

2) SMTP

: 인터넷 전자우편 표준 프로토콜

- Store-and-Forward 방식 메시지 전달

 

  • SMTP 기본 동작 방식
    - 송신자가 보낸 전자우편은 메일 서버에 전달
    - 메일 서버는 수신자의 전자우편 주소를 분석 후 최단 경로를 찾아 근접한 메일 서버에 편지 전달
    - 최종 수신자 측 메일 서버에 도착하기까지 연속적으로 전달하는 중계작업 수행

  • SMTP 구성 요소
    - MTA (Mail Trasfer Agent) : 메일을 전송하는 서버
    - MDA (Mail Delivery Agent) : 수신측에 고용된 우체부 역할, MTA에게 받은 메일을 사용자에게 전달
    - MUA (Mail User Agent) : 사용자들이 사용하는 클라이언트 어플리케이션

  • POP3와 IMAP 및 IMAP3
POP3 IMAP 및 IMAP3
- 메일 서버에 접속하여 저장된 메일을 내려 받는 MDA 프로그램
- 메시지를 읽은 후 메일 서버에서 해당 메일 삭제
- TCP 110 Port
- POP과 달리 메일을 내려받아도 메일 서버에 원본 유지
- IMAP 143 Port

 

3) FTP (File Transfer Protocol)

- 인터넷 표준 파일 전송 프로토콜

- 해당 컴퓨터에 등록된 사용자만 파일 전송 가능, 그 외에는 익명(Anonymous)로 사용

- ftpusers에 등록된 사용자는 FTP 접근 허용되지 않음

- 제어 접속과 데이터 접속 포트 분리

 

  • Active Mode

 클라이언트는 서버의 21번 포트로 접속한 후에 자신이 사용할 두 번째 포트를 서버에 미리 알려줍니다.

 서버는 클라이언트의 요청에 응답합니다. (acks)

 서버의 20번 데이터 포트는 클라이언트가 알려준 두 번째 포트로의 접속을 시도합니다.

 클라이언트가 서버의 요청에 응답합니다. (acks)

 

  • Passive Mode

 클라이언트가 커맨드 포트로 접속을 시도합니다. (Passive 모드 연결)

 서버에서는 사용할 두 번째 포트를 클라이언트에게 알려줍니다.

클라이언트는 다른 포트를 열어 서버가 알려준 포트로 접속을 시도합니다.

 서버가 클라이언트의 요청에 응답합니다. (acks)

 

4) SNMP와 NMS

  • SNMP (Simple Network Management Protocol)

: 운영되는 네트워크의 각종 정보를 실시간으로 수집 및 분석하느 네트워크 관리 프로토콜

 

  • NMS : SNMP를 사용하여 네트워크 정보 수집하는 서버

 

  • SNMP 명령
명령 내용
GET 장비의 상태 및 기동시간 등의 관리 정보를 읽기 위해
GET-Next 정보가 계층적 구조를 가지므로 관리자가 장비 조회를 해서 해당 트리보다 하위층 정보를 읽기
SET 장비 MIB을 조작하여 장비 제어/관리자는 요청을 보내 초기화 또는 장비 설정 제어
Trap Event 성 알림 및 경고 등 통지 유형의 보고

 

2. 전송 계층

1) 전송 계층(Transport Layer)

: 송신자와 수신자 간에 논리적 연결을 수행하는 것

- TCP, UDP 등이 있음

- 연결지향 서비스 

- 종단간 서비스 계층

 

  • Segment

: 애플리케이션 계층의 메시지에 TCP or UDP Header를 붙인 것

 

  • TCP

- 신뢰성 있는 데이터 전송

- 오류 제어 : Go-Back-N 방법 : 되돌아온 ACK 번호 이후에 모든 것을 재전송

- 혼잡 제어 : 동일한 ACK 번호가 계속 돌아오면 송신자는 전송 속도를 늦춤

- Checksum : 메시지 변조 파악용

- Recive Windows : 수신자의 윈도우 크기 = 메모리 버퍼

- 순서제어 : Sequence Number로 정렬 수행

- 완전 이중 : 송수신 동시에 가능

 

  • 3-Way Handshaking 기법

: TCP 통신하기 전에 Client와 Server가 연결 수립을 위해 주고 받는 행위

 

  • 에러 제어
  •  FFC (Forward Error Correction)

: 송신측이 특정한 정보 비트를 함께 전송하여 수신측에서 이 정보를 에러 발생 시 수정하는 방식

- Ex) 해밍 코드, 상승 코드 

 

  • BEC (Backward Error Correction)

: 수신측이 에러 검출 후 에러 발생한 데이터 블록 재전송 요청

- Ex)

- Stop-and-Wait : 하나의 데이터를 송신하고 수신 확인을 기다렷다가 다음 전송하는 방식

- Go-Back-N : 수신자가 데이터를 받지 못할경우 수신 받은 데이터 이후의 데이터를 다 재전송

- Selective Repeat ARQ : 수신 받은 데이터 중에서 중간에 빠져 있는 것만 재전송

 

  • 흐름 제어 

: 송수신측 사이의 전송 패킷의 양, 속도를 조절하여 네트워크를 효율적으로 사용

- 슬라이딩 윈도우 : 호스트 간에 송수신 혹은 수신 할수 있는 Size 정보를 제공

 

  • 혼잡 제어

: Packet을 손실하게 됬을 때 송신측에서 재전송 하게 되는데 이러한 과정에서 생기는 데이터 손실이나 지연을 제어

- TCP Slow Start : TCP 가 시작 될때 전송속도를 초기값부터 지속적으로 올리는 방법

 

  • UDP

: 비연결성, 비신뢰성의 특징으로 Packet을 빠르게 전달 할 수 있는 프로토콜

- 빠른 데이터 전송 : TCP에 비해 빠름

- 비신뢰성 : 재전송 기능 X 

- 비접속형 : 전송되는 Packet에 대한 상태 정보를 유지 X

- 간단한 Header : TCP에 비해 헤더 구조가 간단하여 처리가 단순

 

3. 인터넷 계층

: 송신자의 IP 주소와 수신자의 IP 주소를 읽어서 경로를 결정 및 전송

- Ex) IP, ICMP TCP/IP 프로토콜, IGMP(멀티캐스팅), 라우팅 프로토콜 (BGF, OSPF, RIP)

 

  • 인터넷 계층 기능

- 경로 설정 : 라우팅

- Point to Point Packet 전달

- 논리 주소 지정 

- 주소 변환

- 인터넷 계층의 논리적 주소 지정 : IP 주소로 변환해서 사용

- 데이터그램 : 기존 패킷에 IP Header를 붙이는 것

 

1) 라우팅 (Routing)

: 목적지까지 데이터 전송 시 경로 설정

 

2) IP

: TCP/IP의 주소화, 데이터그램 포멧, 패킷 핸들링 등을 정의해 놓은 인터넷 규약

- IP Header로 Version 정보 구분

# TTL (Time to Liev) : IP 패킷이 통과할 수 있는 라우터의 수를 의미, 라우터 하나를 통과할 때마다 1씩 감소

# MTU (Maximum Transmission Unit) : 한번에 통과할 수 있는 패킷의 최대 크기 (표준 크기 : 1500)

- MTU 값보다 패킷이 크면 패킷은 분할됨

- 네트워크 ID와 호스트 ID로 구분

 

  • 서브넷팅

: 주어진 네트워크 주소를 여러개 논리적 서브넷으로 분할

# 슈퍼넷팅 : ISP 사업자가 많은 네트워크 망을 효율적으로 관리하기 위해서 네트워크를 묶어 관리

 

3) ICMP

- TCP/IP에서 오류제어 프로토콜

- 오류 보고 메시지 : IP패킷 처리 도중 발견된 문제 보고

- 질의 메시지 : 다른 호스트로부터 특정 정보를 획득하기 위해 사용

 

  • ICMP 메시지
Type Message 내용
3 Destination unreachable Router가 목적지를 찾지 못할 경우 보내는 메시지
4 Source quench 패킷을 너무 빨리 보내 Network에 무리를 주는 호스트 제지할때 사용
5 Redirection 패킷 Routing 경로를 수정, Smurf 공격에 사용
8 or 0 Echo request or reply Host의 존재를 확인
11 Time exceede 패킷을 보냇으나 시간이 경과하여 Packet이 삭제되었을 때 보내는 메시지
12 Parameter problem IP Header field에 잘못된 정보가 있을때
13 or 14 Timestamp request and reply Echo와 비슷하나 시간에 대한 정보 추가

 

4) 데이터 전송 방식 

전송 방식 내용
Unicast 1:1 전송 방식
Broadcast 1:N 전송 방식 (동일 서브넷 상의 모든 수신자에게 전송)
Multicast M:N 방식 (하나 이상의 송신자들이 특정 그룹의 수신자에게 전송)

 

  • IGMP (Internet Group Management Protocal)

: 멀티캐스트를 사용할때 그룹에 등록된 사용자를 관리하는 프로토콜

 

5) ARP 및 RARP

  • ARP (Address Resolution Protocol)

: IP 주소를 물리적 하드웨어 주소인 MAC 주소로 변경하는 프로토콜

- ARP Cache Table을 유지하기위해 ARP 사용

 

  • RARP (Reverse Address Resolution Protocol)

: 물리적인 주소 MAC을 기반으로 논리적인 주소 IP를 알아오는 프로토콜

 

4. 네트워크 접근 계층

: 논리적 주소인 IP주소를 물리적 주소인 MAC 주소로 변환 하고 에러제어와 흐름제어와 같은 기능 제공

- Physizal Layer가 이해할수 있는 헤더를 붙여주는 Layer, Frame 단위, MAC Address를 사용하는 계층

- 통신기기 사이의 연결 및 데이터 전송 기능

- 에러제어, 흐름제어 기능

 

1) CSMA/CD

: 유선 LAN에서 메시지를 송수신 하기 위한 접근 방법

 

2) CSMA/CA

: 무선 LAN에서 메시지 송수신을 하기 위한 접근 방법

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Comments