정리하고 기록하며 성장하는

인터넷 통신 본문

HTTP/인터넷 네트워크

인터넷 통신

개발하는묭이 2021. 12. 17. 22:26

 

인터넷에서 서버와 클라이언트는 어떻게 통신할까?

 

서버: 네트워크에 연결된 컴퓨터들 중 서비스를 제공하는 쪽

클라이언트: 네트워크에 연결된 컴퓨터들 중 서비스를 받는 쪽

 

IP 주소의 등장 배경

서버와 클라이언트는 인터넷 망을 통해 통신하는 데 인터넷 망이 복잡하다

복잡한 인터넷 망에 규칙을 부여해 놓은 것이 IP 주소 이다

 

IP(Internet Protocol) 주소는 32비트 숫자로 구성되 있다

사람이 알아볼 수 있게 네 개의 8비트 숫자로 마침표로 구분하여 표시한다

 

 

클라이언트 와 서버 각각 IP 주소가 있어야 서로 통신할 수 있다

 

IP 주소를 사용하는 목적

지정된 IP 주소로 데이터를 주고받기 위해 사용한다

데이터를 주고 받을때 패킷(Packet)이란느 작은 단위로 분할 한 후 조고받는다

패킷은 자신이 어떤 IP 주소로 전달되어야 한느지 알수 있도록 어드레스(Address) 정보를 가지고 있다

 

 

서버와 클라이언트가 IP 주소를 사용하여 데이터를 주고받는 방법

1. IP 패킷에 출발지 IP(내 IP) 와 목적지 IP (받는 사람 IP)를 적는다

2. 인터넷 망이 IP 패킷에 IP와 메시지를 담아서 던진다

3. 노드끼리 IP패킷을 던지면서 최종적으로 목적지 IP 주소로 데이터가 정확히 도달하게 된다

단 , 요청할때랑 응답할때랑 서로 IP가 다른 곳으로 데이터가 전달될 수 도 있다

즉 , 요청 보낸 곳으로 응답이 도착하지 않을 수 도 있다

 

 

 

 

 

 

 

IP 프로토콜의 한계

1. 비연결성 

클라이언트에서 서버로 데이터를 전송할 때 클라이언트가 서버의 상태를 확인할 수 없다

즉 , 서버가 서비스 불가능 상태인지 모르고 클라이언트가 패킷을 전송하게 되면 서버는 

받지 못하게 된다

결국 IP 프로토콜은 대상 서버가 패킷을 받을 수 있는 상태인지를 모르는 상태로 패킷을 보내게 되는 

문제점이 발생할 수 있다

 

2. 비신뢰성

클라이언트에서 서버로 패킷을 전달하는 중 , 서버에 문제가 발생할수 있다

이때 서버의 상태를 모르고 패킷을 보냈을때 중간에 패킷이 소실될 수 있다

 

또한  , 패킷을 보냈을때 패킷이 클라이언트에서 보낸 순서대로 서버에 도착하지 않을 수 있다

즉 , 패킷들이 중간에 다른 노드를 타게 될 수 있다

 

3. 같은 IP를 사용하여 통신하는 애플리케이션이 둘 이상인 경우 이들을 어떻게 구분할 것인지 데 대한 문제가 있다