5일차 - Base learning (네트워크_Header)

Jk Lim·2023년 4월 14일
0

MLOps 부트캠프

목록 보기
4/34

5일차는

각각의 프로토콜과 Header(헤더)에 관한 내용을 학습하였다.
1. IPv4
2. ICMP
3. UDP
4. TCP

자료출처 - https://nmap.org/book/tcpip-ref.html


1. IPv4 (네트워크 계층_3계층)

  • PDU : 패킷(Packet)
  • IP Flags : 전송하는 데이터의 분할 여부에 대한 플래그
  • Fragment Offset : 분할된 데이터의 크기 (MTU에 맞게 분할)

2. ICMP (네트워크 계층_3계층)

  • Internet Control Message Protocol : 장비나 목적지와 관련된 네트워크 에러 메시지를 전달해 줌. 어떤 이유로 신호가 전달이 안되었는지 type number와 code number로 표현함 (type8, type0 …)
  • 예) Ping(핑)
  • 원칙적으로 ICMP를 막으면 안됨.
  • 모든 네트워크 신호가 운영체제까지 가지 않음. RAM까지만 도달하는 신호가 있음. 이러한 신호를 통과시키거나 막는 규칙이 있음.
  • ICMP를 막아라 → 불필요하게 요청, 응답하는 것들을 막으라는 뜻.(예-ping) 왜? 운영체제까지 가지 않는 네트워크 신호는 RAM자원을 고갈시킴.
  • 불필요한 ICMP를 방화벽이 막아줌. 공유기, 윈도우 서비스 등이..
  • ICMP는 원래 데이터를 담지 않지만 담을 수 있다. 하지만 쓰레기 값이 들어있다.(혹시 몰라 만들어 놓은 기능?)

3. UDP (전송 계층_4계층)

  • 전송 계층은 Port가 있어야 어떤 어플리케이션이랑 맵핑시킬때 필요하므로 중요
  • UDP는 오토바이로 배송하는 느낌 (TCP는 탑차 - 신뢰도 높은 데이터를 전송할 때)
  • 속도가 빠름. 데이터를 검사하지 않음. 신뢰도가 없음.
  • 되면 되고 안되면 안됨. 중간에 확인하는 절차가 없음. 단순무식 무대포. 중간에 끊어지면 처음부터 다시.
  • Checksum : 데이터 변조를 체크하는 게 아니라, 헤더의 구성요소가 변화된지를 체크
  • QUIC / HTTP3 는 UDP를 다시 활용하는 CASE

4. TCP (전송 계층_4계층)

  • UDP문제점 : 헤더 자체에 통신이 어떤 상태인지에 대한 정보와 어디까지 전송했는지 Count 해주는 정보가 없음 → 이것을 해결 해 주어야 함 → TCP로 개선
  • source : 클라이언트 / destination : 서버 (절대적인 것은 아님)
  • sequence No + Acknowledgement No.: 다음 통신은 어떻게 이어지는 지에 대한 계산. 어디까지 통신했는지. 다음 Next통신을 예측하고 이어받게 해주는 장치
  • TCP Flags : 특정 연결 상태를 나타내거나 문제 해결 목적 또는 특정 연결의 제어를 처리

    TCP state diagram

    • Flags를 보고 어떻게 동작할지를 어떻게 아나? → tcp state diagram
    • 메모리 영역에 다이어그램처럼 동작하도록 프로그래밍 되어있다.
    • netstat -antp의 state로 현재의 네트워크 상태를 확인할 수 있다.
    • 3-Way Handshake : TCP 연결이 ESTABLISHED 상태가 되기 위해 사전에 세션 수립
    • 4-Way Handshake : TCP 세션을 종료하기 위한 절차

0개의 댓글