Backend/Network 29

FTP

FTP (File Transfer Protocol) FTP 는 일반적으로 잘 알려진 파일 전송 프로토콜이다. 알 FTP, WINFTP 등 많은 툴들을 사용해 서버에 데이터를 올리고, 내릴 수 있는데, 오늘은 이 편한 프로토콜에 대해 알아보려고 한다. 일단 RFC959 에 기술된 기본 용어들 중 알아둬야 할 용어를 간단히 정리. PI : Protocol interpreter. Control 커넥션을 만들기 위해 커맨드 및 이에 대한 응답을 주고 받음. DTP : Data transfer process. 데이터 커넥션을 만들고 관리하는 것을 의미. Control connection : User PI와 Server PI 사이에서 주고받는 커맨드 및 응답. Telnet protocol과 동일. Data conn..

Backend/Network 2012.04.12

SNMP Trap

SNMP TRAP SNMP (Simple Network Management Protocol) 는 네트워크 장비의 상태 및 프로세스 상태 등을 관리자에게 전달해 줄 수 있는 프로토콜이다. SNMP 데몬은 관리자의 요청이 오면 해당 정보를 관리자에게 일정한 형식에 맞추어 전송해 주는데, GET, SET 등의 명령어를 이용해서 시스템의 정보를 받거나, 시스템에 일정 값을 셋팅해 줄 수도 있다. 그리고 한가지 옵션이 더 있는데, 바로 TRAP이다. TRAP은 관리자가 요청을 해서 정보를 주는 것이 아니라, 시스템 자체에서 비동기적으로 일어나는 이벤트에 대한 정보를 알아서 관리자에게 보내주는 역할을 한다. GET, SET 과 같은 명령어는 snmpd가 수행하고, 이러한 비동기적 TRAP 요청은 snmptrapd ..

Backend/Network 2011.05.20

SNMP - MIB 정보 보기

NET-SNMP 패키지를 깔고 다음 경로에 들어가면, 아래처럼 MIB 정보들을 볼 수 있다. >cd /usr/share/snmp/mibs >ls AGENTX-MIB.txt NETWORK-SERVICES-MIB.txt DISMAN-EVENT-MIB.txt NOTIFICATION-LOG-MIB.txt DISMAN-SCHEDULE-MIB.txt RFC1155-SMI.txt DISMAN-SCRIPT-MIB.txt RFC1213-MIB.txt EtherLike-MIB.txt RFC-1215.txt HCNUM-TC.txt RMON-MIB.txt HOST-RESOURCES-MIB.txt SMUX-MIB.txt HOST-RESOURCES-TYPES.txt SNMP-COMMUNITY-MIB.txt IANA-ADDRESS..

Backend/Network 2011.05.20

TLS Handshaking - 알기 쉽게 정리

TLS 에서 Server-Client간 연결 수립 과정을 정리하였다. TLS Handshake 프로토콜에서는 다음 단계들을 거친다. 1. 클라이언트는 서버에게 "Client hello" 메시지를 전달한다. 이때, 클라이언트는 Cipher suits에서 지원하는 랜덤 값을 같이 첨부하여 보낸다. 2. 서버는 "Server hello" 메시지를 클라이언트에게 전송해 준다. 이때 서버도 랜덤 값을 같이 보낸다. 3. 서버는 자신의 인증서를 클라이언트에 보내어 클라이언트가 인증할 수 있도록 한다. 또한 이때, 클라이언트에게 인증서 양식을 요청할 수 있다. 4. 만약 서버가 클라이언트에게 인증서를 요청하였다면, 클라이언트는 인증서를 서버에게 전송한다. 5. 클라이언트는 서버가 준 인증서의 공개키를 가지고 임의의 ..

Backend/Network 2011.05.13

ARP

* ARP (Address Resolution Protocol) : ARP는 IP 네트워크 상에서 IP 주소를 물리적인 네트워크 주소로 대응시키기 위해 사용되는 프로토콜 특정 IP에 대응되는 MAC주소를 찾아주기 위한 프로토콜 arp -a 명령어 IP - Mac address 목록. ARP 요청이 올 경우 요청 IP에 대한 Mac address를 전송한 후, 다음번 요청에 더욱 빨리 응답하기 위해 ARP 테이블에 다음과 같이 내용을 저장한다. 목록에서 삭제하기 위해서는 arp -d 옵션을 사용한다. 현재 내 IP (192.168.0.1) 의 MAC Address 는 00-08-9f-5c-5a-9b 임을 알 수 있다.

Backend/Network 2011.05.13

Apach Bench - 아파치 서버 성능 검사 툴

Apache Bench, ab는 아파치 서버의 성능을 검사하는 벤치마킹 도구이다. 다음의 옵션들을 적절히(?) 조합하여 아파치 웹서버에 request를 날릴 수 있다. ab [ -A auth-username:password ] 서버에게 BASIC Authentication 정보를 제공한다. :으로 구분한 사용자명과 암호를 base64 인코딩하여 전송한다. 서버가 정보를 요구하는지 (예를 들어, 401 인증 필요를 보내는지) 관계없이 문자열을 전송한다. [ -c concurrency ] 동시에 요청하는 요청수. 기본적으로 한번에 한 요청만을 보낸다. [ -C cookie-name=value ] 요청에 Cookie: 헤더를 추가한다. 아규먼트는 보통 name=value와 같은 쌍이다. 이 옵션은 여러번 사용..

Backend/Network 2011.05.13

예약된 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
반응형