흔히 IP라고 하는 인터넷 프로토콜 주소를 컴퓨터에 부여해서 이를 이용해서 통신하ㅕ며 지정한 주소에 패킷이라는 통신 단위로 데이터 전달을 한다.
서버에서 데이터를 잘 전달받았다면 서버도 이에 대한 응답을 돌려줘야 한다.
마찬가지로, 서버도 IP 패킷을 이용해서 응답을 전달한다.
출처 : https://shlee0882.tistory.com/110
출처 : https://hongchangsub.com/networkprotocol/
출처 : TCP handshake
물리 계층 : 시스템 간의 물리적인 연결과 전기 신호를 변환하고 제어하는 계층(ex. 디지털 또는 아날로그 신호 변경)
데이터링크 계층 : 네트워크 기기 간의 데이터 전송 및 물리주소를 결정하는 계층(ex. 브리지 및 스위치, MAC 주소)
네트워크 계층 : 실제 네트워크 간 데이터 라우팅을 담당한다. 이 때 라우팅이란 네트워크 안에서 통신 데이터를 정해진 알고리즘에 의해 최대한 빠르게 보낼 최적 경로를 선택하는 과정이다. (ex. IP 패킷 전송)
전송 계층 : 컴퓨터 간 신뢰성 있는 데이터를 서로 주고받을 수 있도록 하는 서비스를 제공하는 계층. 전송 계층에서는 해당 데이터들이 실제로 정상적으로 보내지는지 확인하는 역할을 한다.(ex. TCP/UDP 연결)
세션 계층 : 세션 연결 설정과 해제, 세션 메시지 전송 등의 기능을 수행하는 계층. 다시 말해 컴퓨터 간 통신 방식에 대해 결정하는 역할을 한다.
표현 계층 : 응용 계층으로 전달하거나 전달받는 데이터를 인코딩 또는 디코딩하는 계층 (ex.문자 코드, 압축, 암호화 등의 데이터 변환)
응용 계층: 종적으로 사용자와의 인터페이스를 제공하는 계층으로 사용자가 실행하는 응용 프로그램.
(ex. 이메일 및 파일 전송, 웹 사이트 조회)
출처 : https://yohanpro.com/posts/OSI%EC%99%80TCP/
4계층: 어플리케이션 계층: OSI 계층의 세션 계층, 표현 계층, 응용 계층에 해당하며 TCP/UDP 기반의 응용 프로그램을 구현할 때 사용한다. (ex. FTP, HTTP, SSH)
3계층: 전송 계층: OSI 계층의 전송 계층에 해당하며 통신 노드간의 연결을 제어하고, 신뢰성 있는 데이터 전송을 담당한다. (ex. TCP/UDP)
2계층: 인터넷 계층: OSI 계층의 네트워크 계층에 해당하며 통신 노드 간의 IP 패킷을 전송하는 기능 및 라우팅을 담당한다. (ex. IP, ARP, RARP)
1계층: 네트워크 인터페이스 계층: OSI 계층의 물리 계층과 데이터 링크 계층에 해당하며 물리적인 주소로 MAC을 사용한다. (ex. LAN, 패킷망 등에 사용됨)