본문 바로가기
Development/Network

네트워크 시험 노트

by raphael3 2018. 12. 18.
반응형

                                                                                                                                                         

                                                                                                                                                                                                                   

                                                                                                                                                         

                                                                                                                                                                                                             

                                                                                                                                                                                                          

IT: Information Technology(정보기술). 컴퓨터에 관련된 기술분야를 가리킬 때 사용된다.
 
ICT: Information Communication Technology(정보통신기술). 컴퓨터와 통신이 결합된 기술
 
Computer는 Compute(계산하다)와 -er(~을 하는 사람이나 도구, 기계)로 구성된다. 즉 ‘계산하기 위한 기계’다. 컴퓨터의 계산기능은 하드웨어와 소프트웨어(OS나 application)에 의해 이루어진다. 통신기능은 무엇에 의해 생길까? 네트워크(;통신망;통할 통, 믿을 신, 그물 망;연락체계)에 의해 생긴다.
 
네트워크가 하는 일은 애플리케이션끼리 무엇을 하기 위해 데이터를 주고 받을 수 있게 한다.
~끼리: 적어도 두 개 이상의 애플리케이션이 관여할 것이다.
무엇: 애플리케이션의 특정 동작
데이터: 애플리케이션이 ‘무엇’을 하기 위해 필요한 것은 데이터라고 추정할 수 있다. 이 데이터를 주고 받을 수 있게 하는 일을 네트워크가 한다.
또한 이 데이터에는 정해진 형식과 주고받을 때의 절차도 사전에 정의되어 있다. 
 
인간끼리 나누는 대화에는 한국인이면 한국어와 한국어, 미국인이면 영어와 영어처럼 서로 사용하는 언어를 맞추어야 한다.
~끼리: 적어도 두 개의 요소가 존재해야함을 의미한다. 여기서는 두 명 이상을 의미한다.
대화: 두 명 이상의 인간(애플리케이션)이 하는 의사소통 행위를 말한다.
한국어, 영어: 두 애플리케이션이 주고 받는 데이터의 형식이다.
언어: 서로 의사소통이 가능하도록 사전에 정의된 약속. 글자의 모양새, 발음, 의미, 맞춤법 등이 약속되어져 있다. 또한 대화하려는 상호간에 이 약속들을 알고 있어야 한다.
 
마찬가지로 컴퓨터끼리 이루어지는 통신에서도 사전에 약속된 것들이 있어야 한다. 이를 protocol이라고 부른다.
 
프로토콜은 데이터 형식통신 절차 이렇게 두 가지로 이루어진다.
데이터 형식이란, 정보를 어떤 형식으로 전송할지 정의한 것이다.
통신 절차란, 어떤 순서로 무엇을 주고 받을지 정의한 것이다.
 
통신의 순서를 결정한다는 것은 상당히 복잡하며 어려운 작업이다. 왜냐하면 통신 과정에서 발생할 수 있는 모든 에러를 고려하여 동작을 결정해야 하기 때문이다. 그래서 통신 프로토콜은 간소한 프로토콜 몇 개를 조합해서 사용하는 것이 일반적이다. 즉 프로토콜 한 개로 전체 통신을 결정하는 일은 없다. 이렇게 여러 개의 프로토콜을 합친 것을 프로토콜 스위트(protocol suite)라고 부른다.
 
IETF(Internet Engineering Task Force)는 프로토콜을 결정한다. 그리고 프로토콜에 대한 엄밀한 정의를 RFC(Request For Comment) 영문서 형태로 인터넷에 모두 공개한다. 표준화의 이해당사자들은 IETF에서 논의 과정을 거치게 된다. 이를 통해 책정하려는 표준에 문제는 없는지를 살핀다. 
 
여러 개의 통신 프로토콜을 조합하는 방식으로 계층화가 있다. 공통적이고 단순한 기능을 가진 프로토콜은 아래에, 개별적이거나 복잡한 기능을 가진 프로토콜은 위에 두어 상위의 기능이 하위의 기능을 이용하는 형태가 일반적이다. 이를 계층화라고 부른다. 이 때 각 계층을 레이어라고 부른다. 
 
컴퓨터 네트워크에서 필요로 하는 기능을 7개의 계층으로 나타내어 정의한 것을 OSI(Open Systems Interconnection) 참조모델이라고 부른다.
 
하위 계층은 상위 계층에 비해 보다 추상화된 기능을 제공한다. 그리고 하위 계층에서 구현된 통신 기능은 상위 계층에게 제공된다.
상위 계층은 하위 계층의 기능을 그대로 사용해서 자체적인 통신 기능을 구현한다. 
 
L7 응용 계층
L6 표현 계층
L5 세션 계층
L4 전송 계층 —> 신뢰도(재전송 기능)가 높은 통신 기능을 구현한다.
L3 네트워크 계층 —>직접 연결되지 않은 컴퓨터 간의 통신 기능을 구현한다.
L2 데이터 링크 계층 —> 직접 연결 된 컴퓨터 간의 통신 기능을 구현한다.
L1 물리 계층 —>이더넷, 블루투스, USB
 
LAN(Local Area Network)은 사무실, 가정 등 거점(어떤 활동의 근거가 되는 중요한 지점) 한 군데 내에서의 네트워크를 의미한다. 자체적으로 설비를 갖추고 있으므로 추가적은 요금이 붙지 않는다.
 
WAN(Wide Area Network)거점과 거점을 연결하기 위한 네트워크다. 자체적으로 설비를 갖추는 대신에 통신사업자의 회선을 빌려 쓰기 때문에 요금이 붙는다.
 
인터넷은 전 세계의 네트워크를 연결하는 세계 통신 규모의 네트워크다. 내부적으로는 WAN 회선을 사용하여 구현되지만, 그렇다고 해서 인터넷을 WAN이라고 부르지는 않는다.
 
인터넷은 end-to-end 연결성(connectivity)을 제공한다.
  • ip주소는 dst으로 datagram(packet)을 route할 때 사용된다.
  • 그림에서 보이는 세 개의 physical network에 의해 an internet이 형성되어 있다.
  • Host 또는 end란, user application이 reside하고 있는 entity를 말한다.
 
 
 
이와 같이 작은 규모의 네트워크 또한 인터넷이라 부른다. 영어로는 an internet이라 부르며, 고유명사인 the internet 또는 internet과는 다른 표현이다. 즉 an internet이라는 표현은 인터 네트워킹에 의해 구성된 네트워크를 말한다. 인터 네트워킹이란 네트워크끼리 서로 연결되는 것을 말한다. 거대한 네트워크를 만들기 위한 하나의 방법이다. 하나의 단일한 네트워크로 거대한 네트워크를 만드는 대신에 인터 네트워킹을 이용해서 거대한 네트워크를 구성하는 이유는 다음과 같다.

 

  • 장애 발생 시, 영향 범위를 국한시킬 수 있다.
  • 개별 네트워크는 해당 조직의 지침에 따라 관리가 가능해진다.
 
회사나 가정과 같은 작은 규모의 네트워크는 해당 거점까지 끌어들인 통신사업자의 광회선을 통해 광신호를 수신받아 거대한 규모의 네트워크인 인터넷과 정보를 주고받는다. 이 때 통신사업자가 설치한 광회선은 ONU(Optical Network Unit)장치를 거치게 된다. ONU는 광신호를 받아서 전기신호로 바꾸어 주어 라우터로 전송한다. 즉 ONU와 라우터는 서로 연결되어 있다.
 
라우터(Router)란 통신사업자가 제공하는 인터넷 주소를 하나 가지고 와서 여러 대의 컴퓨터가 나누어 쓸 수 있도록 공유하는 기능을 가진 기기를 말한다(주소를 공유). 그래서 공유기 또는 AP(Access Point)라고도 부른다. 라우터의 이름은 보통 와이파이 이름이며 SSID라고 부른다. 요즘에는 모뎀과 라우터가 하나의 박스 안에 일체형으로 들어가 있는 것이 보통이다. 뒷면에 LAN 포트가 네 개 꽂을 수 있게 된 모뎀이 라우터다.
라우터가 제공하는 공유 기능은 DHCP(Dynamic Host Configuration Protocol)에 의해 구현된다.
라우터의 주요한 기능은 src에서 dst으로 packet을 route하는 것이다. 이 때 packet의 header에 있는 IP address를 참고하여 전송한다.
 
라우터(Router) == 모뎀 == 공유기 == AP; Access Point
 
특히, 에지 라우터는 사무실이나 가정의 네트워크 입구에 해당한다(이를 ‘게이트웨이'라고도 함). 에지 라우터에는 방화벽이 설치되어 있어서 외부로부터의 부정 침입을 막는다. 즉 MZ(Militarized Zone)이다.
 
반면 서버를 공개하고 싶을 경우 게이트웨이 주소를 입력하여 들어간 다음 DMZ 공개 서버 영역을 설정해주면 된다. 이 영역은 De-Militarized Zone이다.
 
공유기 주소 == AP 주소 == 라우터 주소 == 기본 게이트웨이
 
IP주소는, 다른 type의 network들끼리 interconnection될 수 있게 한다. 라우터는 packet의 header에 있는 IP address에 따라 src에서 dst까지 packet을 전송(route, transport)하는 일을 담당한다. 이를 위해 IP(Internet Protocol)에는 
  • packet의 format이 정의되어 있으며, 
  • addressing method가 명시되어 있다.
IP is responsible for 
  • addressing hosts.
    • addressing: 찾아가기
    • IP 주소와 연관된 parameter들을 host쪽의 interface에 할당한다.
  • encapsulating data into datagrams (including fragmentation and reassembly),
    • header가 있는 packet에 payload를 nesting(내포하는) 것을 캡슐화라고 함
    • datagram은 다음과 같은 두 가지 요소로 이루어져 있음
      • header
        • header는 다음의 정보들을 포함함
          • src IP address
          • dst IP address
          • metadata (datagram을 전송하는 데에 필요함)
      • payload
        • 전송되는 데이터를 말한다.
  • routing datagrams from a src host to a dst host across one or more IP address.
    • routing은 양쪽의 두 host와 그 사이에 놓은 모든 router들에 의해 수행된다.
IP는 비신뢰성(un-reliability)비연결성(connectionless-ness)을 특징으로 갖는다.
  • 비신뢰성; 흐름에 관여하지 않는다. —> 보낸 정보가 제대로 도착했는지 보장하지 않는다. 즉 네트워크 성능을 모니터링하는 다른 방법이 존재하지 않기 때문에, 네트워크의 state를 maintain 혹은 track할 수 없다. 이와 같이 네트워크의 intelligence를 네트워크보다는 end node쪽에 위치시키는 방식을 사용하는 이유는 네트워크의 complexity를 줄이기 위해서이다. 따라서 네트워크는 그저 최선을 다할 뿐이다; best-effort delivery
    • 네트워크는 패킷의 경로 정보를 유지하는 state 정보를 유지하지 않는다. 이로써 node failure에 robust하게 된다.
  •  비연결성; 먼저 도착한 패킷들은 개별적이고 독립적이다. 이에 따라 out-of-order(순서가 안맞는, 정리가 안 된) delivery 문제가 발생할 수 있다. 이러한 문제는 network protocol suite의 상위 계층에서 해결하게 된다. 예를 들면 네트워크 데이터가 application으로 넘어가기 전에 correct ordering임을 보장하기 위하여 buffer를 구현하게 된다. 
이와 같은 IP의 특성들 때문에 IP 그 자체는 dumb(쓰레기)하다고 부른다. 이 dumb스러움 덕분에 네트워크는 scale의 확장robust함을 얻었다. 만일 네트워크가 state정보를 일일이 유지하면서 관리한다면, 하나의 네트워크가 망가졌을 시 모든 state정보를 수정해야 할텐데 이는 불가능하며 전체 네트워크의 failure를 불러올 것이다. 또한 datagram이 잘 도착하도록 IP가 일일이 관여한다면 네트워크가 지나치게 복잡해짐으로 인해 확장성이 떨어질 것이다.
 
5-tuple이란, 
  • src IP
  • dst IP
  • src PORT
  • dst PORT
  • Protocol
 
flow란, sequence of packet을 말한다.

 

 

반응형

'Development > Network' 카테고리의 다른 글

IP  (0) 2018.12.18
포트포워딩  (0) 2018.12.18
외부에서 내부 IP로 접근하게 하려면  (0) 2018.12.18
시크릿 모드  (0) 2018.12.18
내부 네트워크 고정하는 법  (0) 2018.12.18