IPv4 프로토콜
20바이트, 네트워크 대역을 찾아가는 프로토콜
IPv4 프로토콜 구조
Version : IP프로토콜의 버전, 일반적으로 4만 온다. IPv6 프로토콜은 따로 있다. IHL : IP Header Length, 일반적으로 옵션을 제외한 20바이트, 이를 4로 나눠서 표기 Total Length : 페이로드까지 합친 크기 Identification : 조각화가 발생했을 때 각각의 조각들이 원래 하나의 데이터였다는 것을 구분하기위한 ID 값(OS에서 랜덤 생성) IP Flags : 조각화가 발생했는지 아닌지, 조각화를 할 것인지 하지 않을 것인지 결정하는 값 x:예약 필드, D: Don't 조각화 하지 않겠다 선언, m : more 조각화 발생함을 나타냄 Fragment Offset : 조각화가 발생했을 때 각각의 조각들의 시작 위치를 나타내는 값 TTL : 네트워크 상에서 패킷의 무한 루프를 방지하기 위한 값, 라우터를 하나 넘어갈 때마다 1씩 감소 (윈도우 : 128 리눅스 : 64) Protocol : 상위 프로토콜이 뭔지 미리 알려준다. (ICMP:1, TCP:6, UDP:17) 헤더 체크썸 : 헤더의 오류를 확인하기 위한 값 출발지 IP 주소 목적지 IP 주소
ICMP 프로토콜
통신 상태를 확인하기 위해서 사용하는 프로토콜, 8바이트
ICMP 프로토콜 구조
타입 : 대분류하기 위한 값 0(정상적인 응답), 3(목적지로 도착 불가능), 8(요청), 11(시간 초과), 5(리다이렉트, 라우팅 테이블 수정) 코드 : 소분류하기 위한 값 체크썸 : 해당 패킷의 오류를 확인하기 위한 값 나머지 : ICMP 프로토콜을 이용하는 프로그램에서 추가하고 싶은 기능을 추가하는 부분
실습 1 - 라우팅 테이블 확인해보기
시작 메뉴 -> cmd 검색 -> cmd 실행
cmd에서 netstat -r 명령어로 확인
실습 2 - IP 프로토콜과 ICMP 프로토콜 분석하기
Wireshark를 이용해서 각 프로토콜을 캡쳐하고 분석해보기
'네트워크 기초' 카테고리의 다른 글
08. 비연결지향형 UDP 프로토콜 (0) | 2021.07.30 |
---|---|
07. 컴퓨터의 프로그램끼리는 이렇게 데이터를 주고 받는다 (0) | 2021.07.30 |
05. 통신하기 전 반드시 필요한 ARP 프로토콜 (0) | 2021.07.30 |
04. 실제로 컴퓨터끼리는 IP주소를 사용해 데이터를 주고받는다 (0) | 2021.07.30 |
03. 가까이 있는 컴퓨터끼리는 이렇게 데이터를 주고받는다 (0) | 2021.07.30 |