데이터 링크 계층 - ARP
주소 결정 프로토콜( Address Resolution Protocol )로 네트워크 상에서 논리적인 주소 ( IP ) 주소를 물리적 네트워크 주소( MAC )로 대응( bind )시키기 위해 사용되는 프로토콜이다, 주로 목적지 mac 주소를 확인할 때 사용한다.
IP주소를 알아서 데이터를 보내려고 하는데 IP주소는 알지만 MA주소를 모르기 때문에 MAC주소를 알기 위해 신호를 보내는 프로토콜이다.
TCP/IP 3계층(네트워크 계층)의 IP Address를 2계층( 데이터링크 계층 ) 의 MAC address로 대응시킬 떄 사용하는 프로토콜이다.
논리주소 : 다중 네트워크와 간접적으로 연결된 장치간의 통신을 가능하게 해줌
ARP 테이블 정보 확인
arp -a
ARP Request
ARP Resoponse
데이터 링크 계층
패킷 분석
ARP, IP, TCP, HTTP
https://en.wikipedia.org/wiki/Address_Resolution_Protocol 패킷 분석표 ( 방법 )
wireshark 로 패킷 분석 ( 16진수 : 00~FF )
https://ko.wikipedia.org/wiki/IPv4 IPV4 구성순서
IPV4 주소체계 사용 ( 4byte )
11000000 101010000 00000000 00000001
192 . 168 . 0 . 1
넷마스크가 255.255.0.0이라면?
000001010 . 00001010 . 00000001 . 00010110
10 . 10 . 1 . 12
11111111 . 11111111 . 00000000 . 00000000
네트워크 호스트
CIDR ( Class Inter-Domain Routing ) 기법으로 표기
10 . 10 . 1 . 12/16
서브넷 마스크
서브넷 마스크는 할당할 수 있는 IP가 100개라고 가정하고 우리가 필요한게 20개라면 21~100까지 남은 IP를 같이 할당해줄 필요 없이 서브넷 마스크로 보내준다.
#쓰지 않는 IP를 서브넷에 할당한다.
서브넷마스크는 1과 0으로 이뤄져있고, 1이 연속으로 나와야한다.
TTL
패킷이 폐기되기 전에 패킷이 통과할 수 있는 라이터의 최대 개수나 경과될 수 있는 시간
패킷이 라우터를 통과할 떄마다 1씩 감소
송신지에서 자신의 TTL초기값을 전송하고 거쳐간 라우터의 갯수에 따라 TTL값을 빼고 목적지에서 확인을 받으면
Fragmentation
MTU 데이터의 크기를 비교해 필요한 만큼만큼 나눔
Header에서 총 길이 필드를 분할된 크기로 설정
마지막 패킷 외의 단편화 플래그를 1로 설정
flag에서 more fragments가 1이면 뒤에
전송제어 프로토콜 TCP
종단점과 종단점 사이 신뢰성 있는 데이터 전달이 최대 목표
TCP패킷의 3 handshake진행 방식
(연결 확립 )
[STEP 1]
A클라이언트는 B서버에 접속을 요청하는 SYN 패킷을 보낸다. 이때 A클라이언트는 SYN 을 보내고 SYN/ACK 응답을 기다리는SYN_SENT 상태가 되는 것이다.
[STEP 2]
B서버는 SYN요청을 받고 A클라이언트에게 요청을 수락한다는 ACK 와 SYN flag 가 설정된 패킷을 발송하고 A가 다시 ACK으로 응답하기를 기다린다. 이때 B서버는 SYN_RECEIVED 상태가 된다.
[STEP 3]
A클라이언트는 B서버에게 ACK을 보내고 이후로부터는 연결이 이루어지고 데이터가 오가게 되는것이다. 이때의 B서버 상태가 ESTABLISHED 이다.
위와 같은 방식으로 통신하는것이 신뢰성 있는 연결을 맺어 준다는 TCP의 3 Way handshake 방식이다.
출처: https://mindnet.tistory.com/entry/네트워크-쉽게-이해하기-22편-TCP-3-WayHandshake-4-WayHandshake [Mind Net]
응용계층 - HTTP
- 하이퍼텍스트 전송 프로토콜 HTTP
'Hacking > 네트워크' 카테고리의 다른 글
교육 내용 4 (0) | 2019.09.01 |
---|---|
교육 내용 3 (0) | 2019.08.31 |
packet [ 패킷 ] (0) | 2019.08.25 |
Protocol (0) | 2019.08.25 |
Network_Basic (0) | 2019.08.24 |