NetWork/네트워크 기초이론

[네트워크기초이론] 6. 멀리 있는 컴퓨터끼리는 이렇게 데이터를 주고받는다

개발자하소서 2023. 5. 4. 16:33
728x90
반응형
SMALL

 

📌 IPv4가 하는 일 


- 네트워크 상에서 데이터를 교환하기 위한 프로토콜 

- 데이터가 정확하게 전달될 것을 보장하지 않는다. 

- 중복된 패킷을 전달하거나 패킷의 순서를 잘못 전달할 가능성도 있다. (악의적으로 이용되면 Dos 공격이 됨)

- 데이터의 정확하고 순차적인 전달은 그보다 상위 프로토콜인 TCP에서 보장한다. 

 

 

 

📌 IPv4 프로토콜의 구조 

 

  • Version
        - 인터넷 프로토콜 버전으로 IPv4인지 IPv6인지 구별하기 위해 사용
        - IPv4 일 경우 4, IPv6 일 경우 6
        - 일반적으로 IPv4 사용

  • Header Length
        - 헤더의 길이를 나타냄 이것을 보고 IP헤더의 길이를 알 수 있다. (최소 20byte 최대 40byte - 4byte단위로 표현)
        - IP헤더를 보고 데이터의 시작을 알 수 있다.
        - D : 이 플레그가 체크되어 있으면 단편화를 할 수 없다.
        - M : 1이면 단편화된 조각이 더 있다는 뜻이고 0 이면 마지막 패킷이라는 소리이다.

  • Type Of Service(TOS)
        - 우선순위를 나타내는 3bit의 Precedence 및 4비트의 서비스 유형 지정 비트, 그리고 사용되지 않는 1비트로
          이루어져 있다.
         - TOS 필드를 사용하여 라우터나 호스트 등의 장치에서 패킷 처리에 대한 우선순위를 설정할 수 있는데,
           현재는 DSCP(Differentiated Services Code Point) 필드로 정의되어 있다

  • Total Length 
        - 헤더와 데이터를 포함한 패킷의 전체 길이를 나타낸다.

  • Identification(ID) 
      -  생성되는 각각의 패킷마다 부여되는 고유 번호이다. 패킷은 제2계층 프로토콜의 최대전송단위(MTU) 값에 따라     
      여러 개의 Fragment로 분할되어 처리되는데, 분활되어 온 Flagment들을 원래의 패킷으로 재조립할 때
        이 식별자 값을 기준으로 한다.
      - 식별 필드는 단편 플래그 DF(Don't Fragment), MF(More Fragment) 및 데이터그램을 다시 조립하기 위한
        단편 오프셋 필드와 함께 사용된다.

  • Flags
      -  IP 패킷의 Flagmentation 가능 여부와 마지막 Flagment인지 아닌지를 알리기 위해 사용되는 필드이다.
        처음 1bit는 항상 0으로 설정되어 있다.
       
  • Flagment Offset
       - 하나의 패킷이ㅣ 여러 개의 프래그먼트로 분할될 때 각각의 프래그먼트 내의 페이로드가 원래의 패킷 내의
        페이로드를 기준으로 어떤 위치에 있는지를 명시하는 필드이다. 분할된 프레그먼트들은 이 분할 위치 값을
        이용하여 원래의 패킷으로 재조립 된다.

  • TTL (Time-To-Live)
        - TTL은 패킷이 무한루핑 하는것을 방지하기 위하여 만들어진 것으로 라우터를 지날때 1씩 감소해서 0이되면
        해당 패킷은 폐기되고 Type3의 Destination Unreachable을 보내준다.

  • Protocol
        - 패킷에 캡슐화되어 있는 상위 계층 PDU가 어떠한 프로토콜을 사용하는지를 명시하는 필드이다.
        - 예를 들어 캡슐화된 PDU가 TCP 세그먼트일 경우 이 필드는 6, UDP일 경우에는 17의 값을 갖는다.

  • Header Checksum
        - IP 헤더의 오류 여부 검사를 위한 필드. TCP와 UDP를 포함하며 IP 데이터그램으로 캡슐화되는 프로토콜은
         대부분 헤더 및 데이터를 포함하는 체크섬 필드를 가지고 있기 때문에 IP 데이터그램의 체크섬 필드는 단순히     
         IP 헤더에 대한 오류 검사만을 수행한다.

  • Source IP Address
        - 32비트의 길이의 출발지 IP주소를 나타낸다.

  • Destination IP Address
        - 32비트 길이의 목적지 IP 주소를 나타낸다.

  • Option or Padding
        - 패킷의 전송 결로를 포함한 IP프로토콜의 동작 옵션을 정의하는 필드로 4byte 단위로 구성된다.
 
 
 
 
 
IPv4 패킷은 최소 20byte이고 옵션이 붙을경우 최대 60byte가 된다.

 

 

 

📌 ICMP 프로토콜 하는일 


ICMP (Internet Control Message Protocol, 인터넷 제어 메시지 프로토콜)


- 특정 대상과 내가 통신이 잘되는지 확인

- ping 명령어를 이용해서 상대방과 통신을 확인할 때 사용하는 프로토콜

- 네트워크 컴퓨터 위에서 돌아가는 운영체제에서 오류메시지를 전송 받는 데 주로 쓰인다. 

- 프로토콜 구조의 Type과 Code를 통해 오류 메시지를 전송 받는다.

 

 

📌 ICMP 프로토콜의 구조 

  • Type : 메세지 타입 선택 (0~30번까지 다양함. 0,8 / 3,11 / 5가 주로 쓰이는 메세지 타입이다.)
  • 0 : 메시지 응답
  • 8 : 메세지 확인 요청
  • 3 : 목적지에 도달할 수 없다 (목적지까지 아예 가질 못한 것 -> 경로상문제)
  • 11 : 요청시간이 만료되었다 (목적지까지 갔지만 응답을 받지 못한 것 -> 상대방문제, 대표적으로 방화벽)
  • 5 : 원격지에 있는 상대방의 라우팅테이블을 원격으로 수정
  • Code : 추가적인 메세지 정보 (Type이 대분류, Code가 소분류라고 생각하면 된다.)
  • Checksum : 헤더에 오류가 있는지 확인하는 파트 (손실 방지)

 

 

📌 라우팅 테이블  


- 어디로 보내야 하는지 설정

- cmd > netstat -r

 

 

 

 

 

 

 

 

 

📌 해당 글은 '따라하면서 배우는 IT - 네트워크 기초' 강의를 보며 작성하였습니다. 

728x90
반응형
LIST