본문 바로가기

시큐리티 아카데미/시큐리티 아카데미 TIL

2일차

네트워크 계층의 기능

서비스의 종류

  • 연결형: 데이터 전송 전에 데이터의 전송 경로를 미리 결정. 주소가 필요 없다.
  • 비연결형: 데이터의 전송 경로를 사전에 결정하지 않고 패킷 단위로 결정. IP 주소를 가지고 스스로 움직이는.

3계층은 비연결형이다.

비연결형 서비스

  • 패킷의 전달 순서가 일정하지 않음 -> 상위 계층에서 순서 조정
  • 패킷 분실 가능성 -> 상위 계층에서 분실 오류 복구
  • 인터넷 환경 예시: IP, UDP

    연결형 서비스

  • 상대적으로 신뢰성 높음
  • 인터넷 환경 예시: TCP

IP 헤더

  • version number: 버전 넘버 4인지 6인지
  • header length: 헤더길이, 20바이트이면 단위가 4바이트이기 때문에 5가 들어감
  • service type: 현재는 사용안함
  • identification: 패킷 분할에서 식별을 위해 사용. 분할된 패킷은 동일한 번호를 부여한다.
  • MF: 0일 경우 분할된 패킷의 마지막
  • Fragment offset: 분할 전 데이터에서의 상대적인 위치 정보
  • DF: 패킷 분할 금지. 쪼개졌을 경우 packet length의 길이와 실제 길이가 다르면 잘못된 경우.
  • Time to Live: 살아남기 위한 시간. 포워딩 할 때마다 하나씩 줄임. 네트워크 상의 쓰레기 데이터를 제거하기 위함.
  • Transport: 4계층의 정보. TCP 같은것의 식별자가 들어감. TCP는 6
  • Header checksum: 체크용 해시값으로 무결성 확인.
  • option: 처음 만들 때 미처 생각하지 못한 부분이 있을까봐 만들어놓은 공간. 옵션은 사용되지 않음.
  • 맨 아래 packet length: 역시 사용되지 않음.

만약 패킷의 헤더 정보가 일반적인것과 다르면 잡아내야 한다!

TCP

  • sequence number: 보내는 입장에서 순서
  • acknowledgement number: 응답 번호
  • data offset: 헤더 크기
  • Reserved: 추후 사용할까봐 미리 예약해둔 자리
  • SYN: 연결 설정 플래그
  • FIN: 연결 종료 요청
  • RST: 연결 리셋, 그냥 끊어버림, 비정상 세그먼트에 대한 응답
  • PSH: 데이터를 위 계층올 푸시
  • ACK: 승인. ack 플래그가 세팅되어야 ack number가 의미가 있다.
  • URG: 급한 데이터는 먼저보내겠다. 지금은 쓰지 않는다.
  • Urgent Pointer: 급한 내용의 데이터의 포인터. 마찬가지로 사용하지 않는다.
  • window: 수신 윈도우 버퍼 크기. 남은 사이즈. 0이면 전송 정지.
  • checksum: 헤더와 데이터에 대한 오류 검출. 무결성

3-way handshake

tcp 통신을 시작하기 위해 하는 3번의 프래그먼트 전송

'시큐리티 아카데미 > 시큐리티 아카데미 TIL' 카테고리의 다른 글

1일차  (0) 2024.07.04