떠도는..개발자 취준생

네트워크의 기본 규칙 본문

네트워크

네트워크의 기본 규칙

iamjaewhan 2021. 9. 13. 14:43

프로토콜

네트워크를 통해 다양한 기기들이 문자, 메일, 사진, 동영상 등 수많은 파일들을 주고 받는다. 하지만 서로 다른 방식으로 이러한 정보들을 주고 받으면 서로다른 통신기기들은 주고받는 메세지를 제대로 이해하지 못할 것이다. 이러한 문제를 해결하기 위해 "서로 통신을 할 때에는 이러한 방식으로 주고 받자" 라고 약속한 것이 통신규약, 프로토콜이다. 이러한 프로토콜을 따르며 통신하기 때문에 서로 다른 규격의 기기, 데이터 들이 올바르게 전달될 수 있는 것이다.

HTTP, FTP, VoIP, SSL, TLS 등 수많은 프로토콜이 존재한다. 인터넷을 하려면 HTTP, 파일을 업로드,다운로드하려면 FTP 등 상황에 맞는 프로토콜을 사용하며 통신한다. 프로토콜의 기본적인 구조는 아래와 같다.

 

 

OSI 모델과 TCP/IP 모델

OSI 모델

OSI 모델은 국제표준화기구에서 만든 네트워크 모델이다. 즉, 네트워크를 구상할때, "OSI 모델을 참조해서 만들어라" 하고 주어진 참조 모델인 것이다. 참조 모델은 말그대로 참조만 하는 모델이기 때문에 엄격하게 똑같이 만들지 않아도 되지만, 따르지 않을 경우 일반 네트워크와의 통신을 보장할 수 없게 된다.

OSI 모델은 7개의 계층으로 이루어져있다. 두 기기의 통신할때의 연결 과정을 7단계로 나누어서 각각의 계층에 따라 다른 역할을 수행하는 것이다.

7-사용자가 전송하고자 할때 데이터를 요청할 때 사용하는 플렛폼. 플랫폼을 사용하여 데이터를 입력하고 가공한다.

6-서로 다른 시스템에서 통신할 때 서로 공통된 표준 형식으로 변형한다. 이 과정에서 압축, 암호화 등의 과정등이 더해진다.

5-쌍방향 연결 혹은 단방향 연결과 같은 연결 회선을 생성, 유지, 종료를 담당하고 있다.

4-데이터를 전송하는 대상과 받는 대상을 명시하고 데이터 전송의 책임질 대상을 결정한다. 데이터를 보내기 전에 데이터를 작은 단위로 나누고, 재조립하는 과정이 포함된다.

3-통신할 대상의 주소를 설정하고 해당 주소에 도달하기 위한 경로를 설정한다.

2-전달된 데이터를 전달할 미디어의 주소를 설정한다. MAC 주소

1-디지털 신호를 전기적인 신호로 변경한다. 어떤 회선을 사용하고 방식으로 전기신호를 생성하고 받아들일지 결정한다.

데이터를 전송하는 쪽은 데이터를 보내기 위해서 상위 응용 계층부터 하위 물리 계층까지 순차적으로 데이터를 전달한다. 각 계층은 독립적이므로 데이터가 전달되는 동안 다른 계층의 영향을 받지 않는다. 반대로 데이터를 수신하는 쪽은 하위 계층부터 상위 계층까지 각 계층을 통해 전달되는 데이터를 받게 된다.

 

 

TCP/IP 모델

 

TCP/IP 모델은 OSI 모델의 응용, 표현, 세션 계층이 하나의 응용 계층으로 그리고 데이터 링크, 물리 계층이 네트워크 접속 계층으로 합쳐진 것으로 이해하면 된다.

 

 

 

캡슐화 : encapsulation / 역캡슐화 : decapsulation

 

캡슐화

네트워크를 통해 데이터를 보내기 위해서는 데이터를 전송하는데 필요한 정보들 또한 함께 보내진다. 이와 같은 데이터를 전달 받을 수신자에 대한 정보가 포함된 부분을 헤더라고 한다. 이러한 헤더는 각 계층을 지나면서 데이터에 추가되며 다음 계층으로 전달되며, 이러한 과정을 캡슐화라고 한다.

 

먼저 응용 계층에서 웹페이지 요청 메세지 이거나 메일과 같은 전송할 데이터가 만들어진다. 이러한 데이터는 전송 계츠응로 전달되는데, 전송 계층에서 신뢰할 수 있는 통신이 이루어지도록 데이터에 헤더를 붙인다. 헤더가 붙은 데이터는 다음으로 네트워크 계층으로 전달되는데, 이 계층에서는 다른 네트워크와 통신하기 위한 헤더가 추가된다. 다음으로는 데이터 링크 계층에서는 헤더와 함께 트레일러가 데이터에 추가된다. 트레일러는 데이터를 전달할 때 마지막으로 추가할 정보를 의미한다. 이와 같이 캡슐화를 통해 헤더들이 추가된 데이터는 전기 신호로 변환되어 수신측으로 전달되게 된다.

역캡슐화

역캡슐화는 위의 과정을 반대로 진행하는 것이다. 데이터 링크 계층부터 순서대로 헤더를 제거하며 상위 계층으로 전달되고 상위 계층인 응용 계층에서는 송신자가 보낸 데이터를 수신하게 된다.