IP헤더 형식과 의미 요약

Поделиться
HTML-код
  • Опубликовано: 7 мар 2022
  • 인터넷 네트워크를 공부하기로 결심했다면 IP헤더를 분석하는 정도는 쉽게 할 수 있어야 합니다. 그러기 위해 16진수가 익숙해져야 하지요. 이런 이야기를 넣어 짧게 IP헤더 형식을 다뤘습니다.

Комментарии • 53

  • @persona719
    @persona719 2 года назад +4

    좋은 강의 잘 보고 있습니다. wireshark 에서도 edit>preference>appearance>layout 에서 packet bytes 와 packet diagram 을 선택하면 헤더를 확인할 수 있는 화면이 비슷하게 보이기는 합니다.

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  2 года назад +1

      한 번도 Layout은 고칠 생각도 안 했던 것 같네요. 그냥 만들려 했으니...좋은 정보 감사합니다. ^^

  • @persistento3097
    @persistento3097 2 года назад +2

    업무상 가끔 패킷 만들 필요가 있을때, 주로 Colasoft의 packet builder 라는 프로그램을 썼었는데.. 따로 프로그램을 만드셨었군요

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  2 года назад +3

      Colarsoft 제품이 나오기 전인 2006년에 만들어 둔거라서요. 음...시간을 좀 내서 어떻게든 개선을 해보려고 준비중 입니다. ^^

  • @MB-of6lx
    @MB-of6lx Год назад

    오… 이영상을 이제야봤네요. 마지막에 헤더프로그램.. 새로 만드시게되면 꼭 알림부탁드려요 근데 밑에분이 알려주신팁도 있군요 ㅋㅋ

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  Год назад

      이미 다 있는 것들이지만...재미로 만들어보는 것도 좋겠다는 생각을 해봅니다. ^^;;;

  • @django3861
    @django3861 2 года назад +1

    네트워크 기초 이론 스터디
    16강 완강 완료 / 5월 11일 / 헬스장

  • @user-bz7gs7cv3o
    @user-bz7gs7cv3o 2 года назад +1

    Wireshark 프로젝트 정말 기대됩니다 😀

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  2 года назад +2

      진행 방식은 조금 고민해보도록 하겠습니다. ^^

  • @user-hu6td5pj8d
    @user-hu6td5pj8d 2 года назад

    리눅스에서도 패킷 관련해서는 tcpdump와 tshark가 있죠 ㅎㅎ

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  2 года назад +1

      네, 맞습니다. Wireshark와 엔진은 같은 것으로 알고 있습니다.

  • @qaztrewqaz9960
    @qaztrewqaz9960 2 года назад

    포트 정보는 TCP 헤더에 포함되어 있나요? 패킷이 정확히 어플리케이션 레벨 까지 찾아갈려면 포트정보도 알아야 할거같은데.. (뒷부분 보니까 그런거 같네요!! ㅎ)

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  2 года назад

      네, 4계층 헤더에 포트번호가 포함되어 있습니다. ^^

  • @kelllyslater2401
    @kelllyslater2401 2 года назад

    안녕하세요, 얼마전에 유투브의 알고리즘에 의해 알게 되어 회원가입까지 하고 즐겨보고는 초보 네트워크 엔지니어 구독자입니다.
    IP헤더의 값 관련해 여기는 2진수로 채워진다고 이해하여도 될까요? 각각의 할당된 비트 크기 및 표현 수치를 고려하면 2진수라 이해되는데 캡쳐된 데이터에는 16진수로 표현되는 거 같아 이 부분에서 개인적으로 조금 어렵습니다.

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  2 года назад +1

      음...컴퓨터의 모든 정보는 디지털이라 2진수로 표현합니다. 그런데 보통은 2진수를 16진수로 변환해 표기합니다. 2진수로 써놓으면 알아보기도 어렵고 무엇보다 길이가 너무 길어지는 문제가 있습니다.
      그리고 보통 이를 이진 데이터(바이너리 데이터)라고 부릅니다. IP헤더는 이런 바이너리 형식 데이터라고 이해하면 되겠습니다. '2진수로 채워진다'라는 표현보다는 바이너리 형식이라는 표현이 조금 더 자연스럽습니다. 참고하시고...
      네트워크 공부도 중요하지만 그 전에 '넓고 얕게...'시리즈를 완전히 보시기를 권합니다. 그러면 네트워크를 더 자세히 이해하는데 도움되리라 확신합니다! 그래도 이해가 잘 안되면...다시 글을 남겨주시기 바랍니다. 다른 방법을 찾아드리겠습니다. ^^

    • @kelllyslater2401
      @kelllyslater2401 2 года назад

      @@nullnull_not_eq_null 어렵다 느낀 부분을 알기 쉽고 상세하게 답글 남겨주셔 너무 감사합니다. 네 말씀하신 시리즈 남은 영상도 하나하나 열심히 보도록 할께요. 고맙습니다.

  • @Dev_pig
    @Dev_pig Год назад +2

    header의 data부분이 이론상으로는 65536 bytes까지 담을수 있지만, 실제 인터넷(?) 통신시에는 mtu때문에 1500 bytes 까지만 담을수 있다고 이해하면 될까요?
    그리고, mtu를 "네트워크에 연결된 장치가 받아들일 수 있는 최대 데이터 패킷 크기" 라고 해석하는거 같은데요. 그럼 결과적으로는, header의 최대 데이터크기는 65536 bytes지만, 네트워크에 연결된 장치가 받을수 있는 최대 데이터 패킷 크기가 1500 bytes라서 결국 최대 1500 bytes 단위로 잘라서 담아야 한다.. 로 이해하면 될까요?
    + '단편화' 설명중에 'mtu가 1400인 녀석들이 있다' 라고 하셨는데, 그럼 장치에 따라 mtu가 다를수 있는건가요?
    항상 좋은 정보 감사합니다!

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  Год назад +1

      네, 그렇습니다. 대다수 라우터의 MTU는 여전히 1500입니다. 결국 인터넷의 모든 패킷은 MTU 보다 작거나 같아야 합니다. 넘어가는 크기라면 잘라야 합니다. (단편화) 그리고 MTU는 장치에 설정 가능합니다. 심지어 iptime 공유기도 MTU를 강제로 조정하는 기능이 들어있습니다. 참고하시기 바랍니다.

    • @Dev_pig
      @Dev_pig Год назад

      @@nullnull_not_eq_null 앗.. 생각해보니 공유기 설정에서 mtu를 봤던거 같네요.. 와우..

    • @Dev_pig
      @Dev_pig Год назад

      @@nullnull_not_eq_null 그럼, 공유기 설정에서도 mtu를 너무 크거나 작게 설정하기보다는 적절한 크기를 설정해야 속도가 좋겠네요.. 여기서 적절한 크기는 송출시 받는쪽 기기의 mtu와 수신시 데이터의 mtu를 모두 고려해야할까요?

    • @user-sd9by9mj8p
      @user-sd9by9mj8p 2 месяца назад

      송수신 엔드포인트에서 MTU를 1500이 아닌 다른 값을 세팅해도 중간 라우터들은 대개 1500 라시네요. 송수신 단말뿐 아니라 중간 라우터도 고려하면 좋을 것 같습니다.

  • @marunarae550
    @marunarae550 2 года назад

    패킷 분석기로 보니까 패킷은 big endian을 쓰나보네요. little endian에서 big endian으로 바꾸는것도 오버헤드겠어요. 잘 봤습니다. 헥스에디터로 pe 뜯어본적이 있어서.. 16진수는 익숙합니다 ㅎㅎ

    • @marunarae550
      @marunarae550 2 года назад

      근데.. 와이어샤크에 gui까지 씌우나요? gui도 언제한번 배워보고 싶네요 ㅎㅎ 감사합니다.

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  2 года назад

      네, 그래서 다른 말로 Network order라고 하지요. Big endian을 쓰던 쪽에서 네트워크관련 표준도 주도해서 그렇게 된 것으로 알고 있습니다. 참고하시기 바랍니다. ^^

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  2 года назад

      MS의 분석 도구도 있습니다. MS Message analyzer! 이것도 어마무시 합니다. 꼭 함께 알아두시기 바랍니다. ^^

  • @user-ez4km2eb3j
    @user-ez4km2eb3j 2 года назад

    예전에도 와이어 샤크 한국버전으로 만드신다고 하셨던것 같은데 그 프로젝트는 어떻게 되셨어요??

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  2 года назад

      한 80% 완성된 채로...제 HDD에서 잘 자고 있습니다. -_-;;; 그냥 저 혼자 만드는 것이 더 편할지도...

    • @user-ez4km2eb3j
      @user-ez4km2eb3j 2 года назад

      ㅋㅋㅋㅋ 화이팅입니다 응원해요

  • @zaery_o7069
    @zaery_o7069 Год назад

  • @zaery_o7069
    @zaery_o7069 7 месяцев назад

    ❤❤

  • @bori12370
    @bori12370 Год назад

    선생님 TIL이 255회밖에 안된다면, 지구 반대편이랑은 어떻게 통신을 하는걸까요?
    세계 반대편까지 가기에는 횟수가 너무 적지 않나요?
    찾아보니 라우팅 프로토콜 BGP(Border Gateway Protocol) 이라는게 있어서 반대편으로 전송이 된다고 하네요
    그런데 저는 TIL 관련해서 이해를 못하겠어서 질문 댓글 남깁니다.!

    • @bori12370
      @bori12370 Год назад

      구글링해보니 AS 단위 라우터(거의 국가단위 라우터..로 이해함)로 이동하고, 최적경로를 먼저 찾은 뒤 이동을 하기때문에 세계 반대편까지 255회 내로 갈 수 있다로 이해했는데 맞나요..?

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  Год назад +2

      음...생각보다 라우터를 많이 거치지 않습니다. 128개 로도 충분하니까요. 최근에 다시 확인하지는 않았지만 Linux 기본 TTL 값은 128입니다. 윈도우는 255이고요. 그리고 박소현님이 추가 질문으로 올린 것처럼 최적경로를 먼저 찾기 때문에 무조건 빙빙 돌다 소멸하지는 않습니다.
      인터넷이 매시형이긴 합니다. 하지만 자세히 살펴보면 결국 Tree구조가 될 수 밖에 없음을 알 수 있습니다. 참고하시기 바랍니다. ^^

  • @user-er3tl5qb1k
    @user-er3tl5qb1k Год назад

    IP 헤더값을 확일할때도 CPU 자원을 사용할까요? ARP request 패킷이 PC 에 도달했을때 목적지 Ip주소가 자기IP라면 응답메세지를 작성해야하는데 이때 CPU 자원이 어떻게 사용이 될지 궁금해지네요. 아니면 너무나 당연하게 NIC으로 수신된 정보는 모두 CPU 자원을 사용한다고 봐야할까요?(연산이 필요하기때문에)

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  Год назад

      좋은 NIC과 그렇지 않은 NIC의 차이 중 하나는 NIC 장착된 네트워크 프로세서가 얼마나 빠르고 다양한 기능을 제공하는가에 달렸습니다. 가령 TCP checksum이나 IP checksum 같은 값을 CPU가 계산할 수도 있지만 요즘에는 NIC이 알아서 다 계산합니다. 즉, NIC도 CPU처럼 연산능력을 가지고 있습니다. 그리고 이처럼 NIC이 스스로 처리(계산)하는 부분이 많을 수록 CPU의존도가 낮아지고 성능이 좋아집니다. 실제로 서버용 NIC은 Intel사 제품이 많이 사용됩니다. 참고하시기 바랍니다.

    • @user-er3tl5qb1k
      @user-er3tl5qb1k Год назад

      @@nullnull_not_eq_null 아하 한번찾아봐야겠네요 감사합니다

  • @user-sf8mp8qo7h
    @user-sf8mp8qo7h 2 года назад

    참 익숙해 지지 않는 저놈의 헤더
    이제 좀 익숙해 지려나...
    TTL 설정이 없다면, 아마도 테초의 패킷이 인터넷 어딘가에 아직도 떠돌아 다닐 수도 있을텐데 말이죠 ^^
    감사합니다.

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  2 года назад

      TTL이 없다면...인터넷이 제대로 작동할 수 없었겠죠. ^^

  • @django3861
    @django3861 2 года назад

    안녕하세요 대표님 10:00에 등장한 직접 만든 프로그램 저도 다운로드 받을 수 있나요?

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  2 года назад +1

      아니오. 없습니다. 하지만 Wireshark에 비슷한 기능이 있으니 참고하시기 바랍니다.

    • @django3861
      @django3861 2 года назад

      @@nullnull_not_eq_null 네~ 알려주셔서 감사합니다

  • @user-ju7wz1ot4i
    @user-ju7wz1ot4i 2 года назад

    Total length랑 mtu랑 차이점이뭔가요?

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  2 года назад

      MTU는 유통의 최대크기이고 Total length는 패킷의 길이입니다. 이 길이가 MTU를 넘으면 단편화가 발생하겠죠.

  • @django3861
    @django3861 2 года назад

    대표님 질문있습니다.4:00 여기서 4x5 = 20 bytes라는 설명이 이해가..잘 안됩니다

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  2 года назад +1

      32비트는 4바이트 입니다. 그리고 IHL 값이 5면 5 * 32비트 즉 5 * 4바이트가 됩니다.

    • @django3861
      @django3861 2 года назад

      답변감사합니다

  • @bori12370
    @bori12370 Год назад

    5:22 저는 초신성 TTL 생각했는데 세대차이를 느꼇읍니다 ,,

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  Год назад

      뭐, 다 그런 것이죠. ^^;;;; (초신성이 뭔가 궁금해서 방금 검색해봤습니다. 있는 줄도 몰랐네요. ㅎㅎㅎㅎㅎ)

  • @brucegwon
    @brucegwon 2 года назад +1

    TTL소녀 - 임은경 ㅇㄷ

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  2 года назад

      저도 TTL처음 배울 때 같은 생각을 했었습니다. 의견 감사합니다. ^^

  • @beartime121
    @beartime121 Год назад

    신비소녀가 뭔디... ㅋㅋㅋㅋㅋㅋㅋㅋㅋ