본문 바로가기

[ ★ ]Study/Network37

TCP 프로토콜 (2) TCP는 어떠한 역할을 할까?TCP의 기능에대해서 알아보자.*** 참고 사항 게시글 http://nroses-taek.tistory.com/82 ***TCP가 하는 일 ◆ 주소지정/다중화 : 많은 애플리케이션이 TCP를 전송 프로토콜로 사용한다. 그래서 TCP와 쌍을 이루는 UDP와 마찬가지로, 여러 프로세스에서 온 데이터를 다중화하여 하위 네트워크 계층 프로토콜로 송신되도록 하는 것은 TCP의 중요한 임무다. 동시에 이들 상위 계층 애플리케이션은 TCP 포트를 통해 식별된다. ◆ 연결 수립, 유지, 종료 : TCP는 장비가 데이터를 이동시킬 수 있는 연결을 협상하고 수립하기 위해 따라야 할 절차 모음을 제공한다. 일단 연결이 수립되면 TCP는 연결을 유지하고 혹시 발생할지 모르는 문제를 처리하기 위한 .. 2017. 6. 10.
TCP 프로토콜 (1) TCP 프로토콜TCP(Transmission Control Protocol) OSI 7 계층에서 4계층 전송 계층(Transprot Layer)에서 사용되는 통신규약으로 어떤 컴퓨터가 다른 컴퓨터와 데이터를 주고받기 위한 통신 프로토콜의 일종이다.전송 계층에서 동작하는 프로토콜은 그보다 상위에 있는 소프트웨어 애플리케이션이 인터네트워크를 사용할 수 있도록 몇 가지 중요 서비스를 제공한다. 전송 계층 프로토콜은 일반적으로 원거리에 있는 소프트웨어 서비스 간에 연결을 수립하고 관리하게 된다. 많은 상위 계층 애플리케이션은 신뢰할 수 있는 방법으로 데이터를 보낼 필요가 있다. 에러 보정, 손실된 데이터, 흐름 관리에 신경 쓰지 않고 데이터를 보낼 수 있기 때문이다.- 연결 지향 -TCP 프로토콜은 통신을 시작.. 2017. 6. 9.
WSACleanup 함수(Windows) Header #include Function Prototype int WSACleanup(void); 윈도우에서는 소켓 라이브러리를 사용한 뒤에는 소켓 라이브러리를 해제해 주어야 한다. ex) malloc 할당한 후 할당 해제하는 것처럼 말이다. 소켓 라이브러리의 초기화는 WSACleanup 함수를 호출하여 라이브러리를 해제할 수 있다. WSACleanup함수를 호출하게 되면 더 이상 소켓 함수는 사용하지 못하게 되고, 초기화 되었던 라이브러리는 해제 된다. 프로그램이 종료되기 직전에 더는 소켓 함수를 사용하지 않게 될 때 해당 함수를 호출해야 한다. 2017. 3. 15.
WSAStartup 함수 (Window) Header #include Function Prototype int WSAStartup(WORD wVersionRequested, LPWSADATA lpWSAData); 윈도우에서는 리눅스와는 다르게 소켓 라이브러리를 사용하기 위해서는 어떤 버전의 소켓을 사용할지 소켓 라이브러리를 초기화한 다음에 소켓을 사용해야 한다. 첫 번째 인자는 프로그램에서 사용할 소켓이 버전 정보를 전달한다. 두 번째 인자는 WSADATA 구조체의 주소값을 전달하는데 이 곳에 소켓의 세부 정보가 저장된다. 2017. 3. 15.
Network - closesocket함수 Window & Linux #include Function Prototype int closesocket(_In_ SOCKET s); 윈도우 환경에서는 소켓을 사용한 다음에 소켓 디스크립터를 닫을 때는 closesocket함수를 이용하여 소켓 디스크립터를 닫아야한다. 간단하게만 알아두셔도 됩니다. MSDN에서는 A descriptor identifying the socket to close. 라고 간단 명료하게 명시하였습니다. 추가적으로 에러없을 땐 0이 반환 그 외에는 SOCKET_ERROR를 반환하게 됩니다. 2017. 3. 13.
Network - close 함수 Windows & Linux #include Function Prototype int close(int fd); close함수는 리눅스에서 전달받은 파일 디스크립터를 닫는데 사용된다. 리눅스는 소켓과 파일 디스크립터를 함께 공통으로 사용하는 특징이 있는데, 파일을 닫을 때 close함수가 사용될 수 있을 뿐만 아니라 소켓 디스크립터를 닫을 때에서 close함수를 사용할 수 있다 2017. 3. 12.