OSI 참조모델과 TCP/IP

Yeo Myung Ro·2022년 9월 6일
1

Network

목록 보기
2/4

그림으로 이해하는 네트워크 용어 를 요약한 내용입니다.

네트워크 프로토콜

  • 네크워크 프로토콜
    • 네트워크를 통해 컴퓨터끼리 정보를 주고받는 절차
    • 통신을 하기 위한 절차를 규정한 것이자 컴퓨터끼리 대화하기 위해 필요한 공통 언어
    • 방법 / 절차 / 언어라는 역할마다 계층 구조로 구분

OSI 참조 모델

  • OSI 참조 모델(OSI 계층 모델)
    • 네트워크에서는 다른 기종 간에도 데이터를 송수신할 수 있도록 상호호환성을 구현하는 것이 중요
    • 또한 네트워크 기능의 확장이나 서비스 추가 등의 확장성도 필요
    • 이와 같은 상호 호환성과 확장성을 제공하기 위해 네트워크의 기본 구조는 일곱 개의 층으로 나눠어져 관리 → OSI 참조 모델
  1. 1계층(물리 계층) - 물리적으로 어떻게 연결할 것인가?
    • 물리적인 것, 즉 케이플 핀의 수나 전기적 특성을 정하여 송출 데이터의 전기적 교환을 실시
  2. 2계층(데이터 링크 계층) - 같은 네트워크 내에서 어떻게 통신할 것인가?
    • 직접 연결된 상대와의 통신 경로를 확보하고, 데이터의 오류를 정정하거나 재전송 요청 등을 실시
  3. 3계층(네트워크 계층) - 네트워크와 네트워크를 어떻게 중개할 것인가?
    • 상대에게 데이터를 보내기 위한 경로 선택
    • 네트워크 상의 개개인을 식별하기 위한 주소 관리 등을 수행
    • IP 주소 같은 개념이 이 계층에서 사용
  4. 4계층(전송 계층) - 통신의 신뢰성을 어떻게 확보할 것인가?
    • 네트워크 계층에서 보내온 데이터의 정렬 및 오류 정정을 수행하여 송수신하는 데이터의 신뢰성을 확보
    • TCP나 UDP 같은 프로토콜이 이 계층에서 사용
  5. 5계층(세션 계층) - 통신의 시작과 끝을 어떻게 관리할 것인가?
    • 통신의 시작점과 끝점이 되는 통신 프로그램 사이의 연결을 관리하고 통신 경로의 확립을 수행
  6. 6계층(표현 계층) - 데이터를 어떤 형식으로 할 것인가?
    • 압축 방식이나 문자 코드 등을 관리하고 응용프로그램과 네트워크를 중개
  7. 7계층(응용 계층) - 구체적으로 어떤 서비스를 제공할 것인가?
    • 통신을 사용하기 위해 필요한 서비스를 사용자나 프로그램에게 제공

송신하는 곳은 응용 계층에서 물리 계층까지 순서대로 데이터를 가공하여 보내고, 수신하는 곳은 받은 데이터를 역순으로 가공하여 이를 복원

TCP/IP

  • 인터넷에서 표준으로 사용되는 네트워크 프로토콜
  • OSI 참조 모델 3계층(네트워크 계층)의 IP를 비롯한 여러 프로코콜의 집합체를 총칭
  • 주로 4계층(전송 계층)에 위치하는 TCP와 조합하여 구성
  • 인터넷의 대표적인 서비스인 WWW의 HTTP 등은 이 프로토콜을 기반
  • 이 프로토콜을 사용하여 전송되는 데이터는 패킷이라는 단위로 나누어져 통신함
  • 각각의 패킷에는 목적지 주소(상대방의 IP 주소)가 포함되어 있고, 패킷들은 마치 컨베이어 벨트에서 짐을 운반하는 것처럼 네트워크를 흘러서 상대방에게 전달
  • 하위 계층인 IP는 네트워크 각 기기의 주소를 할당하거나 해당 주소를 기반으로 패킷을 전송하는 역할을 함
  • 간단히 말해 기기의 주소를 정하고 그 주소까지 데이터를 보내기 위한 프로토콜
  • 상위 계층인 TCP는 패킷의 수신 확인을 실시하며 올바른 순서로 패킷이 전달되도록 보장
  • 이때문에 신뢰성이 높고, 정확하게 데이터를 송수신하는 것이 가능
  • 수신 확인이나 패킷의 재송신과 같은 절차를 수행하므로 TCP는 상당히 무거운 프로토콜
  • 신뢰성보다 빠른 처리 속도를 더 중시하는 UDP라는 프로토콜도 있음

IP(Internet Protocol)

  • OSI 참조 모델의 3계층인 네트워크 계층에서 사용되는 네트워크 프로토콜
  • 네트워크 상의 기기에 주소를 할당하거나 해당 주소로 패킷을 전송하는 역할을 수행
  • 전송 데이터인 패킷을 TCP나 UDP 같은 상위 계층에서 수신한 뒤, IP 헤더라는 정보를 추가하여 네트워크에 전송
  • IP 헤더는 송신지와 수신지의 IP 주소를 비롯한 정보가 모여있음(패킷이라는 소포에 붙어있는 꼬리표 같은 것)
  • IP에는 경로를 선택하는 방법도 정의되어 있어 이를 통해 여러 개의 네트워크를 넘나드는 통신이 가능
  • 라우터가 IP 경로 선택(라우팅)을 지원

TCP(Transmission Control Protocol)

  • OSI 참조 모델의 4계층인 전송 계층에서 사용되는 네트워크 프로토콜
  • 데이터의 손실이 없이 확실하게 상대에게 전송하는 신뢰성이 높은 데이터 통신을 보장
  • 5계층 이상의 프로토콜에서 통신 데이터를 수신하여 패킷으로 분할 후 이 패킷을 3계층의 IP에 전달하여 상대방에게 송신
  • 패킷을 전송하는 IP는 패킷이 전송된 순서를 보장하지 않음 → 네트워크의 혼잡 상황에 따라 패킷의 손실이나 지연에 의해 순서가 뒤바뀌는 일이 발생할 수 있음
  • 이에 대응하여 신뢰성을 가질 수 있도록 TCP는 몇 가지 방법을 이용
    • 통신 데이터를 패킷으로 분할할 때 분할 순서대로 시퀀스 번호를 부여
    • 수신 측에서는 이 번호를 확인하고 필요에 따라 순서를 정렬하여 패킷의 순서가 올바른지 확인
    • 또한 수신 측에서는 수신했다는 것을 알리는 패킷(ACK 패킷)을 송신 측에 전송
    • 송신 측도 전송한 패킷이 도착했는지 여부를 판단할 수 있음
    • 일정 시간 기다려도 대답이 없는 경우에는 패킷을 다시 전송하도록 하여 손실을 방지
  • TCP와 IP를 조합한 TCP/IP가 인터넷에서 각종 서비스의 기반으로 활용

UDP(User Datagram Protocol)

  • OSI 참조 모델의 4계층인 전송 계층에서 사용되는 네트워크 프로토콜
  • 연결이 없는 형태(데이터그램)의 통신 기능을 제공
  • 연결이 없는 형태란, 지금부터 정보를 보낸다고 상대방에게 통지하지 않고 보내는 전송 방법
  • 통신의 신뢰성은 낮지만 TCP와 달리 프로토콜 자체의 처리가 가벼우므로 속도가 빠른 것이 특징
  • UDP는 3계층의 IP를 5계층 이상의 프로토콜에서 직접 사용할 수 있도록 중개 역할을 함
  • UDP는 상위 계층의 응용프로그램에서 수신한 데이터를 패킷으로 분할하여 IP를 통해 전송만 할 뿐, TCP 처럼 수신 확인은 하지 않음
  • 신뢰성이 낮은 점과 처리 속도가 빠른 점을 감안하여, 주로 작은 사이즈의 패킷을 주고받기만 하면 되는 응용프로그램이나 시간적 연속성이 중요한 응용프로그램에서 사용하는 프로토콜
  • 전자의 경우 DNS나 DHCP 같은 서비스
  • 후자의 경우 음성 전화나 동영상 배포와 같은 소리가 살짝 끊겨도 시간적인 연속성이 중요한 응용프로그램

패캣

  • 컴퓨터 통신에서 작게 분할된 통신 데이터의 단위
    • 큰 데이터가 분할되지 않고 네트워크로 전송되면 이 데이터가 회선을 점유하여 다른 기기가 통신할 수 없는 문제가 발생함
  • 데이터를 패킷으로 분할하여 송수신하는 통신을 패킷 통신이라고 함
  • 패킷에는 반드시 송신지와 수신지의 주소 같은 속성 정보가 포함되어 있음
  • 패킷에는 패킷이 사용하는 네트워크 프로토콜에 대한 정보도 포함되어 있어, 여러 네트워크 프로토콜이 동일한 네트워크 회선상에 혼재된 상태에서도 이용할 수 있음

노드

  • 네트워크에 연결되어 있는 네트워크 기기나 네트워크 연결 지점을 의미
    • 네트워크에 연결된 컴퓨터는 물론이고 접선 장치인 허브, 너트워크 사이를 연결하는 라우터 등도 모두 노드임
    • 네트워크 케이블의 연결점이나 분기점이 되는 부분이 노드임

IP 주소

  • 인터넷과 같이 IP를 기반으로 하는 네트워크에서 각 컴퓨터 한 대마다 할당된 식별 번호
    • 현재는 32비트의 숫자로 표현하는 IPv4(IP version 4)가 일반적
    • 다만 숫자 그대로는 이해하기 어렵기 때문에 8비트씩 네 개로 분할하고 각각을 10진수로 표기해 192.168.0.1 과 같이 표현
  • 이 번호는 네트워크의 주소를 나타냄
  • IP 주소의 내용은 네트워크 별로 나누어지는 네트워크 주소 부분과 그 네트워크 내에서 컴퓨터를 식별하기 위한 호스트 주소 부분을 조합하여 구성
  • 통신할 때 상대방을 특정하기 위해 꼭 필요한 번호이므로 당연히 각각의 컴퓨터에 할당되는 값이 중복되어서는 안됨
    • 그러나 32비트의 값으로는 표현할 수 있는 수의 범위가 정해져 있으므로 그 수가 부족해질 수 있음
    • 이 때문에 현재는 IPv4를 사용하면서 128비트의 수로 표현하는 IPv6로의 이전이 진행되고 있음

서브넷 마스크

  • 서브넷이란 원래는 하나여야 할 네트워크를 작은 단위로 분할한 것
    • 네크워크의 규모가 커지면 단일 네트워크로 관리하는 것이 사실상 어려워짐
    • 사무소나 사업부와 같은 단위로 네트워크를 논리적으로 분할
  • 서브넷 마스크는 이러한 서브넷을 표현하기 위한 값으로, IP 주소의 앞에서부터 몇 비트까지 네트워크 주소로 사용할지 정의하기 위해 사용
    • IP 주소는 네트워크를 식별하는 주소 부분과 네트워크 상의 컴퓨터를 식별하기 위한 호스트 주소 부분으로 나뉨
    • 서브넷 마스크에 의해 호스트 주소 부분 중 몇 개의 비트를 네트워크 주소 부분으로 재정의하여 단일 네트워크를 서브넷으로 구분할 수 있음

포트 번호

  • 네트워크에 대한 접속 장소
    • 컴퓨터에는 여러 가지 프로그램들이 동시에 통신하는 일이 빈번
    • IP 주소로는 네트워크의 어느 곳에 존재하는 컴퓨터까지로, 그 컴퓨터의 어느 프로그램에 전달할 패킷인지는 알 수 없음
    • 그래서 사용하는 것이 포트 번호
  • 프로그램이 네트워크에서 통신할 경우 접속 장소로 포트를 열고, 상대방의 IP 주소의 포트로 패킷을 송신하거나 수신
  • TCP/IP에 프로그램(서비스)별로 기본 포트가 정해져있어, 일반적으로는 그 포트 번호를 사용하여 통신

도메인

  • 인터넷에 존재하는 컴퓨터의 소속을 나타냄
  • 이를 이용해 컴퓨터나 네트워크의 주소를 나타낸 것이 도메인 이름

IPv6(Internet Protocol version 6)

  • TCP/IP 네트워크에서 사용되고 있는 3계층의 프로토콜인 IP의 차세대 규격
  • IP 주소를 128비트의 숫자로 표현(약 340간 개, 1조의 1조배보다 크고 사실상 무한)
  • 현재 널리 사용되고 있는 IP는 IPv4
    • 이 프로토콜에서는 32비트의 숫자에 의해 IP 주소를 할당하므로 표현 가능한 개수는 약 43억 개
    • 전 세계를 대상으로 했을 때 부족할 수 있어 이 문제를 해결하기 위해 IPv6가 등장
profile
# data engineering

1개의 댓글

comment-user-thumbnail
2024년 2월 7일

좋은글 감사합니다

답글 달기