과제 || 네트워크 연구소, IIT 카르그푸르 || 2018-2019
교수: Sandip Chakraborty, Arobinda Gupta
과제:
UDP 소켓 : POSIX C 프로그래밍을 사용하여 데이터그램 소켓에 익숙해집니다. 목표는 데이터그램 소켓을 사용하여 두 컴퓨터(프로세스) 간의 통신을 설정하는 것입니다. 데이터그램 소켓은 간단한 통신 패러다임을 사용하여 신뢰성을 보장하지 않고 두 컴퓨터(프로세스) 간에 짧은 메시지를 전송합니다.
TCP 소켓 : POSIX C 프로그래밍을 사용하여 스트림 소켓(TCP 소켓이라고도 함)에 익숙해집니다. 스트림 소켓은 클라이언트와 서버 사이에 연결을 설정하며, 둘 중 하나가 연결을 닫을 때까지(종료 시 명시적으로 또는 암시적으로) 유지됩니다. 연결은 두 컴퓨터(프로세스) 간에 순서화된 바이트 시퀀스를 안정적으로 전송하는 데 사용될 수 있습니다.
동시 TCP 서버 : 여러 클라이언트가 동일하거나 다른 서비스를 요청할 수 있고 서버가 이를 동시에 제공하는 동시 서버를 구현합니다. 구현은 서로 다른 소켓을 통해 여러 요청을 처리하는 데 사용되는 select() 시스템 호출의 기능을 이해하는 데 도움이 됩니다.
단순화된 파일 전송 프로토콜(FTP) : 파일 전송 프로토콜의 단순화된 버전을 구현합니다. 구현해야 하는 명령의 하위 집합은 작으며 FTP에는 훨씬 더 풍부한 기능이 있습니다.
블록 단위 파일 전송 : 블록 기반 전송을 통해 두 호스트 간에 파일을 전송합니다. 우리는 MSG_WAITALL
이라는 recv()
호출의 특수 플래그를 배울 것입니다.
비차단 I/O : 여러 클라이언트가 동일하거나 다른 서비스를 요청할 수 있고 서버는 비차단 I/O 작업을 통해 해당 서비스를 동시에 제공하는 동시 서버를 구현합니다.
신뢰할 수 없는 채널을 통한 안정적인 통신 : 신뢰할 수 없는 링크를 통한 안정적인 통신 지원을 구축합니다. 신뢰할 수 없는 링크는 UDP 소켓으로 구현됩니다.
Traceroute : mytraceroute
구현합니다. -- 머신에서 특정 대상까지 계층 3(IP 계층) 홉 수를 식별하기 위한 Linux traceroute
도구 버전입니다.
신호 기반 I/O : 비동기식 비차단 I/O를 사용하는 간단한 UDP 에코 서버입니다.
문의사항이 있으시면 언제든지 Vedic Partap으로 핑을 보내주세요.