17.1 OSI and TCP/IP Models

2024. 2. 29. 22:08CS - Roadmap.sh/17. Networking

OSI and TCP/IP Models

The OSI and TCP/IP model is used to help the developer to design their system for interoperability. The OSI model has 7 layers while the TCP/IP model has a more summarized form of the OSI model only consisting 4 layers. This is important if you’re are trying to design a system to communicate with other systems.

개발자가 상호운용성을 위해 시스템을 설계할 때 OSI 및 TCP/IP 모델을 사용합니다. OSI 모델은 7개의 계층으로 구성되어 있는 반면, TCP/IP 모델은 4개의 계층으로만 구성된 OSI 모델을 좀 더 요약한 형태입니다. 이는 다른 시스템과 통신할 수 있는 시스템을 설계하려는 경우 중요합니다.

 

OSI (Open Systems Interconnection) 모델 OSI 모델은 네트워크에서 발생하는 통신 과정을 7단계로 나눈 것입니다. 각 단계는 서로 독립적으로 동작하며, 특정 기능을 수행합니다.
7단계(응용 계층): 사용자와 가장 가까운 계층으로, 소프트웨어 애플리케이션의 네트워크 프로세스가 이루어집니다.
6단계(표현 계층): 데이터의 변환, 암호화, 압축 등을 담당합니다.
5단계(세션 계층): 네트워크 상에서 세션을 만들고, 유지하고, 종료하는 역할을 합니다.
4단계(전송 계층): 데이터의 분할, 전송, 재조립을 담당합니다.
3단계(네트워크 계층): IP 주소를 이용한 라우팅과 패킷 전달을 담당합니다.
2단계( 링크 계층): 물리 계층을 통한 데이터 전송과 오류 검출을 담당합니다.
1단계(물리 계층): 물리적 매체를 통한 비트 전송을 담당합니다.


TCP/IP 모델 TCP/IP 모델은 인터넷에서 가장 널리 사용되는 프로토콜이며, 4단계로 구성됩니다.
응용 계층(Application Layer): HTTP FTP, SMTP 등의 프로토콜이 이곳에서 동작합니다.
전 계층(Transport Layer): TCP와 UDP 프로토콜이 이곳에서 동작하며, 데이터의 전송을 담당합니다.
인터넷 계층(Internet Layer): IP 프로토콜이 이곳에서 동작하며, 패킷의 라우팅을 담당합니다.
네트워크 인터페이스 계층(Network Interface Layer): 물리적 네트워크와 연결되며, 데이터 링크 계층과 비슷한 역할을 합니다.

 

 

 

7. 응용 프로그램 계층( APP)

 

7 계층은 사용자의 데이터와 직접 상호 작용하는 유일한 계층입니다. 웹 브라우저 및 이메일 클라이언트와 같은 소프트웨어 애플리케이션은 통신을 개시하기 위해 애플리케이션 계층에 의지합니다. 그러나 클라이언트 소프트웨어 애플리케이션은 애플리케이션 계층의 일부가 아니라는 점은 분명해야 합니다.

 

더 정확히 말하면 애플리케이션 계층은 소프트웨어가 사용자에게 의미 있는 데이터를 제공하기 위해 의존하는 프로토콜과 데이터를 조작하는 역할을 합니다.

 

 

6. 프레젠테이션 계층

 

Encrpytion -> Compression -> Transiation

 

6계층은 데이터를 준비하는 역할을 하여 애플리케이션 계층이 이를 사용할 수 있게 합니다. 즉, 계층 6은 애플리케이션이 소비할 수 있도록 데이터를 프레젠테이션합니다. 프레젠테이션 계층은 데이터의 변환, 암호화, 압축을 담당합니다.

서로 통신하는 두 개의 통신 장치는 서로 다른 인코딩 방법을 사용하고 있을 수 있으므로, 계층 6은 수신 장치의 애플리케이션 계층이 이해할 수 있는 구문으로 수신 데이터를 변환하는 일을 담당합니다.

장치가 암호화된 연결을 통해 통신하는 경우, 계층 6은 최종 송신자에게 암호화를 추가할 뿐만 아니라 최종 수신자에게 암호화를 디코딩하여 암호화되지 않은 읽기 쉬운 데이터로 애플리케이션 계층을 제시할 수 있도록 하는 역할을 합니다.

마지막으로, 프레젠테이션 계층은 애플리케이션 계층에서 수신한 데이터를 계층 5로 전송하기 전에 압축하는 일도 담당합니다. 전송할 데이터의 양을 최소화함으로써 통신의 속도와 효율을 높이는 데 도움이 됩니다.

 

5. 세션 계층 (Session Layer)

 

두 기기 사이의 통신을 시작하고 종료하는 일을 담당하는 계층입니다. 통신이 시작될 때부터 종료될 때까지의 시간을 세션이라고 합니다. 세션 계층은 교환되고 있는 모든 데이터를 전송할 수 있도록 충분히 오랫동안 세션을 개방한 다음 리소스를 낭비하지 않기 위해 세션을 즉시 닫을 수 있도록 보장합니다.

또한 세션 계층은 데이터 전송을 체크포인트와 동기화합니다. 예를 들어, 100MB의 파일이 전송되는 경우 세션 계층이 5MB마다 체크포인트를 설정할 수 있습니다. 52MB가 전송 된 후 연결이 끊어 지거나 충돌이 발생하면 마지막 체크 포인트에서 세션을 재개하는 것이 가능합니다. 즉, 50MB의 데이터만 더 전송하면 됩니다. 체크 포인트가 없으면 전체 전송을 처음부터 다시 시작해야 합니다.

 

 

4. 전송 계층 (Transport Layer)

 

계층 4는 두 기기 간의 종단 간 통신을 담당합니다. 여기에는 세션 계층에서 데이터를 가져와서 계층 3으로 보내기 전에 세그먼트라고하는 조각으로 분할하는 일이 포함됩니다. 수신 기기의 전송 계층은 세그먼트를 세션 계층이 이용할 수 있는 데이터로 재조립해야 합니다.

전송 계층은 또한 흐름 제어 및 오류 제어 기능의 역할도 합니다. 흐름 제어는 연결 속도가 빠른 송신자가 연결 속도가 느린 수신자를 압도하지 않도록 최적의 전송 속도를 결정합니다. 전송 계층은 수신된 데이터가 완료되었는지 확인하고 수신되지 않은 경우 재전송을 요청하여 최종 수신자에 대해 오류 제어를 수행합니다.

전송 계층 프로토콜에는 전송 제어 프로토콜(TCP) 및 사용자 데이터그램 프로토콜(UDP)이 있습니다.

728x90