밍경송의 E.B
[사이버보안] 네트워크개요 본문
이번 장에서는 그래두 작년 정통공 시간에 배운 개념들이 나와서 낯설진 않았..다 대충 아직까진 살아남았다는 말..
네트워크 개념이 이렇게 많이 쓰일줄 알았으면 그때 좀 더 열심히 할걸!!!🥲
어음 괜자나 괜자나..자신이쏘
🔒OSI 7계층
- 네트워크의 동작 과정을 설명하는 대표적인 모델 (ISO에서 제정)
- 실제 구현된 sys가 아니라, 일종의 개념적 모델 [TCP/IP는 실제 구현된 네트워크 모델]
- 각 계층은 독립적으로 동작하며, 같은 계층의 헤더를 서로 open
*통신 프로토콜 : 네트워크를 통해 데이터를 주고받는 과정의 약속(각 계층별로 다수의 프로토콜 존재)
✨7계층 : 응용(Application) 계층
- 사용자에게 인터페이스를 제공하는 계층, 응용 서비스(ex 웹브라우저, 메일전송 프로그램 등) 제공
- 응용계층에서 동작하는 프로토콜 : FTP, HTTP, TELNET, SSH 등
✨6계층 : 표현(Presentation) 계층
- 암호화/복호화 or 인코딩/디코딩 등의 데이터 형식의 변환 수행
✨5계층 : 세션(Session) 계층
- 양 끝단에 있는 두개의 응용 프로세스 사이에 통신(세션)을 관리
<통신방식의 종류>
전이중방식(Full Duplex) | 동시에 송수신 모두 가능 ex)휴대전화 |
반이중방식(Half Duplex) | 동시에 송수신 중 1가지만 가능 ex) 무전기 |
단방향방식(Simplex) | 송수신 중 1가지만 가능 ex) 라디오 |
✨4계층 : 전송(transport) 계층
- 양 끝단의 사용자가 데이터를 주고받게 하는 계층 : TCP,UDP
1. TCP : connection-oriented 통신
- 오류제어(Error control) : 양 끝단에서 전달받은 데이터의 오류 검출
- 오류 판단 -> 재전송 요청 (*에러가 확인되면 다음 계층으로 올라가지 않고 돌려보냄)
- 중복 전송 -> 삭제 처리
- 흐름제어(Flow contol) : 수신 측에서 처리할 수 있는만큼의 데이터만 송신측에 보내도록 제어
2. UDP : connectionless 통신
- 신뢰성을 보장하지 않지만 속도가 TCP보다 빠름. 냅다 전송해버리기
*더 자세한 내용은 정통공때 정리한 글을 확인!
✨3계층 : 네트워크(network) 계층 [IP주소 사용]
- 여러 노드를 거칠 때마다 경로를 찾아주는(라우팅) 역할을 하는 계층 = 길찾기 기능
* 라우터의 경우 길찾기 기능만 제공하기 때문에 7계층이 아니라 3계층까지만 존재함
-> errorcheck는 4계층이 아닌 2계층에서 이루어진다 (4계층 없서욥)
*IP 헤더에는 최적 경로 선택을 위한 기초 자료가 저장됨. + 기존 경로상 노드가 고장 -> 대체 경로를 찾아 전송
✨2계층 : 데이터링크(Data Link) 계층 [MAC주소 사용]
- 직접 연결된 단말(point to point) 사이의 신뢰성 있는 전송을 보장하는 계층
( !=4계층의 경우는 끝단과 끝단 사이(End to End) 의 전송 )
- 1계층(변환의 기능만)에서 발생할 수 있는 오류 검출( ex Parity check)
- 대표 장비 : switch
- 대표 프로토콜 : 이더넷 -> LAN에서 사용되는 기술
✨1계층 : 물리(Physical) 계층
- 단말과 단말 사이의 실제 물리적 연결
단말(Terminal) : 네트워크 사이를 연결해주는 관문 역할을 하는 노드(3계층) + 네트워크에 참여한 모든 단
* data를 전자기파로 변환하는 기능 수행
🔒TCP/IP 프로토콜
[TCP 헤더]
# Source/Destination port: 각 16bits/세그먼트의 출발지와 목적지를 나타내는 필드 (IP 주소는 네트워크 계층의 IP 헤더에 담기기 때문에 포트를 나타내는 필드만 존재)
# Sequence Number: 32 bits/ 전송하는 데이터의 순서를 의미(패킷번호) -> 수신자가 쪼개진 세그먼트의 순서 파악 가능
# Acknowledgment Number: 32 bits/ 데이터를 받은 수신자가 예상하는 다음 시퀀스 번호 (다음에 보내줘야 하는 데이터의 시작점을 의미함) ex) 0-9까지 전송했으면 ACK:10 , 의미는 9번까지 잘 받았다는
# Header Length(Data offset): 4 bits/ 전체 세그먼트 중에서 데이터가 시작되는 위치가 어디부터인지를 표시
# Reserved: 미래를 위해 예약된 필드 (모두 0으로 채워져야 함)
# Flags: 현재 세그먼트의 속성을 나타냄 [setting :1, x:0]
- URG : used to signal “urgent” data that should be prioritized over non-urgent data
- ACK
- PSH : 원래-> 일정 개수가 차면 윗계층으로 전송 but PSH는 더 쌓이는 걸 기다리지말고 다음계층으로 전송하라는 의미
- RST : 문제 발생 -> connection을 끊어라(reset)
- SYN : connection 맺자
- FIN : connection 종료
# Window: 한 번에 전송할 수 있는 데이터의 양을 의미하는 값을 담음 (최대 64KB)
# Checksum: 데이터를 송신하는 중에 발생할 수 있는 오류 검출을 위한 값 (XOR 해서 header랑 비교)
# Urgent pointer: 긴급 포인터 (URG Flag가 1이면 이 포인터가 가리키는 데이터를 우선 처리함)
# Options: TCP의 기능을 확장할 때 사용하는 필드(크기가 고정된 것이 아니라 가변적)
[TCP 포트]
포트: 각 단말기 내에서 사용되는 주소로, 수신자의 시스템 내에서 어떤 프로그램/서버로 베세지를 올려 보내줄지 결정함.
*범위
*대표적으로 많이 사용되는 TCP 포트
- 20,21 - FTP(원격 파일 전송을 위함)
- 22 - SSH(암호화된 원격 접속을 위함)
- 23 - TELNET(원격 접속을 위한 목적(기존))
- 53 - DNS(URL의 도메인 주소에서 IP주소를 얻기 위함)
- 80 - HTTP(웹 접속을 위한 목적)
- 110 - POP3(이메일 서버로부터 메일을 읽기 위함)
- 443 - HTTPS(암호화된 웹 접속을 위함)
[TCP Connection 맺기]
-TCP는 연결지향적 프로토콜 (통신이 시작->끝날 때까지 연결이 지속됨)
1. 시작과정 [3-way Handshaking]
*(2)에서 SYN와 ACK는 하나의 패킷 안에 함께 들어감.
ㄴACK는 (1)의 SYN에 대한 응답
*(3)의 ACK는 수신자의 승인 패킷을 확인했다는 의미
2. 데이터 전송 과정 [2-way 방식]
- Flow control을 통해 송신 측이 수신 측의 처리속도보다 빨리 데이터를 보내지 못하도록 제어함.
*TCP 헤더 정보 이용 + 슬라이딩 윈도우 기법으로 처리
-DATA를 전송할 때마다 윈도우 공간이 줄고, ACK를 받을 때마다 윈도우 공간이 늘어남(확장).
*수신자의 ACK 패킷이 일정기간이 지났는데도 안 온다 ? -> 송신자는 수신자에게 메세지 재전송
3. 종료 과정 [4-way 방식]
*수신자측에서 보내는 ACK와 FIN은 +가 아님 나눠보내짐. (!= 연결 시작 과정)
ㄴ여기서 FIN은 자신도 연결 종료를 요청하는 것
[IP 프로토콜]
IP : 네트워크 계층(3)에 해당하는 통신 프로토콜로 라우팅을 담당함.
- 라우팅 테이블 : 각 노드 사이의 연결 정보를 저장한 테이블, 두 연결 사이의 cost( 속도, 거쳐야 하는 라우터 개수(hop count)) 저장
[IP 주소] = 네트워크 주소(망 주소) + 호스트 주소
1. IPv4 주소(기본)
- 네트워크 상에서 유일한 주소로 32비트(4바이트) -> 8비트씩 네묶음으로 구성(10진 표현)
- 0.0.0.0 ~ 255.255.255.255
- 신규 주소 할당이 중지됨
2. IPv6 주소
- 128비트(16바이트) -> 16비트씩 8묶음으루 구성(16진 표현) , ':'으로 구분
- ex) 2001:0db8:....
- IPv4와 호환x
- IP주소의 클래스
- A,B,C,D,E (ABC가 일반적, D는 멀티캐스팅용, E는 연구용)
네트워크 주소의 크기가 커질 수록 호스트 주소의 크기 작아짐(반비례)
ex) 203.10.1.1 의 클래스와 네트워크 주소는?
-> 203이면 192보다 크니까 C클래스고, 네트워크 주소는 203.10.1.0 호스트 주소는 0.0.0.1
- IP 주소의 요청 : 국제 표준기구에 요청하면 '네트워크 주소' 부분만 할당됨, 호스트부분은 자율적으로 신청자가 관리
<클래스별 IP주소의 구성>
: B 클래스의 경우 앞의 2bit가 fix -> 2^6 * 2^8
: C 클래스의 경우 앞의 3bit가 fix -> 2^5 * 2^8 * 2^8
[공인 IP 주소와 사설 IP 주소]
- 공인 IP 주소 : IANA에서 할당받은 주소
- 사설 IP 주소 : 사내 넽웤에서만 사용될 수 있는 주소
*공인 IP 주소가 다르기 때문에, 세상에는 같은 사설 IP를 가진 컴이 굉장히 많을것!
[IP 주소와 MAC 주소]
IP주소 | 십진수로 표현(32bit), 네트워크가 달라지면 바뀜, 3계층(넽웤)에서 사용 |
MAC주소 | 16진수로 표현(48bit), 물리적 주소, 고정된 주소, 2계층(데이터링크)에서 사용 |
*4계층에서는 포트번호를 사용함
[네트워크장비]
- 리피터 : 신호가 약해지거나 잡음으로 인해 형태를 잃지 않도록 신호증폭역할을 함.
- 허브(hub) : 다중 포트 리피터로, broadcasting 방식이 기본
- 스위치 : 2계층 MAC 주소를 확인, 해당 포트로 패킷 전송 (허브의 전송방식돠 다름)
- 라우터 : IP 주소를 검사해 경로 지정
'CSE > 사이버보안개론' 카테고리의 다른 글
[사이버보안] 네트워크보안 - Sniffing, Spoofing, Session hijacking (0) | 2024.04.24 |
---|---|
[사이버보안] 네트워크 보안 - DoS, DDoS, DRDoS, Network Scanning (0) | 2024.04.24 |
[사이버보안] 시스템보안(2)- 접근제어, 권한관리, 로그관리, 취약점관리 (0) | 2024.04.19 |
[사이버보안] 시스템보안(1)- 계정관리, 세션관리 (0) | 2024.04.19 |
[사이버보안] 용어 정리와 개괄 (0) | 2024.04.09 |