네트워크 모델
네트워크 모델
프로토콜(Protocol)
통신 개체들 간 성공적으로 메시지를 주고받기 위해 규정한 여러 가지 규칙과 방법의 집합을 프로토콜이라고 한다.
■ 프로토콜의 구성 요소
요소 | 설명 |
구문 (Syntax) | 데이터의 형식이나 신호로서 부호화 방법 등을 정의 |
의미 (Semantic) | 오류제어, 동기제어, 흐름제어 같은 각종 절차에 관한 제어정보 정의 |
순서 (Timing) | 송수신자 간 통신 속도나 순서 등을 정의 |
■ 표준 프로토콜 (Standard Protocol)
* 법률표준 (De jure standard)
- 표준화 기관에서 의사소통이 가능하도록 임의로 만들어내어 입법화한 표준
* 사실표준 (De facto standard)
- 이미 널리 사용되고 있어 사실상 표준으로 채택된 표준
* 프로토콜 스위트 (Protocol Suite) 호스트 간에 성공적인 통신을 위해서는 여러 프로토콜 간의 상호작용이 필요 이렇게 서로 상호작용하는 일련의 프로토콜의 모음을 프로토콜 스위트라고 함 * 프로토콜 스택 (Protocol Stack) 프로토콜 스위트를 물리적으로 구현한 것 여러 프로토콜을 계층적 구조로 표현 장치 내에서 서로 다른 프로토콜 간의 상호작용을 보여줌 |
계층화
■ 계층화의 개념
- 필요한 기능중 유사 기능을 묶어 수직인 계층으로 분할한 것
- 다른 시스템의 동일 계층 간에는 수평인 능력 및 기능을 가짐
- 각 계층은 서로 독립적
- 각 계층은 하위 계층으로 부터 받은 서비스를 이용
- 각 계층은 상위 계층으로 서비스를 제공
■ 계층화 모델
네트워크 통신이 일어나기 위해 다양한 프로토콜들이 어떻게 상호작용하는지 시각화하여 볼 수 있도록 해준다.
- 각 계층 내에서 일어나는 프로토콜의 기능을 정의 한다.
- 상위 계층과 하위 계층 간의 상호작용을 정의한다.
■ 계층화 모델의 장점
① 프로토콜 설계를 도움
② 다른 계층에 영향을 주지 않은 채 특정 영역의 기술을 변경하는 것이 가능
③ 네트워크 기능을 기술할 공통적인 언어의 역할
OSI 참조 모델
OSI 참조 모델은 모든 네트워크 통신에서 발생하는 여러가지 충돌 문제를 완화하기 위해, 국제 표준화기구(ISO)에서 표준화된 네트워크 구조를 제시한 기본 모델이다
- 개방형 시스템을 서로 연결하는 모델 (Open Systems Interconnection)
- 개방형 시스템이란 표준 프로토콜에 따라서 만들어진 시스템으로 제조사 등에 상관없이 어디에나 연결할 수 있는 시스템을 의미
■ 계층의 구성
* 계층 간 데이터 전달
- 캡슐화 (Encapsulation)
· 송신측에서 상위계층의 메시지에 현재계층의 정보를 추가하여 하위계층으로 전달 되는 것
· 헤더(Header)또는 트레일러(Trailer)의 형태로 추가됨
- 메시지 복구 (Decapsulation)
· 수신측에서 전달 받은 메시지를 해체하여 현재계층에서 필요한 데이터를 꺼내고 나머지 부분을 상위계층에 전달하는 것
* 계층 간 인터페이스
- 캡슐화와 복구는 인접한 계층 간의 인터페이스를 통해 이루어짐
- 바로 위의 계층에 제공해야하는 정보와 서비스를 정의
- 각 계층의 기능과 각 계층 간 인터페이스를 잘 정의하면 모듈성을 지닐 수 있음
*모듈성 (Modularity) 하드웨어나 소프트웨어의 구성 요소가 특정한 부분의 교체 없이 쉽게 식별되고 변경되며 확장될 수 있는 정도 |
■ OSI 계층 구조(맨 아래서 부터 1계층)
TCP/IP 계층 구조
■ TCP/IP (Transmission Control Protocol / Internet Protocol)
- TCP와 IP를 중심으로 하여 인터넷을 이용하기 위해 개발된 통신 프로토콜 집합
■ TCP/IP 계층 구조(맨 아래서 부터 1계층)
① 물리 계층
비트열을 통신 매체의 특성에 맞는 전기 신호나 빛의 신호로 변환하여 전달하는 역할
② 데이터링크 계층
전달받은 데이터에 물맂거 주소인 MAC 어드레스 등의 정보를 가지고 있는 헤더를 추가하여 프레임을 구성
* 데이터링크 (Datalink) - 동일한 방법으로 연결된 한 덩어리의 기기, 네트워크의 최소단위라 할 수 있음(Ex. 이더넷, 토큰링 등) - 데이터링크 상의 기기로는 리피터, 허브, 스위치 등이 있음 |
Ethernet | 가장 많이 사용되는 데이터링크로, 네트워크상의 모든 기기에게 신호를 보내며, 해당하는 기기 만 프레임을 주고받도록 할 수 있는 프로토콜 |
PPP (Point to Point Protocol) | 접속할 자격이 있는 사용자인지 아닌지를 사용자 인증을 거쳐 두 지점 간에 일대일 통신을 수행하는 프로토콜 |
SLIP (Serial Line Internet Protocol) | 컴퓨터가 전화선과 같은 직렬 회선을 통해 인터넷에 접속될 수 있도록 개발된 프로토콜 |
③ 인터넷 계층
네트워크 전체에 걸쳐 패킷의 논리적 전송과 관련된 프로토콜을 지정하는 것
- 다수의 네트워크 간에 패킷 라우팅을 처리하여 두 응용 프로그램 간에 통신 흐름을 제어
- 통신 상대를 지정하기 위해 네트워크상에 있는 모든 기기에 IP주소라는 고유의 숫자를 사용
IP (Internet Protocol) | 호스트의 주소를 지정하고 데이터를 전달하는 프로토콜로 신뢰성을 제공하지 않는 비연결형 데이터그램 프로토콜 |
ARP (Address Resolution Protocol) | IP주소는 알고 있으나 MAC주소를 알지 못할 경우 목적지 컴퓨터의 MAC주소를 확인하는 역할을 하는 프로토콜 |
RARP (Reverse Address Resolution Protocol) | ARP와 반대되는 개념의 프로토콜로 MAC주소를 이용하여 IP주소를 알아내기 위해 사용 |
④ 전송 계층
신뢰성 있는 통신과 오류 없는 데이터 전달을 보장하는 기능을 수행하고, 패킷의 순서를 결정
TCP (Transmission Control Protocol) | - 신뢰성 있는 연결지향형 프로토콜로 메일이나 파일전송과 같이 정확한 데이터 전달이 필요한 경우에 사용 - 응용 프로그램으로부터 정보를 받아 세그먼트라는 작은 단위로 분리한 다음, 순서대로 번호를 할당하여 수신측의 프로토콜이 이를 조합하여 완전한 데이터로 결합할 수 있도록 함 |
UDP (User Datagram Protocol) | - 연결 통로를 설정하지 않고 데이터를 일방적으로 전송하는 비연결형 프로토콜 |
⑤ 응용 계층
통신 서비스를 실현하는 곳으로 클라이언트/서버 개념을 갖고 있음
- 응용 헤더에는 서버와 클라이언트가 서비스를 주고받을 때 필요한 정보가 저장됨
- 네트워크를 이용하는 전자 메일, 웹 브라우저, 파일 전송 등이 있음
- 응용을 위해서는 독자적인 통신 처리가 필요한데 이것을 응용 프로토콜이라 함
HTTP (HyperText Transfer Protocol) | - 웹서버와 웹 브라우저 간에 정보를 주고받기 위한 프로토콜 - 하이퍼텍스트(hypertext) 문서를 교환하기 위하여 사용되는 프로토콜 |
FTP (File Transfer Protocol) | - 인터넷상의 한 컴퓨터에서 다른 컴퓨터로 파일을 전송하기 위한 프로토콜 |
Telnet (Telecommunication Network) | - 인터넷을 통하여 원격지에 있는 서버에 연결할 수 있도록 해주는 인터넷 표준 프로토콜 |
SMTP (Simple Mail Transfer Protocol) | - 전자메일 서비스는 메일 서버와 메일 클라이언트의 파일 주고받기로 이루어짐 - 메일 전송 시 사용 |
POP3 (Post Office Protocol v3) | - 전자메일 서비스는 메일 서버와 메일 클라이언트의 파일 주고받기로 이루어짐 - 메일 수신 시 사용 |