일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- hulk dos
- ntp drdos
- drdos 대응
- 네트워크 대역폭 소진
- zerowindow
- backlog queue
- 해쉬 dos
- 해시 dos
- slow dos
- slowloris
- 반사 서버
- icmpp drdos
- from sql injection
- 헐크 dos
- http get flooding
- dns drdos
- drdos와 ddos 차이
- slow http
- hash dos
- slow http dos
- slow http read dos
- udp drdos
- slow http post dos
- OFFSET
- tcp syn flooding
- ruddy
- 핑오브데스
- snmp drdos
- tcp drdos
- DHCP
- Today
- Total
Tech Juny
[02]-06 네트워크 활용(TCP/IP) 본문
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에서 메시지 송수신을 하기 위한 접근 방법
'정보보안기사 필기' 카테고리의 다른 글
[02]-05 네트워크 일반 (0) | 2021.02.16 |
---|---|
[01]-04 윈도우 Client 및 Server 보안 (0) | 2021.02.15 |
[01]-03 리눅스 서버 보안 (0) | 2021.02.13 |
[01]-01 운영체제 이해 및 관리 (0) | 2021.02.02 |