1.어떤 프로토콜이 필요할까
ISO (국제표준화기구)에서 OSI 모델 제정
다양한 컴퓨터간 데이터 전송을 지원할 수 있는 추상 모델을 표준화한 것으로 이러한 기능들이 필요할 것이다라는 스펙을 정의한것이며 OSI 7 layer, OSI 7계층이라고 부른다.

이미지 출처 : https://hanamon.kr/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-%EA%B8%B0%EB%B3%B8-%ED%94%84%EB%A1%9C%ED%86%A0%EC%BD%9C%EC%9D%B4%EB%9E%80-osi-7-%EA%B3%84%EC%B8%B5-%EB%B3%84-%ED%94%84%EB%A1%9C%ED%86%A0%EC%BD%9C/
-
각 계층마다 적어줘야할 헤더와 데이터가 존재하며,정의된 포맷에 맞춰서 넣어줘야한다. 이때 헤더는 각 계층에서 보낼 데이터에 대한 정보를 담고 있다.
-
각 계층(layer)은 통째로 다음 계층에 보내준다. 즉, 이전 계층의 헤더도 함께 동봉해서 보낸다.
-
계층은 건너뛸수없고 반드시 다음 계층으로 넘어가야한다. → 특정 계층내부에서 프로토콜을 변경할 경우 그 계층의 내용만 바꾸고 다른 계층은 변경하지 않아도 되기 때문이다.
2. OSI 7 레이어, 레이어1~3 이해
캡슐화와 역캡슐화
송신측 : 캡슐화 → 헤더를 추가하면서 데이터를 쌓는 과정
수신측 : 역캡슐화 → 캡슐화의 반대로 헤더를 까면서 확인하고 데이터를 위로올려주는 과정
body : 실제 데이터

이미지 출처 : https://velog.io/@qmasem/TIL-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-%EC%BA%A1%EC%8A%90%ED%99%94-%EC%97%AD%EC%BA%A1%EC%8A%90%ED%99%94-encapsulation-decapsulation
물리계층 (Physical Layer)
- 데이터를 전기 신호로 변환하여 송수신하며, 데이터를 0과 1로 판단해서 내부적으로 데이터화한다.
데이터링크 계층(Data Link Layer)
- 물리적 네트워크 사이의 데이터 송수신 담당한다.
- 대표적인 프로토콜 : Ethernet(이더넷) 프로토콜
- 이더넷 헤더에는 MAC address가 있다.
- ex) 와이파이 MAC주소
- MAC주소는 하드웨어마다 유일한 주소로 들어가 있다.
네트워크 계층(Network Layer)
- 다양하고 방대한 네트워크 상에서 컴퓨터간 논리적 연결을 위해 네트워크 계층이 필요하다.
- 대표적인 프로토콜 : IP프로토콜
3. OSI 7 레이어, 레이어4 이해
전송계층(Transport Layer)
- 목적지에 신뢰할 수 있는 데이터 전달 담당한다.
- 체크섬이라는 데이터 전송중 손상/유실 확인을 위한 오류 점검 기능을 수행하며 손상/유실된 데이터를 체크해서 다시 보내서 정확한 데이터를 받을 수 있도록 요청한다.
- 체크섬 : 헤더가 손상되었는지 확인한다.(헤더의 0과1을 더해서 합이 맞지 않으면 손상된 것으로 간주하고 다시요청)
- 목적지의 어떤 응용프로그램에 데이터를 전달해야하는지 식별하는 기능으로 내가 보내는 데이터가 어떤 응용프로그램용 데이터인지 포트번호로 알려주는 기능을 수행한다.
- 대표적인 프로토콜: TCP, UDP 프로토콜
4. OSI 7 레이어, 레이어5~7 이해와 TCPIP 모델
세션계층(Session Layer)
- 세션 또는 대화(Dialogue)연결, 관리를 담당한다.
- 세션별로 데이터 송수신이 가능하도록 하는 계층이다.
- 예) FTP로 여러 파일을 각각 다운로드 받을때, 각 다운로드 연결/관리처리
- 사실은 하나의 데이터망에서 전달이 되지만 논리적으로 구분해서 여러개의 세션으로 나누어 처리를 하도록 한다.
표현계층(Presentation Layer)
- 응용 계층으로부터 전달받거나, 전달하는 데이터의 암호화를 담당한다
- 데이터 망을 해커가 모니터링해도 데이터를 보호할 수 있도록 암호화한다.
응용계층(Application Layer)
- 네트워크 응용프로그램을 위한 인터페이스를 제공한다.
- 응용프로그램별로 데이터를 처리하는데에 있어서 별도로 프로토콜을 사용할 필요가 있다.
- 대표적인 프로토콜 : HTTP
5. TCPIP 모델과 IP 프로토콜 이해
TCP/IP 모델
- 인터넷 통신을 위한 모델이다.
- OSI 7 Layer는 표준 모델 (일종의 스펙), 이러한 구조를 가지고 각 계층은 이러한 역할을 하면 좋겠다라는 것을 문서로 정리한것 이다.
- 인터넷은 TCP/IP모델이라는 네트워크 스택을 사용한다.
- 이 네트워크 스택 역시 Layer로 이루어져 있고지만 4개의 Layer로 이루어져 있다.
- TCP/IP 모델의 응용 계층은 OSI 모델의 세션+표현+응용 계층을 통합하였다.

이미지 출처 : https://medium.com/harrythegreat/osi%EA%B3%84%EC%B8%B5-tcp-ip-%EB%AA%A8%EB%8D%B8-%EC%89%BD%EA%B2%8C-%EC%95%8C%EC%95%84%EB%B3%B4%EA%B8%B0-f308b1115359