인터넷
인터넷은 컴퓨터들이 서로 통신 가능하도록 하는 거대한 네트워크입니다.
인터넷은 간단하게 설명하면 선(wire)입니다.
컴퓨터와 컴퓨터를 연결하는 거죠.
인터넷 통신
이 연결선을 통해서 컴퓨터끼리 데이터를 주고받는 과정이 인터넷 통신입니다.
라우터나 중간 서버 등을 거쳐가면서 도착지까지 데이터가 이동합니다.
IP(Internet Protocol)
-
인터넷을 이용하여 통신할 때 사용하는 규약
-
IP주소를 통해서 컴퓨터들이 서로를 찾아내고 통신을 할 수 있습니다.
- 지정한 주소로 데이터 전달이 용이함
- 데이터 전달 시 패킷이라는 단위로 데이터를 전달
- 패킷에는 출발지 IP, 도착지 IP, 데이터 등등의 내용이 포함됩니다.
-
사람들은 보통 도메인 주소로 특정 서버에 데이터를 요청합니다.(ex, 173.194.121.32 → google.com)
조금 더 네트워크에 치우쳐서 얘기해볼게요.
일반적인 가정집 컴퓨터는 클라이언트에 해당합니다.
직접적으로 인터넷에 연결이 불가능해서 Internet Service Provider(ISP)를 통해 간접적으로 통신을 하게 됩니다.
같은 ISP를 사용하는 사람들이 여러 명이 있다고 해봅시다.
제가 구글에 무엇인가를 검색한 결과가 어떻게 제게 전달되는지 간단히 설명드릴게요.
패킷이 전달될 때 다이렉트로 구글에 전달되는 게 아니라 중간중간 라우터들을 둡니다.
처음에 제 컴퓨터에서 패킷을 전달할 때는 제 컴퓨터의 IP 주소를 감싸서 전송합니다.(사탕 껍데기라고 생각해주세요)
근접 노드(라우터)에 도착하면 거기서 또 자신의 IP주소를 담아서 보냅니다.
최종 목적지에 패킷이 도착할 때까지 이 과정을 반복합니다.
목적지에서 제 컴퓨터로 응답을 보낼 때는 감싸둔 IP주소들을 하나씩 벗겨내면서 패킷을 전송합니다.
자신의 IP주소 껍데기를 제거해서 보낸다고 생각해주세요.
같은 ISP를 사용하는 사람이 여러 명이 있어도 클라이언트의 IP는 모두 다릅니다.
따라서 제가 구글에 검색한 결과가 옆 자리의 다른 누군가가 아닌 제게 무사히 전달될 수 있는거죠.
IP 프로토콜의 한계
-
비연결성
- 패킷을 받은 대상이 없거나 서비스 불능 상태여도 패킷 전송
- 메일을 보냈는데 받는 사람이 존재하지 않더라도 메일은 보내지는 상황
-
비신뢰성
- 인터넷망 안에 존재하는 서버가 꺼진 경우 통신 중간에 패킷이 사라질 수 있다.
- 패킷이 보낸 순서대로 도착한다는 보장이 없다.
- 데이터 용량이 커지면 패킷은 데이터를 나눠서 보내는데 순서가 바뀌어서 전달되기도 함
-
프로그램 구분
- 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상인 경우
'web' 카테고리의 다른 글
전송계층의 TCP와 UDP (0) | 2021.03.13 |
---|---|
동기(Synchronous) vs 비동기(Asynchronous) (0) | 2021.03.03 |
Cookie & Session (0) | 2020.07.29 |
[Web] POST 요청 시 한글 깨짐 현상 (0) | 2020.07.19 |
[Web] POST 요청 (0) | 2020.07.19 |