네트워크 프로그래밍
통신 모델에 대해서 알아보자. 컴퓨터 공학을 배웠다면 이는 OSI 7 계층에 해당하는 개념이다. 다시 예제를 살펴보자. 우리는 지난 시간에 택배 예제를 학습하며 같은 단지, 다른 단지 내에서 전송할 때에 어떻게 해야 하는지 학습했다. 그러나 사실 택배를 어떻게 보낼 지에 대한 방법이나, 무엇을 보낼지, 어덯게 보낼지에 대한 방법은 하나도 생각하지 않은 것이다.
따라서 택배를 보낸다면 아래와 같은 추가적인 정책이 필요하다.
이를 네트워크 단계로 다시 표현하자면 상품은 어플리케이션 단계와 같다. 이는 유저 인테페이스를 정의하는 것이다. 웹 통신을 사용하면 HTTP, 파일 다운로드를 한다면 FTP 등을 사용하는 것이다.
배송 정책은 트랜스포트 단계와 같다. 전송을 어떻게 확인하고 오류를 처리하는 방법을 해당 단계에서 담당하여 맡는다. 대표적으로 TCP와 UDP가 있다. UDP는 배송 전달 방법을 퀵으로 보낸다고 생각하면 된다. 빠르지만 무책임하다. TCP는 배송 전달 방법을 등기 우편이라고 생각하면 된다. 조금 느릴지언정 책임을 지고 배송을 전달해준다. MMORPG에서는 TCP를 사용하고, FPS에서는 UDP를 사용한다.
최종 주소는 네트워크 단계와 같다. 즉 네트워크 간 경로를 설정하는 것과 같다. 이 때에 IPv4를 사용할지, IPv6를 사용할지 결정한다.
단지 경로는 데이터 링크 단계와 같다. 데이터 링크는 네트워크 내 경로를 설정하는 것과 같다. 관련 장치는 이더넷과 PPP가 존재한다.
택배 운송은 물리 단계와 같다. 물리 단계는 물리적으로 신호를 처리하는 것이다. 관련 장치는 케이블과 허브가 있다.
사실 OSI 7 계층에 관한 개념은 정보처리기사 자격증을 딸 때 이미 학습했던 개념이라 어려운 부분이 없었다. 오히려 예전에 학습했던 내용이 나와서 반가운 마음이 컸던 것 같다. 🖐
아울러 응용, 표현, 세션, 전송, 네트워크, 데이터 링크, 물리 등 각 계층에서 다루는 세부 내용과, 계층별 보내는 전송 단위, 사용하는 프로토콜 방법 등을 이미 모두 학습했기 때문에 부담없이 강의를 들을 수 있었다. 따라서 해당 포스팅에서는 이미 학습했기 때문에 보다 구체적인 개념, 프토콜에 대해서는 작성하지 않았다. 😎
'공부 > 인프런 - Rookiss' 카테고리의 다른 글
Part 4-3-4. 네트워크 프로그래밍 : Listener (0) | 2023.09.21 |
---|---|
Part 4-3-3. 네트워크 프로그래밍 : 소켓 프로그래밍 입문 (0) | 2023.09.19 |
Part 4-3-1. 네트워크 프로그래밍 : 네트워크 기초 이론 (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 |