네트워크 프로그래밍
멀티쓰레드 프로그래밍이 모두 마치고 네트워크 프로그래밍으로 파트로 넘어왔다! 😎 사실 클라이언트 개발자는 네트워크 분야까지 알아야 할 필요성은 없지만 우리는 서버를 사용해야하기 때문에 네트워크까지 학습한다. 따라서 서버의 안전성 및 보안 등을 관리해야 하기 떄문에 네트워크가 어떤 구조로 어떻게 이루어져 있는지 알 필요가 있다. 고로 기초적인 네트워크 지식이 필요하다.
네트워크 패킷을 보내는 방식은 택배를 보내는 방식과 매우 유사하다. 우리가 택배를 보내려고 하는데, 받는 사람이 같은 아파트 단지 내에 있는 사람이라면 받는 사람의 집까지 찾아가서 택배를 놓고 오면 된다. 그러나 이 방법은 아파트 단지 내에 호수가 많아지면 문제가 생긴다. 같은 아파트 단지여도 여러 호수가 있어 받는 사람이 위치한 집까지 가는 경로가 복잡해지고 어려워질 수 있기 때문이다. 따라서 이러한 경우 우리는 아래 이미지와 같이 경비실을 이용하여 택배를 보낸다.
그렇다면 삼성 아파트 201호에서 현대 아파트 101호로 보낼 떄에는 어떻게 보내야 할까?
사실 어려울 것 없다. 삼성 아파트 경비실에 택배를 보낸다면 경비실은 받는 사람이 같은 아파트 단지 내의 사람이 아니기 때문에 택배 배송 센터를 이용하여 이를 보낼테고, 택배 배송센터는 현대 아파트 경비실에 물건을 전해주고 현대 아파트 경비실은 101호로 보내기만 하면 된다. 이를 네트워크 프로그래밍에서 표시한다면 아래 이미지와 같이 라우터, 스위치, 단말기로 이해하면 된다.
그림을 네트워크 프로그래밍과 같이 표시한다고 하더라도 택배(=패킷)를 보내는 방법은 아까 배운 방법과 같다.
1. 같은 네트워크 단지 내에서 택배를 보낼 경우
👉 받는 단말기의 주소를 알면 이전의 화살표와 같이 택배를 바로 보내면 된다.
👉 받는 단말기의 주소를 모른다면 경비실(=스위치)를 통해 택배를 대신 보내달라고 하면 된다.
2. 서로 다른 네트워크 단지 내에서 택배를 보낼경우
👉 서로 다른 네트워크를 이용하기 때문에 경비실(=스위치)를 통해 택배를 보낼 수 없다. 따라서 일전의 택배 배송 센터(=라우터)를 이용해 택배를 전송한다. 😎
'공부 > 인프런 - Rookiss' 카테고리의 다른 글
Part 4-3-3. 네트워크 프로그래밍 : 소켓 프로그래밍 입문 (0) | 2023.09.19 |
---|---|
Part 4-3-2. 네트워크 프로그래밍 : 통신 모델(OSI 7 계층) (0) | 2023.09.19 |
Part 4-2-15. 멀티쓰레드 프로그래밍 : TLS(Thread Local Storage) (1) | 2023.09.18 |
Part 4-2-14. 멀티쓰레드 프로그래밍 : ReaderWriterLock 구현 연습 (0) | 2023.09.18 |
Part 4-2-13. 멀티쓰레드 프로그래밍 : ReaderWriterLock (0) | 2023.09.16 |