OSI (Open Systems Interconnection) 모델은 개방형 시스템으로, 통신을 함에 있어 역할에 따라 각 층을 나누고 여러 시스템 간의 호환성을 위해 데이터의 규격(기준)을 정해놓은 네트워크 표준이다.
- 1층 물리 Physical Layer
데이터를 받으면 데이터를 디지털 신호(비트)로 전환하여 전송하는 계층. 어떤 데이터를 보냈는지, 에러는 안났는지, 효율적인 전송방법은 무엇인지 등을 고려하지 않고 단순히 송수신만 함. 대표장비로는 통신케이블, 모뎀, 허브, 리피터 등 - 2층 데이터링크 DataLink Layer
하드웨어와 소프트웨어간 연결고리. 물리계층에서 오가는 데이터(비트)에 신뢰성을 더하기 위해 에러처리, 흐름제어를 한다. 데이터가 출발지IP에서 목적지IP로 이동할 때 거리가 멀면 바로 보낼 수 없으니 여러 노드들을 거쳐 전송되는데, 자신과 직접적으로 연결된 노드에게 데이터(프레임: 물리계층에서 받은 신호를 조합해 만든 데이터 유닛)를 전송하는 계층이다. 대표장비로는 스위치와 브릿지가 있고, 이 장비는 자신에게 연결된 여러 컴퓨터의 MAC(물리접근제어)주소 테이블을 가지고 있어 프레임에 MAC주소를 부여해 그곳으로 전송한다. - 3층 네트워크 Network Layer
출발지IP에서 자신과 다른 네트워크에 속한 목적지IP까지 종단간(end to end) 데이터(패킷)를 전달하는 계층이다. 어느 노드들을 거져 가야 안전하고 빠른지를 판단, 최적의 경로를 설정(라우팅)하여 패킷에 IP주소(논리적주소)를 부여해 전송한다. 대표장비로는 라우터 - 4층 전송 Transport Layer
송수신자 간 연결을 유지하는 역할. TCP/IP 프로토콜과 UDP 프로토콜이 있다. TCP는 연결지향적인 프로토콜로, 데이터(세그먼트)를 어디로 보낼지, 어느 순서로 보낼지, 잘 갔는지 등을 확인해 신뢰성이 높고, 1:1로 통신한다.
반대로 UDP는 비연결지향적 프로토콜로서 데이터를 잘 받았는지, 순서대로 전송됐는지 같은 사항을 확인하지 않고 보내기만 하기때문에 신뢰성은 낮지만, 속도가 빠르며 1:N 으로 다수에게 동시에 전송할 수 있다. - 5층 세션 Session Layer
통신을 하기 위한 TCP/IP의 세션을 수립하고 제거하는 등 프로세스 간 통신제어 및 동기화 역할을 한다. - 6층 표현 Presentation Layer
데이터를 암호화, 인코딩하는 등 데이터를 규격에 맞게 변환한다. - 7층 응용 Application Layer
HTTP, FTP, SMTP, Telnet등과 같은 프로토콜이 있다. 사용자와 직접 대면하게 되는 응용 프로그램(브라우저 등)으로 HTTP같은 프로토콜을 쉽게 사용할 수 있다.
예를들어 정리해보자면, A가 B에게 메일을 보내는 상황에서
(7계층) A가 브라우저를 통해 이메일 전송버튼을 누른다
-> (6계층) 이메일에 담긴 내용이 어떤 종류인지 구분하고 가공한다
-> (5계층) 전송 프로세스 세션을 수립한다
-> (4계층) 가공된 메일을 프로토콜에 따라 송신 프로세스에서 수신 프로세스로 전달한다
-> (3계층) 메일의 도착지가 어느 곳인지 확인하고 어디를 경유해 보내면 빠를지 결정하고 전송한다
-> (2계층) 실제 연결된 컴퓨터 중 어느 컴퓨터로 보낼지 확인하고 전달한다
-> (1계층) 메일을 컴퓨터가 알아들을 수 있는 디지털 신호(비트)로 가공해 전송한다
'Dev > Network, Web' 카테고리의 다른 글
[Network] Subnet Mask 서브넷 마스크 (0) | 2022.11.07 |
---|---|
[Network] WS, WAS 차이 (Apache, Tomcat) (0) | 2022.11.03 |
[Network] CORS 에러 (0) | 2022.10.31 |
[Network] HTTP 프로토콜, 3-way handshaking (0) | 2022.10.31 |
[Network] 사설 SSL로 로컬에서 HTTPS 프로토콜 사용하기 (feat.OpenSSL, 톰캣) (0) | 2022.10.25 |