부산정보산업진흥원/네트워크

OSI 7계층: 데이터 계층과 네트워크 계층

newind2000 2017. 3. 22. 16:45

[개요]

- 네트워크의 3요소

- 데이터 링크 계층(Data Link Layer)

- 네트워크 계층(Network Layer)

- WireShark를 활용한 패킷 분석

- ICMP(Internet Control Message Protocol)


[용어 정리]

- ARP(Address Resolution Protocol): IP를 MAC address로 바꿔주는 프로토콜이다. MAC address를 IP로 바꿔주는 프로토콜을 RARP(Reverse ~)라고 한다.

- ICMP(Internet Control Message Protocol): 네트워크 사용 시 발생하는 메세지를 전달하는 프로토콜이다.


[수업노트]

수업 노트.txt


- 네트워크의 3요소

네트워크의 3요소는 가용성, 무결성, 기밀성이다. 가용성을 시스템을 사용할 수 있는가를 말하고, 무결성은 데이터의 신뢰성, 기밀성은 데이터를 외부로부터에 대한 보호할 수 있는지를 말한다.


- 데이터 링크 계층(Data Link Layer)

2계층 데이터 계층에서는 기본적으로 데이터의 무결성을 확인한다. 2계층의 주요한 3가지 요소는 LLC, MAC, 토폴로지이다. LLC는 네트워크가 어느 형태인지를 확인을한다.(ex: ethernet), MAC은 네트워크 장치의 물리적 주소이며, 토폴리지는 네트워크가 연결된 방식을 말한다. 

  가장 많이 사용되는 네트워크 토폴로지는 성형이다. 성형은 확장이 용이한 중앙집중 방식이다. 버스형은 CSMA CD방식을 사용하지 충돌을 방지한다. 버스형은 원거리 확장성이 떨어져서 최근에서 거의 사용되고 있지 않다. 링형은 과거 전화 연결 시 사용되던 방식이다. 메쉬형은 여러가지 네트워트에 동시에 접속하는 네트워크 방식이다.

 사용되는 네트워크 토폴리지는 성(Star)형이다. 확장성이 용이하나 중앙장치에 문제가 생기게 되면 네트워크 전체가 작동하지 않는다는 단점이 있다. 토폴로지를 구성하기 위해 스위치가 정보의 흐름을 조절하는 역할을 한다.

* MAC은 물리적 장치의 주소지만 물리적 네트워크 연결 후에 확인이 가능하기 때문에 2계층에 속한다.

* Loop back은 네트워크를 확인하는 가상의 네트워크이다.



- 네트워크 계층(Network Layer)

IP방식은 총 3개로 나뉘고 Unicast, Multicast, Broadcast로 나뉜다. Unicast는 1:1 IP교환 방식이고, multicast는 승인된 다수에게만 정보를 전달하는 방식이며, broadcast는 연결된 지역 네트워크의 모든 개체에게 방송하는 방식이다.

IP4 Header에 대해서 달달 외워야 한다. 시험친다.


ip4 header에 대한 이미지 검색결과

[IP4 Header. 출처: https://nmap.org/book/tcpip-ref.html]

Version: IP 헤더의 버전을 말하며 IP4의 경우 값이 "4"이다.

IHL(Internet Header Length): 32 bit 단위(4byte)로 실제 데이터가 패킷의 헤더에서 몇 단위나 떨어져 있는지 표시한다.

ex: IHL 5 => 실제 데이터가 헤더 파일 시작으로부터 20byte(4*5) 떨어져 있다.

TOS(Type of Service): 특정 네트워크에서 데이터를 전송할 때, 원하는 품질의 서비스를 선택하는 지표이다. 선행 3bit는 네트워크 기능을 분류하고, 나머지 비트들은 서비스의 품질을 나타낸다.

Total Length: 헤더를 제외한 데이터의 총 크기를 말한다.

Identification: 송신자로부터 지정된 식별값으로 나누어진 데이터를 합칠 때 사용된다.

Flag: 데이터 패킷 표시 플래그 ex) 데이터 분할 유무, 마지막 분할 패킷을 표시한다.

Fragment Offset: 전체 데이터에서 몇번째 분할 패킷인지 나타내준다.

Time To Live: 홉을 거쳐온 수를 나타낸다. Linux는 64, Window는 128부터 시작하며 0가 되면 버려진다.

Protocol: 패킷에 있는 다음 단계의 프로토콜이 무엇인지 보여준다.

Header Checksum: 특정 데이터가 존재하는지 아닌지를 확인해준다. 필수 데이터가 존재하지 않는 경우 에러가 난다.

Source Address: 데이터를 송신한 IP 주소이다.

Destination Address: 데이터가 전송되는 목적지의 IP주소이다.


- WireShark를 활용한 패킷 분석

Wireshark를 설치하여 패킷을 분석해 보자. Wireshark는 FTP -> utils 에 업로드 되어 있다. 설치 시 WinPcap을 같이 설치한다. 나머지 항목들은 설치 기본 값으로 진행하여도 무방하다.


WireShark Legacy를 실행하고 초기화면에서 아래와 같이 설정을 해준다.


아래와 같이 패킷캡쳐 화면이 뜬다.


WireShark Legacy를 활용하여 ARP(Address Resolution Protocol)의 작동 방식을 알아보자.

명령 프롬프트를 실행 시키고 ping을 사용하여 MAC address가 궁금한 IP의 ping을 확인해 보자.



캡쳐된 패킷을 "ARP"로 필터링 한 후에 ARP가 어떤 방식으로 IP를 MAC address로 변환하는지 살펴보자.



요청한 컴퓨터가 입력한 주소의 IP의 Ping을 Broadcase로 보내면 unicast 방식으로 MAC address의 응답이 오는 것을 확인할 수 있다. 이와 같이 ARP는 IP를 이용하여 MAC address를 받아본다. 



헤더 파일은 아래와 같이 Type, Code, Checksum으로 나누어 진다. Type과 Code로 인터넷 운영 시 발생하는 메세지를 확인할 수 있다. Checksum은 데이터의 무결성을 검사해주며, other message specific information 부분에는 기본적으로 더미 값이 나와 있다.


ICMP header


WireShark를 사용하면 패킷에 씌여진 메세지를 해석하여 볼 수 있다.


- ICMP(Internet Control Message Protocol)

인터넷을 사용하는데 발생하는 에러 메세지나 정보들을 보여주는 프로토콜이다.


ICMP Header Format
OffsetsOctet0123
OctetBit012345678910111213141516171819202122232425262728293031
00TypeCodeChecksum
432Rest of Header

[ICMP Header. 출처:https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol]


Type과 Code로 메세지를 종류를 구분할 수 있다. Rest of Header에는 기본적으로 쓰레기 값이 들어가 있다.

* Type 0번과 8번은 ping을 송수신할 때 사용하는 메세지이다.

 



반응형