네트워크 기초 이론
네트워크 위와 같이 고객, 경비실, 아파트 단지, 택배 배송 센터에서 택배를 보내는 것을 예를 들어서 설명할 수 있다. 같은 아파트 단지 내에 있는 다른 고객에서 택배를 발송할 때는 고객 -> 경비실 -> 고객의 경로로 택배를 보낼 수 있다. 이때, 택배를 보낼 때는 A 아파트 101호 -> A 아파트 102호와 같이 주소를 남겨야한다. 단, 같은 아파트 단지 내이기 때문에 주소 대신 간략하게 철수 -> 영희 와 같이 표시를 할 수도 있다. 다른 아파트 단지로 택배를 보낼 경우에는 A 아파트 101호 -> B 아파트 101호 와 같이 경비실에 택배와 주소를 맡긴다. 그리고 경비실에서는 주소를 확인하고 다른 아파트 단지라는 것을 확인한 뒤, 택배 배송센터에 보내게 된다. 그리고 택배 배송센터에서 주소를 확인하고 B 아파트의 경비실로 전달한다. 그리고 B 아파트의 경비실에서 101호로 택배를 전달한다.
- 같은 아파트 단지 내 : 고객 -> 경비실 -> 고객 (주소 또는 이름이 필요)
- 다른 아파트 단지 : 고객 -> 경비실 -> 택배 배송센터 -> 경비실 -> 고객 (주소 필요)
실제 네트워크 에서는 PC와 휴대폰 같은 단말기 (고객), 네트워크 (아파트 단지), 스위치 (경비실), 택배 배송센터 (라우터)로 구분할 수 있다. 앞서 예를 든 택배와 똑같은 원리로 동작을 한다고 생각하면 된다.
같은 네트워크 내
단말기 -> 스위치 -> 단말기 순으로 패킷을 보낸다. 굳이 라우터까지 가서 처리할 필요가 없이 스위치만으로 통신할 수 있다. 1번 -> 4번 으로 패킷을 보낼 때, 처음에는 같은 네트워크 내에서 누가 4번인지 모두에게 물어보고, 그 다음 부터는 스위치가 기억을 하기 때문에 바로 패킷을 보낼 수 있다.이때 사용된 주소는 외부에서 사용하는 주소 일 수도 있고, 내부에서만 사용하는 사설 주소일 수도 있다. (ex) 같은 아파트 단지 내에서 실제 주소 또는 이름을 사용하는 것)
다른 네트워크
단말기 -> 스위치 -> 라우터 -> 스위치 -> 단말기 순으로 패킷을 보낸다.
통신 모델
앞의 택배를 보내는 것으로 예를 들어서 상품 -> 배송 정책 -> 최종 주소 -> 단지 경로 -> 택배 운송 로 총 5가지 단계로 나눌 수 있다.
- 상품 : 보낼 택배를 준비하는 것
- 배송 정책 : 택배를 어떻게 보낼 것인가 결정하는 것 (문 앞 배달, 등기 등)
- 최종 주소 : 최종적으로 택배를 전달해야하는 주소 (바뀌지 않는 하나의 최종 주소)
- 단지 경로 : 바로 다음으로 이동할 주소 (이동할 때 마다 계속 바뀜)
- 택배 운송 : 택배를 보내는 것
네트워크에서도 똑같이 위의 예로 설명할 수 있다.
TCP/IP 모델
네트워크에서도 똑같이 위의 예로 설명할 수 있다.
- 어플리케이션 : 유저 인터페이스를 정의 (HTTP, FTP, DNS 등), 어떤 통신을 사용할지 결정
- 트랜스포트 : 전송을 어떻게 확인하고, 오류를 어떻게 처리할지 결정
- TCP : 패킷을 보내고, 상대방이 패킷을 받았는지 확인하고, 못받았다면 다시 전송 및 에러 확인 (꼼꼼함, 안정성, MMO에서 많이 사용)
- UDP : 패킷을 빠르게 보내지만 상대방이 패킷을 받았는지 확인하지 않음 (속도가 중요, 사후처리 X)
- 네트워크 : 네트워크 간의 경로 설정 (관련 장치 : 라우터)
- 데이터 링크 : 네트워크 내의 경로 설정 (이더넷, PPP, 관련 장치 : 스위치)
- 피지컬 : 물리적인 신호 처리 (케이블, 허브)
'서버 > 서버 이론' 카테고리의 다른 글
Listener 구현 (0) | 2025.04.12 |
---|---|
소켓 프로그래밍 기초 (0) | 2025.04.09 |
Thread Local Storage (TLS) (0) | 2025.04.06 |
Lock 구현 (0) | 2025.03.29 |
데드락 (DeadLock) (0) | 2025.03.28 |