📚 Computer Science/Network

[모든 개발자를 위한 HTTP 웹 기본 지식] 1. 인터넷 통신 - IP

ryang x2 2023. 8. 7. 19:27
728x90
반응형

인프런 김영한님 [모든 개발자를 위한 HTTP 웹 기본 지식] 강의를 듣고 정리한 내용입니다.

틀린 부분이 있으면 답글 달아 주세요😊😊

 

1. 인터넷 통신

인터넷에서 컴퓨터 둘은 어떻게 통신할까?

다른 컴퓨터 두 대가 케이블로 연결되어 있다면, 문제 없이 요청과 응답을 주고 받게 될 것이다. 

하지만, 다른 두 대의 컴퓨터가 멀리 있다면 인터넷 망을 통해서 통신할 수 있다. 

 

인터넷은 수많은 노드, 서버와 링크들을 거쳐서 메시지가 전달되어야 한다.

복잡한 인터넷 망을 거쳐서 안전하게 message를 전달하려면 어떻게 해야할까?를 이해하려면 IP(인터넷 프로토콜) 에 대해서 이해해야 한다. 

 

2. IP (Internet Protocol)

인터넷 망을 거쳐 원하는 서버로 요청 또는 메시지를 보내고자 하는 경우 IP 주소가 있어야 한다. 

클라이언트와 서버에서 각자 IP 주소를 부여 받는다.

 

💡 IP 역할 

- 지정한 IP 주소(IP Address)에 데이터 전달 

- 패킷(Packet)이라는 통신 단위로 데이터 전달

 

👉 IP 패킷(Packet) 정보

패킷 단위로 데이터를 전달한다. 

전송데이터(message)와 함께 출발지 IP(client), 목적지 IP(server) 등을 패킷으로 묶어 전달한다.  

 

 

🚨 IP 프로토콜의 한계

• 비연결성

 - 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷 전송 

   👉 클라이언트(출발지)에서 패킷을 전송하려고 할 때, 서버의 상태는 알 수 없다. 그래서 항상 패킷을 보내게 되는 문제가 있다.

 

• 비신뢰성

 - 중간에 패킷이 사라지면? 

   👉 중간 노드에서 문제가 생길 경우, 클라이언트에서 보낸 패킷이 유실될 수 있다. 

 

 - 패킷이 순서대로 안오면? 

   👉 패킷의 용량이 클 경우, 나눠서 보내게 된다. 그러나, 패킷들이 중간에 내부 상태에 따라 각각 다른 노드로 이동할 수 있기 때문에 패킷 순서가 다르게 전달 될 수 있다.

 

• 프로그램 구분

 - 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상이면? -> 어떻게 구분 해야할까 ?

 

 

 

728x90
반응형