
위는 OSI 7Layer를 TCP/IP Protocol의 4계층을 각각의 역할게 맞게 구분한 사진이다.
IP 통신규약을 한번 외우고 있으니, TCP/IP Protocol의 이해는 매우 쉽다.
일단 application에서 인터넷망에 요청시 어떤 scheme를 사용할 것인지를 정의하고,
TransPort 계층 에선 대부분의 경우 TCP정보로 더 확실한 연결을 보장하는 정보를 담은 후
Internet 계층에선 IP 패킷을 만든 후
Network Interface계층에서 실제 어떤 물리적인 장비를 이용하여 패킷을 인터넷망에 보낸다.
Please DoNot Throw Sausage PizzA....
아파서티내다피....
정도로 외웠던 내용을 조금 더 깊게 들어가 보려고 한다.
과거의 통신에는 특별한 규약이 없어서
자사장비간의 연결만을 지원하고 타사 장비와의 호환성을 지원하지는 않았다.
이에 1984년 ISO에서 이러한 문제를 해결하기 위해 OSI 모델을 제시했다.
OSI 모델을 통해 네트워크의 구성요소를 7단계로 나누고, 각 장비별로 이질적인 호환성 문제를 해결하고, 문제가 발생했을 때
관리자로 하여금 어느곳이 문제인지 정확하게 파악할 수 있다.
응용계층(Applciation Layer)
사용자가 PC나 기기를 통해서 직접 프로그램을 실행시키는 계층이다.
여기서는 사용자가 네트워크 자원에 접근하는 방법을 제공한다.
예를들면 url을 구성하는 scheme를 HTTP로 할지, HTTPS로 할지, SMTP로 할지 등을 결정하는 계층이다.
표현계층 (Presentation Layer)
응용계층 - 세션계층을 연결하는 계층으로
데이터를 안전하게 보내기 위해 인코딩, 암호화하거나 하거나
전달받은 데이터를 읽을 수 있는 형식으로 디코딩, 복호화하는 역할을 수행한다.
세션계층 (Session Layer)
정의가 다소 어렵다. 간단하게 얘기하면
통신을 하기 위한 세션을 확립, 유지, 중단하는 역할을 수행한다.
두 서버간의 대화와 세션을 관리하며, 포트를 연결하는 역할을 수행한다.
즉, 장치간의 연결을 설정 관리 종료 하는 역할을 수행한다.
이 계층에서는TCP/IP 세션을 만들고 없애고 통신하는 사용자들을 동기화하고 오류 복구 명령어들을 일괄적으로 다룬다.
전송계층(Transport Layer)
드디어 아는게 나왔다
전송계층은 하위계층 (물리계층, 데이터링크계층, 네트워크계층)에 신뢰할 수 있는 데이터 전송 서비스를 제공한다.
흔히 사용하는 TCP, UDP 통신규약을 여기서 설정하며,
이 계층을 통해서 상위계층이 데이터 전달의 유효성이나, 효율성을 생각하지 않도록 부담을 덜어주는 역할을 수행한다.
네트워크계층(Network Layer)
여기서 그 유명한 IP(인터넷 프로토콜) 패킷을 생성한다.
OSI 계층에서 가장 복잡한 계층 중 하나로 실제 네트워크 간의 라우팅을 담당한다.
* 라우팅이란 데이터를 전송하기 위해 최적의 노드경로를 선택하는 과정이다.
IP패킷에는
실제 어느 IP주소로 데이터를 전송할지, 클라이언트의 IP주소 정보를 담고있고
네트워크 계층은 이러한 정보를 파악하는 역할을 수행한다. 또한 데이터 스트림을 더 작은 단위로 분할하고 경우에 따라서 오류를 감지해 처리한다.
데이터링크계층(DataLink Layer)
데이터링크계층은 물리적인 네트워크를 통해 데이터를 전송하는 수당을 담당한다.
클라이언트가 IP패킷을 만들어 적당히 인터넷망에 보내게 되면
실제 수많은 노드를 거쳐서 요청 IP주소에 패킷이 도달할 텐데
여기서 실제로 수많은 노드 사이 직접 연결된 2개의 노드간의 데이터 전송을 담당한다.
이를위해 MAC주소나 실제 물리주소 등을 이용한다.
물리계층(Physical Layer)은 실제로 네트워크가 전송되는 물리적인 매체이다.
통신케이블, 모뎀, 리피터, 허브 등이 여기에 해당된다.

두 규약 모두
인터넷망을 이용하여 데이터 전송의 표준을 제공하며 이에따른 편의사항 및 안정성을 보장하는 역할을 수행한다.
프로그래밍 용어를 빌려서
OSI 7 Layer는 단순히 인터페이스(계약)이며 어떠한 표준만을 제시한다.
이에비에 TCP/IP 4 Layer는 해당 인터페이스의 구현 이라고 볼 수 있다.
실제 패킷을 생성하는 과정에 초점이 있으며, 해당 규약을 따르기 위해 어떤식으로 구현할지 등에 대해 더 많은 관심이 있다.