인터넷 네트워크
인터넷에서 컴퓨터 둘은 어떻게 통신할까요?
너무 멀다면 인터넷 망을 통해서 메시지를 보내야합니다.
그러나 인터넷 망을 단순하지 않습니다.
안전하게 메시지를 보내려면,
혹은 어떤 규칙과 방식을 통해 메시지가 전송하게 보내질까요?
IP의 사용으로 이 문제를 해결합니다.
무언가 인터넷을 통해 메시지를 보내려면 최소한의 규칙이 있어야 합니다.
이는 IP 프로토콜이라 합니다.
만약 제.IP주소가 A고 보내려고 하는 주소가 B면
해당하는 IP주소에
패킷이라는 통신 단위로 메시지 전달합니다.
그냥 보내는 것이 아니라 규칙이 있습니다.
나의 IP, 목적지 IP, 기타…
등을 통해 IP 패킷을 만든 후 그것을 던집니다.
그러면 IP 프로토콜에 의해 규약에 의해 출발지, 목적지 등에
대한 정보를 이해하고 주욱 던지다보면 최종적인 목표에 도달합니다.
서버 패킷 전달
잘 받았다고 ok 를 전달하려면, 이런 패킷을 만들어서 나에게 다시
전달하면 됩니다.
내가 던질 때랑 친구가 나에게 던질때랑 다른 곳으로 전달 될 수 있습니다.
(복잡성)
그러나 이 방식으로는 한계가 있습니다.
- IP protocol의 한계.
비연결성
- 그 친구의 컴퓨터가 꺼져있을 수 있습니다.
- 패킷을 받을 대상이 없거나 서비스 불능 상태여도 전송합니다
비신뢰성
- 중간에 패킷이 사라지거나 여러개 패킷을 보냈을때
- 순서대로 오지 않을 수도 있고, 늦게 보낸 게 더 빠를 수도 있습니다
프로그램 구분
- 같은 IP 사용하는 서버에서 통신하는 어플리케이션이 둘이상일 수 있습니다. 이를 어떻게 구분할까요?
패킷의 크기가 클 경우 보통 끊어서 보냅니다.
먼저 보낸 것과 순서가 다를 수 있습니다.
따라서 IP protocol만으로는 이 문제를 해결할 수 없습니다.
이 문제를 해결해주는 것은 TCP UDP입니다.
'Web' 카테고리의 다른 글
외부 api 의존성 처리 (비동기) 정리 (0) | 2024.01.11 |
---|---|
대용량 트래픽 접근 방법 정리 (1) | 2024.01.10 |
테스트 의존성/ 종류 및 처리 정리 (1) | 2024.01.10 |
부하테스트 도구 grafana k6 (0) | 2022.07.31 |