인터넷 프로토콜, 즉 IP 기반의 네트워크는 미 국방성에서 1969년 진행했던 아르파넷(ARPANET) 프로젝트에서 시작되었다. 회선교환 방식을 사용했는데, 사진처럼 발신자와 수신자를 연결해 주는 방식이다.
선을 매번 연결, 중요한 정보를 전달해야 되는 상황에서 상대가 통화 중이라면 계속 기다려야 하는 등 문제점이 많다.
이를 해결하기위해 패킷교환 방식으로 전환하게된다.
패킷교환 방식은 소포를 보내듯, 패킷이라는 단위로 데이터를 잘게 나누어 전송하는 방식이다.
특징 :
수많은 서버 컴퓨터가 있는데, 출발지에서 목적지까지 데이터가 무사히 전달되기 위해선 규칙이 필요하다.
클라이언트 : IP주소(IP Address)를 컴퓨터에 부여하여 패킷(Packet)이라는 통신 단위로 데이터 전달한다.
서버 : 무사히 데이터르 전송받았다면 , IP패킷을 이용해 클라이언트에게 응답한다.
IP 프로토콜과 패킷 방식의 단점
비연결성
비신뢰성
TCP 특징
연결지향 프로토콜 , 데이터 전달 보증, 전송 순서 보장 , 신뢰성이 높으나 느린 속도
3번 확인한다
이를 통해 IP 패킷의 한계인 비신뢰성(순서를 보장하지 않음)을 보완할 수 있다.
클라이언트가 SYN 패킷을 보낸다
-> 서버가 요청을받고 수락한다는 의미로 ACK와 SYN을 패킷을 발송한다
-> 클라이언트가 ACK로 응답하면 연결이 성립되어 데이터를 전송할 수 있게된다.
SYN 패킷을 보낼때 서버가 미응답시 데이터를 보내지 않는다.
UDP 특징
IP 프로토콜에 PORT, 체크섬 필드 정보만 추가된 단순한 프로토콜이다.
비연결지향형 프로토콜 , 데이터 전달 보증X , 순서보장X , 신뢰성 낮지만 빠른속도
3 way handshake 방식을 사용하지 않기 때문에 TCP와 비교해 빠른 속도 보장
TCP는 좋은 기능이 다 들어있는 무거운 라이브러리이고 UDP는 필요한 기능만 들어있는 가벼운 라이브러리로 비교할 수 있다.
OSI 7계층 모델의 목적은 표준화를 통하여 포트, 프로토콜의 호환 문제를 해결하고, 네트워크 시스템에서 일어나는 일을 해당 계층 모델을 이용해 쉽게 설명할 수 있다. 또한 네트워크 관리자가 문제가 발생시 원인이 어디에 있는지 범위를 좁혀 문제를 쉽게 파악할 수 있다. 즉 사이트에 접속되지 않는다고 해서 무작정 컴퓨터를 껐다 키는 일을 피할 수 있다.
TCP/IP 4계층 모델은 OSI 모델을 기반으로 실무적으로 이용할 수 있도록 현실에 맞춰 단순화된 모델이다.
실용성에 기반을 둔 현대의 인터넷 표준이 TCP/IP 4계층이다.
송신자는 데이터를 보내기 위해서 상위 계층에서 하위 계층으로 데이터를 전달한다.
데이터를 상대방에게 보낼 때 각 계층에서 필요한 정보를 데이터에 추가하는데 이 정보를 헤더(데이터링크 계층에서는 트레일러)라고 한다. 그리고 이렇게 헤더를 붙여나가는 것을 캡슐화라고 한다.
수신자는 하위 계층에서 상위 계층으로 각 계층을 통해 전달된 데이터를 받게된다.
위 계층으로 데이터를 전달하며 각 계층에서 헤더를 제거해 나가는 것을 역캡슐화라고 한다. 역캡슐화를 거쳐 마지막 응용 계층에 도달하면 드디어 전달하고자 했던 원본 데이터만 남게 된다.
✔️ 응용 계층
응용 계층은 이메일, 파일 전송, 웹 사이트 조회 등 어플리케이션에 대한 서비스를 사용자에게 제공하는 계층이다 클라이언트와 서버 모두 응용 계층에서 동작한다.