Petit Coding 144

예약된 IP주소

IPv4버전의 예약된 IP 표. IP를 공부해본 사람이면 누구나 알수 있는 내용이기에 설명은 생략. 이 표는 가끔 유용하게 사용했다-. 출처 -위키백과 ㅋㅋ 주소 해당 사이더 목적 RFC 클래스 전체 주소 개수 0.0.0.0 - 0.255.255.255 0.0.0.0/8 Zero 주소 RFC 1700 A 16,777,216 10.0.0.0 - 10.255.255.255 10.0.0.0/8 Private IP address RFC 1918 A 16,777,216 127.0.0.0 - 127.255.255.255 127.0.0.0/8 로컬호스트 Loopback 주소 RFC 1700 A 16,777,216 169.254.0.0 - 169.254.255.255 169.254.0.0/16 Zeroconf RFC ..

Backend/Network 2011.05.13

패킷 송/수신 처리

패킷 수신 처리 1. 프로세서에서 소켓으로부터 데이터를 읽기 위해 데이터가 들어올 때까지 기다림 2. NIC에 패킷이 들어오면 인터럽트 (하드웨어 인터럽트) 요청 3. 커널은 실행하던 일을 일시 중단하고 인터럽트 요청에 해당하는 핸들러를 실행한다. 이때, NIC 디바이스 드라이버의 인터럽트 핸들러가 실행된다. 4. 인터럽트 핸들러는 NIC로부터 패킷을 가져와서 수신된 패킷을 처리하는 소프트 인터럽트 핸들러를 실행하도록 요청한다. 5. 소프트 인터럽트 핸들러에서는 수신 패킷의 헤더를 해석하여 해더 정보에 해당하는 프로토콜 층을 호출한다. 수신 함수에서는 헤더를 해석하여 목적한 소켓에 패킷을 보낸다. 만약 그 소켓에 대기하고 있는 프로세스가 있으면 대기하는 프로세스(1번)을 실행시킨다. 6. 프로레스는 소켓..

Backend/Network 2011.05.13

SIP 기본 통신 -두 번째 이야기

SIP 기본 통신- INVITE 요청에 이어 오늘 올릴 내용은 이에 따른 밥의 응답 및 통화-통화 종료에 관한 이야기이다. 정리되는 내용은 RFC 3261 문서에서 발췌한 것이며, 간혹 오타가 있을수도 있으니 양해 바람. 밥의 전화가 울리게 되면, 밥의 SIP 전화기는 180(Ringing)응답을 앨리스에게 먼저 전송하여 요청이 잘 도착하여 전화가 울리고 있다는 것을 알려준다. 이때 VIA헤더를 통해 왔던 길을 거쳐 응답이 앨리스에게 도착한다. 그러면 앨리스의 전화기 에서도 송신음이 발생하게 된다. 따릉따릉~~ 그리고 액정에 전화가 걸리고 있다는 표시가 나타난다..! 이제 밥이 전화를 받을지 말지 결정을 해야한다. 그가 전화를 받으면, SIP 전화는 200(OK) 응답을 앨리스에게 전송한다. 이때 200..

Backend/Network 2011.05.13

SIP 기본 통신 - 첫번째 이야기

SIP (Session Initation Protocol) 인터넷에서 많은 어플리케이션들이 사용되고 있는데, 그 중에는 상대방과 세션을 형성하고 데이터를 주고 받아야 하는 어플리케이션이 있다. 음성, video 등의 멀티미디어 데이터를 실시간으로 전송하기 위해서 다양한 프로토콜들이 개발되었다. SIP(Session Initation Protocol)은 이러한 실시간 멀티미디어 전송 프로토콜들과 함께 사용되어 엔드 유저들이 세션을 형성하여 데이터를 주고 받을 수 있도록 해 준다. SIP는 인터넷 전화와 같은 멀티미디어 세션을 수립하고, 수정하며 종료하는 어플리케이션 계층 제어 프로토콜이다. 또한 SIP는 다른 사람(participants)을 이미 형성되어 있는 세션에 초대(invite)하는 기능도 있다. ..

Backend/Network 2011.05.13

VoIP 용어 정리~~ > <

VoIP 개발을 하면서.. VoIP에 관한 용어들을 한번 정리해 보았다. 간단하게 개념만 정리해 놓은 것이니 상세 내용은 다음 포스팅에 차차 하기로 하고.. 1. SBC(Session Border Control) SBC는 VoIP 네트워크에서 이루어 지는 전화나, 미디어 통신 등에 대한 방해(공격) 등을 제어하기 위해 사용되는 장비이다. VoIP에서, 각각의 콜은 하나 또는 여러 개의 콜 시그널링 메시지를 교환하며, 전화상의 음성, 비디오 등의 신호와 통화 품질 등의 정보를 교환한다. 이러한 정보들은 하나의 세션이 맺어진 뒤 교환이 되는데, 이런 것들을 컨드롤 하는 것이 SBC의 역할이다. 2. Softswitch Softswitch는 전화 네트워크에서 중심적인 역할을 하는 장비로, 하나의 전화로부터 다..

Backend/Network 2011.05.13

인터넷 제어 메시지 프로토콜, ICMP.

ICMP (Internet Control Message Protocol): 인터넷 제어 메시지 프로토콜 ICMP는 IP layer의 한 부분으로 에러나 주의가 요구되는 상태 등을 전송하는 역할을 하며. ICMP 메시지는 IP 계층이나 그보다 높은 계층(TCP, UDP 등)에 의해 호출된다. ICMP 메시지는 다음 그림처럼 IP 데이터그램 안에 포함되어 전송된다. (메시지는 TCP/UDP 계층에서 처리) IP Datagram IP Header (20 Bytes) ICMP Message ICMP는 RFC 792번에 정의되어 있다. 다음은 ICMP메시지의 구조를 그림으로 나타낸 것이다. Type (8 - bit) Code (8 - bit) Checksum (16 - bit) 이 세 필드 뒤에는 타입과 코드에 ..

Backend/Network 2011.05.13

OSI 7 Layer

네트워크 강의 들을때 가장 처음으로 배우는것. 보안 강의 들을때 가장 처음으로 배우는것. TCP/IP 책 볼때 가장 첫장에 나오는 것. 사실 공부할땐 그리 와닿진 않지만 일하면서, 실무를 접하다 보니 아~하! 하고 와닿는 내용들이다. 그냥 개념적으로만 알고있으면 되는 내용들. 물론 외울 필요 없고 원리만 파악하면 된당. ㅎㅎㅎ 나도 아직 이름을 외우진 못했음. 하지만 네트워크를 공부하는 사람이라면 적어도 프로토콜별 계층 분류는 할 줄 알아야 할듯.. Application (어플리케이션 계층) 일반적인 응용 서비스를 실행한다. 예로 HTTP, SMTP, TELNET, FTP 등을 들 수 있다. Presentation (프레젠테이션 계층) 송수신측의 데이터 번역을 담당한다. 이는 어플리케이션 계층에서 하는 ..

Backend/Network 2011.05.13

실시간 전송 프로토콜, RTP.

RTP(Realtime Transport Protocol), 실시간 전송 프로토콜 -네트워크에서 음성, 비디오 등 실시간 데이터를 전송하기 위해 만들어진 프로토콜, RFC 1889, 1890에 기술됨 -UDP/IP 기반의 프로토콜 (데이터가 유실된다고 하더라도 실시간 전송중인 데이터를 다시 재전송하지는 않기 때문에) -UDP정보와 함께 코덱 정보, 생성된 시간 등에 대한 정보를 같이 발송 -디폴트 포트로 5004번을 사용 -패킷의 내용은 다음과 같다 V (버전) P (패딩) X (extension) CC (CSRC Count) M (Marker) PT (Payload Type) Sequence Number Timestamp SSRC(Synchronization Source) Identifier V : 버..

Backend/Network 2011.05.13

SRTP

SRTP(Secure Real-time Transport Protocol) SRTP는 RTP의 보안 모드라고 할 수 있다. 실시간으로 전송되는 멀티미디어 데이터를 암호화하여 송,수신하는 프로토콜을 의미한다. 실시간 데이터를 암호화 또는 복호화 하기 위해 SRTP에서는 기본적으로 AES알고리즘을 사용한다. 헤더는 다음과 같이 구성되어 있다. V : 버전 P : 패딩 X : Extension CC : CSRC Count M : Marker PT : 페이로드 형식 (타입) Payload 항목까지는 RTP와 동일하며, SRTP MKI, Authentication Tag 항목이 추가되었다. 이 때 Payload는 물론 암호화 되어 있어서, Payload 길이의 계산 방식은 RTP 패킷과 다르다. Payload 고..

Backend/Network 2011.05.13

FEC

FEC (Forward Error Correction) RFC 5109에 정의되어 있는 페이로드 포멧의 일종으로 RTP, SRTP에서 사용된다. 음성 데이터(전화)는 통화 품질이 중요하다. 통화 중 음성이 버벅대고 끊긴다면 이는 심각한 문제가 아닐 수 없다. 그렇다고 잃어버린 패킷을 재전송하자면 실시간 데이터의 의미가 없어지게 된다. 이를 모두 고려하여 사용되는 방법이 바로 FEC이다. FEC는 네트워크상의 데이터 패킷의 손실을 빨리 복구하기 위해 고안되었다. 쉽게 설명해 보겟다. 다음과 같이 패킷이 지나가고 있는데 RTP2번 패킷이 손실되면, FEC1번 패킷(RTP 1, 2의 정보를 가지고 있는 RTP 패킷이다.)의내용을 바탕으로 RTP2번 패킷을 재구성하게 되는 것이다. FEC는 RTP를 사용하며, ..

Backend/Network 2011.05.13
반응형