<데이터 계층>
<Ethernet Header>
1 계층에서의 PDU 는 프레임과 물리계층 헤더가 붙어져 만들어진다.
이때, 프레임은 패킷, 데이터링크 헤더(Ethernet header), 트레일러(FCS)으로 이루어지는데,
패킷은 세그먼트와 Network header로 이루어지고,
세그먼트는 Message와 Transport header로 이루어진다.
즉, 패킷은 세그먼트, Network header, Tranport header 이루어지는데,
이때, N-h 와 T-h 가 각각 20bytes씩 총 40bytes를 차지한다.
패킷은 보통 1500bytes가 MTU(Maximum Transport Unit)인데, (원래는 1518bytes이다.)
N-h 와 T-h가 차지하는 부분으로 인해 총 1460bytes가 최대 전송 단위가 된다.
ex)
1500bytes의 정보를 전송하려면 첫번째에 1460bytes , 두번째에 40bytes로 총 2번을 전송한다.
이때, 두번째에 40bytes를 전송할 때는 나머지 빈 부분은 padding으로 채워서 전송한다.
**
IP : 20bytes
TCP : 20bytes
Ethernet : 14bytes
**
FCS : 비암호학적 해시함수로 이루어져있다.
ㅡㅡㅡㅡㅡ
[ 16 진수 --> 2진수 변환 ]
16진수 : 80
8 4 2 1 8 4 2 1
2진수:
1 0 0 0 0 0 0 0
16진수 : 7A
8 4 2 1 8 4 2 1
2진수:
0 1 1 1 1 1 1 0
ㅡㅡㅡㅡㅡ
< ARP header >
(2계층 헤더)
arp header : 2계층과 3계층 사이를 지나다녀야 하기 때문에 당연히 MAC 과 IP정보가 담겨있다.
- Operation Code : 운영모드
- 1. arp request
- 2. arp response
- 3. rarp request
- 4. rarp response
- Source Hardware Address : 출발지 MAC 주소
- Source Protocol Address : 출발지 IP 주소
- Source Hardware Address : 목적지 MAC 주소
- Source Protocol Address : 목적지 IP 주소
ㅡㅡㅡㅡㅡ
ㅡㅡㅡㅡㅡ
- HDLC / PPP header
PPP :
- 특징 : 인증기능 존재(보안에 강하다.)
- 종류 :
- NCP
- LCP
- 2계층 - WAN : HDLC, PPP, Frame Relay
- LAN : Ethernet
* IP header의 Options를 제외한 5개의 부분은 총 20bytes를 차지하고, 따라서 각각 4bytes를 차지한다.
- Identification :
- ex) 3000bytes 전송시 1460, 1460, 80으로 나누어 전송하고, 3개 모두 각각의 식별자를 가진 채 전송된다.
- 이러한 정보를 갖고 있다.
- DF : Don't Fragment
- 조각을 만들지 마라는 정보를 담음.
- MF : Make Fragment
- 조각을 만들라는 정보를 담음.
- Fragment Offset
- 어디서부터 어디까지 잘려있는지 알려줌.
- 따라서 IP header의 2번째 층은 패킷분할과 밀접한 관련이 있다.
- 그러나, 암호화가 불가능하여 IP 스푸핑에 취약하다.
- 이에 대한 보안점으로 IP security 가 존재하는데, 그 방법이 VPN이고, VPN은 터널링(인증, 암호화)을 통해 이루어진다.
- 패킷분할 공격이 발생할 수 있다.
ㅡㅡㅡ
- 패킷 분할 공격(모두 DOS 공격이다.)
- Ping of Death : 패킷을 크게 만들어 전송.
- Tear drop : 패킷을 작게 만들어 전송. / 혹은 Fragment offset 조작.
- Bunk, Boink, Tiny Fragment
ㅡㅡㅡ
- VPN 프로토콜
- 3계층 :
- IP sec
- 2계층 :
- PPTP(MS에서 개발), L2F(CISCO에서 개발), L2TP
- 3계층 :
ㅡㅡㅡㅡㅡ
- Time to Live(TTL) :
- "패킷"이 살아있는 시간
- 라우터를 하나 지날 때 마다 TTL 값은 -1 된다.
- TTL의 초기값은 운영체제 마다 다르다.(64, 128, ...등)
- 패킷의 루핑현상을 방지하기 위해 존재한다.
> ping 명령어 : icmp(Interet Control Message Protocol) 사용.
--> icmp는 2초안에 보낸 것이 2초 안에 돌아오지 않으면 request timeout을 띄운다.
* ping 명령어를 통해 ip주소를 치면 네트워크 속도, TTL값, 오류정보 등을 알 수 있지만
ping 명령어와 Domain Name을 입력하면 해당 서버의 IP주소 또한 알아낼 수 있다.
즉, ping의 공격자의 입장에선 하나의 도구로 사용이 가능한 것이다.
< 4계층 >
ㅡㅡㅡ
- TCP header
- URG : 긴급
- ACK : 응답
- PSH : 부하 상태에 따라.
- RST : 비정상 종료(세션 초기화)
- SYN : 요청
- FIN : 종료
TCP 기능 : 흐름 제어 --> Sliding Window : 상대측이 받을 수 있는 버퍼 사이즈를 예측한다.
댓글