본문 바로가기

TCP IP7

[윈도우 네트워크] 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.
[윈도우 네트워크] IP주소 란? [TIP] IP주소 란? IP주소 란? IP 주소 (Internet Protocol Address)는 컴퓨터 네트워크에서 장치들이 서로를 인식하고 통신을 하기 위해서 사용하는 특수한 번호입니다. 네트워크에 연결된 장치가 라우터든 일반 서버든 모든 기계는 이 IP번호를 가진다. 이 번호를 이용해 발신자를 대신하여 메시지가 전송되고 수신자가 있는 예정된 목적지로 전달됩니다. IP 주소를 줄여서 IP라고 부르는대 IP는 인터넷 규약 자체를 가리키는 말이기 때문에 엄밀하게는 구별해야 합니다. IP주소는 네트워크라는 세상에 사는 기계의 집주소(사용자)라 볼 수 있습니다. 1. IP 주소의 버전 IP 주소는 IPv4 와 IPv6 두 종류가 존재합니다.각각 32비트 , 128비트의 값을 사용합니다. IPv4는 8비트.. 2017. 4. 10.
[윈도우 네트워크][TCP/IP] TCP/IP 프로토콜 구조 [TCP/IP][네트워크 프로그래밍] TCP/IP 프로토콜 구조 TCP/IP 프로토콜 구조 일반적으로 프로토콜은 기능별로 나누어 계층적으로 구현합니다. TCP/IP 프로토콜도 이 구조를 따릅니다. 1. 네트워크 접근 계층 네트워크 접근 계층(network access layer)은 물리적 네트워크를 통한 실제 데이터 송후신을 담당한다. [구성요소] 물리적 신호를 처리해 데이터를 송수신하는 -> 네트워크 하드웨어 , 운영체제가 제공하는 -> 장치 드라이버 두가지가 있습니다. 네트워크 접근 계층에서는 하드웨어적으로 정의된 물리 주소 (physical address)를 사용해 통신하는데, 물리 주소는 네트워크 방식에 따라 다르며 일반적으로 상호 호환되지 않습니다. 흔히 사용하는 이더넷(Ethernet)에서는 .. 2017. 4. 6.