OSI 모형, TCP/IP

구름코딩·2020년 8월 9일
0

네트워크 정리 - 42

목록 보기
7/11
post-custom-banner

1. 데이터의 기술적 개념

데이터는 0또는 1로 이루어진 숫자이고, 컴퓨터는 이진법의 숫자를 전기의 켜짐꺼짐으로 표현 할수 있다. 즉 데이터는 아주 기 전기신호 인 것이다.

2. 프로토콜(Protocol)

컴퓨터, 스마트폰 등 한 클라이언트에서 발생한 데이터가 상대방 컴퓨터 혹은 서버로 전달되기 위해서는 표준화된 어떠한 약속 혹은 절차를 따라야한다. 전기신호가 그냥 케이블을 타고 상대방 컴퓨터로 전달 되는것이 아니다.

보내는 쪽에서는 데이터를 안전하고, 정확하고, 신속하게 규격화 즉 포장하는 방법이 필요하고, 받는 쪽에서는 그 데이터를 안전하고 정확하고 신속하게 해석하는 방법이 필요한 것이다. 그런 기술적 약속을 프로토콜이라고 한다.

컴퓨터 간 데이터를 주고 받을 때 에러가 발생하지 않도록 알맞게 나누어 전송하고, 이를 수신하여 다시 기존에 정보로 변환하는 과정을 살펴보자

3. 계층구조

네트워크상에서 여러 대의 컴퓨터가 데이터를 주고 받기 위해서는 이들을 서로 연동할 수 있도록 표준화된 인터페이스를 지원해야한다. OSI 7계층모델과 TPC/IP모델 모두 계층구조를 갖고 있다. 계층 구조는 네트워크 뿐만 아니라 운영체제 등 다양한 분야에서 적용되는데, 계층구조를 사용하는 목적은 분할정복(Divide and Conquer)때문이다. 어떠한 복잡한 문제를 해결하고자 할 때, 나누어 생각하면 쉽게 해결할 수 있다는 것이다.

계층 구조의 또다른 특징은 위, 아래층으로만 이동할 수 있다는 점이다. 건너뛰어 한번에 맨위 또는 아래로 갈수 없다. 즉, 다음 계층으로 넘어가려면 이전 계층이 전제조건이 되어야한다.

4. OSI 7계층 모델

  • OSI모형(Open Systems Interconnecton Reference Model)은 국제 표준화 기구(ISO)에서 개발한 모델로 컴퓨터 네트워크 프로토콜 디자인과 통신을 계층으로 나누어 설명한 것이다

초창기의 네트워크는 각 컴퓨터마다 시스템이 달랐기 때문에 하드웨어와 소프트웨어의 논리적인 변경없이 통신할 수 있는 표준모델이 나타나게 되었다.

PDU란

  • osi 7계층에서는 PDU 개념을 중요시하는데, PDU(Process Data Unit)란 각 계층에서 전송되는 단위이다. 1계층에서 pdu가 비트(bit)라고 생각하기 쉽지만 pdu라고 하지 않고 여기서 비트는 단위라기 보다는 단지 전기 신호의 흐름일 뿐이다.

PDU는 2계층-프레임(Frame), 3계층-패킷(Packet), 4계층-세그먼트(Segment)만 생각하면 된다. 네트워크 통신과정을 깊게 이해하기 위해서는 왜 각각 계층의 pdu가 다른지 알아야하고, 역활에 대해 알고 있어야 한다

계층 1 : 물리 계층

물리계층은 가장 낮은 첫번째 계층이다. 이 계층의 구현 이름은 PHY라는 용어로 불린다.

물리계층은 어떤 하나의 네트워크에서 기본 네트워크 하드웨어 전송기술들로 구성된다. 네트워크의 높은 수준의 기능의 논리 데이터 구조를 기초로 하는 필수 계층이다. 물리계층은 상위 계층에서 전송된 데이터를 물리 매체(허브, 라우터, 케이블 등)를 통해 다른 시스템에 전기적 신호를 전송하는 역활을 한다.

즉, 기계어를 전기적 신호로 바꾸어 와이어에 실어주는 것이다

  • PDU : 비트
  • 프로토콜 : Modem, Cable, Fiber
  • 장비 : 허브, 리피터

다양한 특징의 하드웨어 기술이 접목되어있어 OSI아키텍처에서 가장 복잡한 계층으로 간주된다

계층 2 : 데이터 링크 계층

데이터 링크 계층은 장치 간 신호를 전달하는 물리 계층을 이용하여 네트워크 상의 주변 장치들 간 데이터를 전송한다. 시스템간의 오류 없는 데이터 전송을 위해 패킷을 프레임으로 구성하여 물리계층으로 전송한다. 3계층에서 정보를 받아 주소와 제어정보를 헤더와 테일에 추가한다

  • PDU : 프레임
  • 프로토콜 : 이더넷, MAC, PPP, ATM, LAN, Wifi
  • 장비 : 브릿지, 스위치

기능

  • 주소할당 : 물리 계층으로 부터 받는 신호들이 네트워크 상의 장치에 올바르게 안착할 수 있게 한다.
  • 오류감지 : 신호가 전달되는 동안 오류가 포함되는지를 감지한다. 오류가 감지되면 해당 데이터를 폐기한다.

계층 3 : 네트워크 계층

네트워크 계층은 중간 라우터를 통한 라우팅을 포함하여 패킷 포워딩을 담당한다. 또한 기기에서 데이터 그램(Datagram)이 가는 경로를 설정해주는 역활을 한다. 라우팅 알고리즘을 사용하여 최적의 경로를 선택하고 송신측으로부터 수신측으로 전송한다. 이때, 전송되는 데이터는 패킷단위로 분할하여 전송한 후 다시 합쳐진다. 2계층이 노드 대 노드 전달을 감독한다면, 3계층은 각 패킷이 목적지까지 성공적이고 효과적으로 전달되도록 한다

  • PDU : 패킷
  • 프로토콜 : IP, ICMP
  • 장비 : 라우터, L3, 스위치

포워딩 이란

  • 입력으로부터 한 패킷을 취해서 적절한 출력으로 보내는 것

라우팅 이란

  • 복잡한 네트워크에서 최적의 경로가 결정될 수 있도록 라우팅 테이블을 구성하고,
    이를통해 패킷을 전송(다음 라우터에게 전달시킴)

라우터 내 패킷 포워딩 (Packet Forwarding) 방법

ㅇ 라우터는 입력 링크측으로부터 수신된 패킷의 헤더 부분에서 IP 주소를 추출하고
ㅇ 추출된 IP 주소를 라우팅 테이블과 비교하여 살펴보고
ㅇ 어느 포트에 연결된 링크로 보낼 것인가를 결정하고
ㅇ 그 다음에 새로운 헤더 정보를 붙여서 다음 라우터로 다시 전달하게 된다
참조

기능

  • 연결 모델 : 비연결 지향 통신
  • 호스트 주소 할당 : 네트워크 내 모든 호스트들은 고유 주소를 갖추어야 한다
  • 메시지 포워딩

계층 4 : 전송 계층

전송계층은 계층 구조의 네트워크 구성요소와 프로토콜 내에서 송신자와 수신자를 연결하는 통신 서비스를 제공한다. 전송 계층은 연결 지향 데이터 스트림 지원, 주소설정, 신뢰성, 흐름 제어, 다중화를 수행한다

발신지에서 목적지(end to end)간 제어와 에러를 관리한다. 패킷의 전송이 유효한지 확인하고 전송에 실패된 패킷을 다시 보내는 것과 같은 신뢰성있는 통신을 보장하며, 헤드에는 세그먼트가 포함된다.

  • PDU : 세그먼트
  • 프로토콜 : TCP, UDP, ARP, RTP
  • 장비 : 게이트웨이, L4, 스위치

계층 5 : 세션 계층

통신 세션을 구성하는 계층으로, 포트번호를 기반으로 연결한다. 통신장치 간의 상호작용을 설정하고 유지하며 동기화한다. 동시송수신(Duplex), 반이중(Half-Duplex), 전이중(Full-Duplex)방식의 통신과 함께 체크 포인팅과 유후, 종료, 다시시작 과정등을 수행한다

  • 프로토콜 : SSH, TLS, NetBIOS

세션 계층프로토콜은 연결이 손실되는 경우 연결 복구를 시도한다. 오랜 기간에 걸쳐 연결이 되지 않으면 세션 계층 프로토콜은 연결을 닫고 다시 연결을 재개한다. 교환 메시지 스트림내에서 동기화 지점을 제공한다.

동기화

  • 동기란 통신 양단에서 서로 동의하는 논리적인 공통처리 지점으로써, 동기점을 설정하기 위해 사용된다. 동기점이 설정된다는 의미는 그 이전까지의 통신은 서로 완벽하게 처리했다는것을 뜻한다.

계층 6 : 표현 계층

표현계층은 네트워크의 데이터 번역자로서의 역활을 한다. 송신측과 수신측사이에서 데이터의 형식(png, jpg, jpeg...)을 정해준다. 받은 데이터를 코드로 변환, 구문검색, 암호화, 압축의 과정을 통해 올바른 표준 방식으로 변환해준다

  • 프로토콜 : JPG, MPEG, SMB, AFP

계층 7 : 응용(어플리케이션) 계층

응용계층은 컴퓨터 네트워크 프로그래밍에서 인터넷 프로토콜(IP) 컴퓨터 네트워크를 통하는 프로세스 간 통신 접속을 위해 설계되어 통신 프로토콜과 방식을 위해 보유된 추상 계층이다. 사용자와 바로 연결되어 있으며 응용 sw를 도와준다. 사용자로부터 정보를 입력받아 하위 계층으로 전달하고 하위 계층에서 전송한 데이터를 사용자에게 전달한다.

여러 하위 통신 프로토콜 개체에 대하여 사용 관점의 사용자 인터페이스를 제공하며, 파일 전송, DB, 메일 전송 등 여러가지 응용 서비스를 네트워크에 연결해주는 역할을 한다.

  • 프로토콜 : DHCP, DNS, FTP, HTTP

5. TCP/IP 모델

실제 사용되는 인터넷 프로토콜 스택 (Internet Protocol Stack)은 현재 대부분 TCP/IP를 따른다

TCP/IP는 인터넷 프로토콜 중 가장 중요한 역활을 하는 tcpip의 합성어로 데이터의 흐름관리, 정확성 확인, 패킷의 목적지 보장을 담당한다. 데이터의 정확성 확인은 TCP가, 패킷을 목적지까지 전송하는 일은 IP가 담당한다

TCP는 데이터 전달을 관리하는 규칙이다. 즉, 데이터를 작게 나누어서 한쪽에서는 다른쪽으로 옮기고, 이를 다시 조립하여 원래의 데이터로 만드는 규칙. 여기서 잘게 나눈 데이터 단위를 패킷이라고 한다. 인터넷에서는 정보를 전달하는 단위를 뜻한다. TCP는 패킷을 조립하고, 손실된 패킷을 확인하고, 재전송하도록 요청하는 기능을 한다

IP는 인터넷상의 주소 규칙이다. 집의 주소를 부여하는 규칙이 존재하듯이, 인터넷상에 연결된 모든 컴퓨터의 위치에도 규칙이 필요하다. 이전에는 2^8 4자리의 주소인 IPv4를 사용하였지만 주소가 고갈되고 있어서 현재는 16^4 8자리인 IPv6로 전환되고 있다.

*tcp/ip의 4계층
tcp/ip는 osi 참조 모델과 달리 표현계층, 세션계층을 응용계층에 다 포함시키고 있지만, 사실상 TCP/IP Model의 Application계층 하나에서 Application, Prsentatiom, Session계층의 구현을 다 하고있다고 이해하는게 올바르다

OSI(Open Systems Interconnections)7계층은 시스템들의 연결을 위한 모델로, TCP/IP 4계층은 이를 웹서비스에 맞게 단순화 시킨 모델이다

  • 응용계층: HTTP, FTP, Telnet, SMTP 등 네트워크를 사용하는 응용프로그램으로 이뤄집니다.

  • 전송계층: TCP, UDP 등 시스템을 연결하고 데이터를 전송하는 역할을 합니다.

  • 인터넷계층: ICMP, IGMP, IP등 데이터를 정의하고 데이터의 경로를 라우팅합니다.

  • 물리계층: Ethernet, ATM등 네트워크 하드웨어를 의미합니다

TCP/IP 4계층을 통하여 데이터를 통신하는 순서

  1. 클라이언트로부터 특정 주소로 요청이 들어오면 DNS상에서 IP주소를 받아온다
  2. HTTP계층에서 HTTP메시지를 작성한다
  3. TCP계층에서 HTTP메시지를 패킷으로 분해한다
  4. IP계층에서 전송위치를 확인
  5. 네트워크를 통하여 전송 후
    위의 과정을 역순으로 진행하여 처리한다

데이터는 아래와 같이 단계별로 헤더(Data -> Segment -> Datagram -> Frame)를 붙여 전송하며 이를 데이터 캡슐화라고한다

profile
내꿈은 숲속의잠자는공주
post-custom-banner

0개의 댓글