[패킷의 생성과 전달 , 9분 30 초 질문] 소켓은 파일에서 질문입니다.
안녕하세요.
이게 살짝 강의에 내용을 벗어날수도 있는 질문인데요.
소켓 통신시에 그 운영체제가 버퍼(파일) 자원을 어떻게 할당하는지에 대해 좀 더 알고 싶어서요.
검색해보니까 약간 겉핡기같은 내용이 많이 나와서 그런데, 혹시 관련해서 설명해주시거나 참고할만한 링크하나만 추천해주실 수 있나요 ?
그리고 유튜브도 제가 가끔 보는데, 소켓 통신에 대해 말씀하실때 파일, 버퍼, 스트림 이 세 단어를 뭔가 번갈아가면서 쓰셨는거 같은데 각 단어의 차이를 한번 말씀해주시면 감사하겠습니다.
수고하세요 :)
답변 1
3
소켓의 본질은 File입니다. 그리고 모든 File I/O는 Buffered I/O와 Non-buffered I/O로 나눌 수 있습니다. Buffered I/O는 말 그대로 버퍼를 활용하므로 읽기/쓰기 정보가 버퍼에 담긴 후 처리됩니다. 이렇게 할 경우 입/출력 지연이나 외부 요인에 따른 변화에 좀더 유연하게 대응할 수 있습니다. 반면에 '버퍼복사'로 인한 지연도 일부 발생합니다. 이 버퍼의 크기는 운영체제의 구현형태나 설정에 따라 달라질 수 있습니다. 소켓도 마찬가지 입니다. 따라서 '자원을 어떻게 할당 하는 가'라는 질문은 모호한 측면이 있습니다. 어떻게 보면 설정의 문제일 수 있기 때문입니다. 인터넷에서 IOCP에 대해서 검색해보면 좋은 자료를 많이 찾을 수 있습니다. IOCP가 어떻게 성능을 높이는지 생각해보면 원하는 답을 찾을 수 있을 것으로 생각합니다.
그리고 File은 말 그대로 File 입니다. 제가 버퍼를 함께 언급하는 이유는 앞서 말한 Buffered I/O 때문입니다. 그리고 Stream이라는 표현은 논리적으로 파일에 저장되는 데이터가 직렬로 연속된 1차원적 비트 스트림 형태이기 때문입니다. 참고하시기 바랍니다. 감사합니다.
cicd 서버 올린 후 기존 마스터 노드 기동 시 네트워크 에러
1
77
2
Protobuff is it sufficient for mmorpg?
0
180
2
void IocpEvent::Init() is correct?
0
126
1
캐시 관련 질문입니다.
0
615
1
클라이언트 프로그래머 커리어 고민
0
1252
2
ETag 질문입니다.
0
725
1
Lock-Based Queue 병목현상 질문 드립니다.
0
589
1
TCP 연결 종료 과정 중 Time wait관련
0
770
1
도메인 구입 내용 관련
0
838
3
127.0.0.1과 localhost 차이점에 대해서
3
1846
1
CDN에 리소스를 올린다는 의미가 무엇인가요??
0
496
1
API 서버를 WAS로 볼 수 있는건가요??
0
1800
1
DNS 서버를 여러대 두는 이유
0
910
1
모든 프로세스는 포트를 가지고 있나요??
0
512
1
L2 수준에서 MAC주소 입장에서(기준) 송신/수신 할때의 처리 흐름이 궁금합니다.
0
717
1
IP주소를 이용한 네트워크 주소 식별 관련
0
578
1
L3 Packet에서 payload
0
616
3
TCP 수신 관련하여 질문드립니다
0
402
1
몇가지 질문이 있습니다
0
264
1
포트에 대해 궁금한 점이 있습니다
0
313
1
Ip헤더질문 강의에서 의문점
0
287
1
DHCP와 ARP 동작 하는 부분에 궁금증이 있습니다.
1
1098
1
강의 영상 소리 문제
0
496
3
TCP Buffer Size (Window Size) 크기는 무조건 큰 것이 좋을 까요?
1
2061
2





