프로토콜 편집하기

이동: 둘러보기, 검색

경고: 로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다. 로그인하거나 계정을 생성하면 편집자가 아이디(ID)으로 기록되고, 다른 장점도 있습니다.

편집을 되돌릴 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 저장해주세요.
최신판 당신의 편집
1번째 줄: 1번째 줄:
 
'''프로토콜'''(protocol)이란 표준화된 절차를 서술한 규칙의 체계를 말하는 것으로, '''규약'''(規約)이라고도 한다. 일반적으로 통신 프로토콜을 의미한다. 통신 프로토콜은 [[네트워크]]상 통신 회선을 통해 컴퓨터, 단말기와 같은 시스템 간에 내부적으로 통신, 접속하기 위하여 정보, 자료, 메시지 등을 주고받는 프로토콜이다.<ref name=“프로토콜”>밤공기후하후하, 〈[https://m.blog.naver.com/PostView.nhn?blogId=on21life&logNo=221509574568&proxyReferer=https:%2F%2Fwww.google.com%2F 프로토콜 – Protocol 이란 무엇인가]〉, 《네이버 블로그》, 2019-04-09</ref>
 
'''프로토콜'''(protocol)이란 표준화된 절차를 서술한 규칙의 체계를 말하는 것으로, '''규약'''(規約)이라고도 한다. 일반적으로 통신 프로토콜을 의미한다. 통신 프로토콜은 [[네트워크]]상 통신 회선을 통해 컴퓨터, 단말기와 같은 시스템 간에 내부적으로 통신, 접속하기 위하여 정보, 자료, 메시지 등을 주고받는 프로토콜이다.<ref name=“프로토콜”>밤공기후하후하, 〈[https://m.blog.naver.com/PostView.nhn?blogId=on21life&logNo=221509574568&proxyReferer=https:%2F%2Fwww.google.com%2F 프로토콜 – Protocol 이란 무엇인가]〉, 《네이버 블로그》, 2019-04-09</ref>
  
{{:인터넷 배너}}
+
==개요==
 
 
== 개요 ==
 
 
공통의 [[데이터]] 교환 방법 및 순서에 대해 정의한 의사소통 약속, 규약 혹은 규칙 체계를 말한다. 프로토콜 종류는 여러 가지가 있지만, 일반적으로 프로토콜을 이야기 할 때는 통신 프로토콜을 의미한다. 통신 프로토콜 또는 통신 규약은 [[컴퓨터]]나 원거리 통신 장비 사이에서 메시지를 주고받는 양식과 규칙의 체계를 뜻한다. 신호 체계, 인증, 오류 감지 및 수정 기능 등을 포함할 수 있다. 비단 언어뿐만이 아니라, 데이터가 어떤 과정과 절차를 통해 송신했는지, 수신측에서는 어떻게 원래의 데이터로 복구할 수 있는지와 같은 약속도 포함된다.<ref name=“탕구리”>탕탕탕구리, 〈[https://real-dongsoo7.tistory.com/81 프로토콜(Protocol) 그래서 그게 뭔데?]〉, 《티스토리》, 2019-03-15</ref> 프로토콜을 정의하는 기관으로는 [[IEEE]](Institute of Electrical Electronic Engineers), [[ISO]](International Organization standardization), [[EIA]](Electronic Industries Organization) 등이 있다. 프로토콜은 통신을 위한 물리적, [[소프트웨어]]적 등 여러 가지 조건을 취하여 결정한다. 동일한 통신망에 연결되어 있더라도, 같은 프로토콜을 이용하는 컴퓨터들 사이에만 통신할 수 있다. 컴퓨터끼리 혹은 컴퓨터와 단말기 사이의 정보 교환이 필요한 경우, 상호 간에 접속되어 정보의 오류를 없애거나 최소화함으로써 정보를 원활하게 교환하게 해주는 여러 가지 통신 규칙과 방법의 집합이고, 상호 간에 이해할 수 있는 의미 내용을 신뢰성이 유지되도록 표현하는 형식이다. 이기종간의 정보통신을 하려면, 표준 프로토콜을 설정하여 통신망을 구축해야 한다. 단순한 메시지 전송이 아닌, 다른 노드 안에 있는 복수의 [[프로세스]]끼리 파일이나 [[데이터베이스]] 등에 대한 접근이나 처리 신청 등 통신기능을 실현하려면, 각종 제어정보 수수에 관한 약속을 사전에 엄밀히 하려면 프로토콜을 사용해야 한다.<ref name=“프로토콜”></ref> 프로토콜의 구성 요소에는 구문(syntax), 의미(sematic), 타이밍(timing)이 있다. 구문은 데이터를 어떻게 구성할 지에 대한 형식, 구체적인 [[코딩]] 방법, 신호 레벨 등에 대한 형식을 규정한다. 의미는 데이터에 대하여 구체적으로 어떻게 제어할 것인지에 대한 처리 방법과 오류가 발생했을 때 어떻게 처리할 것인가에 대한 정보를 포함한다. 타이밍은 통신이 이루어질 때 데이터를 주고받을 속도에 대한 조절과, 여러 데이터가 동시에 통신을 해야 할 경우 순서 관리를 위한 기법을 포함한다.<ref name=“탕구리”></ref>
 
공통의 [[데이터]] 교환 방법 및 순서에 대해 정의한 의사소통 약속, 규약 혹은 규칙 체계를 말한다. 프로토콜 종류는 여러 가지가 있지만, 일반적으로 프로토콜을 이야기 할 때는 통신 프로토콜을 의미한다. 통신 프로토콜 또는 통신 규약은 [[컴퓨터]]나 원거리 통신 장비 사이에서 메시지를 주고받는 양식과 규칙의 체계를 뜻한다. 신호 체계, 인증, 오류 감지 및 수정 기능 등을 포함할 수 있다. 비단 언어뿐만이 아니라, 데이터가 어떤 과정과 절차를 통해 송신했는지, 수신측에서는 어떻게 원래의 데이터로 복구할 수 있는지와 같은 약속도 포함된다.<ref name=“탕구리”>탕탕탕구리, 〈[https://real-dongsoo7.tistory.com/81 프로토콜(Protocol) 그래서 그게 뭔데?]〉, 《티스토리》, 2019-03-15</ref> 프로토콜을 정의하는 기관으로는 [[IEEE]](Institute of Electrical Electronic Engineers), [[ISO]](International Organization standardization), [[EIA]](Electronic Industries Organization) 등이 있다. 프로토콜은 통신을 위한 물리적, [[소프트웨어]]적 등 여러 가지 조건을 취하여 결정한다. 동일한 통신망에 연결되어 있더라도, 같은 프로토콜을 이용하는 컴퓨터들 사이에만 통신할 수 있다. 컴퓨터끼리 혹은 컴퓨터와 단말기 사이의 정보 교환이 필요한 경우, 상호 간에 접속되어 정보의 오류를 없애거나 최소화함으로써 정보를 원활하게 교환하게 해주는 여러 가지 통신 규칙과 방법의 집합이고, 상호 간에 이해할 수 있는 의미 내용을 신뢰성이 유지되도록 표현하는 형식이다. 이기종간의 정보통신을 하려면, 표준 프로토콜을 설정하여 통신망을 구축해야 한다. 단순한 메시지 전송이 아닌, 다른 노드 안에 있는 복수의 [[프로세스]]끼리 파일이나 [[데이터베이스]] 등에 대한 접근이나 처리 신청 등 통신기능을 실현하려면, 각종 제어정보 수수에 관한 약속을 사전에 엄밀히 하려면 프로토콜을 사용해야 한다.<ref name=“프로토콜”></ref> 프로토콜의 구성 요소에는 구문(syntax), 의미(sematic), 타이밍(timing)이 있다. 구문은 데이터를 어떻게 구성할 지에 대한 형식, 구체적인 [[코딩]] 방법, 신호 레벨 등에 대한 형식을 규정한다. 의미는 데이터에 대하여 구체적으로 어떻게 제어할 것인지에 대한 처리 방법과 오류가 발생했을 때 어떻게 처리할 것인가에 대한 정보를 포함한다. 타이밍은 통신이 이루어질 때 데이터를 주고받을 속도에 대한 조절과, 여러 데이터가 동시에 통신을 해야 할 경우 순서 관리를 위한 기법을 포함한다.<ref name=“탕구리”></ref>
  
== 특징 ==
+
==특징==
[[네트워크]]는 여러 가지 [[계층]]으로 나누어져 있고, 각 계층마다 프로토콜이 하는 기능이 다른데, 계층적 역할의 관점에서 보면 물리적인 역할을 하는 측면과, 논리적인 역할을 하는 측면 두 가지로 볼 수 있다. 물리적 측면에서 프로토콜은 자료 전송에 쓰이는 전송 매체, 접속용 단자 및 전송신호, 회신규격 등을 말한다. 논리적 측면에서의 프로토콜은 프레임의 구성, 프레임 안에 있는 각 항목의 뜻과 기능, 자료 전송의 절차 등을 담는다. 논리적인 측면에서의 프로토콜은 폐쇄적인 프로토콜과 공개된 범용 프로토콜로 나눌 수 있다. 폐쇄적인 프로토콜은 각 기업의 장치들끼리 통신하기 위한 독자적인 통신 규약이며, 자세한 규격이 공개되어 있지 않아, [[크래킹]] 위협에 상대적으로 안전하다. 공개된 범용 프로토콜은 여러 장치에 쓰이는 널리 알려진 규격이며, 규격이 널리 공개되어 있어, 컴퓨터와 네트워크 크래킹에 취약한 편이다.<ref name=“탕구리”></ref> 같은 프로토콜을 사용하면 기종이나 모델이 달라도 컴퓨터 상호 간에 통신할 수 있게 되고, 각각의 컴퓨터상에서 다른 프로그램을 사용하고 있더라도 컴퓨터 사이에서 데이터의 의미를 일치시켜 프로그램을 동작시킬 수 있게 된다. 예전에는 각국의 각 기업에서 독자적인 프로토콜을 만들었지만, 타사 혹은 타국과의 통신이 어려워지면서, 국제적으로 프로토콜의 표준화가 시도되었다. ISO에서 개방형 [[시스템]] 간 상호접속(OSI)에 관하여 7계층으로 나눈 프로토콜을 검토하였다.<ref name=“프로토콜”></ref> 특성에 따라 직접 프로토콜과 간접 프로토콜, 단일체 프로토콜과 구조적  프로토콜, 대칭 프로토콜과 비대칭 프로토콜 등이 있다.
+
네트워크는 여러 가지 계층으로 나누어져 있고, 각 계층마다 프로토콜이 하는 기능이 다른데, 계층적 역할의 관점에서 보면 물리적인 역할을 하는 측면과, 논리적인 역할을 하는 측면 두 가지로 볼 수 있다. 물리적 측면에서 프로토콜은 자료 전송에 쓰이는 전송 매체, 접속용 단자 및 전송신호, 회신규격 등을 말한다. 논리적 측면에서의 프로토콜은 프레임의 구성, 프레임 안에 있는 각 항목의 뜻과 기능, 자료 전송의 절차 등을 담는다. 논리적인 측면에서의 프로토콜은 폐쇄적인 프로토콜과 공개된 범용 프로토콜로 나눌 수 있다. 폐쇄적인 프로토콜은 각 기업의 장치들끼리 통신하기 위한 독자적인 통신 규약이며, 자세한 규격이 공개되어 있지 않아, [[크래킹]] 위협에 상대적으로 안전하다. 공개된 범용 프로토콜은 여러 장치에 쓰이는 널리 알려진 규격이며, 규격이 널리 공개되어 있어, 컴퓨터와 네트워크 크래킹에 취약한 편이다.<ref name=“탕구리”></ref> 같은 프로토콜을 사용하면 기종이나 모델이 달라도 컴퓨터 상호 간에 통신할 수 있게 되고, 각각의 컴퓨터상에서 다른 프로그램을 사용하고 있더라도 컴퓨터 사이에서 데이터의 의미를 일치시켜 프로그램을 동작시킬 수 있게 된다. 예전에는 각국의 각 기업에서 독자적인 프로토콜을 만들었지만, 타사 혹은 타국과의 통신이 어려워지면서, 국제적으로 프로토콜의 표준화가 시도되었다. ISO에서 개방형 [[시스템]] 간 상호접속(OSI)에 관하여 7계층으로 나눈 프로토콜을 검토하였다.<ref name=“프로토콜”></ref> 특성에 따라 직접 프로토콜과 간접 프로토콜, 단일체 프로토콜과 구조적  프로토콜, 대칭 프로토콜과 비대칭 프로토콜 등이 있다.
  
== 기능 ==
+
==기능==
 
*주소설정(Addressing): 통신을 하려면 통신의 대상이 누구인지를 알아야 데이터를 전송할 수 있다. 프로토콜에는 각 전송 계층에 맞는 주소를 지정하는 기능이 있다.
 
*주소설정(Addressing): 통신을 하려면 통신의 대상이 누구인지를 알아야 데이터를 전송할 수 있다. 프로토콜에는 각 전송 계층에 맞는 주소를 지정하는 기능이 있다.
 
*순서제어(Sequence Control): 데이터가 전송될 때는 프로토콜 데이터 단위(Protocol Data Unit, PDU)를 통해서 하나의 데이터를 여러 개의 각 프로토콜에 맞는 단위로 쪼개어 전송하게 된다. 순서제어란 프로토콜 데이터 단위가 전송될 때 순서를 명시하는 기능이며, 연결 지향형에만 사용한다. 순서를 지정하는 이유는 흐름제어, 혼잡제어, 오류제어를 위해서다. 순서제어에 의해서 정해진 프로토콜 데이터 단위를 수신측에 보내면 순서에 맞게 데이터를 재구성한하고, 오류가 있을 경우 재전송을 요청한다. 해커는 순서가 뒤죽박죽인 패킷을 생성하여 보내, 시스템 과부하를 야기하기도 한다.
 
*순서제어(Sequence Control): 데이터가 전송될 때는 프로토콜 데이터 단위(Protocol Data Unit, PDU)를 통해서 하나의 데이터를 여러 개의 각 프로토콜에 맞는 단위로 쪼개어 전송하게 된다. 순서제어란 프로토콜 데이터 단위가 전송될 때 순서를 명시하는 기능이며, 연결 지향형에만 사용한다. 순서를 지정하는 이유는 흐름제어, 혼잡제어, 오류제어를 위해서다. 순서제어에 의해서 정해진 프로토콜 데이터 단위를 수신측에 보내면 순서에 맞게 데이터를 재구성한하고, 오류가 있을 경우 재전송을 요청한다. 해커는 순서가 뒤죽박죽인 패킷을 생성하여 보내, 시스템 과부하를 야기하기도 한다.
25번째 줄: 23번째 줄:
 
*전송 서비스: 우선순위를 결정하고, 서비스 등급과 보안 요구 등을 제어하는 서비스이다.<ref>홀인원, 〈[https://m.blog.naver.com/PostView.nhn?blogId=shj1126zzang&logNo=220051877155&proxyReferer=https:%2F%2Fwww.google.com%2F (네트워크 실습) 3. 프롵토콜의 기능]〉, 《네이버 블로그》, 2014-07-06</ref>
 
*전송 서비스: 우선순위를 결정하고, 서비스 등급과 보안 요구 등을 제어하는 서비스이다.<ref>홀인원, 〈[https://m.blog.naver.com/PostView.nhn?blogId=shj1126zzang&logNo=220051877155&proxyReferer=https:%2F%2Fwww.google.com%2F (네트워크 실습) 3. 프롵토콜의 기능]〉, 《네이버 블로그》, 2014-07-06</ref>
  
== 계층별 분류 ==
+
==계층별 분류==
 
===OSI 모형===
 
===OSI 모형===
 
프로토콜은 통신 기능의 확장과 새로운 통신 기술, 방식의 도입을 쉽게 만들기 위하여 적절한 기능 단위로 프로토콜 층이라 불리는 계층으로 분할된다. 아키텍처에 따라 다소 다르지만, 기본적으로는 물리적, 전기적 [[인터페이스]], [[노드]] 간의 데이터 전송 등을 규정하는 데이터 전송제어에 관한 계층과 메시지 전송, [[파일]] 전송 가상 단말 기능 등을 규정하는 통신처리에 관한 계층으로 구분하고 있다. OSI 모형은 응용계층, 프레젠테이션 계층, 세션 계층, 네트워크 계층, 데이터 [[링크]] 계층, 물리 계층 총 7개의 층으로 계층화하고 있다. [[OSI 7계층]]을 이해하고 있으면, 해당 계층에 존재하는 프로토콜의 역할을 이해하는 데 도움을 준다. 물리 계층은 데이터 링크 계층의 프레임을 받고, 다음 장치에 구리나 광섬유(케이블) 또는 무선 통신 매체를 통신해 전송하기 위한 신호로 바꾸어준다. 물리적 매체를 통해 비트 단위 데이터를 전송하기 위해 요구되는 기능들을 정의하고, [[USB]] [[케이블]], [[동축 케이블]] 등 두 [[디바이스]] 간의 실제 접속을 위한 기계적, 전기적 특성에 대한 규칙을 정의하는 역할을 한다. 물리적인 기기의 대부분이 해당된다. 데이터링크 계층은 네트워크 계층 패킷 데이터를 물리적 매체에 실어 보내기 위한 계층으로, 포인트 투 포인트 간 신뢰성 있는 전송을 보장하기 위한 계층이다. 신뢰성 있는 전송을 위해 오류 검출 및 회복을 위한 오류 제어 기능을 수행하고, 송수신 측의 속도 차이 해결을 위해 흐름 제어 기능을 수행한다. 프레임 단위의 데이터를 전송하고, 대표적인 프로토콜로는 [[이더넷]](Ethernet), 점대점 프로토콜(Point-to-Point Protocol, PPP), HDLC(High Level Data Link Control), 알로하(ALOHA) 등이 있다. 네트워크 계층은 상위 레벨 데이터를 패킷 안으로 캡슐화하여 데이터 종류에 상관없이 한 호스트에서 다른 호스트로 그 패킷들을 [[라우팅]]한다. 데이터는 패킷 안으로 캡슐화되며, 패킷 헤더는 패킷의 송신지와 수신지 주소들을 포함하는 필드를 가진다. 패킷 단위의 데이터를 전송하고, [[인터넷 프로토콜]](Internet Protocol, IP), 라우팅 정보 프로토콜(Routing Information Protocol, RIP), 주소 결정 프로콜(Address Resolution Protocol, ARP), ICMP(Internet Control Message Protocol) 등의 프로토콜이 있다.
 
프로토콜은 통신 기능의 확장과 새로운 통신 기술, 방식의 도입을 쉽게 만들기 위하여 적절한 기능 단위로 프로토콜 층이라 불리는 계층으로 분할된다. 아키텍처에 따라 다소 다르지만, 기본적으로는 물리적, 전기적 [[인터페이스]], [[노드]] 간의 데이터 전송 등을 규정하는 데이터 전송제어에 관한 계층과 메시지 전송, [[파일]] 전송 가상 단말 기능 등을 규정하는 통신처리에 관한 계층으로 구분하고 있다. OSI 모형은 응용계층, 프레젠테이션 계층, 세션 계층, 네트워크 계층, 데이터 [[링크]] 계층, 물리 계층 총 7개의 층으로 계층화하고 있다. [[OSI 7계층]]을 이해하고 있으면, 해당 계층에 존재하는 프로토콜의 역할을 이해하는 데 도움을 준다. 물리 계층은 데이터 링크 계층의 프레임을 받고, 다음 장치에 구리나 광섬유(케이블) 또는 무선 통신 매체를 통신해 전송하기 위한 신호로 바꾸어준다. 물리적 매체를 통해 비트 단위 데이터를 전송하기 위해 요구되는 기능들을 정의하고, [[USB]] [[케이블]], [[동축 케이블]] 등 두 [[디바이스]] 간의 실제 접속을 위한 기계적, 전기적 특성에 대한 규칙을 정의하는 역할을 한다. 물리적인 기기의 대부분이 해당된다. 데이터링크 계층은 네트워크 계층 패킷 데이터를 물리적 매체에 실어 보내기 위한 계층으로, 포인트 투 포인트 간 신뢰성 있는 전송을 보장하기 위한 계층이다. 신뢰성 있는 전송을 위해 오류 검출 및 회복을 위한 오류 제어 기능을 수행하고, 송수신 측의 속도 차이 해결을 위해 흐름 제어 기능을 수행한다. 프레임 단위의 데이터를 전송하고, 대표적인 프로토콜로는 [[이더넷]](Ethernet), 점대점 프로토콜(Point-to-Point Protocol, PPP), HDLC(High Level Data Link Control), 알로하(ALOHA) 등이 있다. 네트워크 계층은 상위 레벨 데이터를 패킷 안으로 캡슐화하여 데이터 종류에 상관없이 한 호스트에서 다른 호스트로 그 패킷들을 [[라우팅]]한다. 데이터는 패킷 안으로 캡슐화되며, 패킷 헤더는 패킷의 송신지와 수신지 주소들을 포함하는 필드를 가진다. 패킷 단위의 데이터를 전송하고, [[인터넷 프로토콜]](Internet Protocol, IP), 라우팅 정보 프로토콜(Routing Information Protocol, RIP), 주소 결정 프로콜(Address Resolution Protocol, ARP), ICMP(Internet Control Message Protocol) 등의 프로토콜이 있다.
32번째 줄: 30번째 줄:
  
 
===TCP/IP===
 
===TCP/IP===
TCP와 IP는 각각 다른 프로토콜을 뜻하지만 [[TCP/IP]] 프로토콜이라고 쓰여 있을 경우, TCP/IP를 사용하는 프로토콜의 모음으로, 응용 계층, 전송 계층, 네트워크 계층, 링크 계층, 물리 계층 5개의 계층을 가지는 프로토콜을 사용한다는 것을 의미한다. 계층을 나눈 이유는 복잡하고 큰 작업을 각각의 계층을 여러 개의 모듈처럼 생각하여, 여러 개의 작고 단순한 작업들로 나누어 수행할 수 있기 때문이다. 모듈성이 있어, 서비스 구현의 분리, 전문화, 중가 시스템의 통신이 가능하다. 프로토콜을 계층화할 때는 각 계층은 각 방향으로 한 가지씩, 상반되는 두 가지 작업을 수행할 수 있도록 해줘야 한다. 또한 양측의 각 계층에 있는 객체는 서로 동일해야 한다. OSI 모형은 7계층인 반면, TCP/IP는 4계층으로 이루어져 있다. 네트워크 액세스 계층은 OSI 7 계층에서의 물리 계층과 데이터 링크 계층에 해당한다. 물리적인 주소로 [[맥 주소]](Media Control Address, MAC)을 사용하고, 근거리 통신망(LAN), 패킷망 등에 사용된다. 네트워크 액세스 계층에 해당하는 프로토콜은 랜 상인지, 광역 통신망(WAN) 상인지에 따라 다르다. 근거리 통신망의 경우 이더넷, 토큰 링, 점대점 프로토콜 등이 있고, 광역 통신망의 경우 X.25, 프레임 릴레이(Frame Relay), 점대점 프로토콜 등이 있다. 인터넷 계층은 OSI 7계층의 네트워크 계층에 해당하고, 통신 노드 간의 인터넷 프로토콜 패킷을 전송하는 기능과 라우팅 기능을 담당한다. 해당하는 프로토콜로는 인터넷 프로토콜, 주소 결정 프로토콜, 역순 주소 결정 프로토콜(Reverse ARP, RARP), 인터넷 제어 메시지 프로토콜(Internet Control Message Protocol, ICMP), 인터넷 그룹 관리 프로토콜(Internet Group Message Protocol, IGMP), 라우팅 프로토콜인 [[최단경로 우선 프로토콜]](Open Shortest Path First, OSPF), 내부 [[게이트웨이]] 라우팅 프로토콜(Interior Gateway Routing Protocol, IGRP), 향상된 내부 게이트웨이 라우팅 프로토콜(enhanced Interior Gateway Routing Protocol, EIGRP), RIP, [[경계 경로 프로토콜]](Boarder Gateway Protocol, BGP) 등이 있다. 전송 계층은 OSI 7계층의 전송계층에 해당한다. 통신 노드 간의 연결을 제어하고, 신뢰성 있는 데이터 전송을 담당한다. 신뢰성 있는 연결 지향형 프로토콜인 전송 제어 프로토콜과 비신뢰성 비연결형 프로토콜인 사용자 데이터그램 프로토콜이 전송 계층의 프로토콜이다. 응용 계층은 OSI 7계층의 세션 계층, 표현 계층, 응용 계층에 해당하고, 전송 제어 프로토콜과 사용자 데이터그램 프로토콜 기반의 응용 프로그램을 구현할 때 사용된다. 응용 계층  프로토콜에는 HTTP, HTTPS, 파일 전송 프로토콜, 텔넷(Telnet), 간이 전자 우편 전송 프로토콜, 간이 망 관리 프로토콜(Simple Network Management Protocol, SNMP), 포스트 오피스 프로토콜(Post Office Protocol, POP), 시큐어 셸 프로토콜, [[도메인]] 네임 시스템, 직렬 동기 인터페이스(Serial Synchronous Interface, SSI), SSL(Secure Sockets Layer), TLS(Transfer Layter Protocol), 동적 호스트 구성 프로토콜(Dynamic Host Configuration Protocol, DHCP) 등이 있다.<ref>99CORN, 〈[https://hahahoho5915.tistory.com/15 TCP/IP 4계층(TCP/IP 4 Layer)]〉, 《티스토리》, 2015-12-12</ref>
+
TCP와 IP는 각각 다른 프로토콜을 뜻하지만 [[TCP/IP]] 프로토콜이라고 쓰여 있을 경우, TCP/IP를 사용하는 프로토콜의 모음으로, 응용 계층, 전송 계층, 네트워크 계층, 링크 계층, 물리 계층 5개의 계층을 가지는 프로토콜을 사용한다는 것을 의미한다. 계층을 나눈 이유는 복잡하고 큰 작업을 각각의 계층을 여러 개의 모듈처럼 생각하여, 여러 개의 작고 단순한 작업들로 나누어 수행할 수 있기 때문이다. 모듈성이 있어, 서비스 구현의 분리, 전문화, 중가 시스템의 통신이 가능하다. 프로토콜을 계층화할 때는 각 계층은 각 방향으로 한 가지씩, 상반되는 두 가지 작업을 수행할 수 있도록 해줘야 한다. 또한 양측의 각 계층에 있는 객체는 서로 동일해야 한다. OSI 모형은 7계층인 반면, TCP/IP는 4계층으로 이루어져 있다. 네트워크 액세스 계층은 OSI 7 계층에서의 물리 계층과 데이터 링크 계층에 해당한다. 물리적인 주소로 [[맥 주소]](Media Control Address, MAC)을 사용하고, 근거리 통신망(LAN), 패킷망 등에 사용된다. 네트워크 액세스 계층에 해당하는 프로토콜은 랜 상인지, 광역 통신망(WAN) 상인지에 따라 다르다. 근거리 통신망의 경우 이더넷, 토큰 링, 점대점 프로토콜 등이 있고, 광역 통신망의 경우 X.25, 프레임 릴레이(Frame Relay), 점대점 프로토콜 등이 있다. 인터넷 계층은 OSI 7계층의 네트워크 계층에 해당하고, 통신 노드 간의 인터넷 프로토콜 패킷을 전송하는 기능과 라우팅 기능을 담당한다. 해당하는 프로토콜로는 인터넷 프로토콜, 주소 결정 프로토콜, 역순 주소 결정 프로토콜(Reverse ARP, RARP), 인터넷 제어 메시지 프로토콜(Internet Control Message Protocol, ICMP), 인터넷 그룹 관리 프로토콜(Internet Group Message Protocol, IGMP), 라우팅 프로토콜인 [[최단경로 우선 프로토콜]](Open Shortest Path First, OSPF), 내부 [[게이트웨이]] 라우팅 프로토콜(Interior Gateway Routing Protocol, IGRP), 향상된 내부 게이트웨이 라우팅 프로토콜(enhanced Interior Gateway Routing Protocol, EIGRP), RIP, 경계 경로 프로토콜(Boarder Gateway Protocol, BGP) 등이 있다. 전송 계층은 OSI 7계층의 전송계층에 해당한다. 통신 노드 간의 연결을 제어하고, 신뢰성 있는 데이터 전송을 담당한다. 신뢰성 있는 연결 지향형 프로토콜인 전송 제어 프로토콜과 비신뢰성 비연결형 프로토콜인 사용자 데이터그램 프로토콜이 전송 계층의 프로토콜이다. 응용 계층은 OSI 7계층의 세션 계층, 표현 계층, 응용 계층에 해당하고, 전송 제어 프로토콜과 사용자 데이터그램 프로토콜 기반의 응용 프로그램을 구현할 때 사용된다. 응용 계층  프로토콜에는 HTTP, HTTPS, 파일 전송 프로토콜, 텔넷(Telnet), 간이 전자 우편 전송 프로토콜, 간이 망 관리 프로토콜(Simple Network Management Protocol, SNMP), 포스트 오피스 프로토콜(Post Office Protocol, POP), 시큐어 셸 프로토콜, [[도메인]] 네임 시스템, 직렬 동기 인터페이스(Serial Synchronous Interface, SSI), SSL(Secure Sockets Layer), TLS(Transfer Layter Protocol), 동적 호스트 구성 프로토콜(Dynamic Host Configuration Protocol, DHCP) 등이 있다.<ref>99CORN, 〈[https://hahahoho5915.tistory.com/15 TCP/IP 4계층(TCP/IP 4 Layer)]〉, 《티스토리》, 2015-12-12</ref>
  
== 종류 ==
+
==종류==
 
TCP/IP 계층을 기준으로 분류하였다. 이더넷, 토큰링, 점대점 프로토콜, 인터넷 프로토콜, 주소 결정 프로토콜, 역순 주소 결정 프로토콜, 최단경로 우선 프로토콜, 내부 게이트웨이 라우팅 프로토콜, 향상된 내부 게이트웨이 라우팅 프로토콜, 라우팅 정보 프로토콜, 경계 경로 프로토콜, 전송 제어 프로토콜, 사용자 데이터그램 프로토콜, HTTP, HTTPS, 파일 전송 프로토콜, 텔넷, 도메인 네임 시스템, SSL, 동적 호스트 구성 프로토콜 등이 있다.
 
TCP/IP 계층을 기준으로 분류하였다. 이더넷, 토큰링, 점대점 프로토콜, 인터넷 프로토콜, 주소 결정 프로토콜, 역순 주소 결정 프로토콜, 최단경로 우선 프로토콜, 내부 게이트웨이 라우팅 프로토콜, 향상된 내부 게이트웨이 라우팅 프로토콜, 라우팅 정보 프로토콜, 경계 경로 프로토콜, 전송 제어 프로토콜, 사용자 데이터그램 프로토콜, HTTP, HTTPS, 파일 전송 프로토콜, 텔넷, 도메인 네임 시스템, SSL, 동적 호스트 구성 프로토콜 등이 있다.
 
 
===네트워크 액세스 계층===
 
===네트워크 액세스 계층===
 
*'''이더넷''': OSI 7계층에서 데이터 링크 계층을 담당하고 있는 프로토콜로, 물리 계층과 데이터 링크 계층의 통신 회선의 접근 제어를 정의하는 IEEE표준이다. IEEE802.3 규약이 대표적이다. 근거리 통신망(랜)에 사용하기 위해 개발한 기술이지만 802.3 규약으로 표준화한 뒤, 근거리 통신망과 광역 통신망 모두에서 활용 중이다. 이더넷은 네트워크 장치마다 부여하는 맥(mac)주소를 가지고 실제 물리 회선을 통해 프레임을 주고받는 것을 담당한다. CSMA/CD(Carrier Sense Multiple Access with Collision Detection) 논문이 나오면서, 네트워크를 같이 사용하여 발생하는 충돌을 회피하는 방법에 대하여 규정하고 있다. 표준 이더넷은 10Mbps로 64바이트를 필요로 한다.<ref>valuecreator, 〈[https://valueelectronic.tistory.com/89 #1 Ethernet, TCP/IP 프로토콜 총 정리]〉, 《티스토리》, 2019-06-13</ref>
 
*'''이더넷''': OSI 7계층에서 데이터 링크 계층을 담당하고 있는 프로토콜로, 물리 계층과 데이터 링크 계층의 통신 회선의 접근 제어를 정의하는 IEEE표준이다. IEEE802.3 규약이 대표적이다. 근거리 통신망(랜)에 사용하기 위해 개발한 기술이지만 802.3 규약으로 표준화한 뒤, 근거리 통신망과 광역 통신망 모두에서 활용 중이다. 이더넷은 네트워크 장치마다 부여하는 맥(mac)주소를 가지고 실제 물리 회선을 통해 프레임을 주고받는 것을 담당한다. CSMA/CD(Carrier Sense Multiple Access with Collision Detection) 논문이 나오면서, 네트워크를 같이 사용하여 발생하는 충돌을 회피하는 방법에 대하여 규정하고 있다. 표준 이더넷은 10Mbps로 64바이트를 필요로 한다.<ref>valuecreator, 〈[https://valueelectronic.tistory.com/89 #1 Ethernet, TCP/IP 프로토콜 총 정리]〉, 《티스토리》, 2019-06-13</ref>
47번째 줄: 44번째 줄:
 
*'''역순 주소 결정 프로토콜''': 주소 결정 프로토콜과 반대로, 물리 네트워크 주소(맥 주소)를 가지고, [[서버]]로부터 IP주소를 요청하기 위해 사용된다. 주로 디스크가 없는 시스템을 부팅할 경우 사용하고, 요청 장치는 역순 주소 결정 프로토콜의 [[클라이언트]] 프로그램을 수행하여 맥 정보를 담고 있는 역순 주소 결정 프로토콜의 정보를 브로드캐스트로 전송한다. 응답 장치는 역순 주소 결정 프로토콜의 서버 프로그램을 수행하여, 요청자의 IP 주소를 담은 RARP 응답을 유니캐스트로 전송한다.<ref>스윗봉봉, 〈[https://m.blog.naver.com/PostView.nhn?blogId=itexpert2007&logNo=30023946072&proxyReferer=https:%2F%2Fwww.google.com%2F RARP(Reverse Address Resolution Protocol)]〉, 《네이버 블로그》, 2007-11-06</ref>
 
*'''역순 주소 결정 프로토콜''': 주소 결정 프로토콜과 반대로, 물리 네트워크 주소(맥 주소)를 가지고, [[서버]]로부터 IP주소를 요청하기 위해 사용된다. 주로 디스크가 없는 시스템을 부팅할 경우 사용하고, 요청 장치는 역순 주소 결정 프로토콜의 [[클라이언트]] 프로그램을 수행하여 맥 정보를 담고 있는 역순 주소 결정 프로토콜의 정보를 브로드캐스트로 전송한다. 응답 장치는 역순 주소 결정 프로토콜의 서버 프로그램을 수행하여, 요청자의 IP 주소를 담은 RARP 응답을 유니캐스트로 전송한다.<ref>스윗봉봉, 〈[https://m.blog.naver.com/PostView.nhn?blogId=itexpert2007&logNo=30023946072&proxyReferer=https:%2F%2Fwww.google.com%2F RARP(Reverse Address Resolution Protocol)]〉, 《네이버 블로그》, 2007-11-06</ref>
 
*'''최단경로 우선 프로토콜''': 최저 비용을 가지는 경로를 최적 라우팅 경로로 결정하는 방식이다. 가장 대표적인 링크 상태 프로토콜로, 최단 거리 우선 알고리즘(SPF)을 통해 라우팅 테이블을 생성한다. 주로 내부 게이트웨이 프로토콜(Interior Gateway Protocol, IGP)로 대규모 기업망에서 사용된다. 특히 ‘영역’이라는 개념을 사용하여 전체 네트워크를 작은 영역으로 나누어 효율적으로 관리하는 방식을 택한다. 각 영역은 백본영역에 연결되어 있다. 최단경로 우선 프로토콜은 링크 상태에 변화가 있을 경우 즉각적으로 반영해주기 때문에 컨버전스 타임이 매우 빠르다. 헬로 패킷을 송수신하여 이웃 관계를 유지하는데, 헬로 패킷 안에는 DR과 BDR을 선출하기 위한 우선순위 필드가 존재한다. 가변 길이 서브넷 마스크(Variable Length Subnet Mask, VLSM)을 지원하기 때문에 IP 주소를 효율적으로 사용할 수 있고, 라우팅 테이블을 줄일 수 있다.<ref name=“라우팅프로토콜”>무미닝, 〈[https://m.blog.naver.com/PostView.nhn?blogId=seungj1031&logNo=221012340470&proxyReferer=https:%2F%2Fwww.google.com%2F (네트워크) 라우팅 프로토콜 (RIP,OSPF,BGP)]〉, 《네이버 블로그》, 2017-05-23</ref>
 
*'''최단경로 우선 프로토콜''': 최저 비용을 가지는 경로를 최적 라우팅 경로로 결정하는 방식이다. 가장 대표적인 링크 상태 프로토콜로, 최단 거리 우선 알고리즘(SPF)을 통해 라우팅 테이블을 생성한다. 주로 내부 게이트웨이 프로토콜(Interior Gateway Protocol, IGP)로 대규모 기업망에서 사용된다. 특히 ‘영역’이라는 개념을 사용하여 전체 네트워크를 작은 영역으로 나누어 효율적으로 관리하는 방식을 택한다. 각 영역은 백본영역에 연결되어 있다. 최단경로 우선 프로토콜은 링크 상태에 변화가 있을 경우 즉각적으로 반영해주기 때문에 컨버전스 타임이 매우 빠르다. 헬로 패킷을 송수신하여 이웃 관계를 유지하는데, 헬로 패킷 안에는 DR과 BDR을 선출하기 위한 우선순위 필드가 존재한다. 가변 길이 서브넷 마스크(Variable Length Subnet Mask, VLSM)을 지원하기 때문에 IP 주소를 효율적으로 사용할 수 있고, 라우팅 테이블을 줄일 수 있다.<ref name=“라우팅프로토콜”>무미닝, 〈[https://m.blog.naver.com/PostView.nhn?blogId=seungj1031&logNo=221012340470&proxyReferer=https:%2F%2Fwww.google.com%2F (네트워크) 라우팅 프로토콜 (RIP,OSPF,BGP)]〉, 《네이버 블로그》, 2017-05-23</ref>
*'''내부 게이트웨이 라우팅 프로토콜''': 거리백터 라우팅 프로토콜의 하나다. [[시스코]]사에서 만든 프로토콜로, 시스코 라우터만 사용가능하다. 라우팅 테이블은 90초를 주기로 업데이트 한다. 라우팅 정보 프로토콜과 비슷한데, 가장 큰 차이점은 내부 게이트웨이 라우팅 프로토콜은 대역폭(Bandwidth), 지연(Delay), 신뢰성(Reliability), 부하(Load), MTU(Maximum Transmission Unit) 5가지 요인으로 가장 빠른 경로를 찾는 것이다. 라우팅 정보 프로토콜과 또 다른 점은 서브넷 마스크 값이 붙지 않아 가변 길이 서브넷 마스크 지원이 불가능하다는 것이다. 대역폭을 계산할 때 홉 카운트보다는 그 구간의 속도를 계산하여 가장 빠른 경로를 찾는 데 중점을 두고, 대역폭 값과 라우터 포트에 연결되어 있는 회선의 종류에 따라 지연값을 계산해야 한다. 신뢰성은 패킷이 출발지로부터 목적지에 도착하기까지 오류가 발생한 패킷의 비율로, 0~255사이의 정수로 나타낸다. 숫자가 높을수록 신뢰도가 높다. 부하는 출발지와 목적지 상의 경로에 어느 정도의 부하가 걸리고 있는지 측정한 값으로, 1/255~1사이의 값으로 나타내며, 1에 가까울수록 부하가 크다. MTU는 경로의 최대 전송 유닛의 크기를 말한다. 바이트 단위로 표시한다.<ref>Zenis, 〈[https://zenis.tistory.com/entry/IGRP IGRP]〉, 《티스토리》, 2012-09-09</ref>
+
*'''내부 게이트웨이 라우팅 프로토콜'': 거리백터 라우팅 프로토콜의 하나다. [[시스코]]사에서 만든 프로토콜로, 시스코 라우터만 사용가능하다. 라우팅 테이블은 90초를 주기로 업데이트 한다. 라우팅 정보 프로토콜과 비슷한데, 가장 큰 차이점은 내부 게이트웨이 라우팅 프로토콜은 대역폭(Bandwidth), 지연(Delay), 신뢰성(Reliability), 부하(Load), MTU(Maximum Transmission Unit) 5가지 요인으로 가장 빠른 경로를 찾는 것이다. 라우팅 정보 프로토콜과 또 다른 점은 서브넷 마스크 값이 붙지 않아 가변 길이 서브넷 마스크 지원이 불가능하다는 것이다. 대역폭을 계산할 때 홉 카운트보다는 그 구간의 속도를 계산하여 가장 빠른 경로를 찾는 데 중점을 두고, 대역폭 값과 라우터 포트에 연결되어 있는 회선의 종류에 따라 지연값을 계산해야 한다. 신뢰성은 패킷이 출발지로부터 목적지에 도착하기까지 오류가 발생한 패킷의 비율로, 0~255사이의 정수로 나타낸다. 숫자가 높을수록 신뢰도가 높다. 부하는 출발지와 목적지 상의 경로에 어느 정도의 부하가 걸리고 있는지 측정한 값으로, 1/255~1사이의 값으로 나타내며, 1에 가까울수록 부하가 크다. MTU는 경로의 최대 전송 유닛의 크기를 말한다. 바이트 단위로 표시한다.<ref>Zenis, 〈[https://zenis.tistory.com/entry/IGRP IGRP]〉, 《티스토리》, 2012-09-09</ref>
 
*'''향상된 내부 게이트웨이 라우팅 프로토콜''': IGRP와 마찬가지로 시스코사에서 나온 시스코 전용 라우팅 프로토콜이다. 내부 게이트웨이 라우팅 프로토콜의 장점을 최대한 반영해 발전시킨 프로토콜로, 동적 라우팅 프로토콜에 해당한다. 라우팅 정보 프로토콜와 같이 스플릿 호라이즌이 적용되고, 자동 요약(auto-summary)이 사용된다. DUAL(Diffusing Update Algorithm)알고리즘과 최적 경로(Successor)와 후속 경로(Feasible Successor)를 선출하는 방식이다. 매트릭 값이 다른 경로로 부하 분산을 시킬 수 있다는 장점이 있지만, 대규모 네트워크에서 사용하기 어렵다는 단점이 있다.<ref>chwitch, 〈[https://m.blog.naver.com/PostView.nhn?blogId=leech0201&logNo=220702771259&proxyReferer=https:%2F%2Fwww.google.com%2F 9. EIGRP (Advanced Dostance Vector)]〉, 《네이버 블로그》, 2016-05-06</ref>
 
*'''향상된 내부 게이트웨이 라우팅 프로토콜''': IGRP와 마찬가지로 시스코사에서 나온 시스코 전용 라우팅 프로토콜이다. 내부 게이트웨이 라우팅 프로토콜의 장점을 최대한 반영해 발전시킨 프로토콜로, 동적 라우팅 프로토콜에 해당한다. 라우팅 정보 프로토콜와 같이 스플릿 호라이즌이 적용되고, 자동 요약(auto-summary)이 사용된다. DUAL(Diffusing Update Algorithm)알고리즘과 최적 경로(Successor)와 후속 경로(Feasible Successor)를 선출하는 방식이다. 매트릭 값이 다른 경로로 부하 분산을 시킬 수 있다는 장점이 있지만, 대규모 네트워크에서 사용하기 어렵다는 단점이 있다.<ref>chwitch, 〈[https://m.blog.naver.com/PostView.nhn?blogId=leech0201&logNo=220702771259&proxyReferer=https:%2F%2Fwww.google.com%2F 9. EIGRP (Advanced Dostance Vector)]〉, 《네이버 블로그》, 2016-05-06</ref>
 
*'''라우팅 정보 프로토콜''': 최소 홉 카운트를 파악하여 라우팅하는 프로토콜이다. 동적 거리벡터 라우팅 프로토콜로, 라우팅 테이블에 인접 라우터 정보를 저장하여 경로를 결정한다. 최대 홉 카운트는 15로 거리가 짧아 주로 내부용으로 많이 이용하는 프로토콜이다. 직접 연결되어 있는 라우터는 홉으로 계산하지 않고 30초 주기로 인접 라우터로 정보를 전송한다. 4~6개까지 로드 밸런싱이 가능하다는 특징이 있고, 주로 사용자 데이터그램 프로토콜 세그먼트에 캡슐화 되어 사용된다. 단순히 홉의 수를 세어 경로를 결정하는 방식으로, 네트워크 속도는 판단하지 않기 때문에 비효율적인 경로를 사용하게 될 수도 있고, 거리벡터 알고리즘이기 때문에 컨버전스 타임이 느리다는 단점이 있다.
 
*'''라우팅 정보 프로토콜''': 최소 홉 카운트를 파악하여 라우팅하는 프로토콜이다. 동적 거리벡터 라우팅 프로토콜로, 라우팅 테이블에 인접 라우터 정보를 저장하여 경로를 결정한다. 최대 홉 카운트는 15로 거리가 짧아 주로 내부용으로 많이 이용하는 프로토콜이다. 직접 연결되어 있는 라우터는 홉으로 계산하지 않고 30초 주기로 인접 라우터로 정보를 전송한다. 4~6개까지 로드 밸런싱이 가능하다는 특징이 있고, 주로 사용자 데이터그램 프로토콜 세그먼트에 캡슐화 되어 사용된다. 단순히 홉의 수를 세어 경로를 결정하는 방식으로, 네트워크 속도는 판단하지 않기 때문에 비효율적인 경로를 사용하게 될 수도 있고, 거리벡터 알고리즘이기 때문에 컨버전스 타임이 느리다는 단점이 있다.
66번째 줄: 63번째 줄:
 
{{각주}}
 
{{각주}}
  
== 참고자료 ==
+
==참고자료==
 
*밤공기후하후하, 〈[https://m.blog.naver.com/PostView.nhn?blogId=on21life&logNo=221509574568&proxyReferer=https:%2F%2Fwww.google.com%2F 프로토콜 – Protocol 이란 무엇인가]〉, 《네이버 블로그》, 2019-04-09
 
*밤공기후하후하, 〈[https://m.blog.naver.com/PostView.nhn?blogId=on21life&logNo=221509574568&proxyReferer=https:%2F%2Fwww.google.com%2F 프로토콜 – Protocol 이란 무엇인가]〉, 《네이버 블로그》, 2019-04-09
 
*탕탕탕구리, 〈[https://real-dongsoo7.tistory.com/81 프로토콜(Protocol) 그래서 그게 뭔데?]〉, 《티스토리》, 2019-03-15
 
*탕탕탕구리, 〈[https://real-dongsoo7.tistory.com/81 프로토콜(Protocol) 그래서 그게 뭔데?]〉, 《티스토리》, 2019-03-15
103번째 줄: 100번째 줄:
 
* [[DNS]]
 
* [[DNS]]
  
{{인터넷|검토 필요}}
+
{{인터넷|검토필요}}
 +
 
 
[[분류:정보통신]]
 
[[분류:정보통신]]

해시넷에서의 모든 기여는 다른 기여자가 편집, 수정, 삭제할 수 있다는 점을 유의해 주세요. 만약 여기에 동의하지 않는다면, 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다 (자세한 사항은 해시넷:저작권 문서를 보세요). 저작권이 있는 내용을 허가 없이 저장하지 마세요!

취소 | 편집 도움말 (새 창에서 열림)