본문 바로가기

프로그래밍/네트워크 프로그래밍

(4)
[네트워크 프로그래밍] C# UDP 소켓 서버/클라이언트 예제로 보는 통신 과정 UDP Flow UDP는 TCP와 다르게 클라이언트의 Connect() 요청을 기다리는 listen()과 이 연결 요청을 허가하는 accept() 과정이 없습니다. 이러한 연결 과정이 없기 때문에 UDP는 TCP와는 다르게 비연결형 서비스이며 처리속도가 빠르다. C# UDP 소켓 서버/클라이언트 예제 C# UDP 소켓 서버/클라이언트 예제를 통해 UDP 통신 과정을 보자. 1. Server 1) Bind() : IP와 PORT 번호를 바인딩한다. 2) RecvFrom() : Client와 소켓 통신을 수행하며 전송되는 데이터를 받는다. (예제는 동기적 Server 소켓이므로 Client로부터 데이터를 받지 않으면 다음 SendTo() 과정을 하지 않고 대기한다.) 3) SendTo() : Client와 ..
[네트워크] UDP & TCP 패킷(Packet) 헤더(Header) UDP 헤더 1) SP (Source Port) 송신단에서 임의로 부여한 포트 번호 2) DP (Destination Port) 수신(목적지) 받을 포트 번호 응용 프로그램, 서비스, 단말에 따라 포트 번호가 정해져 있다. 3) UDP Length UDP 헤더와 데이터를 포함한 전체 바이트 길이 4) UDP Checksum 전송 에러 관련 필드로 UDP는 체크섬(데이터 손실 유무 확인 서비스)이 존재 UDP는 에러 복구 및 기타 전송 에러 관련 서비스 제공이 없기 때문에 TCP에 비해 간단하다. TCP 헤더 1) SP (Source Port) 송신단에서 임의로 부여한 포트 번호 2) DP (Destination Port) 수신(목적지) 받을 포트 번호 응용 프로그램, 서비스, 단말에 따라 포트 번호가 정..
[네트워크] UDP, TCP 란? UDP(User Datagram Protocol) 정의 UDP는 User Datagram Protocol로 TCP와 함께 OSI 모델 4계층인 전송 계층에 포함되는 프로토콜이다. IP를 사용하는 네트워크 내에서 컴퓨터간 메시지들이 교환될 때 제한된 서비스만 제공하는 프로토콜이다. TCP와 마찬가지로 데이터그램이라는 데이터 단위를 받기 위해 IP를 사용한다. 그러나 차이점이 있다면 TCP와 달리 메시지를 데이터그램으로 나누고, 반대편에서 재조립, 순서 조정 등의 서비스는 하지 않는다. UDP는 IP 계층에서 제공하지 않는 서비스도 제공하는데, IP내 사용자 구분을 위한 포트 번호 부여와 데이터 손상 여부 확인에 쓰이는 체크섬 서비스다. * 데이터그램(Datagram) 데이터그램은 송수신 컴퓨터 그리고 전송..
[네트워크] OIS 7계층 정리 OIS Model (Open Systems Interconnection Reference Model) 란? OIS Model (Open Systems Interconnection Reference Model)은 국제표준화기구인 ISO에서 개발한 모델로, 컴퓨터 네트워크 프로토콜 디자인과 통신을 계층으로 나누어 설명한 기준이다. 1 계층 : 물리계층 (Physical) 전기적, 기계적, 기능적인 특성을 이용하여 데이터를 전기적 신호를 변환한 후 물리적 매체(모뎀, 허브. 케이블 등)를 이용하여 신호를 전달한다. 단지, 신호 변환 및 전달 역할만 할 뿐 데이터가 무엇인지, 에러 유무 파악 등의 역할은 하지 않는다. 2 계층 : 링크 계층 (Link) 링크 계층은 포인트 투 포인트(Point to Point)..