프로그래밍/NetWork 스피비 2011. 5. 30. 11:54
소켓을 사용하다 보면 옵션이 필요한 경우가 있습니다. 책에서 나오는 예제를 보면 가장 처음에는 send, recv buffer 크기 변경하는게 나오더 군요. 하지만 더 많죠. 거기에 대해서 블로깅 하겠습니다. 소켓의 기본적인 특성 1. 입, 출력 버퍼의 크기 2. 데이터 전송 방식(TCP, UDP) 3. TTL(time to live) 소켓의 옵션은 일반적으로 변경이 가능 하지만 참조만 허용하는 옵션도 존재한다. 소켓 옵션 설정하기 소켓 옵션 얻기 일단 소켓 옵션 사용하는 것은 아래와 같은 함수를 사용합니다. 인자를 설명하자면 소켓, 변경할 옵션의 프로토콜 레벨, 변경할 옵션 이름, 변경할 옵션의 값을 저장한 버퍼, 전달하는 옵션의 바이트 단위 길이.이렇게 5개가 되네요. 소켓 옵션은 크게 세 개가 있습..
프로그래밍/NetWork 스피비 2011. 5. 30. 11:37
멀티캐스팅(Multicasting)은 네트워크의 한 지점에서 여러 지점에 정보를 전달하는데 유용하다. 한 지점에서 여러 지점으로 정보를 전달하는 데에는 세 가지 매커니즘이 있다. 1. 유니캐스트 - 주소를 사용하여 각 종점에 개별적으로 정보를 보낸다. 이 방법의 단점은 네트워크 트래픽의 중복과 유니캐스트 종점 목록을 유지하는데 드는 오버헤드가 심하다는 것이다. 2. 브로드캐스트 - 주소를 사용하여 정보를 단일 패킷으로 보낸다. 이 방법의 장점은 단일 패킷을 사용하다는 것과 받는 사람 목록을 유지하는데 드는 오버헤드가 없다는 것이다. 단점은 브로드캐스트 패킷을 사용하기 위해 네트워크의 모든 노드에 영향을 미친다는 것과 라우터가 브로드캐스트를 전달하지 않는다는 것이다. 브로드캐스트 패킷은 네트워크의 모든 대..
프로그래밍/NetWork 스피비 2011. 5. 30. 10:41
Socket 소프트웨어가 서로 연결하려면 소켓(Socket) 연결이 필요합니다. Socket은 두 시스템 사이의 네트워크 연결을 나타내는 객체입니다. 우선 적으로 두 소프트웨어가 연결이 되려면 가장 중요한 것은 두 소프트웨어가 상대방과 통신하는 방법, 즉 상대방에게 비트를 보내는 방법을 알고 있다는 점입니다. 직접적으로 연결을 해주는 저수준단계(수준이 낮다는 말이 아니라 하드웨어계층(이더넷 케이블, 네트워크 장치)은 운영체제별로 들어있는 소프트웨어와 자바 네트워킹 API에서 처리해주기 때문에 우리는 고수준단계(장치를 불러오는 직접적인 명령) 만을 구현하면 됩니다. 다시 말해 소켓 연결이란 두 시스템 간의 정보를 연결한다는 것을 의미합니다. 그 정보에는 네트워크 주소(IP주소)와 포트 번호도 포함되어 있습..
프로그래밍/NetWork 스피비 2011. 5. 30. 10:30
TCP와 UDP * TCP와 UDP의 공통점 - 포트 번호를 이용하여 주소를 지정 - 데이터 오류를 체크함 * TCP와 UDP의 차이점
프로그래밍/NetWork 스피비 2011. 5. 30. 10:24
UDP(User Datagram Protocol) Layer 4 계층 프로토콜 UDP는 상호 연결을 실시하지 않는 비연결 지향성 서비스이다. 즉, 송신측과 수신측간에 접속 절차를 거치지 않고(connect()함수를 사용하지않는다.) 수신측에서 요청을 실시하면, 송신측에서 바로 데이터를 전송한다. 또한, TCP에서 통신 연결과 제어를 담당하는 3-Way Handshaking 이나 나머지 TCP에서 하는 기능들을 수행 하지 않는다. UDP는 최선을 다해 목적지까지 데이터를 전송하는대신, 신뢰성을 보장하는 서비스가 없기때문에 어플리케이션 계층에서 이 문제를 해결해야 한다. 대신, 신뢰성을 보장하는 서비스로 인한 데이터 전송 지연이 발생하지 않기 때문에 신속한 데이터 전송이 가능하며, 이러한 특징 때문에 실시간..