해결된 질문
작성
·
225
0
socket 관련 궁금한 점이 있습니다.
1. 보여주시는 그림에서 소켓은 유저모드 프로그램 아래에 위치하고 있는데 그 socket이 생성되는 시점이 궁금합니다. 운영체제가 socket이라는 자원을 갖고 있다가 통신을 필요로 하는 프로그램이 요청시 할당되는 것인지, 프로그램이 실행될 때 socket이라는 자원을 갖고 시작되는 건지 궁금합니다.
2. socket을 정육점에 있는 고기 갈아주는 기계라 봐도 될까요? stream은 시작은 있지만 끝을 알 수 없다는 이야기 처럼 정육점 사장이 고기를 넣으면 일정한 크기와 모양으로 끝없이 갈아서 나오는 모습이 연상됩니다. 갈아진 고기를 200그램 단위로 포장하고 제품태그 붙이면 TCP로, 포장된 고기를 택배 박스에 넣고 택배송장 붙이면 IP. 이 정도로 이해하고 있습니다. 무리없는 비유가 될까요!
답변 1
0
소켓은 파일과 같습니다. 운영체제가 가지고 있다가 할당하는 것이 아니라 프로그램에서 필요할 때 운영체제에게 생성을 요청하면 그 때 생성(혹은 개방)됩니다. 파일과 같다고 생각하면 됩니다.
아니오, 고기 갈아주는 기계는 Stream 데이터를 Segment 단위로 잘라주는 주체이므로 OS의 영역 중 TCP 그 자체라고 봐야 맞겠습니다. 정육점 환경에서 고기는 소켓이 생성하는 데이터 Stream이라고 봐야 하겠습니다. 참고하시기 바랍니다.
답변 감사합니다. 선생님 .
이야기 해주신 내용을 참고하며 영상 강의 다시 보겠습니다.
즐거운 하루되세요!