본문 바로가기

Computer Science/정보보호

네트워크에 대한 이해 - 2

ip패킷의 구조

TTL은 최대가 255입니다.

하나 건널때마다 1식 감속됩니다. 0이되면 버려집니다.

 

라우팅이 제대로 되면 255정도면 반드시 갑니다. 그렇게 오래 간다는 것은 라우팅이 잘못되서 뺑뻉이를 돌고 있는 것입니다.

프로토콜 필드에 1,6,17이 자주 보입니다.

ICMP, IGMP는 3계층이지만 위 언저리 있기 때문에 프로토콜 필드에 있습니다.

 

 

IP의 클래스

라우팅은 기본 주소에 기반한 동작입니다.

 

32비트를 10진수 4개의 숫자로 표현됩니다.

C클래스는 유니캐스트용입니다.

127는 루프백 주소 입니다.

 

총 시작 8비트를 기준으로 합니다.

A클래스로는 많고, B클래스는 조금 적습니다.

 

D클래스는 멀티케스트 주소입니다.

IGMP로 관리가된 노드들에게 전송을 할 수 있습니다.

 

사설 주소는 공인 주소 내부에 유니크하게 존재하는 것 입니다.

 

대부분 사설 주소를 가지고 있는것입니다.

 

학교는 사설주소는 어느 클래스로 하느냐?, 넷마스크를 어디까지 쓰느냐로 사설 주소를 바꿀 수 있습니다.

하나의 네트워크 안에서도 사설 주소를 쓸 수 있습니다.

공인 <-> 사설 변환해주는 NET기능이 있습니다.

 

 

ICMP

ping은 호스트, 서버가 살아있는지, 네트워크에 물려있는지 알 수 있습니다.

ping은 0과 8로 구동됩니다.

 

타입을 보면

8을 보내면 목적지 주소에게 보냅니다. 0이 돌아오면 인터넷에 물려있다는 뜻이기 때문에 연결로 인식합니다.

라우터에서 ttl값이 0이되었을 때 11번을 보냅니다.

5번은 더 좋은 라우터 쪽으로 알리기 위한 메시지 입니다.

 

체크섬은 무결성을 보장합니다.

 

데이터는 의미없는 문자열로 채워집니다.

 

ICMP가 메세지가 전달하는 방법

ping이라는 툴이 라우터는 통해서 다른 네트워크에 있는 수신측으로 에코 요청을 보내고 

애코 응답이 오면 접속 가능한 연결성을 가지고 있다고 인식합니다.

 

 

목적지에 도착하지 못할 경우 보내는 메세지(알림)

라우팅에 실패한 경우(목적지가 없다, 도달할 수 없는 경우)

 

어느 송신 측에서 A를 보내면 라우터가 보니깐 자기보다 다른 라우터로 보내는게 좋다고 판단하면 라우터가 redirect를 보내서 다른 라우터로 보내게 합니다.

 

time to live exceeded 메세지라고도 합니다.

 

ttl값이 감소하다가 0이된다면 라우터가 폐기합니다. 그리고 폐기했다는 내용을 전송해야 합니다.

 

 

쥐어짜다 누구를? 소스를

 

트래픽이 많아서 병목현상이 발생하면 '보내는 패킷의 양을 줄여라' 라고 메세지를 보내는 것 입니다.

 

WAN이 LAN보다 대역이 좁습니다.(=저속이다.)

라우터 B쪽으로 잘 못갑니다.

그래서 라우터 A가 ICMP Source Quench를 보냅니다.

 

 

3계층장비 라우터

게이트웨이라고도 합니다.

디폴트 게이트 웨이 = 첫번째 만나는 게이트 웨이

 

서로 다른 네트워크 (=논리적으로 분리된 네트워크)

 

브로드캐스팅 = 모든노드(=하나의LAN)에 뿌립니다.

다른 포트(=네트워크)으로 브로드 캐스팅을 보내지 않습니다.

 

라우팅을 위한 장비이기 떄문에 라우팅 테이블이 있습니다.

 

 

 

라우팅 테이블

라우터가 라우터 테이블을 가지고 라우팅을 합니다.

 

목적지가 있습니다.

ip를 어디까지 볼것인가? 넷마스크

어디로 보낼 것인가? 게이트웨이

어디로 보낼지 = 출구 인터페이스

 

인터페이스 ip와 게이트웨이 ip는 서로 달라야 합니다.

 

인터페이스 ip는 라우팅 테이블에 존재하는 기계의 출구 ip

출구 ip를 따라 나왔을 때 만나는 주소가 게이트웨이 입니다.

 

 

1번을 보면 목적지가 0.0.0.0입니다.

디폴트 게이트웨이를 찾습니다.

인터페이스는 192.168.0.100 입니다.

그림을 보면 내 pc에서 나가는 것이 192.168.0.100이고

라우터에서 나가는 것이 192.168.0.1입니다.

 

 

2번을 보면 

192.169.0 까지만 봅니다.

출구 인터페이스로 가지만 라우터에 갈 필요없이 LAN안에서 L2 스위칭을 하라는 뜻입니다.

 

4계층 전송계층

TCP는 많이 사용됩니다.

프로세스에서 프로세스까지 전송하기 위함입니다.

 

TCP를 악용한 공격도 있습니다.

 

3계층에서는 ip주소, tcp에서의 주소는 포트입니다.

기계에 왔을 때 포트를 보고 응용을 매핑하는 번호입니다.

 

0~1023번 까지 잘 알려진 포트로 사용하고 있습니다.

80번은 웹서버 포트입니다.

 

전송계층에서 패킷 구조

윗 계층에서 부터 패킷이 오다보면

5계층이 페이로드로 들어갑니다.

왼쪽에서 오른쪽으로 헤더가 붙습니다.

 

클라이언트 포트번호는 큰 포트번호로 사용되는게 많습니다.

 

ex)

3405을 매핑해서 80번으로 접속하는 형태가 됩니다.

네이버에 접속하면 클라이언트의 포트는 사용하지 않는 포트가 할당이 됩니다.

 

 

세션을 맺어놓고 데이터를 전송합니다.

필요없을 때 close합니다.

 

TCP 헤더

시퀀스 번호 = 내가 보낸 번호

ACK 번호 = 내가 받은것

 

시퀀스 번호 - 패킷 순서는 ip와 달리 1식 증가되는 것이 아니라 

해당 새크먼트의 바이트만큼 늘어나서 offset을 알려줍니다.

 

ACK 번호 - 앞으로 받기를 희망하는 시퀀스 번호입니다.

 

SYN을 엄청많이 단시간에 보내는 공격이 있습니다.

 

 

TCP 연결 설정 과정

SYN으로 연결요청을 보내고 서버는 허락되면 SYN+ACK를 보냅니다.

그리고 다시 ACK를 보내서 쓰리 핸드쉐이킹이 이루어집니다.

 

공격자가 SYN을 많이 보내면 서버는 SYN+ACK를 보낼 수 있을 정도만 보냅니다.

근대 서버는 ACK가 안와서 기다립니다.

 

그럼 다른 사용자가 연결을 못하는 상황이 벌어집니다.

 

 

 

TCP 연결 해제 과정

TCP는 보내고 받고가 동시에 이루어집니다.

FIN을 보내면 ACK가 오고 

서버에서 요청받은 처리 데이터를 다 처리하고 끝낼 준비가되면 버서에서 FIN을 보냅니다.

다시 클라이언트는 ACK보내서 FIN이 잘 왔다고 합니다.

 

 

 

UDP

빠르고 가벼운 수행을 요구할 때는 UDP를 사용합니다.

포트에서 포트까지 전송합니다.

어느 프로세스라는 것을 매핑하기 위해서 포트를 사용합니다.

 

응용 계층

FTP는 TCP를 사용합니다.

 

텔넷은 자기 컴퓨터처럼 사용합니다.

 

url을 보내주면 ip를 보내주는 프로토콜입니다.

DNS서버가 있는데 그 서버를 공격하면 네트워크가 마비될 수 있습니다.

메일을 확인 할 때 사용합니다.

원격에서 프로시저를 콜할 수 있는 프로토콜 입니다.

윈도우 에서 사용합니다

 

망관리용 프로토콜 입니다.

리 떨어저 있는 라우터,스위치를 원격에서(SNMP서버에서) 관리할 때 사용하는 것입니다.

728x90

'Computer Science > 정보보호' 카테고리의 다른 글

Windows2012Server Install & DNS 구동  (0) 2021.09.29
DNS를 활용한 정보수집  (0) 2021.09.22
Whois 와 DNS 조사  (0) 2021.09.15
네트워크에 대한 이해  (0) 2021.09.08
정보보호세계  (0) 2021.09.02