본문 바로가기

Etc./APM

OSI 7계층

1. OSI 7계층 배경

인터넷을 통한 효율적인 데이터 송수신이라는 이슈를 해결하기 위해서는 아주 많은 분양의 전문가가 필요하며, 이들간의 상호 논의로 만들어진 다양한 약속이 필요하다. 문제를 영역별로 나눠서 해결하다보니 여러 프로토콜이 만들어졌으며, 계층구조를 통해서 상호간에 관계를 맺게 되었다.

 

 

2.1. 물리계층

데이터를 전기적 신호로 변환해서 주고받는 기능을 하는 계층이다. 사용되는 통신 단위는 비트로 1,0만 나타내진다. 대표적인 장비로는 케이블, 허브 등이 있다.

 

ex. Coax, Fiber

2.2. 데이터 링크 계층

물리 계층을 통해 송수신되는 정보의 오류와 흐름을 관리하여 안전한 정보 전달을 수행할 수 있도록 도와준다. 크게 두가지의 역할이 있는데 데이터를 보내고, 안전하게 도착할 수 있도록 도와준다.

 

첫번째 역할:

직접 연결된 서로 다른 2개의 네트워킹 장치 간의 데이터 전송을 담당한다. 즉 다른말로하면 직접 연결되지 않으면 데이터를 보낼 수 없기 때문에, 이웃 장치를 넘어선 통신은 고려하지 않는다. 맥 주소를 가지고 통신을하며, 전송되는 단위를 프레임이라고한다.

 

*맥 주소? 컴퓨터간 데이터를 전송하기 위해 있는 컴퓨터의 물리적 주소이다. 멀리 있는 컴퓨터와 통신하기 위해 IP주소를 사용하는데, 실제로는 IP주소를 맥 어드레스로 바꿔 사용한다. IP 주소간의 통신은 사실 각 라우터에서 일어나는 MAC 주소와 MAC 주소 통신의 연속적인 과정이다. IP주소는 네트워크 계층에서 사용된다. 

 

IP주소는 네트워크 주소이고, 맥 주소는 하드웨어 주소라 물리적 주소, 이더넷 주소라고도 불린다. NIC(랜카드)를 만드는 제조사가 ROM에 맥 주소도 함께 넣어두기 떄문에 이는 바꿀 수 없다. 

 

컴퓨터는 자신의 MAC 주소는 알아도 상대의 MAC 주소는 모르는데, 네트워크단에서 IP주소로 MAC 주소를 알아오게 하는 프로토콜을 사용한다. 이가 ARP 프로토콜이다. 

 

그렇다면 IP주소는 모르고 MAC 주소만 알면 어떻게 될까? 맥 주소는 옆사람과의 통신에만 사용되어있기 때문에 미국에 있는 컴퓨터 A까지  가려면 나랑 연결딘 어떤 노드에게 데이터를 패스해야하는지를 판단할 수 없다.

 

두번째 역할:

프레이밍, 흐름 제어, 오류 제어, 접근 제어, 동기화 등

 

ex. Ethernet

 

2.3. 네트워크 계층

2계층까지는 바로 옆 노드에 있느 장치까지만 데이터를 전달할 수 있다. 최종 목적지에 가려면 어떻게 가야하는지 알려주는것을 라우팅이라고 하는데, 라우팅을 해주는 계층이 네트워크 계층이다. 네트워크 통신을 위해서는 맥 주소가 아닌 IP주소가 필요하며, 이 계층의 데이터는 패킷이라고 한다. 

 

* IP 계층 
목적지로 데이터를 전송하기 위해서 중간에 어떤 경로를 거쳐갈 것인가의 문제를 해결하는 것이 IP계층이다. (OSI 7계층의 관점에서는 네트워크 계층에 속한다.) IP 프로토콜을 사용하는데, 이는 비연결지향적이며 신뢰할 수 없다. 데이터를 전송할 때마다 경로를 선택하지만 매번 일치하지는 않는다. 

 

ex. IP, ICMP

 

2.4. 전송 계층

목적지에 신뢰할 수 있는 데이터를 전송하기 위해 필요하다. 패킷들의 전송이 유효한지 확인하고 전송 실패한 패킷들은 다시 전송하기도 한다.

 

대표적인 예

* TCP계층

데이터 전송을 위한 경로의 검색은 네트워크 계층에서 해주므로, 그 경로를 기존으로 데이터를 전송하면 된다. 

IP 주소는 오로지 하나의 데이터 패킷이 전송되는 과정에만 중심을 두고 설계되었다. 따라서 전송의 순서 등을 신뢰할 수 없다. 이를 보안해주는 것이 TCP인데, 데이터를 주고받는 과정에서 서로 데이터를 주고 받음을 확인하고 분실된 데이터에 대해서 재전송해주는 것이 TCP의 역할이다. 

 

ex. TCP, UDP

 

2.5. 세션 계층

전송계층까지의 주된 기능은 단순히 데이터를 전달하는 것이다. 이에 반해 세션 계층에서 응용계층까지의 상위 계층의 기능은 종점 컴퓨터 내의 프로세스간의 통신 프로토콜이다. 두 응용프로그램간의 세션 설정, 유지, 종료, 전송 중단시 복구 등의 기능이 있다.

 

ex. SOCKET

2.6. 표현 계층

데이터 표현이 상이한 응용 프로세스의 독립성을 제공하고, 암호화한다. 해당 데이터가 TEXT인지, 그림인지, GIF인지 구분 등이 표현 계층의 몫이다.


ex. SSL, ASCII, SSH 프로토콜 등

 

2.6. 응용 계층

응용 프로세스와 직접 관계하여 일반적인 응용 서비스를 수행한다. 

 

ex. HTTP, FTP, SMTP, IMAP 등

 

참고) https://jhnyang.tistory.com/403

https://shlee0882.tistory.com/110

'Etc. > APM' 카테고리의 다른 글

[DB] 프로시저 (procedure)  (0) 2023.01.30
[APM] APM 스카우터  (0) 2023.01.27
TCP/IP 소켓 프로그래밍 기초 지식  (0) 2023.01.25
소켓프로그래밍이란  (0) 2023.01.25
WAS란?  (0) 2023.01.05