• 카테고리

    질문 & 답변
  • 세부 분야

    기타 (개발 · 프로그래밍)

  • 해결 여부

    해결됨

소켓은 파일이라 하셨는데..

23.08.10 16:41 작성 조회수 454

0

강사님 안녕하세요. 강사님 강의를 쭉 보다가 의문이 생겨 질문 드립니다.
네트워크 통신에서 소켓이 파일이라 하셨는데 이 부분이 이해가 가지 않습니다.

파일이라 함은 2차 메모리에 저장되는 포맷(파일이라는 형태로 저장된다고 말씀하셨습니다.) 아닌가요?
하지만 소켓 통신은 Ram 수준에서 버퍼를 통해 통신하지 않습니까?

'소켓의 본질은 파일이다.' 가 무슨 의미인지 이해가 가지 않습니다.

답변 1

답변을 작성해보세요.

2

OS 수준에서 파일은 크게 보면 두 종류입니다. 2차 메모리에 저장된 단위 데이터 덩어리를 의미하는 파일과 장치에 대한 추상화된 인터페이스를 제공하는 장치파일 입니다. 내부는 전혀 다른 이 두 파일은 어쨌든 파일 입니다. C언어에서 파일을 개방하는 함수로 fopen() 함수가 있습니다. 재밌는 것은 이 함수로 데이터 파일이든 장치파일이든 개방이 가능하다는 것입니다.

소켓은 TCP에 대한 추상화된 인터페이스이며 TCP는 결국 NIC을 이용합니다. 결과적으로 소켓은 네트워크 통신 체계 및 장치에 대한 추상화 된 인터페이스이며 파일형식을 갖고 있습니다. 이 파일에 쓰면 2차 메모리에 데이터를 저장하는 일이 일어나는 것이 아니라 NIC을 움직여 정보를 송신합니다. 두 경우 모두 '쓰기' 입니다. 다만 소켓에서는 쓰기 대신 '송신'이라는 표현으로 바꾼 것입니다.

참고하시기 바랍니다.

cjw7823님의 프로필

cjw7823

질문자

2023.08.12

와... 정말 감사합니다. 더 열심히 공부하겠습니다!

Hansu Park님의 프로필

Hansu Park

2023.09.05

영상에서 파일이라고 말씀하신 게 몇 번을 봐도 이해가 안갔는데 두 번째 의미로 생각해보니 애하가 되네요 감사합니다