inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

외워서 끝내는 네트워크 핵심이론 - 기초

패킷의 생성과 전달

[패킷의 생성과 전달 , 9분 30 초 질문] 소켓은 파일에서 질문입니다.

해결된 질문

519

dankim

작성한 질문수 8

0

안녕하세요.
이게 살짝 강의에 내용을 벗어날수도 있는 질문인데요.

소켓 통신시에 그 운영체제가 버퍼(파일) 자원을 어떻게 할당하는지에 대해 좀 더 알고 싶어서요.

검색해보니까 약간 겉핡기같은 내용이 많이 나와서 그런데, 혹시 관련해서 설명해주시거나 참고할만한 링크하나만 추천해주실 수 있나요 ?

그리고 유튜브도 제가 가끔 보는데, 소켓 통신에 대해 말씀하실때 파일, 버퍼, 스트림 이 세 단어를 뭔가 번갈아가면서 쓰셨는거 같은데 각 단어의 차이를 한번 말씀해주시면 감사하겠습니다.

수고하세요 :)

network protocol

답변 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