인터넷은 인터넷 프로토콜 TCP/IP를 기반으로 전 세계적으로 연결되어있는 컴퓨터 네트워트 통신망으로 흔히 웹이라고 부르는 월드 와이드 웹(www)을 포함해 동영상 스트리밍, 온라인 게임 등의 다양한 서비스를 지원한다.

 

월드 와이드 웹의 주요 기능은 URL을 통한 통일된 웹 자원의 위치 지정 방법, 웹의 자원에 접근하는 프로토콜(HTTP), HTML 언어로 문서들을 체계화하여 정보를 신속하게 교환할 수 있도록 데이터베이스를 구축하고 이를 전문 열람 소프트웨어로 열람하는 방식으로 탄생하였다.

 

인터넷 네트워크의 수 많은 노드를 거쳐서 데이터를 주고 받기 위해서 각각의 노드를 구분할 수 있는 IP 주소를 지정하고 패킷이라는 통신 단위로 데이터를 전송하는 인터넷 프로토콜(IP)이 등장했다. IP 패킷은 출발지 IP, 목적지 IP, 전송 데이터를 포함하는데 비연결성, 비신뢰성의  문제로 TCP 프로토콜이 나오게 된다. (IP 주소는 구분하기도 어렵고 변경 될 수 있기 때문에 DNS 방식을 통해 IP 주소를 특정 이름의 도메인 명으로 바꾸어 사용, google.com, naver.com)

 

웹 브라우저에서 SOCKET 라이브러리를 통해 HTTP 데이터를 전송하면 TCP 정보가 생성이 되고 이를 IP 패킷이 감싸게 된다. 

TCP3 way handshake라는 논리적인 가상 연결 방식과 PORT 정보와 전송 제어, 순서, 검증 정보 등으로 높은 신뢰성과 연결성을 가지는 프로토콜로 현재 대부분 TCP 프로토콜을 사용 (PORT : 같은 IP 내에서 프로세스를 구분하기 위한 번호, Http-80, Https-443)

 

URI인터넷에 있는 자원(식별할 수 있는 모든 것, Resource)을 나타내는 유일한 주소로 리소스의 위치를 지정하는 URL, 이름을 지정하는 URN 방식이 있는데 URN 방식은 실제 리소스를 찾기가 어려워서 거의 URL을 사용한다. (URI = URL)

URL은 프로토콜(https)과 호스트명(www.google.com), 포트 번호, 패스(/path) 경로, 쿼리 파라미터로 이루어져 있다.

 

 

[정리]

 

1. 웹 브라우저(애플리케이션 계층)에서 HTTP 메시지를 SOCKET 라이브러리를 통해 전송

2. 전송 계층은 HTTP 메시지에 TCP 헤더를 추가한 TCP 세그먼트를 생성해 인터넷 계층으로 전송

3. 인터넷 계층은 TCP 세그먼트에 IP 헤더를 추가한 IP 패킷을 생성하여 네트워크 계층으로 전송

4. 네트워크 계층은 TCP/IP 패킷을 이더넷 헤더를 추가해 이더넷 프레임을 생성하고 이를 전기 신호로 변환하여 인터넷으로 전송

5. 인터넷의 중간 노드(라우터)를 거쳐 목적지에 도착을 하면 네트워크 계층에서 이더넷 헤더의 MAC 주소를 읽어 자신의 데이터인지 확인

6. 이더넷 프레임에서 이더넷 헤더를 삭제한  IP 패킷을 인터넷 계층으로 전송

7. 인터넷 계층은 IP 헤더의 IP 주소를 확인하고 IP 헤더를 제거한 TCP 세그먼트를 전송 계층으로 전송

8. 전송 계층은 TCP 헤더를 검증하고 포트 번호를 확인하여 해당 포트의 애플리케이션에 HTTP 메시지를 전송

9. 애플리케이션 계층은 HTTP 헤더를 읽고 데이터를 처리

 

 

[참고] 인프런 김영한님 강의를 공부한 내용입니다.

[참고]https://better-together.tistory.com/93

+ Recent posts