[네트워크] TCP/IP 프로토콜

3 분 소요

TCP/IP 프로토콜

TCP/IP 프로토콜은 OSI 기본 참조 모델보다 먼저 개발 되었다.

TCP/IP 프로토콜은 다섯계층으로 이루어져있다. 물리층, 데이터 링크층, 네트워크층, 전송층, 응용층으로 구성되어 있다.

처음 네 계층은 OSI 모델의 네 계층과 일치하는 물리적인 표준, 네트워크 인터페이스, 네트워크 간 상호연결, 그리고 전송 기능을 제공한다. 그러나 OSI 모델의 최상위 세 계층(세션, 표현, 응용)은 TCP/IP에서 응용층이라는 하나의 계층으로 표현된다.

물리층

물리층과 데이터링크층에서 tcp/ip는 특정 프로토콜을 규정하지 않고, 모든 표준과 기술적인 프로토콜을 지원한다.

물리층에서의 통신은 두 홉 또는 노드 간, 컴퓨터나 라우터 간이다. 통신 단위는 단일 비트이다. 두 노드간에 연결이 설정되면, 비트 스트림이 연결을 따라 전달된다.

데이터 링크층

tcp/ip는 데이터 링크층에 대해 특정 프로토콜을 규정하지 않는다. 모든 표준과 프로토콜은 이를 지원한다. 데이터링크에서의 통신은 두 홉이나 노드 간이다.

통신 단위는 프레임이라는 패킷이다. 프레임은 네트워크층으로부터 받은 데이터에 헤더가 더해지고 트레일러가 더해짐으로 캡슐화된 패킷이다. 헤더는 프레임의 발신지와 목적지를 포함한다.

네트워크층

네트워크층에서 tcp/ip는 인터넷 프로토콜(ip)을 지원한다. ip는 3개의 지원 프로토콜(ARP, ICMP, IGMP)를 포함한다.

  • 인터넷 프로토콜(ip: internet protocol) : tcp/ip 프로토콜에서 사용하는 전송 메커니즘이다. 신뢰성이 없는 비연결형 데이터그램 프로토콜로서 오류 검사나 추적을 제공하지 않는 전송 서비스이다. ip는 계층의 신뢰성이 없음을 가정하고 목적지까지 전송이 제대로 이루어지도록 최선을 다하지만 완벽한 보장은 없다. ip는 각기 개별적으로 전송되는 데이터그램이라는 패킷형태는 데이터를 전송한다.
  • 주소변환 프로토콜(ARP: Address Resolution Protocol) : ip주소를 물리적인 주소루 변환해준다. lan과 같은 물리적인 네트워크에서, 링크상의 각 장치는 네트워크 인터페이스 카드의 물리 주소인 로컬 주소에 의해 구분된다. 인터넷 주소를 알고 있을 때 노드의 물리주소를 찾는데 사용된다.
  • 인터넷 제어 메시지 프로토콜(ICMP: Internet Control Message Protocol) : 송신자에게 데이터그램의 문제점을 알려주기 위해 호스트와 게이트웨이가 사용하는 메커니즘. 조회와 오류 보고 메시지를 보낸다.

전송층

tcp/ip에서 전송층은 3개의 프로토콜(tcp, udp, sctp)을 갖는다. ip는 호스트-대-호스트 프로토콜로서 패킷을 하나의 물리적인 장치에서 다른 물리적인 장치로 전달 할 수 있다는 것을 의미한다. tcp, udp, sctp는 하나의 프로세스(실행 중인 프로그램)에서 다른 프로세스로 메시지를 전달하는 기능을 갖는 전송 레벨 프로토콜이다.

  • 사용자 데이터그램 프로토콜(UDP: user datagram protocol) : 표준 tcp/ip 전송 프로토콜보다 단순하다. 이것은 포트 주소, 검사합 오류 제어, 상위 계층으로부터 받은 데이터 길이 정보만 추가한다. 프로세스-대-프로세스 프로토콜이다.
  • 전송 제어 프로토콜(TCP: transmission control protocol) : 응용에 대한 모든 전송층 서비스를 제공한다. tcp는 신뢰성 있는 스트림 전송 프로토콜이다. 연결형으로 데이터를 전송하기 전에 양 종단 간의 연결을 설정해야 한다.
  • 스트림 제어 전송 프로토콜(SCTP: stream control transmission protocol) : tcp와 udp의 장점을 결합한 전송 제어 프로토콜이다.

응용층

osi 모델의 세션, 표햔, 응용층을 합친 것과 같다. 종단 사용자가 직접 눈으로 볼 수 있는 층으로 사용자에 대해서 직접 통신 기능을 제공한다. 사용자가 사설 인터넷이나 글로벌 인터넷에 접근하는 것을 허용한다. 이 계층에는 전자 우편, 파일 전송, 월드 와이드 웹 접속 등의 많은 프로토콜이 규정되어 있다.

응용층은 전송층처럼 종단-대-종단 통신이다.



주소지정

tcp/ip 프로토콜을 이용한 인터넷은 3개의 서로 다른 계층의 주소가 사용된다.

물리주소, 논리주소, 포트주소이다.

1. 물리주소

링크 주소로 잘 알려져 있고 LAN이나 WAN에서 정의된 노드의 주소이다. 데이터 링크층에 의해 사용되는 프레임에 포함된다. 최하위 계층 주소이다.

물리주소는 유니캐스트, 멀티캐스트, 브로드캐스트가 될 수 있다.

2. 논리주소

ip주소라고도 하는 논리 주소는 기존 물리적인 네트워크와는 독립적인 전 세계적인 통신 서비스를 위해 필요하다. 논리주소는 현재 인터넷에 연결된 호스트를 유일하게 식별할 수 있는 32비트 주소체계를 사용한다. 인터넷상의 두 호스트는 동일한 ip주소를 사용할 수 없다.

논리주소는 유니캐스트, 멀티캐스트, 브로드캐스트가 될 수 있다. 브로드캐스트 주소에는 제한이 있다.

3. 포트주소

다량의 데이터를 발신지에서 목적지 호스트까지 전송하기 위해서는 ip 주소와 물리 주소가 필요하다. 그러나 목적지 호스트에 도착하는 것이 인터넷을 통한 데이터 통신의 최종 목적이 아니다. 오늘날 컴퓨터는 여러 개의 프로세스를 동시에 실행할 수 있다. 인터넷 통신의 최종 목적은 한 프로세스가 다른 프로세스와 통시할 수 있도록 하는 것이다. 예를 들면 컴퓨터 a는 telnet을 이용해 컴퓨터 c와 통신할 수 있다. 동시에 컴퓨터 a는 ftp를 이용해 컴퓨터 b와 통신을 한다. 동시에 발생되는 이러한 프로세스들을 위해 서로 다른 프로세스를 식별하는 방법이 필요하다. tcp/ip 구조에서, 프로세스에 할당된 레이블을 포트 주소라고 한다. tcp/ip에서는 포트 주소 길이는 16비트이다.

4. 응용 지정 주소

어떤 응용은 특정 응용을 위해 설계된 사용자에게 친근한 주소를 사용한다. 예를 들어 전자우편 주소와 url이다. 전자우편 주소는 전자우편 수신자 주소를 나타내고, url은 월드 와이드 웹상의 문서를 찾는 데 사용된다.