본문 바로가기

■ Programming /Window Network10

[윈도우 네트워크] 빅 엔디안(Big Endian)과 리틀 엔디안(Little Endian) [윈도우 네트워크] 빅 엔디안(Big Endian)과 리틀 엔디안(Little Endian) 호스트 바이트 순서(Host Byte Order) 컴퓨터에서 가장 핵심 중에 하나인 CPU는 데이터를 저장하는 방식이 2가지가 존재합니다.CPU 데이터 저장방식을 호스트 바이트 순서(Host Byte Order)라 합니다. CPU 저장방식에 따라 4바이트의 데이터 정수 1을 2진수로 표현하면 다음과 같습니다.(저장방식이 다르다는 것은 해석순서가 다름을 뜻한다) [1] Big Endian00000000 00000000 00000000 00000001 [2] Little Endian00000001 00000000 00000000 00000000 빅 엔디안(Big Endian) CPU가 데이터를 메모리에 저장하는 두가.. 2018. 5. 15.
[윈도우 네트워크] Blocking 과 Non-Blocking [Blocking / Non-Blocking] Blocking Blocking IO Model I/O 작업은 유저 레벨(User Level - Application)에서 직접 수행할 수 없다. 실제 I/O를 수행하는 것은 커널레벨(Kernel Level - OS) 이다. 따라서 유저 프로세스(또는 쓰레드)는 커널에게 I/O를 요청해야 한다. I/O 작업을 처리하기 위해 유저 레벨(User Level)에 있던 Application이 시스템 함수를 호출한다. (system call) 이 때, 컨텍스트 스위칭(Context Switching)이 발생한다. 그리고 커널 레벨(Kernel Level)에서 해당 I/O 작업이 끝나고 데이터를 반환하게 되면, 그 때가 되어서야 어플리케이션 단의 스레드(thread)에.. 2018. 1. 8.
[윈도우 네트워크] recv() : 소켓으로부터 데이터 수신 [C++] recv() 설명 recv() 함수는 소켓으로부터 데이터를 수신합니다. 헤더 #include 구조 int recv( SOCKET s, char *buf, int len, int flags) 인수 SOCKET s : 소켓 디스크립터 char* buf : 수신할 버퍼 포인터(데이터) int len : 수신할 버퍼의 길이(크기) int flags : MSG_PEEK , MSG_OOB , MSG_WAITALL 반환 -1 이외 : 실제 수신한 바이트 수 -1 : 실패 감사합니다. 공감 한번 부탁드려요. 2018. 1. 8.
[윈도우 네트워크] 라우터 란? [TIP] 라우터 란? 라우터 란? 라우터(router)는 패킷의 위치를 추출하여 그 위치에 대한 최상의 경로를 지정하며 이 경로를 따라 데이터 패킷을 다음 장치로 전향시키는 장치이다. 공유기 = 라우터입니다. 1. 라우터의 종류 네트워크에서 쓰이는 위치나 규모에 따라 라우터의 종류가 달라질 수 있다. 다만 라우터의 기본적인 기능은 모두 같다. 이 글에는 큰 크기부터 작은 크기까지 나열되어 있다. 코어 라우터: 인터넷 서비스 제공자(ISP)의 랜이나 여러 개의 ISP 네트워크를 서로 연결한다.센터 라우터: WAN 회선을 거쳐 회사의 본점과 회사의 지점을 서로 연결한다. 또, 인터넷 서비스 제공자와 기업의 네트워크와 연결할 때에도 쓰인다.엣지 라우터: 지점, 영업소의 네트워크를 WAN 회선에 연결하여 회사.. 2017. 4. 10.