이전 포스팅 2. 월드와이드웹(WWW), 프로토콜(Protocol)이란?에서 WWW는 인터넷을 통해 다양하고 광범위한 웹페이지로 편리한 접근방법을 제공하는 상호작용 연결 시스템이라고 배웠다. 그리고 WWW는 HTTP 프로토콜을 사용하며, 프로토콜은 통신 규약이었다. 이번 글에서는 ISO(국제표준단체)가 제정한 네트워크 통신 규약인 OSI 7계층에 대해 알아보자.
1. OSI 7계층 모델이란?
- 정의: 네트워크 프로토콜이 통신하는 구조를 7계층으로 나누어 각 계층간 상호작용하는 방식을 정해 놓은 것. ISO가 제정했다(출처: 위키해시). Open system interconnection model은 시스템 간 architecture와 상관 없이 서로 다른 시스템 간 상호 연결을 Open하는 ISO 기준이다.(출처: studyopedia.com)
그림1을 보며 OSI 7계층에 대해 가볍게 이해해보고 존재 이유에 대해 알아보자. 그림1에서 송신 호스트는 데이터 앞에 빨간색 헤더를 붙여 응용계층->표현계층->.. 순서로 아래 계층으로 데이터를 보낸다. 수신 호스트는 최하 계층(물리 계층)에서 데이터를 받아 헤더를 떼어내어 최상위 계층에선 데이터 그 자체만 가지게 된다. 즉 데이터 송수신 시 컴퓨터는 7단계에 걸쳐 작업을 하며, 송신시 위에서 아래, 수신시 아래에서 위로 프로토콜을 지나며 데이터를 보낸다. 그림2를 보면 맨위 응용 계층에서 HTTP가 보인다!
* 왜 7계층에 걸쳐 통신을 할까?
- 결론부터 말하면 분업화를 위해서다. 분업화를 하면 무엇이 좋을까? 수 많은 이유가 있겠지만, 여기서는 확장성과 유지 보수(캡슐화)에 집중해보자.
분업화는 프로토콜 간 종속성을 없애 확장성이 증가한다. 데이터 통신을 하다보면 여러 작업이 필요할 것이다. 코드를 누구에게 보낼지 정하는 작업, 정한 상대와 통신 할 수 있을지 확인하는 작업, 통신 중에 제대로 통신되나 확인하는 작업, 코드를 기계어로 변환하는 작업, 기계어를 전기 신호로 변환하는 작업 등이 있다. 이러한 작업들이 하나로 묶여 진행된다면 네트워크 장비가 달라질 경우 통신 방법 또한 달라질 수 있다. 네트워크 장비의 종류에 영향받지 않는 작업마저 장비에게 종속되면 비효율적인 설계다. 따라서 다양한 네트워크 장비에 대응할 수 있게 분업화를 통해 확장성의 이점을 얻을 수 있다.
분업화는 유지 보수(캡슐화)에 집중 할 수 있다. 각 계층이 독립적이여서 자신의 일만 신경쓰면 되기 때문이다. Input이 신뢰할 수 있는 데이터라는 가정하에 작업을 진행하면 내가 따로 신뢰성 확인을 하지 않아도 되기 때문에 일의 효율이 증가한다. 이렇게 7계층에 걸쳐 통신을 하게 되면 네트워크 통신의 분업화가 이루어져 확장성과 유지보수성이 증가한다.
2. OSI 7계층 모델 종류?
- 데이터를 전송하는 쪽은 데이터를 보내기 위해 상위 계층에서 하위 계층으로 데이터를 전달한다. 데이터를 수신하는 측은 데이터를 받기 위해 하위 계층에서 상위 계층으로 전달되는 데이터를 받는다. 데이터 전송 과정에서 각 계층은 독립적으로 작동하기 때문에 서로 영향을 주지 않는다.(자세한 내용은 아래로)
계층 | 이름 | 설명 |
7계층 | 응용 계층(Application Layer) | 이메일 & 파일 전송, 웹 사이트 조회 등 애플리케이션에 대한 서비스를 제공. |
6계층 | 표현 계층(Presentation Layer) | 문자 코드, 압축, 암호화 등의 데이터를 변환. |
5계층 | 세션 계층(Session Layer) | 세션 체결, 통신 방식을 결정. |
4계층 | 전송 계층(Transport Layer) | 신뢰할 수 있는 통신을 구현. |
3계층 | 네트워크 계층(Network Layer) | 다른 네트워크와 통신하기 위한 경로 설정 및 논리 주소를 결정. |
2계층 | 데이터 링크 계층(Data Link Layer) | 네트워크 기기 간의 데이터 전송 및 물리 주소를 결정. |
1계층 | 물리 계층(Physical Layer) | 시스템 간 물리적인 연결과 전기 신호를 변환 및 제어. |
3. TCP/IP모델이란?
- 정의: 인터넷과 이와 유사한 컴퓨터 네트워크에서 사용되는 통신 프로토콜 세트. OSI 모델을 인터넷에 맞는 모델로 변환한 모형이다.
OSI 모델 | TCP/IP 모델 | |
7계층 | 응용 계층 | 응용 계층 |
6계층 | 표현 계층 | |
5계층 | 세션 계층 | |
4계층 | 전송 계층 | 전송 계층 |
3계층 | 네트워크 계층 | 인터넷 계층 |
2계층 | 데이터 링크 계층 | 네트워크 접속 계층 |
1계층 | 물리 계층 |
4. 데이터 전송과정(TCP/IP 모델, OSI 7계층 모델)
OSI 7계층과 TCP/IP 모델에 대해 자세히 알아보자. 편의상 TCP/IP는 파랑색 OSI 7계층은 주황색으로 표현했다.
TCP/IP, 응용 계층
OSI, 응용 계층
요약: 이메일 & 파일 전송, 웹 사이트 조회등 애플리케이션에 대한 서비스를 제공한다. 사용자가 소통하는 층이다.
- www.naver.com을 입력하면 응용 계층에서 http를 이용하여 특정 ip 주소로 index.html을 get한다는 요청을 하기 위해 전송 계층으로 관련 데이터를 전달하게 된다.
OSI, 표현 계층
요약: 문자 코드, 압축, 암호화 등의 데이터 변환 기능. 서로 다른 데이터 표현 형태를 가지는 계층 간의 상호 전달을 위해 필요한 계층.
- 응용 계층으로 부터 받은 데이터를 세션 계층으로 보내기 전에 알맞은 형태로 가공한다(ex. https로 응용 계층에서 데이터 통신 시, 데이터를 암호화).
- 세션계층으로 부터 받은 데이터를 응용 게층으로 보내기 전에 알맞은 형태로 가공한다.(ex. 바이너리 데이터를 데이터의 확장자에 맞게(ex. jpg)로 변환한다)
OSI, 세션 계층
요약: 세션을 체결하고 통신 방식을 결정한다. 응용프로그램 간 대화를 유지하기 위한 구조를 제공.
- 자세히
TCP/IP, 전송 계층
OSI, 전송 계층
요약: 신뢰할 수 있는 통신을 구현. 통신의 신뢰성, 전송 속도를 고려한 프로토콜이 존재한다.
- 자세히
- 더보기
-업데이트 예정
TCP/IP, 인터넷 계층
OSI, 네트워크 계층
요약: 다른 네트워크와 통신하기 위한 경로 설정 및 논리 주소(ex. ip주소)를 결정한다. 라우터와 같은 기기를 이용하여 다른 네트워크로 갈 수 있는 경로를 결정, 저장 및 업데이트 한다.
- 자세히
- 더보기
-업데이트 예정-
TCP/IP, 네트워크 접속 계층
OSI, 데이터 링크 계층
요약: 네트워크 기기 간의 데이터 전송 및 물리 주소(ex. MAC 주소)를 결정한다. 스위치와 같이 MAC 주소를 가지고 있는 네트워크 기기를 이용하여 데이터를 전송하고 물리 주소를 업데이트 한다.
- 자세히
- 업데이트 예정 -
OSI, 물리 계층
요약: 시스템 간의 물리적인 연결을 하며, 전기 신호를 변환 및 제어한다. 랜카드, 랜 케이블, 허브, 리피터과 같은 장비로 시스템 간 물리적인 연결을 한다. 이진 데이터를 전기 신호로 보내기 위한 변환 작업 또한 이행한다.
- 자세히
1. 시스템간의 물리적인 연결 by 네트워크 전송 매체
- 랜카드(Network Interface Controller): 컴퓨터를 컴퓨터 네트워크와 연결시키기 위한 하드웨어 요소
- 랜 케이블: 노이즈를 줄이기 위해 구리 선 두개씩 꼬아 만들었기 때문에 트위스트 페어 케이블이라고도 불린다. 노이즈를 막아주는 shield 유무에 따라 STP, UTP로 나뉘며, UTP가 가격이 저렴하여 보편적으로 사용된다. 양쪽에 RJ-45 커넥터가 있어 타 기기와 연결이 가능하다. 종류는 랜 케이블 다이렉트 케이블과 크로스 케이블 두개가 있다.
- 리피터(Repeater): 전기 신호를 정형화하고 증폭하는 기능을 가진 네트워크 중계 장비다. 전기 신호는 이동 거리가 길어질수록 노이즈의 영향에 의해 파형이 변화되기 때문에 이러한 일이 필요하다.
- 허브: 리피터의 기능을 포함하며 이에 더해 리피터와 달리 컴퓨터 여러대를 서로 연결할 수 있다. 한 컴퓨터에서 데이터를 보내면 허브를 통해 다른 컴퓨터로 데이터가 모두 전송된다. 이때 원하는 컴퓨터에만 데이터를 보내고 싶어도 허브의 특성에 의해 모든 컴퓨터에 전송되는 단점이 있다. 이에 허브를 dummy hub라고 부르기도 한다. 이러한 허브의 단점은 후에 나올 스위치에 의해 보정된다.
2. 데이터<->전기 신호 변환
- 랜카드에 의해 송신 측에서 데이터는 전기 신호로 변환되고, 수신 측에서 전기 신호는 데이터로 변환된다 여기서 데이터는 이진수로 이뤄진 숫자들의 집합이다.
'네트워크' 카테고리의 다른 글
[네트워크] 5. 무선 LAN(랜)이란? 통신 방식? 전송 제어? (0) | 2022.02.22 |
---|---|
[네트워크] 4. 이더넷이란? 통신 방식? 전송 제어? Easy with TMI (0) | 2022.02.21 |
[네트워크] 전송 계층이란? TCP, UDP 구조? 3WayHandShake? (0) | 2022.02.17 |
[네트워크] 2. 월드와이드웹(WWW), 프로토콜(Protocol)이란? (0) | 2022.02.14 |
[네트워크] 1.네트워크와 종류(LAN, WAN, 인터넷) 및 ISP란? (0) | 2022.02.13 |