여러 프로토콜들로 구성된 TCP/IP는 현재 산업 표준 프로토콜로 사용되고 있음.
TCP/IP 프로토콜의 필요성과 역할을 살펴볼 필요가 있음.

주요 용어

  • 인터넷 네트워킹 기술 :
    서로 떨어져 있는 수많은 네트워크를 연결하여 하나의 거대한 네트워크처럼 사용할 수 있도록 해주는 기술
  • DoD 모델 :
    미국방성에 사용한 컴퓨터 통신망 모델로 데이터링크, 인터넷, 전송, 프로세스 응용 계층으로 구성됨
  • TCP :
    IP 프로토콜위에서 연결형 서비스를 지원하는 전송계층 프로토콜
  • UDP :
    하부의 IP 프로토콜을 이용해 비연결형 서비스를 지원, 작지만 빠른 전송이 가능
  • 물리주소 :
    하나의 네트워크 내에서 호스트를 식별하는 물리적 하드웨어 주소
  • 인터넷 주소 :
    서로 다른 네트워크 간에 호스트를 식별하는 논리주소

TCP / IP 개념과 기본구조

TCP / IP의 등장

Internetworking Technology

  • 네트워크들을 상호 연결하는 기술
  • 서로 다른 네트워크에 연결되어 있는 컴퓨터 사이의 통신이 가능
  • DoD ARPA(Advanced Research Project Agency)

Transmission Control Protocol / Internet Protocol

  • TCP / IP Internet Protocol Suite
  • 1970년대 Robert Kahn과 Vinton Cerf 등에 의해 개발
  • 1982년 미군 컴퓨터 네트워킹의 표준으로 제정

DoD 모델(DARPA 모델)

DoD 모델 (DARPA 모델)

TCP / IP 기본 구조

TCP / IP 주요 특징

  1. 연결형 서비스 및 비연결형 서비스 제공
  2. 패킷 교환
  3. 동적 경로 할당
  4. 공통의 응용 프로그램 제공

TCP / IP 계층의 역할

  1. 데이터링크 계층
    • 네트워크 인터페이스
    • device driver와 interface card로 데이터 통신 처리
    • 대표적 프로토콜
      • ARP (Address Resolution Protocol) : IP 주소 -> 물리주소
      • RARP (Reverse ARP) : 물리주소 -> IP 주소
  2. 인터넷 계층
    • 네트워크상에서 패킷의 이동을 처리 (패킷 라우팅 등)
    • 대표적 프로토콜
      • IP : Internet Protocol
      • ICMP : Internet Control Message Protocol
      • IGMP : Internet Group Management Protocol
  3. 전송 계층
    • 호스트 컴퓨터 사이의 데이터 전송 서비스
    • 대표적 프로토콜
      • TCP : Transmission Control Protocol
      • UDP : User Datagram Protocol
  4. 응용 계층
    • 응용 프로세스를 위한 프로토콜
    • 대표적 프로토콜
    1. TCP 이용 :
      FTP, SMTP(Simple Mail Transfer Protocol), Telnet 등
    2. UDP 이용 :
      TFTP (Trivial FTP), DNS (Domain Name System), BOOTP (Bootstrap Protocol) 등
    3. IP 직접 이용 : traceroute 프로그램
    4. ICMP 직접 이용 : ping 프로그램

인터넷 주소

호스트 식별

  • 인터넷에 연결되어 있는 호스트 식별
  • 3가지 종류의 주소
    1. 물리주소 :
      네트워크내에서 호스트를 식별하는 물리적 하드웨어 주소로서 네트워크 인터페이스 주소
    2. 인터넷 주소 (IP 주소) :
      서로 다른 네트워크 간에 호스트를 식별하는 논리주소
    3. 포트 주소 :
      프로세스를 식별하는 포트 번호

IP 주소

IP 주소

포트 주소

  • 포트 번호 (port number)
    • TCP 및 UDP에 의해 응용 프로그램을 식별
    • 2바이트 (16비트)로 구성
    • FTP 서버 (TCP 21), TFTP (UDP 69), Telnet (TCP 23), SMTP (TCP 25)
    • 포트 주소의 구성
포트번호 사용처
0 사용되지 않음
1 ~ 255 well-known service
256 ~ 1023 기타 well-known service
1,024~4,999 임시 client 포트
5,000 ~ 65,535 사용자 정의 server

 

캡슐화

Encapsulation

  • 데이터에 각 계층의 제어정보를 추가하는 것
  • Service Data Unit + Protocol Control Information = Protocol Data Unit

Decapsulation

  • 수신측 시스템의 해당 계층에서 수행되는 캡슐화의 반대 과정
  • 물리 계층 이외의 모든 계층에서 수행됨

캡슐화
캡슐화


IP

개요

  • 인터넷 프로토콜 : OSI 모델의 네트워크 계층의 기능
  • 사용자에게 복잡한 인터넷의 개별 네트워크들의 구조를 숨겨
    모든 호스트들을 열결하는 1개의 가상 네트워크로 보이도록 함.
  • 네트워크 계층의 투명성(transparency)를 제공함
    송신자 호스트는 수신자 호스트까지 경유해야 하는
    데이터링크 및 라우터에 관한 물리적 세부 사항을 알지 못해도
    데이터그램을 전송할 수 있도록 해줌.

비연결(Connectionless) 서비스

  • 인터넷 계층의 투명성
    • IP 역할 : 호스트의 주소 지정 및 데이터그램 전송
    • 경유해야 하는 데이터 링크 및 라우터 정보를 무시
    • 신뢰성이 없는 데이터 전송

데이터그램

  1. 버젼 (4비트) : IP version 식별 번호
  2. 헤더길이 (4비트) : 20 ~ 60 bytes
    • 5 : 20 bytes
    • 15 : 60 bytes
    • (1 word = 4 bytes)
  3. 서비스 유형(8 비트) : QoS
    • 3 개 비트 : 우선순위
    • 4 개 비트 : 서비스 유형
      • 0000 : 기본
      • 0001 : 비용 최소
      • 0010 : 신뢰성 최대
      • 0100 : 처리량 최대
      • 1000 : 지연 최소
    • 1 개 비트 : 사용하지 않음
  4. 전체 길이 (16 비트) : 데이터그램 길이
  5. 식별자 (16 비트) : 데이터그램이 단편되었을 때 각 단편은 동일한 식별자를 가짐
  6. 플래그 (3 비트)
    • 1 개 비트 : 사용하지 않음
    • 1 개 비트 (DF)
      • 1 : More Fragment
      • 0 : Fragment
    • 1 개 비트 (MF)
      • 1 : More Fragmetn
      • 0 : 마지막 단편, 유일한 단편
  7. 단편 오프셋(13 비트) :
    메세지가 단편 되었을 때 데이터 그램 내의 데이터가 원래 메세지의 어느 위치에 있었는지 나타냄
  8. TTL (8bit) : Time To Live
    • 데이터그램이 폐기되기 전까지 활동 기간
    • 거쳐야 하는 최대 라우터 수를 나타내는데, 보통 두 호스트 사이의 라우터 수의 두 배로 설정함.
    • 라우터를 지날 때마다 1 씩 감소
    • 0이 되면 폐기됨.
  9. 프로토콜 (8 비트)
    • 상위계층 프로토콜 식별
      • '1' : ICMP
      • '6' : TCP
      • '17' : UDP
  10. 헤더 검사 합(16 비트)
    • 헤더만의 검사합

IP 단편화 (Fragmentation)

  • IP 데이터그램의 분할
  • MTU (Maximum Transfer Unit)
    • 네트워크 링크에서 허용하는 프레임당 데이터의 최대 길이
      • Ethernet LAN : MTU = 1,500 byte
      • CCITT X.25 : MTU = 128 byte
  • IP 데이터그램은 전송 중 각 네트워크의 MTU에 적합한 크기로 분할되었다가
    목적지 호스트에서 각 fragment들을 재조립함.

인터넷상에서의 라우팅

Routing

  • IP 데이터그램이 목적지 호스트까지 진행하면서 경유할 경로를 결정하는 것
  • 비교
    • IP :
      송신자, 수신자 그리고 그 사이의 경로 상에 있는 모든 라우터들이 IP 데이터그램 전달에 관여
    • TCP :
      송신자와 수신자만 TCP 세그먼트 전달에 관여

라우팅

라우팅 테이블

  • 호스트는 자신의 물리적 네트워크에 연결된 라우터에 대한 정보를 자신의 라우팅 테이블에 관리함

동일한 물리적 네트워크에서의 데이터그램 전송

다른 물리적 네트워크에서의 데이터그램 전송


요약

  1. TCP/IP는 OSI(Open System Interconnection) 모델이 제정되기 전에 개발된 DoD 모델에 기반하여 여러 프로토콜 집합으로 구성.
  2. TCP/IP 구조의 특징은
    연결형(connection-oriented)과 비연결형(connectionless) 서비스 제공, 패킷 교환, 동적 경로 할장, 공톨의 응용 프로그램 제공임.
  3. TCP/IP 프로토콜을 이용한 인터넷에서는 물리(링크)주소, 인터넷(IP) 주소, 포트 주소가 있으며
    인터넷 주소는 32비트로 구성되며 클래스 A, B, C, D, E로 나눈다.
  4. IP(Internet Protocol)는 TCP/IP의 인터넷 계층에서 동작하고, 네트워크 계층의 투명성을 제공함으로써
    송신자 호스트는 각 데이터그램이 수신자 호스트에 도착하기 위해 경유해야 하는 데이터 링크 및 라우터에 관한 물리적 세부 사항을 알지 못해도 인터넷 상에서 데이터 그램을 전송할 수 있도록 해 준다.
  5. 비연결 서비스는 각각의 패킷을 독립적으로 전송하기 때문에 서로 다른 경로를 통하여 전달될 수 있으므로 신뢰성을 보장할 수 없다.
  6. 데이터그램(datagram)은 IP 계층의 패킷으로 가변길이를 가지며 헤더와 데이터 부분으로 구성된다.
  7. IP 단편화는 데이터그램이 송신자로부터 수신자까지의 중간 네트워크를 경유할 대마다 각 중간 네트워크의 MTU에 적합한 세그먼트로 분할되는 것을 말한다.
  8. 라우팅(routing)은 IP 데이터그램이 목적지 호스트까지 진행하면서 경유할 경로를 결정하는 것으로
    전송 계층 프로토콜은 송신자와 수신자 호스트만이 TCP 세그먼트 전달에 관여하는 데 반해,
    네트워크 계층 프로토콜은 송신자, 수신자 및 송신자와 수신자 호스트의 경로 상에 있는 모든 라우터들이 IP 데이터그램 전달에 관여함.

 

출처 : 방송통신대 강의 자료실 정보통신망 강의록

 
728x90
반응형

'Computer Science > Network' 카테고리의 다른 글

LAN; 근거리 통신망 - II  (0) 2022.06.12
LAN; 근거리 통신망 - I  (0) 2022.06.12
TCP/IP - III  (0) 2022.06.12
TCP/IP - II  (0) 2022.06.12
OSI 참조 모델  (0) 2022.05.02

ISO및 CCITT에서 권고하는 개방형 시스템 상호 접속 (OSI:Open System Interconnection)을 위한 참조 모델(reference model)
OSI 참조 모델은 컴퓨터 통신망 구조의 기본 모델이며 7계층으로 구성되어 있다

주요 용어

  • OSI 모델 :
    서로 개방되어 있는 시스템 간에 정보를 교환하기 위한 표준
  • 캡슐화 :
    데이터에 각 계층의 제어정보를 추가하는 것
  • 역캡슐화 :
    캡술화의 반대 개념으로 최하위 물리 계틍에서 퇴상위 응용 계틍까지 데이터 전달에서 각 계층의 제어정보를 제거하는 것
  • CASE :
    공통 응용 서비스 요소로 응용에 무관하게 개방 시스템 접속을 위한 방법 제공

OSI 참조 모델의 개요

OSI 참조 모델의 목적

  • ISO 7498 (198년)
    HW/SW 관계없이 서로 다른, 개방되어 있는 시스템 간에 통신을 용이하게 하는 데 목적
  • 개방형 시스템의 상호접속을 위한 참조 모델
  • 이기종(heterogeneous) 시스템간의 통신이 가능하도록
  • 개방(형) 시스템 : 적용 가능한 표준을 상호 인정하고 지원

OSI의 계층

  • 7계층 OSI 참조 모델
    • 응용 계층 (Application Layer)
    • 표현 계층 (Presentation Layer)
    • 세션 계층 (Session Layer)
    • 전송 계층 (Transport Layer)
    • 네트워트 계층 (Network Layer)
    • 데이터링크 계층 (Data Link Layer)
    • 물리 계층 (Physical Layer)
  • 중계 개방 시스템을 갖는 계층
    • 네트워크
    • 데이터링크
    • 물리

계층의 분리원칙

  1. 너무 많은 계층으로 분리함으로써 각 계층에 대한 설명과 이들에 대한 조합이 필요 이상으로 많지 않아야 한다.
  2. 서비스의 양이 적고 최소의 상호 작용이 일어나도록 경계를 정해야 한다.
  3. 수행하는 일의 측면에서나 필요로 하는 기술의 측면에 있어서 명백히 서로 다른 기능들을 다룰 수 있도록 계층을 설정한다.
  4. 비슷한 기능들은 같은 계층에 존재하도록 한다.
  5. 과거의 경험에 의해 성공적이라 판단되는 곳에 경계를 설정한다.
  6. 쉽게 세분화되는 기능을 하나의 계층으로 한다.
  7. 필요한 경우 표준화된 인터페이스를 가질 수 있는 곳에 경계를 설정한다.
  8. 데이터에 대한 조작, 즉 구문(syntax), 의미(semantic) 등의 추상적 개념에 대해 서로 다른 수준을 필요로 하는 곳에서 계층을 설정한다.
  9. 각 계층은 단지 상위 계층과 하위 계층에 경계를 갖도록 한다. 즉, 다른 계층과는 전혀 무관하도록 한다.

각 계층이 필요한 이유

  • 물리 계층 :
    종단 간을 연결 하려면 다양한 물리적 매체를 사용하는 구조가 필요
  • 데이터링크 계층 :
    전화회선, 광섬유 등 물리적 통신 매체를 사용할 결루에 서로 다른 데이터링크 제어 절차가 필요함
  • 네트워트 계층 :
    전송주체(송/수신자) 사이에 중간 노드가 있는 경우에도 전송 주체 간의 연결 통로(네트워크 연결)를 제공해야 함
  • 전송 계층 :
    발신지 시스템에서 목적지 시스템까지의 신뢰성 있는 데이터 이동을 제어할 필요가 있음
  • 세션 계층 :
    대화를 조직하고 동기화하거나 데이터 교환을 관리할 필요가 있음
  • 표현 계층 :
    응용 프로그램의 구조화된 데이터를 표현하고 조정하는 기능이 필요함
  • 응용 계층 :
    응용 프로그램을 위한 프로토콜을 함께 관리할 필요가 있음

캡슐화

데이터에 각 계층의 제어정보를 추가하는 것
Service Data Unit + Protocol Control Information => Protocol Data Unit
SDU + PCI = PDU

  • 응용 계층 : Data
  • 표현 계층 : APDU
  • 세션 계층 : PPDU
  • 네트워트 계층 : SPDU
  • 전송 계층 : TPDU
  • 데이터링크 계층 : NPDU
  • 물리 계층 : DLPDU

각 계층의 목적 및 기능

응용 계층

  • 기본적인 서비스
    • 각 사용자에게 속하는 서비스
    • 각 응용에 속하는 서비스 요소
    • 공통 응용 서비스 요소
  • CASE(Common Application Service Element) :
    응용에 무관하게 개방 시스템 접속을 위한 방법 제공
  • 응용 계층의 기능
    • 응용 계층 기능들의 그룹화
    • 응용 프로세스 관리
    • 시스템 관리
    • 응용계층 관리

표현 계층

  • 응용 계층과 세션 계층 사이
  • 목적 : 응용체들 사이의 데이터 교환
    • 응용체들이 통신하거나 참조할 수 있도록 정보를 표현하는 기능을 제공
    1. 응용체간에 교환되어야 할 데이터를 표현
    2. 응용체들의 총신에서 참조할 수 있는 데이터 구조를 표현
  • 구문독립성 (syntac independence) 제공
    • 표현 계층은 데이터가 표현되는 구문(syntax)에만 관계하며, 응요 계층과 관계있는 의미(semantics)와는 무관
    1. 구문 변환(syntax transformation) :
      코드와 글자의 변환, 데이터 구조의 변환, 데이터 구조에 대한 연산의 결정등
    2. 구문 선택(syntax selection) :
      초기에 알맞는 구문을 선택하고 선택한 구문을 수정하는 것을 포함
  • 표현 계층의 기능
    • 구문의 변환
    • 구문의 절충
    • 주소지정과 다중화
    • 표현 계층 관리

세션 계층

  • 표현 계층과 전송 계층의 사이
  • 목적 : 표현체들 사이의 데이터 교환
    • 표현 계층들의 대화(dialogue) 세션의 형성과 동기, 정상적인 데이터의 교환
  • 세션 계층의 기능
    • 세션 연결 설정 (end-to-end 세션 연결 구성)
    • 정상적인 데이터 통신 (흐름 제어 등 포함)
    • 세션 연결 해제
    • 신속 데이터 (expedite data) 전송
    • 세션 연결 복구
    • 세션 계층 관리

전송 계층

  • 세션 계층과 네트워크 계층의 사이
  • 목적 : 세션 계층들 사이의 데이터 교환
    • 세션을 갖고 있는 두 이용자 사이의 정확한 데이터 전송 서비스를 제공
  • end-to-end message delivery
  • 가능한 네트워크 서비스를 최대로 이용하여 최소의 경비로 각 세션 계층의 요구 사항을 수행
  • 전송 계층의 기능
    • 주소 변환 (전송 주소를 네트워크 주소로 변환)
    • end-to-end 전송 연결 구성
    • 다중화와 분리(splitting)
    • 전송 연결의 설정과 해제
    • 각각의 연결에 대해서 양 종단간의
      • 순서제어, 오류 검출, 오류 복구, 흐름 제어
      • segmenting, blocking, concatenation
    • 신속 데이터 전송
    • 전송 계층 관리

네트워트 계층

  • 전송 계틍과 데이터 링크 계층 사이
  • 목적 : 전송체들 사이의 데이터 교환
    • 라우팅(routing) 전략을 사용하여 데이터를 송신지 컴퓨터로부터 여러 네트워크를 거쳐 수신지 컴퓨터까지 전달
  • 네트워크 계층의 기능
    • 경로선택과 중계(routing and relaying)
    • 네트워크 연결(network connection)
    • 네트워크 연결의 다중화
    • 세그멘팅과 블로킹
    • 오류 검출 및 오류 통보
    • 순서 냐열(sequencing)
    • 흐름제어
    • 신속 데이터 전송 서비스
    • 네트워크 계층 관리

데이터링크 계층

  • 네트워크 계층과 물리 계층의 사이
  • 목적 : 네트워크체들 사이의 데이터 교환
    • 네트워크체들 사이에 데이터링크 연결을 설정, 유지, 해제하여 데이터(데이터링크 SDU)를 교환
    • node-to-node delivery
  • 데이터링크 계층의 기능
    • 데이터링크 연결의 설정 및 해제
      • node-to-node 데이터링크 연결 구성
    • 데이터 링크 SDU의 전송
    • 네트워크 연결 종단 확인명 제공
    • 순서나열(sequencing)
    • 오류 검출, 오류 복구 및 오류 통보
    • 흐름 제어
    • 데이터 링크 계층의 관리

물리 계층

  • 데이터링크 계층 아래
  • 목적 : 데이터링크체들 사이의 데이터 교환
    • 물리적 연결의 설정, 유지, 해제를 통해 하나의 노드에서 다음 노드까지 각 비트를 전송
  • 물리 계층의 기능
    • 물리적 연결(physical connection) : 물리적 매체와의 인터페이스
    • 물리적 서비스 데이터(PSDU)의 전송 : 비트의 복호화 및 부호화, 비트 전송 속도, 비트 동기화
    • 물리적 연결 종단 확인명(endpoint identifier) 제공
    • 물리 계층 관리

요약

  1. OSI 모델의 목적은 특정 시스템의 하드웨어나 소프트웨어에 관계 없이 서로 다른 시스템 간에 통신을 용이하게 하는 것.
  2. OSI의 참조 모델은 7개의 계층으로 구성됨.
    응용, 표현, 세션, 전송, 네트워크, 데이터링크, 물리
  3. OSI 참조 모델에서 계층화란 계층과 계층을 구문하는 것으로 경계가 어디서 어떻게 이루어져야 하는 지 등에 관한 일반적인 원틱을 따름.
    이 원칙이란 크게 보면 컴퓨터과학에서 사용해오는 체계적인 접근방법에서 중요시하는 원칙임.
    System approach : modular design, component-based design, object-oriented design
  4. 캡슐화란 전송하고자 하는 데이터에 해당 계층의 제어정보를 추가하는 것임.
    이때 전송하고자 하는 데이터는 SDU(Service Data Unit)이라 하고, 제어정보는 PCI(Protocol Control Information), SDU에서 PCI를 추가한 데이터를 PDU(Protocol Data Unit)라고 부름.
  5. 응용 계층은 사용자에게 OSI 모델로서의 액세스와 분산정보 서비스를 제공함.
  6. 표현 계층은 데이터의 표현상에 존재하는 상이점으로부터 응용 프로세스에 독립성을 제공함.
  7. 세션 계층은 응용 간의 통신을 위한 제어구조를 제공하며, 서로 연관된 응용 간의 접속을 설정, 유지, 종결함.
  8. 전송 계층은 종점 간의 신뢰성 있고 투명한 데이터 전송을 제공, 두 종점 간 오류 복구와 흐름제어를 제공함.
  9. 네트워크 계층은 시스템 간을 연결하는 데이터 전송과 교환기법으로부터의 독립성을 유지하여 상위 계층에 제공하며, 접속의 설정, 유지, 종결의 책임을 짐.
  10. 데이터링크 계층은 물리적 링크 간의 신뢰성 있는 정보 전송을 제공하며, 필요한 동기화, 오류제어, 흐름제어를 담당, 데이터의 블록을 전송함.
  11. 물리 계층은 물리적 전송매체상의 비트 스트림 전송에 관한 기능을 담당함. 물리적 전송매체에 접속하기 위한 기계적 / 전기적 / 절차적 특성을 취급함.

 

출처 : 방송통신대 강의 자료실 정보통신망 강의록

 
728x90
반응형

'Computer Science > Network' 카테고리의 다른 글

LAN; 근거리 통신망 - II  (0) 2022.06.12
LAN; 근거리 통신망 - I  (0) 2022.06.12
TCP/IP - III  (0) 2022.06.12
TCP/IP - II  (0) 2022.06.12
TCP/IP - I  (0) 2022.06.12

+ Recent posts