반응형

클라이언트와 서버가 통신하기 위해서는 IP가 필요한대 보통은 IP 패킷으로 보내진다.


예를들면, 클라이언트가 서버로 데이터를 보낼때 패킷이라는 특수한 구조로 보낸다. 


배달을 보낼때 뾱뾱이로 감싸고 종이박스로 포장에서 보내듯이, 인터넷 데이터를 패킷에 포장하여 인터넷 망을 통해서 전달한다고 생각하면 된다.

하지만 IP 프로토콜은 비신뢰성, 비연결성 등 문제가 많아서 TCP(전송 제어 프로토콜)이라는 IP 프로토콜에서 보완된 프로토콜이 나옴.

 


Hello 라는 메세지를 Socket 라이브러리에 넘기고 OS에서는 Hello 라는 메세지에 TCP 정보(초록색)와 IP 정보(주황색)을 씌운다.  이런식으로 TCP/IP 패킷이 생성 되는 것.

 

TCP vs UDP 

TCP UDP
연결지향형 프로토콜 비 연결지향형 프로토콜
바이트 스트림을 통한 연결 메세지 스트림을 통한 연결
혼잡제어, 흐름제어 혼잡제어와 흐름제어 지원 X
순서 보장, 상대적으로 느림 순서 보장되지 않음, 상대적으로 빠름
신뢰성 있는 데이터 전송 - 안정적 데이터 전송 보장 X
세그먼트 TCP 패킷 데이터그램 UDP 패킷
HTTP, Email, File transfer 에서 사용 도메인, 실시간 동영상 서비스에서 사용

요약하자면, TCP는 느리지만 보안, 안전 등 여러 절차를 거치기 때문에 안정적이지만

UDP는 반대로 어떤 절차도 없이 오로지 요청 <> 응답 단방향 전송이라 빠르지만 안정적이지 않다.

 

Port 번호

한 대의 컴퓨터에는 여러가지 서버 프로그램들이 실행될 수 있다.

카카오톡도 하고 게임도 하고 웹서핑도 하는, 여러 애플리케이션 등 하나의 IP 주소를 갖는 컴퓨터에서 동시에 실행될 수 있다. 이 경우 클라이언트는 어떤 서버와 통신해야 할지 결정해야하는데, IP는 컴퓨터의 네트워크 어댑터까지만 갈 수 있는 정보이기 때문에 컴퓨터 내부에서 실행하는 서버를 선택하기 위해서는 추가적인 Port 번호가 필요하다. 

 

좀 더 실생활에 비유하자면 쇼핑몰에서 콜라 한박스를 주문했는데, 집 주소를 현대 아파트 101동 이라고만 작성한다면, 택배기사는 현대 아파트 101동 건물까진 올 수있겠지만, 그 안에있는 수십개의 호수 중에서 어느 집에 택배를 배달해야할지 모르는 상태인 것이다.

 

즉, 인터넷 프로토콜(IP)는 상대 클라이언트 목적지만을 가지고 있고, 컴퓨터 안의 수십개 어플리케이션중 어느 프로그램에 전달해야 하는지에 대한 목적지 정보가 포트(PORT)라고 보면 된다. 웹 서버와 통신하려면 Port 번호 80번으로 해야함

 

Web Server와 WAS의 차이

Web Server

- 웹 서버는 클라이언트가 요청한 정작인 콘텐츠를 HTTP 프로토콜을 통하여 제공해주는 서버임.

- 다른 역할로는 동적인 요청이 클라이언트로부터 들어왔을 때, 해당 요청을 웹 서버에서는 처리할 수 없기 때문에 컨테이너로 보내주는 역할을 한다. (ex. Apache)

 

기능) 정적인 컨텐츠 제공, WAS를 거치지 않고 바로 자원을 제공,

동적인 컨텐츠 제공을 위한 요청 전달, 클라이언트(웹 브라우저)의 요청을 WAS에 보내고, WAS가 처리한 결과를 클라이언트에게 전달

 

웹 컨테이너(Web Container) 

- 컨테이너는 동적인 데이터들을 처리하여 정적인 페이지로 생성해주는 모듈이다.

 

 

 

WAS

- WAS는 웹 서버로부터 오는 동적인 요청을 처리하는 서버를 말한다. 웹 서버와 컨테이너를 붙여놓은 서버 라고 보면 됨.

- request(요청)을 받아 DB조회나, 어떤 로직을 처리해야하는 동적인 컨텐츠를 response(응답) 하는 서버

예를 들면, Tomcat, WebLogic, WebSphere, Jeus, JBoss 등 있다.

 

네이버에 접속하고 '내 정보'에 들어간다고 해보자. 내 정보 페이지는 개인의 고유한 정보를 보여주는 페이지이니 WAS에서는 데이터베이스에서 데이터를 가져와서 그 다음에는 원하는 데이터를 가공하여, 파일로 해당 데이터를 보내줌.

 

WAS의 내부 구조

 

 

'IT > 네트워크 공부' 카테고리의 다른 글

웹 소켓  (1) 2023.10.31
[네트워크] IP 주소와 서브넷 마스크란 ??  (0) 2022.02.07

+ Recent posts