IT 공부 내용 정리/네트워크

OSI 7계층 과 TCP / IP

afkajas 2024. 11. 6. 01:57

OSI 7 계층은 네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것을 의미합니다.

국제적 표준 프로토콜을 사용해서 통신을 하기 때문에 개방형 네트워크에서 사용됩니다.

( 기본적으로 폐쇄망이 아닌 경우에는 보통 OSI 7 계층을 사용한다고 생각하시면 됩니다. )

 

그리고 네트워크를 계층으로 나눈 가장 큰 이유는 통신에 장애가 발생했을 시 해당 장애 위치를 쉽게 찾기 위해서입니다.

 

OSI 7 계층은 기본적으로 네트워크를 공부한다고 했을 때 각 계층마다 존재하는 프로토콜도 숙지하는 것이 실질적으로

도움이 됩니다. ( 해당 프로토콜 들은 트러블 슈팅에서 사용되거나 통신이 정상적 동작을 확인 하는 데 사용되기도 합니다)

 


OSI 7 계층의 기본적 구조

 

먼저 그림으로 OSI 7 계층을 살펴보면 위와 같습니다. 기본적으로 전달하려는 Data 앞에 하나씩 헤더( Header )가 붙습니다. 헤더에는 해당 계층의 기능과 관련된 제어 정보가 포함되어 있습니다.

제어 정보들은 송신 측에서는 계층마다 덧붙여주고 수신 측에서는 계층마다 제거됩니다.

 

각 계층마다 사용되는 프로토콜은 위와 같습니다. 대표적인 것 몇 가지만 표에 기재되어 있으며 찾아보면 더 많은 프로토콜이 존재합니다. 

이러한 프로토콜로 인해서 하위 계층으로 갈수록 해더 가 붙으며 데이터가 커지게 됩니다.

 

나중에 각 계층의 헤더가 무엇을 의미 하는지는 따로 정리 하겠습니다.

응용 계층

가장 상단 7 계층을 담당하고 있는 응용 계층입니다. 응용 계층은 사용자 인터페이스를 제공하는 계층입니다.

대표적으로 html 문서 전송 프로토콜인 HTTP ( HyperText Transfer Protocol) , FTP ( File Transfer Protocol),

SMTP ( Simple Mail Transfer Protocol) 이 있습니다. 

 

간단하게 설명해서 chrome이나 explorer 생각하시면 됩니다. 


표현 계층

6 계층을 담당하는 표현 계층입니다. 주요 역할은 전송하고자 하는 데이터의 표현 방식을 결정하는데 

쉽게 설명해서 데이터의 변환, 압축, 암호화 등을 담당합니다.

JPEG(Joint Photographic Experts Group - 그림 파일의 손실 or 무손실 압축을 위한 표준)

ASCII( American Standard Code for Information Interchange - 문자 인코딩 체계)


세션 계층

5 계층을 담당하는 세션계층은 두 장치 사이에 연결을 형성하고 유지 및 종료하는 기능을 담당합니다.

장치사이에 대화 통로라고 보시면 되며 데이터의 송수신 타이밍과 방법이 결정되는 구간입니다.

 

SSH ( Secure SHell) - 네트워크상의 다른 장치에 로그인해서 명령 실행 및 정보를 보고 받을 수 있는 통신 프로토콜


전송 계층

4 계층인 전송 계층입니다. 이 계층은 사용자 사이의 신뢰성 있는 데이터 전달을 담당하는 계층입니다. 

대표적으로 TCP ( Transmmission Control Protocol ) , UDP ( User Datagram Protocol) 이 있습니다.

 

이 구간에서 port 번호를 통해서 출발지와 목적지를 구분하며 이 구간에서의 데이터 형태를 세그먼트 ( Segment)

라고 합니다. 


네트워크 계층

3 계층인 네트워크 계층에서는 우리에게 익숙한  IP주소 ( Internet Protocol Address )를 사용합니다.

네트워크 계층은 네트워크를 논리적으로 구분하며 전송계층에서 요구하는 서비스 품질(Qos)을 위한 수단도 제공합니다.

 

이 구간에서 출발지와 목적지를 구분하는 것은 IP 주소이며 이때 라우팅 프로토콜을 이용해서 WAN 구간의 최적의 경로를 찾습니다. 그리고 데이터의 형태를 패킷 ( Packet )이라고 부릅니다.


데이터 링크 계층

2 계층인 데이터 링크 계층입니다. 물리계층을 통해 전달되는 송수신 정보의 오류와 흐름을 관리하는 역할을 수행합니다.

이 계층에서 전송되는 데이터를 프레임(Frame)이라고 부르고 맥 주소( MAC address )를 통해서 구분합니다.

맥 주소를 통해서 에러를 검출하거나 , 재전송, 흐름제어를 수행합니다. LAN 구간의 최적의 경로를 찾는 역할도 합니다.

헤더에는 MAC address가 테일에는 오류를 검출하는 비트가 들어 있습니다.


물리 계층 

1 계층인 물리 계층입니다. 간단하게 통신케이블 생각하시면 됩니다. 통신 케이블을 이용해서 전기적 신호를 전송하는 장비들입니다. 이 계층에서 데이터 단위는 비트 ( Bit)라고 불립니다.

 


종합해서 보면 송신자가 7 계층에서 시작해서 1 계층을 통해 수신자에게 데이터를 전달하면 수신자는 1 계층에서 송신자가 보낸 데이터를 받아서 하나씩 껍질을 제거하며 7 계층을 통해서 송신자가 보내고자 한 데이터의 원본을 보는 것이라고 생각하시면 됩니다.

 


TCP / IP 4 계층

 

TCP / IP 4 계층은 OSI 7 계층에서 파생되었다고 볼 수 있습니다. 그 이유는 인터넷을 통해서 데이터를 주고받을 때 보통 전송 계층의 TCP와 네트워크 계층의 IP를 많이 사용하는데 이 둘을 묶어서 개발한 프로토콜입니다.

현재 대부분 PC는 TCP / IP 모델을 따라서 데이터를 전송합니다. ( Ethernet이라고 부르기도 합니다 )

OSI와 다른 점은 TCP / IP 모델의 경우에는 각각의 계층들이 서로 종속적이라는 차이가 있습니다. (서로 연결되어 있다는 뜻입니다.)

 

 

응용계층

TCP / IP에서 응용계층은 OSI에서 응용 + 표현 + 세션 계층의 역할을 합니다. 주로 TCP , UDP 기반의 프로그램에 대해여 동작합니다. 

전송 계층

TCP / IP에서 전송계층은 네트워크 양단의 호스트 사이에서 신뢰성 있는 전송 기능을 제공하는 역할을 합니다. 

TCP 또는 UDP를 프로토콜을 사용하며 TCP의 경우 호스트 사이를 연결할 때는  3 way - Handshake 기법을 사용합니다.

연결은 끊을 때는 4 way - Handshake를 사용합니다.

UDP는 TCP와 다르게 데이터가 비연결형으로 전달되며 수신 여부를 확인하지 않습니다.

신뢰성은 낮지만 속도는 빠릅니다.

 

3 way - Handshake

3 way - Handshake를 간단하게 설명하면 아래와 같습니다

  1. 클라이언트가 서버에게 SYN을 보내고 SYN-SENT 상태로 대기합니다.
  2. 서버는 SYN을 받은 후 SYN-RECEIVED로 상태를 변경하고 클라이언트에게 SYN + ACK를 보냅니다.
  3. 클라이언트는 SYN + ACK를 받은 후 서버에 ACK를 전달하며 ESTABLISHED로  변경합니다.
  4. 서버는 ACK를 받고 ESTABLISHED 상태로 변경됩니다
  5. 그 후 통신을 시작합니다.

4 way - Handshake 

4 way - Handshake는 TCP 연결의 해제를 위해서 수행합니다 과정은 아래와 같습니다

  1. 클라이언트가 close로 상태 변경을 위해서 FIN을 서버에 전달 후 FIN-WAIT 1 상태가 됩니다.
  2. 서버는 FIN을 받고 해당 포트에 연결된 애플리케이션에게 CLOSE-WAIT로 상태 변경 후 클라이언트에게 ACK를 전달합니다.
  3. ACK를 받은 클라이언트는 FIN-WAIT 2로 변경되고 서버의 FIN을 기다립니다.
  4. 서버는 애플리케이션을 종료하고 FIN을 클라이언트에게 전달하면서 LAST-ACK로 변경해서 클라이언트의 ACK를 대기합니다.
  5. FIN을 받은 클라이언트는  ACK를 서버에 전송하고 전송실패나 새로운 연결에 잠시 대기하기 위해서 TIME-WAIT가 되고 일정시간이 지난 후 CLOSE로 변경됩니다.
  6. ACK를 받은 서버는 CLOSED가 됩니다.

인터넷 계층

 

인터넷 계층은 데이터의 인터넷 주소를 결정하고 경로를 배정합니다. 이때 IPv4는 유니캐스트, 브로드캐스트, 멀티캐스트를 지원하며 이때 데이터를 패킷이라 부릅니다.

IPv6의 경우에는 유니캐스트, 애니캐스트, 멀티캐스트를 지원합니다.


네트워크 인터페이스 계층

랜카드와 디바이스 드라이버와 같이 하드웨어적 요소와 관련된 것을 지원하는 계층입니다.

프리앰블 ( Preamble - 전송 타이밍 동기화 신호), CRC(Cyclic Redundancy Check - 순환 중복 검사-오류확인)을 

해더에 추가합니다.

송신 측은 MAC을 추가해서 데이터를 패킷에서 프레임으로 만들어 전달합니다.

 

이 계층에서 관련된 프로토콜은 이더넷 ( Ethernet) , 802.11x( WIFI에 사용) 등이 있습니다.

'IT 공부 내용 정리 > 네트워크' 카테고리의 다른 글

허브와 스위치(스위칭)  (0) 2024.11.06
IP와 서브넷 마스크  (0) 2024.11.06
Ipv4 전송 유형  (0) 2024.11.05
네트워크의 대표적인 구성  (3) 2024.11.04
전송과 교환 이란 무엇인가?  (0) 2024.11.03