Computer Science/네트워크

[네크워크] OSI 7 Layer

  • -
728x90

전공과목인 네트워크를 학습하며 어려웠던 내용과 중요한 내용을 정리한 것으로, 잘못된 내용이 있는 경우 알려주시면 감사하겠습니다.

OSI 7 Layer

서로 다른 종류의 네트워크들 사이에 통신을 용이하게 할 수 있도록 통신 계층을 여러 개로 구성하고, 각 계층을 표준화 하려는 노력에서 나옴

Application 계층

data 를 send (이게 추후 segment가 되는 것)

  • 대표적인 프로토콜 : HTTP, DNS, Telnet, FTP 등
  • 응용 프로세스와 직접 관계하여 일반적인 응용 서비스를 네트워크에 연결 및 수행하는 역할
  • 애플리케이션 데이터는 애플리케이션에 따라 데이터의 형태가 다르다. → 이런 형태를 포맷이라고 한다. 애플리케이션을 어떤 모양으로 만들건지: 응용 계층
  • 어떤 식으로 어떤 모양을 어떻게 데이터를 넣어서 어떤 데이터를 넣어서 보낼지 → 응용 매칭의 프로토콜

Presentation Layer

  • 프로토콜(Protocol) : JPG, MPEG
  • 암호화, 인코딩, 디코딩 등 데이터의 번역을 담당

Session Layer

  • 프로토콜(Protocol) : NetBIOS, SSH, TLS
  • 네트워크 상 양쪽 연결을 관리하고 연결을 지속시켜주는 계층
  • TCP/IP 세션을 만들고 없애는 역할

Transport 계층

전송단위: TCP일때 segment UDP일때 datagram (UDP는 패킷 분할을 하지 않는다.) (참조)

  • 프로토콜 : TCP, UDP, RTP
    • TCP
      • 흐름제어, 신뢰성 있는 데이터 전송(오류 체크, 데이터 순서화, 데이터 재전송), 포트에 대해 멀티플렉싱(multiplexing) 기능(= 오류 발생시 체크) 을 수행
      • 보내고자 하는 데이터를 여러 개의 packet으로 나누고 순서대로 전송. 패킷을 수신하고 수집하고 적절히 조합하는 작업 수행. 신뢰성 있는 데이터 전송을 보장하고 속도 조절도 가능
      • 신뢰적인 전송 보장(패킷 손실, 중복, 순서 바뀜 등이 없도록 보장) - ACK 사용
      • IP가 처리할 수 있도록 데이터를 여러 개의 패킷으로 나누고, 도착지에서 완전한 데이터로 패킷을 재조립
      • 데이터 전송 단위 : 세그먼트
    • UDP
      • 비연결성, 비신뢰성 서비스
      • TCP와 다르게 패킷을 나누고 재조립하는 과정 없이, 수신지에서 제대로 받든 말든 상관하지 않고, 데이터를 보내기만 한다
      • => 에러와 그에 따른 재전송, 대체는 애플리케이션에서 처리
      • But 속도가 빠르다. => Real Time 서비스에 사용하면 좋다
      • 데이터 전송 단위 : 블록 형태의 다이어그램
  • 흐름제어, 신뢰성 있는 데이터 전송(오류 체크, 데이터 순서화, 데이터 재전송), 포트에 대해 멀티플렉싱(multiplexing) 기능(= 오류 발생시 체크) 을 수행

장비 : 게이트웨이, L4 스위치

응용 프로세스양 끝 단의 통신을 담당 ex) 사람과 사람사이 휴대폰으로 통신할때, 이 휴대폰이 socket이다. 사람은 ap(응용 프로세스)에 해당.

  • 응용 프로세스는 트랜스포트 계층의 기능을 이용하여 서로 간 데이터를 주고 받음
  • 주로 일대일 통신(peer to peer) 이며 연결지향적(connection-oriented)인 방식과 비연결 지향적인 통신 기법이 있음
  • 전자로는 TCP, 후자가 UDP
  • 발신지에서 목적지(End-to-End) 간 제어와 에러를 관리한다. 패킷의 전송이 유효한지 확인하고 전송에 실패된 패킷을 다시 보내는 것과 같은 신뢰성있는 통신을 보장한다.
  • 주소 설정, 오류 및 흐름 제어, 다중화를 수행한다.
  • 프로세스와 직접 연결되어 서비스를 수행
  • 데이터의 분할 및 재조립 담당
  • 상위 계층으로부터 전달받은 data 에 아래의 정보들를 추가해 그룹화 한다 (= 메세지를 세그먼트 단위로 나눔)
    • 발신지 포트 : 발신하는 application의 포트
    • 목적지 포트 : 수신해야 할 application의 포트
    • 순서 번호 : 순차적 전송할 경우 순서를 붙이며, 순서가 어긋나면 목적지 프로토콜이 이를 바로 잡는다.
    • 오류 검출 코드 : 발신지와 목적지 프로토콜은 세그먼트를 연산하여 오류 검출 코드를 각각 만든다. 만약 발신지에서 전송한 세그먼트에 포함된 오류 검출 코드와 목적지에서 만든 오류 검출 코드가 다르다면 전송되는 과정에서 오류가 발생한 것이다. 이 경우, 수신측은 그 세그먼트를 폐기하고 복구 절차를 밟는다. 오류검출코드는 체크섬, 프레임 체크 시퀀스라고도 부른다.

사용자 data → 여러개의 packet → 앞에 header + 쪼개진 packet이 붙음 → segment 생성. (TCP 프로토콜 기준)

OS 혹은 socket이 packet을 만든다고 얘기할 수 있다.

Network 계층

전송단위: packet

datagram : header + packet

프로토콜 : IP , ICMP 등

  • IP: Internet Protocol의 약자 : packet(header + data segment)을 상대편 호스트에 보내는 방식. 라우팅(routing)에 의한 패킷 전달 (네트워크 계층에 위치)
  • IP 프로토콜의 전송 단위는 datagram (IP 프로토콜이 데이터그램을 만듬)

장비 : 라우터, L3 스위치

  • 네트워크 계층(인터넷)은 데이터그램 교환망(= packet 교환망)이며, 이는 기본적으로 비연결지향적인 네트워크임을 의미한다
  • 전송 계층으로 부터 전달받은 세그먼트는 네트워크 계층의 정보를 포함해 패킷이라고 불리게 된다. 라우팅 주소를 지정한다.
  • 라우팅 알고리즘을 사용하여 최적의 경로를 선택하고 송신측 → 수신측으로 전송한다. 이때, 전송되는 데이터는 패킷단위로 분할하여 전송한 후 다시 합쳐진다.
  • 데이터를 목적지까지 가장 안전하고 빠른 경로로 전달하는 기능(라우팅)이 가장 중요 - 프로토콜, 라우팅 기술 등
  • 발신지 컴퓨터 주소(Destination IP) : 패킷의 발신자 주소
  • 목적지 컴퓨터 주소(Source IP) : 패킷의 수신자 주소
  • 서비스 요청 : 네트워크 접속 프로토콜은 우선 순위와 같은 서브 네트워크의 사용을 요청할 수 있다.

DataLink 계층

전송단위: frame

frame: header + datagram

  • MAC 주소와 연관, 스위치, 브릿지 장비와 연관
  • mac Address는 오른쪽의 게시물 참조 (링크)

Physical Layer

  • 0/1의 전기 신호 전송/수신, 리피터 장비
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.