3학년/네트워크 프로그래밍 7

TCP EchoClient

※ 주고 받는 것이 아닌 한 번 보내고 받은 뒤 종료되는 예제 sln명 : ConsoleClient using System; using System.Text; using System.Net; using System.Net.Sockets; using System.Threading; namespace ConsoleClient { class Program { static void Main(string[] args) { Thread clientThread = new Thread(clientFunc); clientThread.IsBackground = true; clientThread.Start(); Console.WriteLine("종료하려면 아무 키나 누르세요..."); Console.ReadLine(); }..

TCP EchoServer

※ 주고 받는 것이 아닌 한 번 보내고 받은 뒤 종료되는 예제 sln명 : ConsoleServerusing System; using System.Text; using System.Net; using System.Net.Sockets; using System.Threading; namespace ConsoleServer { class Program { static void Main(string[] args) { // 서버로 작동하는 스레드 생성 Thread serverThread = new Thread(serverFunc); // Background로 돌려서 수행 serverThread.IsBackground = true; serverThread.Start(); // 5초간 기다리다 Key를 인식한다. ..

네트워크_Chapter05 - C# 스레드, 대리자(Delegate), 이벤트

Chapter05 - C# 스레드, 대리자(Delegate), 이벤트 1. 스레드 l 스레드를 사용하는 이유 ü C# 프로그램에서 동시 처리 작업 수행 가능 ü 응용 프로그램 리소스 공유 ü .Net Framework의 System.Threading 네임스페이드를 사용 ü 하나의 프로세스에서 여러 가지 일을 해야 하는 경우에 사용 2. 대리자(Delegate) l 델리게이트의 목적 ü 대리자로서 메서드를 다른 메서드의 인수로 전달(주 목적) ü 메소드를 사용하는 새로운 종류의 메서드 타입 ü 이벤트 처리에 유용 ü 특징 1. C++의 함수 포인터와 유사, 안전한 형식 2. 대리자를 통해 메서드를 매개변수로 전달가능 3. 대리자를 사용하여 콜백 메서드 정의 가능 4. 여러 대리자 연결 가능 3. 예제 프로..

네트워크_Chpater04 - UNIX C 소켓

Chapter04 – UNIX C 소켓 1. 정의 l 응용 프로그램을 개발할 때 TCP/UDP 또는 IP(raw socket)를 이용하여 프로그램을 개발 할 수 있도록 지원 l 유닉스/리눅스에서의 소켓 인터페이스 ü 파일 입출력과 유사한 구조 l 소켓 디스트립터 ü sd = socket(AF_INET, SOCK_STREAM, 0) l 소켓 함수 포멧 ü int socket(int family, int type, int protocol) ü family Ø AF_INET: AF_INET(인터넷 주소 체계) -> 주로 사용 Ø AF_UNIX(유닉스 주소 체계) Ø AF_INET6(128비트 IPv6 주소 체계) -> IPv6일 때 사용 ü type: 서비스 타입을 의미 Ø 연결형(stream) 서비스를 위해..

네트워크_Chapter03 - RTP

Chapter03 – RTP 1. 정의 l RTP(Real Time Transport Protocol) ü 데이터의 실시간 전송을 보장하지 않음 ü 손실된 페킷은 재전송 하지 않음 ü 타이밍 정보를 가지고 있지 않고 서비스 품질을 보장하는 기능을 제공하지 않음 Ø 데이터가 순서대로 오도록 보장 해 주지 않음 ü 부족한 기능은 송수신 응용 프로그램들이 스트리밍 데이터를 처리 할 수 있도록 지원 ü RTCP와 함께 사용하여 네트워크 상태 정보와 흐름제어 기능 수행 Ø 최소한의 품질 보증 ü RTP, RTCP: UDP상에서 동작 l 오디오/비디오 같은 실시간 데이터를 전송하기 위한 인터넷 프로토콜 l 계층 구성: IP – UDP – RTP (JPGEG, H.261, MPEG) l RTP ü 하나의 IP주소, ..

네트워크_Chapter02 - HTTPS

Chapter02 - HTTPS 1. Hyper Text Transfer Protocol Secure l Hyper Text Transfer Protocol over Secure Socket Layer, HTTP over TLS, HTTP over SLS ü TLS나 SLS로 암호화: 공개키, 비밀키 기반 암호화 ü Port: 443 ü 속도: HTTP > HTTPS ü 중간 변조 불가능, 네트워크 상에서 열람 수정 불가능 2. SSL(Secure Socket Layer) 와 TLS(Transfer Layer Security) l SSL(표준화 이전 이름) = TLS(표준화 이름) l 서버와 클라이언트 간에 인증으로 RSA방식과 X.509를 사용하고 암호화된 정보 암호화 소켓 채널을 통해 전송 l 절차 ..

네트워크_Chpater01 - HTTP

Chapter 01 - 프로토콜과 HTTP 1. 계층별 프로토콜의 특징 l 2계층 프로토콜: Ethernet(CSMA/CD) - LAN에서의 통신을 지원하기 위한 프로토콜 - 동일한 네트워크에 있는 장비에게 데이터를 주는 것이 목적 - 데이터 단위: 프레임 - 헤더에 들어있는 Destination/Source의 MAC주소가 중요 - 0과 1의 2진수로 구성됨 l 3계층 프로토콜: IP - 멀리 떨어진 네트워크와의 연결을 지원하기 위한 프로토콜 - 네트워크와 네트워크를 연결해줌 - 모든 장비를 IP주소로 구분함 - 데이터 단위: 패킷 l 4계층 프로토콜: TCP/UDP - end to end통신: Process to Process - 통신의 가장 끝에 존재함 - 소켓을 통한 프로그래밍 가능 - 데이터 단위..