본문 바로가기

CS 학습 정리

OSI 7계층과 TCP/IP 방식 , Echo Server란

728x90

TCP/IP

  • TCP/IP는 프로토콜이다. 그렇다면 프로토콜이란 무엇일까?
    • 통신 프로토콜은 통신 규약으로 컴퓨터나 원거리 통신 장비 사이에서 메세지를 주고 받는 규칙의 체계이다. 즉, 통신 규약 및 약속이다.
    • 프로토콜의 기본 요소
      • 구문: 전송하고자 하는 데이터의 형식, 부호화, 신호 레벨 등을 규정
      • 의미: 두 기기간의 효율적이고 정확한 정보 전송을 위한 협조 사항과 오류 관리를 위한 제어 정보 규정
      • 시간: 두 기기간의 통신 속도, 메세지의 순서 제어 등을 규정
  • 네트워크의 기본 OSI 7계층
    • 개방형 시스템 상호 연결(OSI) 모델은 표준 프로토콜을 사용하여 다양한 통신 시스템이 통신할 수 있도록 만든 개념 모델이다. 쉽게 표현하면 OSI는 상이한 컴퓨터 시스템이 서로 통신할 수 있는 표준을 제공한다.
    • 모델은 7개의 추상적 계층으로 나누며 각 계층은 다음 계층 위에 스택된다.

Application Layer

  • 사용자의 데이터와 직접 상호작용하는 유일한 계층이다. 웹 브라우저 및 이메일 클라이언트와 같은 소프트웨어 애플리케이션 통신을 개시하기 위해 이 계층에 의지한다.
  • 그러나 클라이언트 소프트웨어 애플리케이션은 애플리케이션 계층의 일부가 아니라는 것을 분명히 하자(네이버 메일같은 것은 애플리케이션 계층의 일부가 아니다.) 정확히 말하면 애플리케이션 계층은 소프트웨어가 사용자에게 의미 있는 데이터를 제공하기 위해 의존하는 프로토콜과 데이터를 조작하는 역할을 한다.

Presentation Layer

  • 이제 사용자는 이 계층부터 신경쓸 필요도 없고 알지도 못한다. 이 계층에선 암호화와 다음 계층을 위한 압축이 이뤄진다. 또한 수신을 위한 데이터 변환 작업도 담당한다.

Session Layer

  • 두 기기 사이의 통신을 시작하고 종료하는 일을 담당하는 계층이다. 통신이 시작될 때 부터 종료될 때까지의 시간을 세션이라한다. 세션 계층은 교환되고 있는 모든 데이터를 전송할 수 있도록 충분히 세션을 유지하고 다음 리소스를 낭비하지 않기 위해 즉시 닫을 수 있다.
  • 만약 100MB의 정보를 다운받을 때 까지 세션을 유지하도록한다.

Transport Layer

  • 실제 통신이 이뤄지는 계층으로 두 기기간의 종단 간 통신을 담당한다. 세션 계층에서 데이터를 가져와 계층 3으로 보내기 전 세그먼트라고하는 조각으로 분할하는 일이 포함된다. 수신 기기의 전송 계층은 세그먼트를 세션 계층이 이용할 수 있는 데이터로 재조립해야한다.
  • 전송 계층은 흐름 제어 및 오류 제어 기능도 하는데, 빠른 속도의 송신이 느린 속도의 수신을 압도하지 않도록 (!!) 최적의 전송 속도를 결정한다.
  • 이 전송 프로토콜에 TCP와 UDP가 있다.

Network Layer

  • 두 네트워크 간 데이터 전송을 용이하게 하는 역할을 한다. 서로 통신하는 두 장치가 동일한 네트워크에 있는 경우에는 네트워크 계층이 필요하지 않다. 네트워크 계층은 전송 계층에서 준 세그먼트를 더 작은 단위인 패킷이라 불리는 더 작은 단위로 세분화하여 수신 장치에서 이러한 패킷을 다시 조립한다. 또한, 네트워크 계층은 데이터가 표적에 도달하기 위한 최상의 물리적 경로를 찾는데, 이를 라우팅이라 한다.
  • 네트워크 계층 프로토콜에는 IP, ICMP, IGMP, IPsec 가 있다.
  • 그리고 3,4 계층을 통합해 TCP/IP 라 불리는 프로토콜로 부른다.

Data Link Layer

  • 데이터 연결 계층은 동일한 네트워크에 있는 장치간의 데이터 전송을 용이하게 한다. 네트워크 계층의 패킷을 프레임이라 하는 더 작은 조각으로 세분화한다. 네트워크 계층과 마찬가지로 데이터 연결 계층도 인트라 네트워크 통신에서 흐름 제어 및 오류 제어를 담당한다. (전송 계층은 네트워크 간 통신의 대해서만 오류를 관리함)

Physical Layer

  • 케이블, 스위치 등 데이터 전송과 관련된 물리적 장비가 포함된다. 이 계층은 또한 1과 0의 문자열인 비트 스트림으로 변환하는 과정을 포함하며 뿐만 아니라 두 장치의 물리적 계층은 신호 규칙에 동의해 1,0이 구별될 수 있어야한다.

TCP/IP 는 전송계층과 네트워크 계층에서 IP주소 체계를 사용해 목적지에 도달하고 TCP의 특서앧로 송신자와 수신자의 논리적 연결을 생성하고 신뢰성을 유지하겠다는 것을 의미한다.

3-Way HANDSHAKE

  • TCP는 통신이 연결되면 3방향 핸드 쉐이크를 사용한다.
  1. SYN 최초 요청 패킷을 대상 서버로 보냄
  2. 대상 서버가 SYN-ACK 패킷을 보내 이 과정에 동의
  3. 소스가 대상에 ACK 패킷을 보내 과정을 확인

인터넷에서는 일련의 게이트웨이를 거쳐 대상 장치에 도착하는데, 여기에서 이 패킷들이 다시 TCP에 의해 조립되어 원래 메시지로 구성된다. 오늘날 인터넷에서 사용되는 IP의 기본 버전은 IPv4이다. 이후 새로운 프로토콜 IPv6가 개발되어 많이 채택하고 있다.

TCP/IP

  • TCP/IP는 프로토콜이다. 그렇다면 프로토콜이란 무엇일까?
    • 통신 프로토콜은 통신 규약으로 컴퓨터나 원거리 통신 장비 사이에서 메세지를 주고 받는 규칙의 체계이다. 즉, 통신 규약 및 약속이다.
    • 프로토콜의 기본 요소
      • 구문: 전송하고자 하는 데이터의 형식, 부호화, 신호 레벨 등을 규정
      • 의미: 두 기기간의 효율적이고 정확한 정보 전송을 위한 협조 사항과 오류 관리를 위한 제어 정보 규정
      • 시간: 두 기기간의 통신 속도, 메세지의 순서 제어 등을 규정
  • 네트워크의 기본 OSI 7계층
    • 개방형 시스템 상호 연결(OSI) 모델은 표준 프로토콜을 사용하여 다양한 통신 시스템이 통신할 수 있도록 만든 개념 모델이다. 쉽게 표현하면 OSI는 상이한 컴퓨터 시스템이 서로 통신할 수 있는 표준을 제공한다.
    • 모델은 7개의 추상적 계층으로 나누며 각 계층은 다음 계층 위에 스택된다.

Application Layer

  • 사용자의 데이터와 직접 상호작용하는 유일한 계층이다. 웹 브라우저 및 이메일 클라이언트와 같은 소프트웨어 애플리케이션 통신을 개시하기 위해 이 계층에 의지한다.
  • 그러나 클라이언트 소프트웨어 애플리케이션은 애플리케이션 계층의 일부가 아니라는 것을 분명히 하자(네이버 메일같은 것은 애플리케이션 계층의 일부가 아니다.) 정확히 말하면 애플리케이션 계층은 소프트웨어가 사용자에게 의미 있는 데이터를 제공하기 위해 의존하는 프로토콜과 데이터를 조작하는 역할을 한다.

Presentation Layer

  • 이제 사용자는 이 계층부터 신경쓸 필요도 없고 알지도 못한다. 이 계층에선 암호화와 다음 계층을 위한 압축이 이뤄진다. 또한 수신을 위한 데이터 변환 작업도 담당한다.

Session Layer

  • 두 기기 사이의 통신을 시작하고 종료하는 일을 담당하는 계층이다. 통신이 시작될 때 부터 종료될 때까지의 시간을 세션이라한다. 세션 계층은 교환되고 있는 모든 데이터를 전송할 수 있도록 충분히 세션을 유지하고 다음 리소스를 낭비하지 않기 위해 즉시 닫을 수 있다.
  • 만약 100MB의 정보를 다운받을 때 까지 세션을 유지하도록한다.

Transport Layer

  • 실제 통신이 이뤄지는 계층으로 두 기기간의 종단 간 통신을 담당한다. 세션 계층에서 데이터를 가져와 계층 3으로 보내기 전 세그먼트라고하는 조각으로 분할하는 일이 포함된다. 수신 기기의 전송 계층은 세그먼트를 세션 계층이 이용할 수 있는 데이터로 재조립해야한다.
  • 전송 계층은 흐름 제어 및 오류 제어 기능도 하는데, 빠른 속도의 송신이 느린 속도의 수신을 압도하지 않도록 (!!) 최적의 전송 속도를 결정한다.
  • 이 전송 프로토콜에 TCP와 UDP가 있다.

Network Layer

  • 두 네트워크 간 데이터 전송을 용이하게 하는 역할을 한다. 서로 통신하는 두 장치가 동일한 네트워크에 있는 경우에는 네트워크 계층이 필요하지 않다. 네트워크 계층은 전송 계층에서 준 세그먼트를 더 작은 단위인 패킷이라 불리는 더 작은 단위로 세분화하여 수신 장치에서 이러한 패킷을 다시 조립한다. 또한, 네트워크 계층은 데이터가 표적에 도달하기 위한 최상의 물리적 경로를 찾는데, 이를 라우팅이라 한다.
  • 네트워크 계층 프로토콜에는 IP, ICMP, IGMP, IPsec 가 있다.
  • 그리고 3,4 계층을 통합해 TCP/IP 라 불리는 프로토콜로 부른다.

Data Link Layer

  • 데이터 연결 계층은 동일한 네트워크에 있는 장치간의 데이터 전송을 용이하게 한다. 네트워크 계층의 패킷을 프레임이라 하는 더 작은 조각으로 세분화한다. 네트워크 계층과 마찬가지로 데이터 연결 계층도 인트라 네트워크 통신에서 흐름 제어 및 오류 제어를 담당한다. (전송 계층은 네트워크 간 통신의 대해서만 오류를 관리함)

Physical Layer

  • 케이블, 스위치 등 데이터 전송과 관련된 물리적 장비가 포함된다. 이 계층은 또한 1과 0의 문자열인 비트 스트림으로 변환하는 과정을 포함하며 뿐만 아니라 두 장치의 물리적 계층은 신호 규칙에 동의해 1,0이 구별될 수 있어야한다.

TCP/IP 는 전송계층과 네트워크 계층에서 IP주소 체계를 사용해 목적지에 도달하고 TCP의 특서앧로 송신자와 수신자의 논리적 연결을 생성하고 신뢰성을 유지하겠다는 것을 의미한다.

3-Way HANDSHAKE

  • TCP는 통신이 연결되면 3방향 핸드 쉐이크를 사용한다.
  1. SYN 최초 요청 패킷을 대상 서버로 보냄
  2. 대상 서버가 SYN-ACK 패킷을 보내 이 과정에 동의
  3. 소스가 대상에 ACK 패킷을 보내 과정을 확인

인터넷에서는 일련의 게이트웨이를 거쳐 대상 장치에 도착하는데, 여기에서 이 패킷들이 다시 TCP에 의해 조립되어 원래 메시지로 구성된다. 오늘날 인터넷에서 사용되는 IP의 기본 버전은 IPv4이다. 이후 새로운 프로토콜 IPv6가 개발되어 많이 채택하고 있다.

TCP/IP

  • TCP/IP는 프로토콜이다. 그렇다면 프로토콜이란 무엇일까?
    • 통신 프로토콜은 통신 규약으로 컴퓨터나 원거리 통신 장비 사이에서 메세지를 주고 받는 규칙의 체계이다. 즉, 통신 규약 및 약속이다.
    • 프로토콜의 기본 요소
      • 구문: 전송하고자 하는 데이터의 형식, 부호화, 신호 레벨 등을 규정
      • 의미: 두 기기간의 효율적이고 정확한 정보 전송을 위한 협조 사항과 오류 관리를 위한 제어 정보 규정
      • 시간: 두 기기간의 통신 속도, 메세지의 순서 제어 등을 규정
  • 네트워크의 기본 OSI 7계층
    • 개방형 시스템 상호 연결(OSI) 모델은 표준 프로토콜을 사용하여 다양한 통신 시스템이 통신할 수 있도록 만든 개념 모델이다. 쉽게 표현하면 OSI는 상이한 컴퓨터 시스템이 서로 통신할 수 있는 표준을 제공한다.
    • 모델은 7개의 추상적 계층으로 나누며 각 계층은 다음 계층 위에 스택된다.

Application Layer

  • 사용자의 데이터와 직접 상호작용하는 유일한 계층이다. 웹 브라우저 및 이메일 클라이언트와 같은 소프트웨어 애플리케이션 통신을 개시하기 위해 이 계층에 의지한다.
  • 그러나 클라이언트 소프트웨어 애플리케이션은 애플리케이션 계층의 일부가 아니라는 것을 분명히 하자(네이버 메일같은 것은 애플리케이션 계층의 일부가 아니다.) 정확히 말하면 애플리케이션 계층은 소프트웨어가 사용자에게 의미 있는 데이터를 제공하기 위해 의존하는 프로토콜과 데이터를 조작하는 역할을 한다.

Presentation Layer

  • 이제 사용자는 이 계층부터 신경쓸 필요도 없고 알지도 못한다. 이 계층에선 암호화와 다음 계층을 위한 압축이 이뤄진다. 또한 수신을 위한 데이터 변환 작업도 담당한다.

Session Layer

  • 두 기기 사이의 통신을 시작하고 종료하는 일을 담당하는 계층이다. 통신이 시작될 때 부터 종료될 때까지의 시간을 세션이라한다. 세션 계층은 교환되고 있는 모든 데이터를 전송할 수 있도록 충분히 세션을 유지하고 다음 리소스를 낭비하지 않기 위해 즉시 닫을 수 있다.
  • 만약 100MB의 정보를 다운받을 때 까지 세션을 유지하도록한다.

Transport Layer

  • 실제 통신이 이뤄지는 계층으로 두 기기간의 종단 간 통신을 담당한다. 세션 계층에서 데이터를 가져와 계층 3으로 보내기 전 세그먼트라고하는 조각으로 분할하는 일이 포함된다. 수신 기기의 전송 계층은 세그먼트를 세션 계층이 이용할 수 있는 데이터로 재조립해야한다.
  • 전송 계층은 흐름 제어 및 오류 제어 기능도 하는데, 빠른 속도의 송신이 느린 속도의 수신을 압도하지 않도록 (!!) 최적의 전송 속도를 결정한다.
  • 이 전송 프로토콜에 TCP와 UDP가 있다.

Network Layer

  • 두 네트워크 간 데이터 전송을 용이하게 하는 역할을 한다. 서로 통신하는 두 장치가 동일한 네트워크에 있는 경우에는 네트워크 계층이 필요하지 않다. 네트워크 계층은 전송 계층에서 준 세그먼트를 더 작은 단위인 패킷이라 불리는 더 작은 단위로 세분화하여 수신 장치에서 이러한 패킷을 다시 조립한다. 또한, 네트워크 계층은 데이터가 표적에 도달하기 위한 최상의 물리적 경로를 찾는데, 이를 라우팅이라 한다.
  • 네트워크 계층 프로토콜에는 IP, ICMP, IGMP, IPsec 가 있다.
  • 그리고 3,4 계층을 통합해 TCP/IP 라 불리는 프로토콜로 부른다.

Data Link Layer

  • 데이터 연결 계층은 동일한 네트워크에 있는 장치간의 데이터 전송을 용이하게 한다. 네트워크 계층의 패킷을 프레임이라 하는 더 작은 조각으로 세분화한다. 네트워크 계층과 마찬가지로 데이터 연결 계층도 인트라 네트워크 통신에서 흐름 제어 및 오류 제어를 담당한다. (전송 계층은 네트워크 간 통신의 대해서만 오류를 관리함)

Physical Layer

  • 케이블, 스위치 등 데이터 전송과 관련된 물리적 장비가 포함된다. 이 계층은 또한 1과 0의 문자열인 비트 스트림으로 변환하는 과정을 포함하며 뿐만 아니라 두 장치의 물리적 계층은 신호 규칙에 동의해 1,0이 구별될 수 있어야한다.

TCP/IP 는 전송계층과 네트워크 계층에서 IP주소 체계를 사용해 목적지에 도달하고 TCP의 특서앧로 송신자와 수신자의 논리적 연결을 생성하고 신뢰성을 유지하겠다는 것을 의미한다.

3-Way HANDSHAKE

  • TCP는 통신이 연결되면 3방향 핸드 쉐이크를 사용한다.
  1. SYN 최초 요청 패킷을 대상 서버로 보냄
  2. 대상 서버가 SYN-ACK 패킷을 보내 이 과정에 동의
  3. 소스가 대상에 ACK 패킷을 보내 과정을 확인

인터넷에서는 일련의 게이트웨이를 거쳐 대상 장치에 도착하는데, 여기에서 이 패킷들이 다시 TCP에 의해 조립되어 원래 메시지로 구성된다. 오늘날 인터넷에서 사용되는 IP의 기본 버전은 IPv4이다. 이후 새로운 프로토콜 IPv6가 개발되어 많이 채택하고 있다.

 

Echo Server란

  • 네트워크 프로토콜에서 주로 사용하는 서버의 한 종류로, 클라이언트에게 받은 데이터를 그대로 반환한다.
  • 주로 네트워크 테스트, 디버깅, 학습 용도로 사용한다.