본문 바로가기
  • AI (Artificial Intelligence)

Skills155

Tcp 3-way Hand shaking 네트워크 상에서 서로 다른 Device 가 TCP 프로토콜을 이용하여 통신을 하려면 3 way hand shaking 을 하여야 한다. 1. Active open : 처음 Listen status 상대에게 Syn packet 을 발송하여 Syn+ack를 요청 한다. 2. Recieve Syn : Syn packet 을 수신한 상대는 Tcp 연결이 정상적이라면 Syn+ack packet 을 회신하며 Syn-reciened 상태로 변경된다. 3. Established : Syn+Ack 을 수신한 Client 는 자신의 Status 또한 Established 로 바뀌며 서로 Data를 주고 받을 수 있는 상태로 변경되게 된다. 아래에서 보면 Syn 이후 Syn,Ack 그다음 Ack 가 차례대로 발생한 내용을 .. 2014. 4. 22.
가상머신 버추얼박스 : CentOS 설치 버추얼 박스의 가상 하드에 CentOS를 설치합니다. - 가상 하드 설치 및 CentOS 다운로드는 이전 포스팅을 참고해주세요. 1. 다운로드 받은 CentOS 삽입 - 그림을 보고 저장소에 이동하셔서 다운로드 받은 CentOS 이미지 파일을 보조드라이브에 삽입해주세요. 1) 저장소 클릭 2) CentOS 삽입 - CD-Rom이나 DVD-Rom을 이용하시는 분들은 해당 호스트 드라이브를 선택하시면 됩니다. 3) OS가 보조드라이브에 정상 삽입된 것을 확인 후 '확인'을 눌러 나갑니다. 2. 호스트 키 설정 - CentOS 설치 전에 우선 호스트 키를 설정합니다. - 호스트 키는 버추얼 박스 사용시 기본 단축키로 사용되니 사용에 편한 키를 사용하시면 됩니다. - 저는 겹치지 않게 조합키(shift+Lctr.. 2014. 4. 21.
CentOS 5.5에서 kvm 설치 1. 패키지 설치 yum install kvm virt-manager libvirt libvirt-python python-virtinst qemu bridge-utils reboot 2. Bridge network 설정 #configure bridge: vi /etc/sysconfig/network-scripts/ifcfg-br0 #I used these values: BOOTPROTO=dhcp DEVICE=br0 TYPE=Bridge BROADCAST=192.168.1.255 NETMASK=255.255.255.0 NETWORK=192.168.1.0 ONBOOT=yes vi /etc/sysconfig/network-scripts/ifcfg-eth0 #I used these values:DEVICE=e.. 2014. 4. 21.
CentOS 6.2 에서 KVM 설치 http://www.centos.org 에서 iso 파일을 다운로드 받는다. 현재는 DVD 2장으로 되어 있는데. (x86_64기준) 용량이 많은 관계로 200M 정도 하는 netInstall 로 받아서 설치 합니다.. ftp 접속 경로는 ftp.neowiz.com/centos/6.2/os/x86_64 이다. KVM 이 그놈 상태에서 작동하는 모습을 쉽게 볼수 있기 때문에 일반적인 것으로 설치 해주고 가상화 부분도 모두 설치해 줍니다. =================== 설치 후 enforce 끔, 방화벽 끔 =================== 우선 가상화를 하게 되면 (virtual box같은).. 각 Guest OS 별로 아이피를 입력하여 접속을 하게 되는데.. CentOS의 일반적인 설치로는 NAT.. 2014. 4. 21.
CentOS 6.4 네트워크 설정 ■ CentOS 6.4 네트워크 설정 # vi /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 HWADDR=00:0C:29:CA:83:4C TYPE=Ethernet UUID=a8f9716e-3037-4451-b91f-99589246f3d7 ONBOOT=yes NM_CONTROLLED=yes BOOTPROTO=static IPADDR=192.168.0.0 NETMASK=255.255.255.255 GATEWAY=192.168.0.1 # vi /etc/resolv.conf nameserver 168.126.63.1 nameserver 168.126.63.2 # service network restart 출처 : http://blog.naver.com/allha.. 2014. 4. 21.
CentOS 설치 시 참고할 점 1. yum update시 "Couldn't resolve host'에러 yum update시 아래와 같은 에러 문구가 밝생할 경우 즉, DNS가 설정되어 있지 않기 때문이다. /etc/resolv.conf 에서 nameserver 168.126.63.1 이렇게 설정하면 정상적으로 작동하는 것을 볼 수 있다. 2. vm을 복사했을때 터미널 이름이 변경되지 않았을 때 터미널의 이름을 변결할때 /etc/sysconfig/network 를 열어보면 NETWORKING=yes HOSTNAME=NFV-SERVER GATEWAY=192.168.2.254 등이 있다. 여기서 HOSTNAME 을 알아서 바꿔주면 되겠다. 3. CentOS 6.5 가상화 설치 시 네트워크 설정 Server에서 내부 에 VM 환경을 설치할.. 2014. 4. 19.
kernel system call - do_brk() DPDK 문서를 보다가 커널이 프로세스에게 메모리를 동적으로 할당하는 데 쓰이는 do_brk() 라는 System call 이 kernel 2.4 이하에서 취약점이 발견되어 이것을 이용하면 시스템의 root 를 획득할 수 있다고 하는 흥미로운 기사를 발견했다. 아래는 그 내용이다. ::: 버전 2.4.22 이하 리눅스 커널의 do_brk() 취약점 ::: 작성일 : 2003년 12월 6일 작성자 : iSEC Security Research (http://isec.pl) 번역 : 해커스쿨 (http://hackerschool.org) 이 문서는 지난 12월 초에 발견된 새로운 리눅스 커널 결함에 대하여 외국의 iSEC Security Research사에서 분석한 문서를 번역한 것입니다. 번역과 배포의 목적.. 2014. 4. 16.
What makes an operating system “Unix-Like”? I frequently come across the term "unix-like" on the internet on many sites. There is no standard; it is just in the way it behaves. But if I were to develop a kernel from scratch, what would make it considered "unix-like"? Basically, what are the things that make written code like Unix? 출처 : http://unix.stackexchange.com/questions/87686/what-makes-an-operating-system-unix-like 2014. 4. 16.
NCURSES Programming HOWTO 원문 위치 : http://www.ibiblio.org/pub/Linux/docs/HOWTO/NCURSES-Programming-HOWTO 첫 번역이라 많이 미흡합니다 모자란 점이 있으면 지적해 주시기 바랍니다. --gsong 번역 gsong gsong_at_hanmail.net 작성 Pradeep Padala p_padala_at_yahoo.com v1.9, 2005-06-20 Revision History Revision 1.9 2005-06-20 Revised by: ppadala ncurses는 MIT 라이센스로 변경되었습니다. 프로그램은 이에 따라 재 허가 됩니다. Revision 1.8 2005-06-17 Revised by: ppadala Lots of updates. Added refere.. 2014. 4. 16.
1편: 라우터 구조 소개 (Part 1: Router Architecture) 2000년대 초반에 L3 스위치(Ethernet 스위치 + IP 라우터) 개발 회사에서 IBM NP4GS3C라는 Network Processor(그 당시 칩 하나에 $500이면 상당히 비싼 칩이죠)를 이용하여 패킷 포워딩 기능을 구현(assembler 기반의 microcode)한 적이 있습니다. 그 때의 경험과 추억을 되살려 L3 스위치의 패킷 전달 로직에 대해 설명을 드려 볼까 합니다. 아래와 같은 순으로 연재를 하겠습니다. 1편: 라우터 구조 소개 (오늘 글) 2편: IP 라우터의 패킷 포워딩 과정 3편: L3 스위치의 L2(Ethernet) 스위칭 과정 4편: L3 스위치의 IP 포워딩 과정 라우터 구조 좌측 그림은 Cisco 7600 라우터 형상입니다. 그 역할에 따라 3가지 모듈로 나눌 수 있습.. 2014. 4. 16.
L3 Switch 구조에 대한 이해 (Understanding of the L3 Switch) 아래 글은 예전에 Netmanias Magazine에 기고했던 글의 일부로써, L3 Switch(예. Cisco 6500 series, Juniper MX series)의 구조에 대한 설명입니다. Protocol Reference Model 아래 그림은은 네트워크 장비의 기능을 크게 3개의 기능 블록으로 분리해 놓은 것이다. Control Plane: 네트워크 장비로 유입되는 패킷이 올바른 물리적 포트로 출력 될 수 있도록, 경로를 설정, 관리 및 해제하는 기능(Routing, Signaling)을 수행한다. Data Plane(User Plane): 수신된 패킷의 L2, L3 헤더 필드를 검사하여, Control Plane에서 의도 했던 출력 포트로 패킷을 송신하는 기능을 담당하며, 패킷 처리 과정에서.. 2014. 4. 16.
pscp로 파일 전송하기 서버를 이용하다 보면 ftp 서버 없이 ssh을 통하여 작업을 하는 경우가 있다. 이러한 경우 서버와 파일을 간단하게 주고 받는것도 힘들다.. 이때는 putty에서 나온 pscp를 이용하여 파일을 이동해보자. 아래 사이트를 이용하면 putty 관련 프로그램을 다운로드 http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html pscp를 다운 받으면 cmd를 이용하여 해당 파일 위치에서 명령어 내린다 명령은 기존 scp 명령과 동일 ex) pscp test.txt ubuntu@23.456.787.123:~/home/ubuntu 아마존 서버에 경우 비밀번호 없이 키파일을 이용하여 본인인증을 하기 때문에 옵션을 주면된다. 이때는 옵션을 -i ex)pscp.. 2014. 4. 15.
스위치 목차 1. 스위치 개요 2. 스위치의 주요 특징 2.1 Full duplex 2.2 Flow control 2.3 Static and Dynamic switching 2.4 Address resolution 2.5 Network 관리 3. Switching 방법 3.1 Cut-through switching (Cross-point switching) 3.2 Store-and-forward switching 3.3 Hybrid 4. Switch Architecture 4.1 RISC와 ASIC 4.2 Frame switching과 cell switching 4.3 Buffering 방법 4.4 Blocking과 Non-blocking 5. Summary 1. 스위치 개요 스위칭 기술은 네트워크의 스피드와 .. 2014. 4. 9.
L3 스위치 목차 1. Layer 3 Switch 개요 1.1 기존 라우터의 한계 1.2 Benefits 2. Layer 3 Switch의 주요 특징 2.1 Layer 3 Switch가 수행하는 주요 기능 2.2 Classical Router와 Layer 3 Switch의 비교 3. Basic Architecture model 4. Vendor들의 Layer 3 Switching 구현 4.1 IP Switching (Ipsilon)과 Cell Switch Router (Toshiba) 4.2 Fast IP (3Com) 4.3 Switched Virtual Networking and Multiprotocol Switched Services (IBM) 4.4 CiscoFusion과 Netflow Switching 4.5.. 2014. 4. 9.
라우터와 라우팅 목차 1. Router 개요 2. Router의 종류 2.1 Protocol Dependent Router 2.2 Multiprotocol Router 2.3 Protocol Independent Router 3. Routing 이란? 4. Routing Process 4.1 경로 선택 4.2 Switching 1. Router 개요 Router는 OSI 7 layer에서 Network Layer에 위치하는 장비이다. 고전적인 TCP/IP 관련 서적에서는 Gateway라고 한다. 이 명칭은 OSI 7 Layer 7계층에 위치하는 Gateway라는 개념과 혼돈스럽지만 일반적으로 TCP/IP 관련 서적에서 gateway는 이 Router를 지칭하는 것이다. Router는 네트워크 계층의 프로토콜 addres.. 2014. 4. 9.
프로세스간 통신(IPC ; Inter-Process Communication) IPC라는게 필요한 배경?? p1, p2, p3라는 프로세스가 있습니다. p1이 작업중에 문제가 생겼는데, 만일 p2나 p3같은 다른 주소공간을 침범(write)해 버린다면? 즉, p2나 p3의 스택영역을 건드린다면 정말 큰 문제가 발생하겠지요!! 이것은 "비정상공유" 가 이뤄진 것인데, 아주 큰 문제입니다. 그래서 커널은 이것을 막기위해 Protection 을 합니다. Protection ?? 커널은 임의의 프로세스가 다른 프로세스의 주소공간에 접근(access)하는 것을 금지하는 것입니다. 그러고는 오직 커널만이 모든 프로세스의 주소공간에 접근할 수 있도록 합니다. 커널은 신뢰되는 것이기 때문이지요. 그래서 디바이스 드라이버를 작성하든 뭘하든 커널을 잘못 건드리면 전체 시스템이 잘못될수 있는거구요. .. 2014. 4. 2.
context switching 오늘날 우리가 사용하는 컴퓨터는 동시에 단 한 개의 명령어만을 처리할 수 있다. 하지만, 이 부분의 처리 속도는 매우 빠르기 때문에 순간 적으로 여러 개의 명령어를 처리하는 것처럼 보이게 되는데, 우리가 개발한 프로그램 역시 매우 빠른 속도로 처리된다. 때문에 두 가지 이상의 작업이 거의 동시에 발생되고 처리 되어지게 할 수 있다. 이렇게 작업을 병렬로 처리하는 것은 그 만큼 작업 시간이 줄어드는 것이므로 효율은 높아지게 된다. 우리가 구성할 네트워크는 매우 많은 패킷들을 순간적으로 처리해주어야 한다. 때문에 병렬 처리가 필수적이라 할 수 있는데, 쓰레드라는 개념을 사용하여 이 것을 구현할 수 있다. ■ Thread란? - 하나의 작업 프로세스를 진행시키는 단위라고 이해하면 된다. 우리가 프로그램 하나를.. 2014. 3. 31.
리눅스 커널의 이해(2): 리눅스 커널의 동작 저자: 서민우 출처: Embedded World 1. 리눅스 커널의 기본적인 동작 이제 리눅스 커널이 어떻게 동작하는지 들여다 보자. 리눅스 커널은 그 소스량은 엄청나지만 역시 커널의 기본적인 동작은 우리가 지금까지 보아온 커널의 동작과 별로 다르지 않다. 덧붙이자면 다른 RTOS도 역시 마찬가지다. system call에 의해 시작하는 리눅스 커널의 일반적인 동작 [그림 1]은 system call에 의해 시작하는 리눅스 커널의 일반적인 동작이다. [그림 1] system call에 의한 리눅스 커널의 일반적인 동작 [그림 1]에서 커널은 process의 system call에 의해 수행을 시작한다. 먼저 커널의 시작 부분에서는 현재 process의 사용자 영역에서의 register의 내용을 stack.. 2014. 3. 31.