2020-02-13 TIL

할 일 목록

  • 코틀린 스터디 참여
  • 함수형 코틀린 코드 쳐보기
  • 3분 네트워크 교실 스터디
  • 함수형 코틀린 질문 정리
  • 스프링 공부.

완료하지 못한 목록

  • 함수형 코틀린 질문 정리

완료 목록

  • 코틀린 스터디 참여
  • 함수형 코틀린 코드 쳐보기
  • 3분 네트워크 교실 스터디
  • 스프링 공부.

5Fs

1. Fact

1. 네트워크

  • 주소와 경로

    1. Mac Address : MAC 같은 네트워크 내에서의 수신처

      • A와 B와 C가 순서대로 연결되어져 있을 경우 A에서 C로 가기 위해선 A에서는 B를 MAC 주소로 설정해서 가고, B에서는 C의 MAC 주소로 전송한다.
    2. IP Address : 수신처의 컴퓨터를 결정한다.

      • 데이터의 최종 수신처라고도 할 수 있다.
    3. MAC주소로 다음 수신처를 정하고, IP주소로 최종 수신처를 정하여 최종 수신처까지의 경로가 만들어진다.
    4. 라우터

      • 자신의 위치에서 수신처까지로 가기 위해 다음에 어디로 보내야 할지 결정한다.
      • 위와 같이 다음 길을 제시해 가는 방식을 Hop-By-Hop
      • 라우터가 없으면 다른 네트워크에 데이터그램을 보낼 수 없다.
      • 컴퓨터는 다른 네트워크에 수신처가 있는 경우 라우터로 송신하고, 같은 네트워크에 수신처가 있는 경우 직접 송신한다.
  • 라우터

    1. 라우터는 어떤 네트워크에서 다른 네트워크에 데이터그램을 보내는 역할을 하고 ‘네트워크와 네트워크의 경계상’에 배치되기 때문에 복수의 인터페이스를 가질 수 있다.

      • 라우터의 인터페이스에는 논리 주소인 IP 주소가 설정되어 있고, 각 인터페이스는 각각의 네트워크에 소속되어 있는 형태이다.
      • 라우터는 네트워크 경계선상에 있기 때문에 복수의 네트워크끼리 연결하는 역할을 한다.
      • 라우터는 전송받은 데이터그램에 대해 조건을 붙여 그 데이터 그램을 파기하는 필터링(Filtering)처리도 한다.
    2. 라우팅 테이블

      • 최적 경로의 지도라고 생각할 수 있다.
      • 라우팅 테이블에는 수신처 네트워크까지의 거리, 다음에 도달하는 라우터, 그 라우터에 연결되어 있는 자신의 인터페이스 등이 기재되어져 있다.
      • 최장일치의 룰(Longest Match) : 라우팅 테이블에서 다음 수신처를 찾아내는데 그 규칙을 최장 일치 룰이라고 한다.

        • IP 주소의 비트열과 네트워크 주소의 비트열을 앞에서부터 순서대로 비교해서 가장 많이 일치하는 것을 선택한다.
  • 디폴트 게이트웨이

    1. 브로드캐스트는 라우터를 넘어서 전송할 수 없다.

      • 라우터가 네트워크를 나누기 때문에 브로드캐스트가 다른 네트워크에 송신되지 않음
      • 이 브로드캐스트가 도달하는 범위를 브로드캐스트 도메인(BroadCast Domain)이라고 한다.
      • 충돌 도메인은 스위치가 구분하고, 브로드캐스트 도메인은 라우터가 구분한다.
      • 브로드캐스트 도메인 = 네트워크
    2. ARP의 문제

      • ARP는 브로드캐스트로 요청하는데 다른 네트워크에 전송하지 못함.
      • 그래서 수신처가 다른 네트워크에 있을 경우 도달하지 않는다.
      • 디폴트 게이트웨이는 컴퓨터가 다음에 보낼 라우터인데, 라우터는 네트워크의 경계상에 있고 다른 네트워크에 데이타그램을 라우팅한다.
      • 디폴트 게이트웨이가 네트워크의 출입구가 된다.
      • 그래서 컴퓨터는 다른 네트워크에 데이터를 송신할 때 디폴트 게이트웨이로 ARP를 수행한다.
      • 컴퓨터가 수신처를 결정하면, 수신처가 동일 네트워크인지 조사해서 맞다면 IP주소로 수신으로 ARP를 해서 MAC주소를 얻고, 다른 네트워크라면 디폴트 게이트웨이로 ARP를 수행해서 디폴트 게이트웨이의 MAC주소를 얻는다.
      • 그래서 컴퓨터에는 디폴트 게이트웨이의 IP 주소를 미리 설정해둔다.
  • 라우팅

    1. 라우팅 테이블이란 수신처 네트워크, 중계지점, 메트릭, 수신처의 출구가 기재되어 있는 표이다.
    2. 수신처 네트워크 주소와 라우팅 테이블을 비교해서 경로를 찾아낸다.
    3. 라우팅 테이블에 수신처 네트워크가 없을때는 수신처 불명으로 데이터그램을 파기한다.
    4. 라우터는 최적의 경로를 찾기 위해 다른 네트워크 경로를 모두 알아야한다

      • 알고 있는 경로 중에서 최적의 경로를 선택해서 라우팅 테이블을 작성
      • 정적 라우팅 : 관리자가 직접 입력
      • 동적 라우팅 : 라우터가 자동으로 정보를 서로 교환해서 경로를 알아내는 방법. 모든 경로 중에서 자동으로 최적의 경로를 선택해서 라우팅 테이블을 작성한다.
      • 동적 라우팅 단점

        1. 라우터끼리 정보를 교환한다는 것은 데이터를 서로 주고받는 것을 의미하므로 그만큼 회선을 압박하고, 그만큼 데이터 전송을 할수가 없다. 그래서 저속 회선을 사용하는 경우 조심해야한다.
        2. 서로 교환한 정보를 가지고 최적의 경로를 계산해야한다. 능력이 낮은 라우터의 경우 경로 계산에 치우치다보면, 데이터그램의 전송처리가 늦어질 수 있음.
        3. 최대의 단점으로 모든 라우터가 동일한 정보를 가져야함. 동일한 정보를 갖는 상태를 Convergence라고 최대한 convergence 상태가 유지되어져야함.
  • 라우팅 프로토콜

    1. 라우팅 프로토콜은 근접해 있는 라우터 간의 네트워크 정보를 서로 교환하기 위한 규칙.
    2. 어떤 장애가 발생했을 때 우회로를 만드는 등 중복성 유지를 위해 동적 라우팅을 사용하는 경우도 있다.
    3. 자율화시시스템을 (Autonomous System)

      • 하나의 관리 단체에 의해 관리되는 네트워크 집합체
      • 인터넷에는 너무 많은 네트워크가 존재해서 같은 조직이 관리하는 복수의 네트워크를 AS로 통합하곤 한다.
    4. 라우팅 프로토콜은 크게 나눠 2가지가 있다.

      • AS 간 라우팅용 : EGP(Exterior Gateway Protocol)
      • AS 내부 라우팅용 : IGP(Interior Gateway protocol)
    5. 라우터는 근접해 있는 라우터 간의 네트워크 정보를 서로 교환한다. 그리고 정보 교환을 언제 할지, 어떻게 할지, 누구에게 전송할지, 어떤 정보를 전송할지 같은 것을 라우팅 프로토콜이 결정한다.

      • 라우팅 프로토콜을 이용하여 컨버전스 상태에 도달하고, 교환한 경로를 기준으로 최적의 경로를 라우팅 테이블에 기재한다. 그래서 항상 최적의 경로가 사용 가능하게 된다.
  • RIP

    1. 메트릭(Metric) : 최적의 경로를 결정할 때의 판단기준이다.

      • hop수, 회선의 속도, 정체상태, 에러발생률 등을 판단 기준으로, 라우팅 프로토콜에 의해 결정된 값을 계산해서 그 중 최소 값을 갖는것을 최적의 경로로 할 수 있다.
    2. RIP 동작의 핵심은 거리와 방향이고, 라우터가 다른 라우터와 교환하는 정보를 RIP에서는 라우팅 업데이트라고 한다.

      • 이 업데이트에선 정말 라우팅 테이블에 있는 정보를 그대로 교환한다. 약 30 초에 한번 보냄
      • 6번 수신 받지 않으면 그 라우터에는 장애가 발생했다고 간주해서 그 라우터를 사용하는 경로들을 파기한다.
    3. RIP 에서는 이미 테이블에 존재하는 네트워크에 대해서 새로운 정보가 업데이트되어 새로운 경로쪽이 메트릭이 작으면 그쪽 테이블에 기재한다.
  • ICMP(Internet Control Message Protocol)

    1. 네트워크의 제어와 관리에 사용된다. 그래서 IP 데이터그램에 ICMP 메시지를 넣는다. IP 데이터그램의 페이로드에 넣는다.
    2. ICMP에는 2종류의 메시지가 있다.

      • Query 메시지 : 상태를 조사하기 위한 메시지
      • Error 메시지 : 에러를 통지하기 위한 메시지
    3. ICMP 구성

      1. ICMP 타입
      2. 코드
      3. 체크섬
      4. 옵션
    4. TTL(Time To Live)

      • IP 데이터 그램의 TTL은 라우터를 경유 할 때마다 1만큼씩 줄어들고, 0이 되면 그 데이터 그램은 파기된다.
      • 파기하는 이유는 무한 루프를 돌게 되는 경우가 있는데 이럴 경우 영원히 네트워크 내에서 순회하면 문제가 되기 때문이다.
  • Echo와 Time Exceeded

    1. 송신측은 에코 요청을 보내고, 그것을 수신한 컴퓨터는 에코 응답을 돌려주는 구조를 갖는다.
    2. ping 이라는 임의의 수신처에게 에코 요청을 보내는 소프트웨어가 있다.
    3. 에코 요청으로 송신처와 수신처간의 데이터 송수신 가능여부를 알 수 있다.
    4. TimeExceeded

      • TTL로 인해 파기한 것을 통지하는 메시지이다.
      • traceroute는 수신처 까지의 경로를 가르쳐 주는 소프트웨어이다. 경유하는 라우터를 알 수 있다.
      • 원리로는 목적지에서 응답이 올때까지 TTL을 1부터 순차적으로 적용하여 어디서 파기되는지 ICMP 메시지를 받는 원리를 사용한다.

2.Feelings

  • 코틀린 스터디에서 왜 내가 공부를 못하는지에 대해서 알게 되었고 어떻게 공부해야 할지 알게 되어 기쁘면서 슬프다.
  • 한개만 파야겠다.

3.Findings

  • 결국 공부를 잘하기 위해선 암기해야한다. 외우고 또 외우고 다 외워야한다.

4.Future Action Plan

  • 내일부터 정말 코틀린을 다 뜯어서 파헤쳐야겠다. 나와있는 코드 다 10 번씩 쳐보고 다 내껄로 만들고 다시 인출하는 과정을 가져야겠다.
  • 정말 언어를 깊게 공부해야겠다.

5.FeedBack


Written by@Zero1
This blog is for that I organize what I study and my thinking, feeling and experience.

GitHub