[14일차-0514] 네트워크


Apple Network - appletalk 프로토콜 사용 <= 그래픽, 문서편집에 강력
Novell Network - spx/ipx 프로토콜 사용 <= 파일관리에 강력
Novell의 SPX/IPX 네트워크
1975년 Xerox는 Xerox System의 인터 네트워킹에서 데이터 송수신, 파일 공유, 라우팅 정보 공유 등을 위해서 XNS(Xerox Network Systems)라는 프로토콜을 개발했는데 성능이 좋아서 즉시 여러 널리 사용되었었다. 당시 유명한 NOS(Network Operating System)이던 NetWare를 개발한 Novell 사는 이 XNS를 자사의 운영체제에 포함시켰다. 1980년대만 해도 기업체나 관공서의 네트워크 운영체계는 거의 Novell이 주름잡고 있었다. Novell은 XNS를 수정해서 SPX/IPX(Sequenced Packet Exchange/Internet Packet Exchange)라는 이름을 붙였는데 Novell NetWare가 더욱 대중적으로 됨에 따라 SPX/IPX는 LAN에서 사용되는 중요한 프로토콜이 되었다. Star Craft 게임에 지금은 잘 알려지지도 않은 SPX/IPX 프로토콜이 여전히 사용하는 것이 한 시대를 풍미했었던 하나의 증거로 볼 수 있다.
SAP(Service Advertisement Protocol)은 파일과 프린터 공유, 로그온 서비스 등과 같이 네트워크상에서 여러 서버가 제공하는 서비스들을 주위에 알리기 위해서 사용되는 브로드캐스트 프로토콜로써 로컬 호스트가 원격지에 있는 서버에게 리소스 요청을 매우 쉽게 해줌으로써 WAN에서의 트래픽을 대폭 줄여준다.
IPX 주소체계
IPX 주소는 80비트인데 네트워크_부분 32비트와 호스트_부분 48비트로 이뤄진다. TCP/IP와 달리 호스트 부분을 더 이상 하위 그룹으로 서브네팅 할 수 없지만 네트워크 부분이 32비트라서 TCP/IP보다 더 많은 네트워크를 지정할 수 있다. 호스트 부분은 네트워크 카드의 MAC 주소를 그대로 사용하므로 48비트로써 IPv6의 주소체계의 기반이 되었다.
주소는 보통 0~9A~F까지 표시되는 16진수를 사용해서 ‘네트워크.호스트’ 형식으로 표시한다. 예를 들어서 네트워크 주소가 00007F00(32비트)이고 호스트 주소(MAC 주소)가 0050. 0470.A2DC이면 00007F00.0050.0470.A2DC가 되는데 제일 앞의 0은 주로 생략하고 표시하므로 7F00.0050.0470.A2DC가 된다. 네트워크 부분은 TCP/IP 네트워크 주소와 비슷하게 운용되는데 각 세그먼트는 네트워크 주소를 지정받아야 하고 이 주소는 네트워크 전체에서 유일한 값이어야 한다. 그리고 같은 세그먼트 내의 모든 호스트들은 동일한 네트워크 주소를 가져야 서로 통신할 수 있다. IPv6의 주소체계가 이 Novell의 Netware 주소체계에서 가져왔다는 것을 알 수 있다.
=>보통은 네트워크에 Network_ID를 지정해서 사용하고, 호스트에는 그냥 놔두면 MAC 주소로 자동 설정되므로 매우 설정이 편하다.
MAC 주소가 없는 라우터의 시리얼 인터페이스는 해당 세그먼트의 첫 번째 노드의 MAC 주소를 시리얼의 MAC 주소로 사용한다. 이렇게 해도 충돌할 염려는 없는데 각 인터페이스는 자신과 연결된 하나의 세그먼트 안에만 있으므로 다른 세그먼트의 노드들과 충돌할 일이 없기 때문이다. 만약 LAN 인터페이스가 없다면 그 인터페이스에 고유한 호스트 번호를 지정해주는 식으로 해결한다. 스위치에게 IP 주소를 할당할 때 VLAN1에 주는 것과 비슷한 개념이다.
==>IPv6에서의 주소 체계를 제공한 이론이 되었다고 볼 수 있다.
캡슐화(Encapsulation)를 지정해야 하는데 LAN에서는 novell-ether, WAN에서는 HDLC를 디폴트로 사용하지만
LAN에서는 SAP, ARPA 등과 WAN에서는 novell-fddi도 사용할 수 있다.
SAP broadcast를 이용해서 각 라우터에 분산된 웹, 디비, 파일서버에 클라이언트들이 일일히 찾아가지 않고 해당 클라이언트의 라우터가 자신이 서버인 것으로 해서 정보를 바로 제공한다.
=>클라이언트가 외부 웹으로 서버를 찾아가는 일이 없어서 대역폭 소비가 없게되고
라우터끼리만 정보를 공유하기 때문에 역시 대역폭 소비가 줄고
클라이언트는 자신의 라우터에서 서버를 이용하게 되는 셈이다.
==>CDN(Contents Delivery Network) 개념이 여기서 생긴 것으로 볼 수 있다.
Origin 서버에 모든 클라이언트들이 접근하느 방식이 아니라 클라이언트 주변에 Cache 서버를 두고 가까운 곳에서 서비스를 받게하는 방식, Cache 서버는 보통 사용자들이 인터넷으로 나갈 때 이용하는 ISP 근처에 설치해둔다.
==>SDN(Software Defined Networking)
Cloud 네트워크에서는 호스트를 가상머신으로 사용하는데 이 가상머신은 하나의 파일로 취급된다. 파일이므로
복사, 삭제, 이동 등이 가능하다. 중요한 것은 실제 호스트를 물리적인 스위치나 라우터로 연결하듯이 이런 가상 (파일) 호스트들을 가상적으로 스위치와 라우터로 묶는 기법이 SDN이다.
VPN(Virtual Private Network) 설정
로컬 노드 1과 원격지의 노드 2 사이의 중요한 파일 전송을 일반 인터넷 공중망으로 과감히 전송하는(이를 Road Warrior라고 부른다) 대신 두 지점만 전용선(leased line)으로 연결해서 원격의 두 노드가 마치 내부 LAN에 있는 것처럼 가상으로 묶어주는 것이 VPN이다. 정식 전용선을 사용하면 회선 사용료가 비싸고 회선의 재 사용율 면에서도 효율성이 떨어지기 때문에 두 노드를 가상으로 연결해서 동일한 LAN에 있는 것처럼 해주는 VPN으로 연결해서 데이터를 송수신하는 기법이 널리 사용된다. 이 가상 전용선으로 데이터를 송수신하면 데이터가 안전해지고, 원격진료, 화상회의, 재택근무 등에서 많이 이용된다.
VPN 기법 설명
IPSec (IP Security) 인터넷을 통해서 안전한 통신이 되게 하며 전송모드나 암호화된 데이터를 VPN 터널을 통해서 보내는 기법
SSL (Secure Sockets Layer) 인터넷을 통해서 암호로 데이터를 보호해서 보내며 서버와 클라이언트에 인증서가 필요한 기법
L2TP (Layer 2 Tunneling Protocol) 인터넷을 2계층을 통해서 두 사이트 간에 터널로 통신이 되게 하는 기 법
PPTP (Point to Point Tunneling Protocol) 인터넷을 통해서 원격 클라이언트를 터널로 연결해주는 기법
보통 VPN은 IPSec VPN, Site-to-Site VPN, 그리고 GRE Tunneling VPN으로 설정을 해준다. 그리고 VPN에 참여하는 로컬과 원격지 사이는
▪ (라우터_서버)Hardware <=> Hardware(라우터_클라이언트)
▪ (라우터_서버)Hardware <=> Software(리눅스_클라이언트)
▪ (리눅스_서버)Software <=> Software(리눅스_클라이언트) 방식 중 하나로 연결된다.
GRE Tunneling VPN
VPN 연결에서 GRE(Generic Routing Encapsulation)를 사용하면 터널로 연결된다. 터널이란 하나의 프로토콜을 캡슐화해서 전송하는 기법으로 VPN에 최적인 기법이다. 예를 들어 IPX 네트워크를 사용하는 본사와 지사에서 이들이 인터넷으로 연결된다면 연결 통신망으로 IP 환경을 사용하는 경우가 대부분일 것이다. 이런 경우 IPX 헤더를 IP 헤더로 캡슐화(덮어씌움)해서 IP 환경에서 IPX 데이터가 전송되게 해줄 수 있다. 이럴 때 IPIP(IP In IP) 프로토콜을 사용하기도 하지만 보통은 두 노드의 출발지 주소와 목적지 주소만 지정해 주면 설정이 완성되므로 구성이 간편한 GRE 프로토콜을 사용한다.
*** 주말반에서도
보안과정+클라우드가 포함된 국비과정이 7월 6일~10일정도에 열릴 예정입니다.
6개월 과정인데 4개월 열심히 공부하시고 5개월 80%가 되면 취업해서 나갈 수 있습니다.
100% 취업을 보장합니다(3년간 제 취업률). 기초를 튼튼히 배워두시고 나머지는 근무하면서 배우는 겁니다.
고교 졸업자든, 2년제는 2학년 1학기 마침, 3년제는 3학년 1학기 마침, 4년제는 4학년 1학기 마침에 있는 학생들이
지원할 수 있습니다. =>취업이 목적이므로 휴학하고 듣는 거는 불가합니다.
이번 기수에 고용 노동부 전국 해커톤 대회에 출마했는데 다음 기수도 해커톤에 출마할 예정입니다.
=>입상 정도만 해도 도움이 많이 됩니다.
=>외국어 공부, 블로그 활동을 독려
=>국내에서 1년반~2년 정도의 경력 이후에 '해외취업(취업, 공부, ....)' 하는 것이 목적!!!
PPP(Point-to-Point Protocol)와 PPP 인증
PPP는 데이터링크층 캡슐화 프로토콜로써 라우터 인증에 사용된다. PPP는 SLIP(Serial Line Interface Protocol) 이후에 나온 프로토콜인데 SLIP에서 부족했었던 암호화와 인증 기능 등이 보완되어 PPP로 통합되었다. PPP는 HDLC 다음 버전으로써 HDLC 보다 성능이 더 좋다.
서버가 있는 네트워크에 외부에서 접속해오는 Telnet 등의 인증을 Windows에서는 RADIUS(Remote Authentication Dial-In User Services) 서버를 따로 두어서 외부에서 함부로 라우터나 서버에 접속하지 못하게 하듯이(Linux/UNIX, Windows 혼합 서버에서는 Kerberos 서버를 사용한다), PPP는 WAN에서 접속하는 노드를 규제할 때 사용되는데 비동기식 모뎀, ISDN, 동기식 시리얼 인터페이스, HSSI 등 다양한 물리적 링크를 지원해주기 때문에 널리 사용되고 있는 있다. PPP는 RFC 1631에서 정의하고 있으며 RFC 2153으로 업데이트 되었다. 라우터의 시리얼 링크로 WAN에 연결할 때 이렇게 보편적인 프로토콜을 사용해야 문제가 덜 발생한다.
PPP 인증는 MS에서 만든 PAP(Password Authentication Protocol)와 CHAP(Challenge Handshake Authentication Protocol) 두 가지로 라우터를 상호 인증한다. 예를 들어 라우터 1과 라우터 2가 통신할 때 PAP은 라우터 1의 패스워드가 단순 텍스트 형태로 WAN 링크를 지나서 라우터 2에게 가면 라우터 2가 확인 인증을 해주는 기법으로 평문장이 공용망을 지나가므로 위험한 인증 기법이다. 반면에 CHAP은 라우터 2가 챌린지(challenge) 문자와 특정 알고리즘을 라우터 1에게 보내면 라우터 1이 자신의 패스워드와 전해 온 챌린지 문자를 주어진 알고리즘으로 암호화시켜서 라우터 2에게 보내므로 공용망을 지날 때 암호화된 형태이기 때문에 PAT 보다 안전하다. 라우터 2는 이미 자신이 보낸 챌린지 문자와 알고리즘으로 라우터 1이 보내온 암호화 패스워드를 동일하게 암호화해서 비교한 뒤 일치하면 라우터 1을 인증해주는 기법이다.
=>간단히 말하면 PAP은 평문장 인증이고 CHAP는 암호화 인증이다. 시리얼 라인에 캡슐화를 별도로 지정하지 않으면 디폴트 HDLC가 자동으로 설정된다. 직접 연결된 라우터들만 캡슐화 유형이 같으면 라우터간 통신이 된다.