OSI7계층

  • 네트워크의 기본지식중 하나로 간단하게 정리해보자.

OSI 7 계층

  • 컴퓨터 네트워크 프로토콜 디자인과 통신을 계층으로 나누어 설명한것
    • 네트워크에서 통신이 일어나는 과정을 7단계로 분류
  • 1계층이 물리계층->7계층 응용계층으로 표현한다.

L1 - physical(물리)

  • 실제 물리적인 선으로 연결하여 데이터를 전송해주는 역할
  • 전기적, 기계적, 기능적인 특성을 이용해 통신 케이블로 데이터를 전송
  • 데이터만 전송 할뿐, 에러나 예외는 처리하지 않는다.

L2 - datalink(데이터 링크)

  • 송수신 되는 정보의 오류와 흐름을 관리하여 안전한 정보 전달을 수행
    • 노드간 통신의 오류를 찾고 재전송
  • mac주소를 가지고 통신
  • frame단위로 전송
    • 비트의 모음
  • 역할
    • 프레임화(framing)
      • data, header, trailer등을 넣어 캡슐화
    • 흐름제어(flow control)
      • 송신, 수신간의 속도를 제어
      • 피드백을 통해 흐름을 제어
    • 에러제어(error control)
      • 에러를 감지, 에러가 발생하면 데이터를 다시 보내달라 피드백
  • 브리지, 스위치

L3 - network(네트워크)

  • 데이터를 목적지까지 가장 안전하고 빠르게 전달하는 기능 - 여러 노드를 거치게 된다.
    • 이를 라우팅이라 한다.
  • packet단위로 전송
  • 역할
    • 라우팅
      • 네트워크 상에서 통신 데이터를 보낼 경로를 선택
      • 경로를 선택하는데 비적응형, 정적, 적응형, 동적 알고리즘으로 나뉨
    • 혼잡제어(congestion control) - 없다고 알고있다.
      • 패킷이 과도하게 증가하게 되면 패킷손실이 발생할 수 있다.
      • 이러한 혼잡현상을 제어하는 기능을 혼잡제어라고 한다.
    • 인터네트워킹
      • 네트워크 끼리의 연결
  • ip, icmp,igmp, arp,rarp

L4 - transport(전송)

  • 사용자들간 데이터를 주고받을 수 있게 연결하는 통신 서비스
    • 연결형 tcp, 비연결형 udp가 있다.
  • tcp는 segment단위, udp는 데이터그램

L5 - session(세션)

  • 데이터가 통신하기위한 논리적 연결을 담당

L6 - presentation(표현)

  • 데이터 표현에 대한 독립성을 제공하고 암호화하는 역할
  • 인코딩

L7 - application(응용)

  • 최종 목적지로 응용프로세스와 직접 관계하여 일반적인 응용서비스를 수행
  • smtp, ftp, telnet, dns, snmp, nfs, tftp, http

tpc/ip 4계층

  • 상업적이고 실무적으로 이용 될 수 있도록 단순화한 모형

L1 network access(네트워크 연결)

  • osi의 데이터링크, 물리에 포함

L2 internet(인터넷)

  • osi의 네트워크계층에 해당

L3 transport(전송)

  • osi의 전송계층에 해당

L4 application(응용)

  • osi의 응용, 표현, 세션에 포함

비적응형, 정적, 적응형, 동적 알고리즘이란?

  • 문제 해결방식과 입력 변화에 따라 구분

비적응형 알고리즘

  • 입력에 상관없이 동일한 단계를 수행
  • 실행도중 입력의 변화를 고려 하지 않음
  • 예시
    • 버블정렬로 중간에 정렬이 완료되어도 멈추지 않고 계속 수행
  • 장점
    • 구현이 쉬움
  • 단점
    • 비효율적으로 어떤 경우라도 같은 연산을 수행한다.

적응형 알고리즘

  • 입력의 변화를 감지하여 이에 맞춰 알고리즘을 조정
  • 예시
    • 버블정렬로 중간에 정렬이 완료되면 종료
  • 장점
    • 효율적, 최적화된 수행시간
  • 단점
    • 추가적인 복잡한 구현을 요구한다.

정적 알고리즘

  • 실행전에 필요한 모든 정보가 결정, 실행중엔 변화가 없음
  • 예시
    • 다익스트라로 초기에 주어진 그래프, 가중치의 변화가 없는 고정된 상태에서 계산
  • 장점
    • 성능을 예측이 가능하다.
  • 단점
    • 고정된 입력의 계산으로 동적인 변화 대응이 어려움

동적 알고리즘

  • 입력의 변화나 문제의 부분 구조에 따라 중간 계산 결과를 저장해 재사용 하는 방식
  • 예시
    • 피보나치를 재귀가 아닌, 중복계산을 피하는 형태로 구현
  • 장점
    • 중복계산을 피하며 효율적이다.
  • 단점
    • 메모리를 많이 사용한다.

거리벡터알고리즘(DV), 링크스테이트(LS)

  • 카카오모빌리티에 나옴
  • RIP
    • 15홉(라우터)까지만 가능
    • 동적알고리즘
  • OSPF(open shortest path first)
    • 링크스테이트의 대표적인것
    • intra-AS
    • 네트워크 토폴로지를 그려서 사용
    • 각각의 라우터가 네트워크 토폴로지를 그릴 수 있음
    • 다익스트라 적용 가능

L2, L3스위치?

  • L2는 계층 ip만 분류
  • L3스위치는 ip도 분류하고, 라우팅이 있는 공유기
  • L4스위치는 로드밸런싱
  • L7스위치는 L2~L7까지의 모든 역할을 다한다.
    • 어플리케이션 단에서 패킷을 일고 수행하는게 많다.
    • 많이 비싸다.
  • L2에서의 흐름제어, 혼잡제어와 L3에서의 차이는?
    • L4에서의 흐름제어와 혼잡제어와 L2의 흐름제어, L4의 혼잡제어는
  • TCP/IP 4계층 기준
    • osi7계층은 이론
    • tcp/ip는 실무에 맞춰서 개발을 진행해왔다.
    • 실무에서 발생할수있는 문제에 맞춰서 표준화되고 개발되고있다.