전체 글 142

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 2012.04.12

TLS 프로토콜 정리.

•SSL (Socket Secure Layer) –배경 : 1993년 웹에서 안전한 통신을 위해 Netscape社에 의해 개발 –특징 : 세션계층에서 적용되며, 응용계층의 FTP, TELNET, HTTP등의 프로토콜의 안전성 보장 –기능: 서버 인증, 클라이언트 인증, 기밀성 보장 –현황 및 전망 : 현재 많은 전자 쇼핑몰 업체에서 채택, 운영 •TLS (Transport Layer Security) –배경 : SSL 3.0 이 표준화된 이후 IETF는 1996년 6월부터 TLS 프로토콜에 대한 표준화 (SSLv3.1) –Backward compatible with SSLv3 –특징 : SSL 3.0을 기반으로 한 업그레이드 프로토콜 –현황 및 전망 : 현재 TLS 1.0이 발표, 지속적 개발 예상 TL..

Backend/Network 2012.04.12

OSI MODEL

OSI Model (OSI 7 Layer) 지난 포스팅에 간단히 기술했었는데, 오늘 보다가 다시 정리. OSI(Open Systems Interconnection) Model은 총 7계층이며, 각 계층의 기능은 다음과 같다. 1. Physical (물리적 계층) 말 그대로 물리적인 계층을 의미한다. 이 물리적 계층에서는 데이터를 물리적인 매개체를 이용하여 (예 케이블, 허브 등) 다른 시스템으로 전송한다. 비트 스트림을 다루는 계층으로 서킷 교환, 패킷 교환 등의 방식을 통해 데이터를 주고받는다. 이 계층에서 사용되는 프로토콜은 주로 기계적 구조나 배치 등을 명시하고 있으며 다음과 같은 프로토콜이 물리적 계층에 속한다. - EIA/TIA, HSSL, SONET, SCSI 등등.. 2. Data Link ..

Backend/Network 2012.04.12

NAT

NAT (Network Addres Translation) NAT은 말 그대로 네트워크상에서 주소를 변환하는 방법 (또는 시스템)을 의미한다. 우리가 사용하는 IP는 공인 IP, 사설 IP 등이 있는데, 보통 사내망에서는 사설 IP를 사용하고, 외부로 나갈 때 공인 IP로 빠져나가게 된다. 그런데 이런 일이 자동적으로 이루어 질리는 없을테고.. 바로 이 때 사용하는 것이 NAT이다. 일반적으로 회사에서는 사설 IP를 하나 또는 그 이상의 공인 IP로 사상(매핑) 시켜 패킷을 내보낸다. 그래서 외부에서 봤을 때는 사용자의 Source IP가 사설 IP가 아닌 공인 IP로 보이게 되는 것이다. 따라서 외부에서 이 공인 IP로 응답할 때에도, NAT은 이 공인 IP를 다시 원래의 사설 IP로 변환하여 내부 사..

Backend/Network 2012.04.12

서브넷

네트워크 책이나 인터넷에서 네트워크 관련 검색을 하다 보면,, 200.222.11.11/24 192.158.22.1/22 등등등 IP에 알수없는 / 숫자 같은게 나타나곤 한다. 물론 네트워크 책에 다 나와있긴 하지만 무슨 말인지 알아듣기 힘들어서 -_- 정리... 우선 서브넷에대한 정의.. 서브넷은 한정된 IP를 효과적으로 사용하기 위해, 그리고 한 기관에서 네트워크를 여러 개로 분리해서 사용하기 위해 만들어진 방법이다. 그리고 서브넷 마스크.. 어떠한 패킷이 유입되면, 그 패킷의 서브넷을 통해 다시 목적지로 라우팅된다. 이 때 서브넷 마스크가 사용되는데, 이 서브넷 마스크를 통해서 선택된 비트들만 확인하여 주소를 알 수 있게 된다. (물론 속도가 빨라진다..) C 클래스 서브넷을 사용하는 대역에서.....

Backend/Network 2012.04.12

TCP Handshake

전에 TLS 핸드셰이킹에 대해서 포스팅을 했었는데.. TLS가 기반을 두고있는 TCP에 대한 포스팅은 정작 하지 않았다는것을... 방금 깨달았다. 우선 TCP 개념부터 간단히 정리하자면, TCP, (Transmission Control Protocol) 전송 제어 프로토콜 인터넷에서 데이터를 보내기 위해서 IP와 함께 사용되는 프로토콜이다. TCP는 UDP와 같은 계층에 존재하며, UDP와 다른 것은 보다 정확한 데이터 송수신이 이루어 진다는 점이다. "신뢰성" 프로토콜 이라고 할 수 있다. 위키 백과 참조 > 바로가기 계층 구조도는 다음과 같다. Higher Level Telnet, FTP, HTTP, SIP ...... TCP TCP, UDP, ,,,,,, Internet Protocol IP & I..

Backend/Network 2012.04.12

FTP - 두 번째.

지난 포스팅에서 언급했던 FTP에 대해 더 자세히 포스팅하려고 한다. FTP도 Server-Client 모델이기 때문에 당연히 요청-응답 패킷이 존재한다. 그리고 이 FTP 는 TCP 패킷 위에 올라간다. 오늘 포스팅할 내용은, FTP요청/응답에 대한 것이다. FTP 요청/응답은 아주 심플하다. TCP 패킷 위에, 요청/응답 코드 및 메시지가 전부이다. 다음은 RFC문서를 참고하여 자주 사용하는 FTP 요청을 정리한 테이블이다. 열씨미 정리했으므로 이미지로 투척! ㅋㅋㅋ 보통 FTP 어플리케이션을 이용하거나, 커맨드를 사용하는데, 예를 들어 파일을 업로드하게 되면 커맨드로는 이렇게 사용하지만, 패킷 상으로는 STOR filename 형식이 된다. 요청이 있으면 이에 따르는 응답도 존재한다. 아래는 자주 ..

Backend/Network 2012.04.12

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

Openssl - Cipher 고르기

암호화 통신 (SSL, TLS 등)을 사용하다 보면 클라이언트 - 서버 간에 원하는 암호화 알고리즘 및 해싱 알고리즘 등을 선택하여 설정할 수 있다. SSL 프로토콜을 자세히 보면, Client Hello 시에 자신이 사용 가능한 Cipher 목록을 Server 에게 전송하고, Server는 그 중에서 자신이 사용할 수 있는 cipher를 한개 골라서 Server Hello에 첨부하여 보낸다. 서버의 설정 항목에서 (Openssl을 사용하는 서버, 여기서는 Asterisk 를 예로 들자면.) Tls Cipher 설정 항목에 다음과 같이 원하는 알고리즘을 삽입하면 된다. tlscipher=AES128-SHA:AES128-MD5 tlscipher=ALL .... 등등등 Cipher 스트링을 입력하는 방법이 ..

해쉬 알고리즘, SHA

SHA (Secure Hash Algorithm) 대표적인 해시 알고리즘으로 미국에서 개발되었다. 초기에 SHA-0으로 시작해서 SHA-1, SHA-256, SHA-224 등이 개발되었고, SHA-1은 이 SHA함수들 중에서 가장 많이 쓰인다. 이 SHA 알고리즘은 보통 TLS/SSL등과 같은 보안 통신에서 메시지의 무결성을 검증하기 위해 사용되며, 비슷한 알고리즘으로 MD5가 있다. 또한 이 해시함수는 비밀번호와 같이 단방향으로 암호화 해야 할 경우에도 요긴하게 사용된다. Openssl 라이브러리에서 이 SHA 알고리즘을 볼 수 있는데, 이 함수의 모습은 다음과 같다. unsigned char *SHA(const unsigned char *d, size_t n, unsigned char *md); 또는..

반응형