본 글은 2016년 2월 26일 9시 58분에 썼던 글이며 블로그 자료 이전으로 날짜와 일부 내용이 갱신되었습니다.
TCP/IP의 어플리케이션 계층은 OSI 7계층의 어플리케이션 계층과 표현(프레젠테이션)계층, 세션계층이 해당에 해당한다고 흔히 알고 있다. 그럼 왜 TCP/IP에서는 ISO(International standasdasdasda)가 심혈을 기울여 만든 OSI 7계층의 3개 계층을 1개의 계층으로 표현했을까? 라는 의문이 들 수 있다. 나도 의문이 들었던 사람 중 한 명으로서 이 의문의 해답을 얻으려 했지만 쉽게 얻지는 못 했다.
나는 지금까지 흔히들 알고 있는 내용인 "지나친 계층화는 각 계층 간의 커뮤니케이션이 불필요하게 많이 일어나게 만드는 문제가 있다. 이는 비용(메모리사용량증가, 수행시간상승 등, 전기사용증가, 좀 더 높은 사양의 하드웨어필요 등)의 상승으로 이어지기에 지나친 계층화는 좋지 않다."는 알고 있었었다. 하지만 이 내용은 나의 궁금증을 완벽하게 해소해주지 못 했는데 그 이유는 TCP/IP가 압도적인 통신 표준으로 자리잡고 있음에도 대부분의 네트워크 서적에서 OSI 참조모델을 언급하고 있으며 일반적으로 'OSI 7계층모델은 컴퓨터 통신을 계층적으로 훌륭히 잘 구분하였다.'고 평가 하고 있다는 부분 때문이었다. OSI 7계층이 좋은 평을 받음에도 TCP/IP는 왜 OSI 참조모델과 달리 전송계층과 표현계층, 응용계층을 하나의 레이어로 표현하고 있는것일까?
OSI 7계층을 접한지 몇년이 지난 지금 나는 내가 원하던 답을 찾은 것 같다. TCP/IP가 개발되던 당시에 TCP/IP가 지향해야하는 것들 중 하나로 '유연해야한다'가 있었다는 점과 미국방성에서 제시한 시간이 많지 않았던 점 때문에 TCP/IP를 개발하던 사람들은 다양한 이기종 장비들간의 안정적인 통신에서 가장 필수 적인 네트워크 인터페이스 계층과 인터넷계층, 전송계층은 정확하게 구분하고 나머지는 응용개발자들간에서 알아서 진행할 수 있도록 재량으로 남겼다는 것이다. 또한 실제로 프로그램을 개발할 때 세션계층과 프레젠테이션 계층, 어플리케이션 계층을 정확하게 구분하기가 모호한 부분이 있다는 점도 크게 작용하였다고 한다.
2023년 2월 20일 내용 추가: 당시에는 컴퓨터 네트워크의 초창기였고 짧지만 그 때 까지 경험한 것을 토대로 어느 정도 적당하게 계층화한 것이 TCP/IP 였다. 그 이후 OSI 7계층이 고안될 당시에는 TCP/IP를 사용해서 얻은 경험을 토대로 더 세분화하여 계층화할 수 있었다.
'컴퓨터 네트워크 프로토콜 > IP(Internet Protocol)' 카테고리의 다른 글
TCP/IP가 성공한 이유는 무엇일까? (2) | 2020.10.13 |
---|---|
IPv4(Internet Protocol Version 4) 개요와 패킷 구조 (0) | 2020.10.13 |
VPN(Virtual Private Network)을 경유하지않고 외부망 이용하기 (0) | 2019.05.02 |
댓글