DEV/Socket
-
1. Blocking과 Nonblocking - Blocking socket : socket()으로 생성되는 socket은 기본적으로 blocking socket. block 될수 있는 system call 호출 시 block 될 수 있음 Blocking 상태일경우 어떤 작업도 실행하지 않는다. 이러한 단점을 보완하기 위해, Thread를 사용하거나 이벤트를 이용한다. - Nonblocking socket : fcntl() 을 사용하여 Nonblocking socket로 변경 가능. system call 사용시 block 되는 상황이면 -1 리턴. errno 가 EWOULDBLOCK 또는 EAGAIN으로 설정된다. 비동기 소켓은 읽고 쓰는 시점을 알수 없다. 2. Nonblocking socket 생성 ..
Socket Blocking과 NonBlocking, 동기전송(synchronous)과 비동기전송(asynchronous)1. Blocking과 Nonblocking - Blocking socket : socket()으로 생성되는 socket은 기본적으로 blocking socket. block 될수 있는 system call 호출 시 block 될 수 있음 Blocking 상태일경우 어떤 작업도 실행하지 않는다. 이러한 단점을 보완하기 위해, Thread를 사용하거나 이벤트를 이용한다. - Nonblocking socket : fcntl() 을 사용하여 Nonblocking socket로 변경 가능. system call 사용시 block 되는 상황이면 -1 리턴. errno 가 EWOULDBLOCK 또는 EAGAIN으로 설정된다. 비동기 소켓은 읽고 쓰는 시점을 알수 없다. 2. Nonblocking socket 생성 ..
2021.06.23 -
raw socket(생소켓, 날소켓) 기본적으로, Network Layer 의 ip계층은 Transport Layer(TCP나 UDP)계층을 통해서만 Application Layer에 접근할수 있으나, raw socket 를 통해서 바로 IP계층과 Application Layer이 통신할수 있다. ICMP(Internet Control Message Protocol) 인터넷 제어 메세지 프로토콜. 호스트 서버와 인터넷 게이트웨이 사이에서 메세지를 제어하고 어떤 에러가 발생했는지 알려주는 프로토콜. Network layer에서 작동하지만, User Application에 의해 직접 처리된다. ICMP를 이용한 대표적인 응용프로그램 ping. 서버상태확인위해 사용되는 어플 IGMP(Interget Group..
소켓 관련 단어들 몇개raw socket(생소켓, 날소켓) 기본적으로, Network Layer 의 ip계층은 Transport Layer(TCP나 UDP)계층을 통해서만 Application Layer에 접근할수 있으나, raw socket 를 통해서 바로 IP계층과 Application Layer이 통신할수 있다. ICMP(Internet Control Message Protocol) 인터넷 제어 메세지 프로토콜. 호스트 서버와 인터넷 게이트웨이 사이에서 메세지를 제어하고 어떤 에러가 발생했는지 알려주는 프로토콜. Network layer에서 작동하지만, User Application에 의해 직접 처리된다. ICMP를 이용한 대표적인 응용프로그램 ping. 서버상태확인위해 사용되는 어플 IGMP(Interget Group..
2021.06.23 -
라우터(Router) 인터넷 상에서 데이터 통신시, 자동화 시스템(autonomous system) 이라고 불리는 다수의 소규모 네트웍장치로 연결되어지는것 데이터를 보낼때 이동경로에 관해서 신경쓰지 않아도 됨(이동경로는 소규모 네트웍 장치가 처리) 데이터 패킷의 경로를 배정하는 네트워크 기기를 Router(경로 배정기)라고 한다. 라우터는 IP패킷헤더 까지를 분석해서(TCP/Application Protocol은 무시)이 패킷이 어디로 전송되어야 하는지 알아내서 Interface로 메세지 전달 한다. 이를 수행하기 위해서 라우터는 배정하기 위한 경로를 저장하고 있어야 한다(Routing Table) 라우터는 패킷이 들어오면, IP헤더를 분석후, Routing Table 을 비교하여 적당한 Interfac..
TCP/IP 데이터 전송라우터(Router) 인터넷 상에서 데이터 통신시, 자동화 시스템(autonomous system) 이라고 불리는 다수의 소규모 네트웍장치로 연결되어지는것 데이터를 보낼때 이동경로에 관해서 신경쓰지 않아도 됨(이동경로는 소규모 네트웍 장치가 처리) 데이터 패킷의 경로를 배정하는 네트워크 기기를 Router(경로 배정기)라고 한다. 라우터는 IP패킷헤더 까지를 분석해서(TCP/Application Protocol은 무시)이 패킷이 어디로 전송되어야 하는지 알아내서 Interface로 메세지 전달 한다. 이를 수행하기 위해서 라우터는 배정하기 위한 경로를 저장하고 있어야 한다(Routing Table) 라우터는 패킷이 들어오면, IP헤더를 분석후, Routing Table 을 비교하여 적당한 Interfac..
2021.06.23 -
TCP/IP 가 나타난 이유는 컴퓨터간 통신을 위해서이다. TCP/IP 는 컴퓨터와 컴퓨터간 지역네트워크(LAN), 광역네트워크(WAN)에서 원활한 통신을 가능하도록 하기 위한 통신규약(Protocol) 로 정의 된다.(WWW, EMAIL, TELNET, FTP 등 대부분이 TCP/IP 기반으로 만들어져 있다.) 많은 서비스들이 TCP/IP 방식을 이용하는 대표적인 이유는 TCP/IP의 개방성에 있다. TCP/IP는 TCP + IP ..2개의 프로토콜로 이루어져 있는데, 통상 IP프로토콜위에 TCP프로토콜이 위치하게 되므로 TCP/IP라고 불린다. TCP는 서버와 클라이언트간의 데이터를 신뢰성있게 전달하기 위해 만들어진 프로토콜이다. 데이터는 네트워크선로를 통해 전달되는 과정에서 손실되거나, 순서가 바뀌..
TCP/IP 개론TCP/IP 가 나타난 이유는 컴퓨터간 통신을 위해서이다. TCP/IP 는 컴퓨터와 컴퓨터간 지역네트워크(LAN), 광역네트워크(WAN)에서 원활한 통신을 가능하도록 하기 위한 통신규약(Protocol) 로 정의 된다.(WWW, EMAIL, TELNET, FTP 등 대부분이 TCP/IP 기반으로 만들어져 있다.) 많은 서비스들이 TCP/IP 방식을 이용하는 대표적인 이유는 TCP/IP의 개방성에 있다. TCP/IP는 TCP + IP ..2개의 프로토콜로 이루어져 있는데, 통상 IP프로토콜위에 TCP프로토콜이 위치하게 되므로 TCP/IP라고 불린다. TCP는 서버와 클라이언트간의 데이터를 신뢰성있게 전달하기 위해 만들어진 프로토콜이다. 데이터는 네트워크선로를 통해 전달되는 과정에서 손실되거나, 순서가 바뀌..
2021.06.23