티스토리 뷰
■프로토콜
프로토콜은 통신 규칙과 방법입니다. 통신을 원하는 개체간에 무엇을, 어떻게, 언제 통신할 것인가를 정해놓은 규약 입니다. 국제 표준 기구에서 이를 표준화 하여 대부분의 통신 장비들에서는 표준에 맞춘 프로토콜을 사용하고 있습니다.
◆프로토콜의 기능
분할 - 큰 용량의 데이터를 전송하기 위해 데이터를 나누는 기능 입니다.
재조립 - 분할된 데이터를 사용하기 위해 재조립 하는 기능 입니다.
캡슐화 - 데이터에는 계층을 거칠때 마다 헤더가 계층별로 붙게 되는데, 이를 캡슐화라고 합니다.
순서 제어 - 전송되는 데이터의 순서를 조율하고 이를 통해 데이터가 중복되거나 유실되는지 체크하는 기능 입니다.
흐름 제어 - 송신되는 데이터의 양과 전송률을 제한하는 기능 입니다.
오류 제어 - 데이터가 올바르게 수신되었는지 에러 검출 코드를 통해 체크하는 기능 입니다.
전송한 데이터가 전송 도중에 신호 교란이나 잡음, 그리고 데이터 손실 등이 발생하였을 때 데이터의 무결성을 보장할 수 없기 때문에 통신과정중에 전송되는 데이터는 원본 그대로 네트워크를 통해 전송되지 않습니다. 전체 데이터를 한번에 전송했을 시에 작은 비트라도 손실이 발생하면 전체 데이터를 다시 전송받아야 하는 비효율 적인 문제가 발생합니다. 따라서 패킷이라는 단위를 통해 데이터를 나눠서 전송합니다.
전송할 데이터는 헤더(Header)와 트레일러가 추가된 페이로드(Payload)라는 작은 단위로 나누어집니다. 헤더에는 통신에 필요한 정보가 들어가 있고, 트레일러는 페이로드의 무결성을 보장하기 위해 추가됩니다. 즉 페이로드는 나누어진 데이터, 헤더는 데이터에 붙는 추가적인 정보 라고 생각하시면 됩니다.
이렇게 만들어진 데이터는 헤더가 가지는 정보, 또는 트레일러의 유무에 따라 프레임(Frame) 또는 패킷(Packet)으로 구분됩니다. 프레임은 트레일러를 사용하며 전송하는 프레임의 무결성을 검사합니다.
■OSI 7 계층(OSI 7 참조모델)
OSI 참조모델은 Open Systems Interconnection Reference Model의 약자이며 프로토콜과 프로토콜을 지원하기 위한 기능들을 7가지 계층 구조로 나누어 표준화한 기준 입니다. 해당 표준을 준수하지 않는 제품은 국가 표준망에 설치할 수 없도록 하였지만, OSI 모델은 더이상 산업 표준으로 추천되지 않습니다.
1.물리 계층(Physical Layer)
물리 계층은 실제 네트워크 통신을 목적으로 사용하는 하드웨어등을 말합니다. 예로는 이더넷 카드가 있습니다. 물리 계층은 전달되는 전자 신호를 해석하여 데이터를 만들고 데이터를 전자 신호로 바꾸어 전송하는 기능을 합니다. 따라서 반드시 없어서는 안될 계층입니다. 물리 계층은 물리적 접속과 송수신에만 관여합니다.
2.데이터 링크 계층(Data link Layer)
데이터 링크 계층에서 데이터는 프레임 단위로 전송하며 와이파이 같은 무선인 경우 주파수 범위내에 단말기나 장치가 존재하는지 확인하거나 단말기들 사이에서 주파수의 교란이 발생하지 않도록 상호 주파수를 교정하는 기능을 수행합니다. 또, 전달 데이터의 보안이나 데이터 무결성을 검증하는 기능도 수행합니다.
3.네트워크 계층(Network Layer)
네트워크 계층은 패킷단위로 데이터를 전송하며 패킷의 헤더에는 IP가 들어가 있습니다. 네트워크 계층은 이 IP주소를 통해 주소를 지정하고 도착지점 까지의 경로를 설정하고(라우팅) 데이터의 오류 여부를 판단하는 기능을 수행합니다.
4.전송 계층(Transport Layer)
전송 계층은 상위계층과 하위 계층의 중간 계층이며 운영체제게 주고 받는 데이터에 대해 신뢰성을 보장하는 기능을 수행합니다. 페이로드 앞에 붙여지는 헤더를 통해 프레임이나 패킷의 유실되지 않도록 합니다.
5.세션 계층(Session Layer)
세션 계층은 모든 통신장비간의 연결을 수립하고 전송, 해제 합니다. 또, 연결이 순간적으로 끈어지는 것을 막고 데이터를 동기화 하는 기능을 수행합니다.
6.표현 계층(Presentation Layer)
표현 계층은 응용계층에서 사용되는 데이터의 인코딩과 디코딩을 수행하고 캡슐화, 압축 등의 기능을 수행합니다. 그리고 데이터를 안전하게 사용하기 위해 암호화와 복호화 형식도 제공합니다.
7.응용 계층(Application Layer)
응용 계층은 OSI7 계층중 최상위에 있는 계층으로 사용자 프로그램과 관련이 있는 계층입니다. 응용 프로그램과 네트워크를 연결해 주는 계층이며 따라서 사용자에게 보이는 유일한 계층입니다.
'프로그래밍' 카테고리의 다른 글
웹사이트 스크래핑 라이브러리 Puppeteer 소개 (390) | 2019.08.15 |
---|---|
rxjs map operator 총 정리 (5384) | 2019.08.13 |
Ubuntu 에서 NodeJS 설치 및 HTTP 서버 구동 (416) | 2017.02.10 |
패키징 구조의 장단점 (403) | 2017.02.09 |
DataBase 회복기법 (376) | 2016.11.16 |