-
Ethernet, IP, TCP 프로토콜에 대한 고찰Knowledge/Network 2020. 9. 8. 21:08
요즘 네트워크에 대해 공부하게 되어서 다시 한번 복습겸 지난 글들을 정독하였다.
2019/05/28 - [Knowledge/Network] - 이더넷 프로토콜 패킷 구조
2019/05/28 - [Knowledge/Network] - IP 패킷 구조
2019/05/29 - [Knowledge/Network] - TCP 패킷 구조 (전송계층 프로토콜)
직접 패킷을 보내고 잡아서 보면서 공부를 했던 기억이 새록새록 떠오른다.
공부라는 것이 늘 똑같지만 같은 개념을 공부하더라도 예전에 나와 지금에 내가 듣고 배우는 느낌은 또 달랐다.
이전에 놓쳤던 것들, 다시 상기하면서 어떤 부분을 중요하게 봐야하는지 관점이 잡히면서 안목이 넓어지는 것 같다.
처음 네트워크를 공부한다면 패킷이 참 아리송 할 수 있다.
Ethernet(이더넷), IP, TCP 그냥 차이라고는 알파벳이 다르고 공통점이라고는 영어로 되어 있다는 것만 알아차릴 수 있는 햇갈릴 수도 있는 녀석들이다.
다시 읽으면서 틀린 부분은 없었는지, 보강할 부분은 없는지 읽고 있는데 한가지 키워드가 생각 났었다.
그건 바로 '차이점'
이 세 프로토콜에서 가장 중요한 차이점은 역시 계층(Layer)의 차이다.
OSI 7 Layer에 따른 계층간의 차이가 바로 그것이다.
여기서 잠깐 궁금증이 생길 수 있다. (필자가 그러하다)
어디서 보던 IP 패킷(여기까지는 납득이 간다.), TCP 패킷, ethernet 패킷.. 패킷이라는 말이 중복되어 쓰이고 있다.
여기서부터는 필자의 개인적인 추리다.
정확한 개념이 아니므로 궁금한 사람만 펼쳐서 보도록 하자.
더보기일단 패킷이라고 부르는 이유는 분명 네트워크 계층에서 통신하는 프로토콜을 캡쳐에서 본 것이기 때문이라고 생각한다.
우리는 계층마다 PDU가 다르다는 것을 알고 있다.
분명 Ethernet은 2계층으로 Frame을 사용하고
TCP는 4계층으로 Segement를 사용한다.
내 생각에는 Encapsulation / DeEncapsulation 때문에 이러한 현상이 생기는 것으로 보인다.
실제로는 전송계층간의 통신을 한다고 해도 결국에는 계층을 내려가서 3계층, 2계층, 1계층에서 통신이 이루어 질 수 밖에 없다.그렇다면 이러한 하위 계층에서 Segement PDU로 통신할 수는 없는 법.
로마에 가면 로마법을 따르라는 말이 있듯이 그 계층에 맞는 PDU로 Encapsulation 과정을 거치게 될 수 밖에 없다.
그래서 우리는 네트워크 계층에서 캡처를 하고 있으므로 당연히 "Packet"만 잡힐 수밖에 없지 않을까?
그래서 TCP 패킷, Ethernet 패킷이라고 하는게 아닐까? 라는 생각을 하게 되었다.
어찌되었던 간에 서로 통신하고자 하는 계층이 다르다는 점에서 출발하여 다양한 차이가 생기게 된다.
가장 대표적인 부분은 바로 목적지와 출발지의 값이다.
Ethernet 프로토콜을 먼저 보면 2계층 프로토콜로써 LAN 구간 통신에서 이용이 된다.
LAN 구간에서는 서로간의 MAC 주소를 가지고 통신을 하게 됨으로 당연히 목적지와 출발지가 MAC 주소로 되어 있으며
크기도 MAC크기만큼 6Byte를 할당한다.
이런 차이를 다른 프로토콜에 적용해본다면?
IP 프로토콜 같은 경우는 IP로 통신하기에 출발지와 목적지에 서로간의 IP값이 들어갈 것이고 4byte크기로 되어 있을 것이다.
(실제로도 그렇다)
하나를 깊게 생각하고 왜 이렇게 되어 있는지 다른 것과 어떤 부분에서 어떠한 이유로 차이나는지 알고 있다면 다른 프로토콜도 외우거나 보지 않아도 그 구조가 예상이 되기 시작한다.
TCP 같은 경우에는?
당연히 전송계층은 Port 번호로써 서로간의 주소를 구분한다.
그러므로 목적지 포트와 출발지 포트를 담는 공간이 있을 것이고 그 공간의 크기는 분명 2byte일 것이다.
시간이 지나고 나서 다시 이러한 부분들을 보니 what보다는 why에 집중하게 되는 것 같다.
이것 말고도 차이점이 서로간에 많지만 그러한 부분들은 각자 특성에 대한 부분임으로 셋을 비교하며 설명하기에는 어려울 것 같다.
결론 : 좋은 복습이였다.
기념으로 TCP 프로토콜 이미지 투척 (얍!)
'Knowledge > Network' 카테고리의 다른 글
TCP와 UDP의 차이에 대한 주관적인 생각 Feat. 보안 (0) 2020.09.08 NAC (Network Access Control) 개념 (0) 2020.09.08 SNMP 취약점과 보안 (0) 2019.06.26 SNMP(Simple Network Management Protocol) 개념 정리 (0) 2019.06.25 TCP Port Scan - 스텔스 스캔 (0) 2019.06.19