라이브러리
프로그래밍언어, 각종코드, 관련동향, 논문 등의 저장소
헤더 (4)
ICMP Header

 

ICMP Header

 

 

ICMP (Internet Control Message Protocol)

1.네트워크 오류 보고 : 라우터 및 수신지 호스트에서 발견되는 문제를 송신지로 보고

2.네트워크 상태 조사 시 질의 요청 (Ping)

- "질의+응답"의 쌍(Pair)으로 사용

- 호스트나 네트워크 관리자가 라우터나 다른 호스트로부터 특정 정보를 얻기 위해 사용

 

Type (1Byte) : ICMP 메시지의 종류

ex) 0번 : Echo Reply, 8번 Echo Request <- Ping에서 사용

ex) 3번 : Destination Unreachable <- 도달 불가능

Code (1Byte): 타입별 추가적 코드

Checksum (2Byte): ICMP헤더의 손상여부 확인

기타 내용 (4Byte): ICMP의 Type과 Code에 따른 세부 내용

 

 

 

 

PING 명령시 처리 순서

 

1.1.1.1 ->ping 1.1.1.2

ARP Cache에 아무 정보 없음

>ping 1,1,1,2

1. Routing Table 확인

2. Routing Table의 어떤 Interface로 나가면 되는지 확인

Interface 1.1.1.1

3. 1.1.1.2의 MAC 주소를 ARP Cache에서 검색

ARP Cache에 있으면 4번으로

ARP Cache에 없으면 5번으로

4. ARP Request를 Broadcast 한다.

4-1. ARP Rply를 받는다.

4-2. 상대방의 MAC 주소를 ARP Cache에 지정한다.

5. 1.1.1.2에게 ICMP ECHO를 보낸다.

6. 1.1.1.2로 부터 ICM ECHO Reply를 받는다.

 

 

 

'Network > Network based' 카테고리의 다른 글

OS TTL vlaues  (0) 2012.08.10
ARP Header  (0) 2012.05.11
IP Header  (0) 2012.05.11
Ethenet Hader  (0) 2012.05.11
Collision Domain & Broad Cast Domain  (0) 2012.05.10
IP 주소, 클래스 범위  (1) 2012.05.10
  Comments,     Trackbacks
ARP Header

 

ARP Header

 

 

 

ARP (Address Resolution Protocol)
논리적 주소(IP Address)를 기반으로 물리적 주소(MAC Address)를 알아오는 프로토콜.
Host는 MAC 주소가 없는 패킷을 받으면 2계층(Datalink-Layer)에서 폐기해버린다.

때문에 상대방의 MAC주소를 알아야 프레임이 만들어져서 통신을 할수 있게 된다.


ARP Request 패킷을 Broadcast 한다.

목적지에서는 자신의 MAC 주소를 채워서 Unicast로 보내는 ARP Reply를 수행한다.

 

 

Hardware Type (2Byte): 네트워크 유형, 이더넷의 경우 0x0001로 셋팅
Protocol Type (2Byte): IP 프로토콜 버전 4의 경우 0x0800
Hardware Length (1Byte): MAC 주소의 길이를 정의하며, 이더넷의 경우 6바이트 셋팅
Protocol Length (1Byte): 프로토콜의 길이를 정의하며, IPv4의 경우 4바이트 셋팅

Operation (2Byte): 패킷유형, ARP Request 는 1, ARP Reply는 2 셋팅
Sender Hardware Address (6Byte): 발신자 MAC 주소
Sender IP Address (6Byte): 발신자 IP 주소
Target Hardware Address (6Byte): 목적지 MAC 주소이나 ARP Request의 경우 알 수 없으므로 0 셋팅
Target IP Address (6Byte): 목적지 IP 주소 셋팅

 

 

ARP Cache (ARP Table)

ARP Reply를 수신하면 대상 시스템의 MAC과 IP Address를 로컬 Chche에 저장.

중복 요청을 줄여 로컬 네트워크 트래픽을 줄임. 상대시스템도 동일하게 ARP정보를 저장

 

ARP가 사용되는 경우

호스트 - 호스트 (송신자 - 수신자)

호스트 - 라우터

라우터 - 라우터

라우터 - 호스트

 

 

'Network > Network based' 카테고리의 다른 글

OS TTL vlaues  (0) 2012.08.10
ICMP Header  (0) 2012.05.11
IP Header  (0) 2012.05.11
Ethenet Hader  (0) 2012.05.11
Collision Domain & Broad Cast Domain  (0) 2012.05.10
IP 주소, 클래스 범위  (1) 2012.05.10
  Comments,     Trackbacks
IP Header

 

IP Header

 

 

 

일반적으로 20Byte, 60Byte까지 확장가능

 

TOS (1Byte): 긴급시설정 일반적으로 사용하지 않음

Total Length (2Byte): 헤더 + 페이로드 65535Byte

ID (2Byte) : packet번호

 

ID Flags (3bit):

첫번째 비트는 예약.

두번째 비트가 1일경우 데이터를 더 쪼갤 수 없음

마지막비트는 뒤에 데이터가 더있는지 여부

 

Fragment : 전체 데이터에서 현재 패킷의 상대적인 위치

TTL : 패킷이 경유 할 수 있는 라우터의 수. 0이 되면 패킷은 폐기. 무한루프를 방지하기 위함

Protocol : 상위층 프로토콜정보 가지고 있음

Header Checksum : 헤드 오류검사용

 

 

'Network > Network based' 카테고리의 다른 글

OS TTL vlaues  (0) 2012.08.10
ICMP Header  (0) 2012.05.11
ARP Header  (0) 2012.05.11
Ethenet Hader  (0) 2012.05.11
Collision Domain & Broad Cast Domain  (0) 2012.05.10
IP 주소, 클래스 범위  (1) 2012.05.10
  Comments,     Trackbacks
Ethenet Hader

 

Ethenet Hader

 

 

2계층에 해당하는 Ethernet의 Frame 포맷.

상위 계층의 데이터들이 캡슐화 되어 Data 필드에 담겨져 전송된다.

 

Header (14Byte)

 

Destination address (6 Bytes): 목적지 MAC 주소


Source address (6 Bytes): 송신지 MAC 주소


Type (2 Bytes): 이더넷 패킷 유형 정보. 0x0800 IPv4, 0x0806 ARP 등

 

DATA (46~1500 Bytes): 상위 프로토콜 데이터 패킷


Frame Check Sequence (4Byte): 데이터 오류 체크

최소 60~64Byte가 하나의 Frame이 된다.

 

 

'Network > Network based' 카테고리의 다른 글

ICMP Header  (0) 2012.05.11
ARP Header  (0) 2012.05.11
IP Header  (0) 2012.05.11
Collision Domain & Broad Cast Domain  (0) 2012.05.10
IP 주소, 클래스 범위  (1) 2012.05.10
서브넷 마스크, 서브넷, 서브넷팅  (0) 2012.05.10
  Comments,     Trackbacks