TCP/IP 구조
TCP/IP 프로토콜의 강력함은 여러 회사에서 나온 광범위한 이종의 장치들이 상호 연동 하도록 할수 있는 능력에서 부분적으로 기인한 것이다. 그러나 많은 장치들을 지원하는 반면, 근본적인 호환성 문제가 대두될 수 있다. 여러 가지 다른 장치들이 연결되기 위해서는 그런 장치들의 소프트웨어와 하드웨어가 호환적이거나, 아니면 복잡한 인터페이스를 통해서 의미 있는 통신이 일어나게 해야 한다. 이런 호환성을 쉽게 하기 위해, 여러 가지 장치를 사용해서 복잡한 네트워크가 구성될 수 있게 하는 네트워크 구조가 개발되어 있다. TCP/IP 프로토콜들로 그와 같은 네트워크 구조가 이루어져 있다. 현대의 컴퓨터 네트워크에서, 데이터 전송 기능은 한 네트워크를 구성하는 여러 가지 장치 안에 있는 복잡한 소프트웨어와 하드웨어들에 의해 수행된다. 이러한 복잡함을 처리하기 위해, 네트워크 장치에서 수행되는 소프트웨어 기능들이 독립적인 기능 계층들로 나누어져 있다. Figure 3.1에 도시한 바와 같이 4개의 소프트웨어 계층을 갖는 계층적 구조는 TCP/IP 프로토콜들로 구성되어 있다. 4 개의 TCP/IP 소프트웨어 계층은 그 계층 아래에서 동작하는 기반 네트워크 하드웨어 위에 구현된다. TCP/IP 기능 계층들 각각의 기능은 이 장의 뒤에서 기술한다. TCP/IP 통신 소프트웨어는 계층별로 나누어져 있어서, 응용 프로그램과 최종 사용자들을 지원하는 최상위 계층에서는 네트워크 통신에 관한 자세한 사항을 다루는 그 하위 계층들에 관한 것들을 알 수 없다. 인터넷의 한 호스트에서 실행되는 응용 프로그램이 다른 호스트에서 실행되는 응용 프로그램과 두 호스트가 바로 연결된 것처럼 용이하게 통신할 수 있는 것은 TCP/IP에 의한 것이다. 통신 프로그램을 실행하는 두 호스트간에 많은 라우터와 물리적인 네트워크들로 구성된 복잡한 인터넷이 있더라도 통신은 매우 간단한 것처럼 보인다. 통신하는 두 호스트는 통신 기능을 수행하기 위해, TCP/IP 구조의 4계층을 구현하는 소프트웨어를 각각 수행한다. | ||||||||||
Figure 3.1 TCP/IP 구조 계층 | ||||||||||
| ||||||||||
| ||||||||||
3.1 네트워크 구조 | ||||||||||
네트워크 구조는 컴퓨터 네트워크를 구성하는 데 사용되는 하드웨어와 소프트웨어의 설계 및 동작에 관한 전반적인 계획과 규칙들의 집합이다. 네트워크 구조는 통신 방법에 관한 통신 프로토콜들의 집합을 정의한다. 컴퓨터 네트워크에 시스템은 일반적으로 TCP/IP와 같은 특정한 네트워크 구조에 맞게 되어 있으며, 일련의 특별한 네트워크 구조에 맞게 되어 있으며, 일련의 특별한 통신 프로토콜들을 사용한다. 많은 이종의 네트워크 구조와 통신 프로토콜 시스템이 현재의 컴퓨터 네트워크에서 사용되고 있다. 다음은 컴퓨터 네트워크 구성에 가장 자주 사용되는 컴퓨터 네트워킹 방안들이다.
| ||||||||||
3.2 통신 프로토콜 | ||||||||||
네트워크 구조는 서로 다른 시스템의 각 계층에서 동작하는 통신 프로토콜(communication protocol)을 정의 하고 있다. 통신 프로토콜은 다른 기계의 같은 계층같에 교환되는 데이터 유니트의 형식을 정의하고, 데이터 유니트가 교환되는 방법에 대해서도 문서화하고 있다. TCP/IP와 같은 계층 구조에서는 특정 계층에서 수행되는 프로토콜의 사용자는 일반적으로 그 바로 위 계층에서 수행되는 프로세스가 된다. 예를 들면, TCP/IP 인터넷 계층에서 실행되는 프로토콜의 사용자는 대개 전달 계층에서 실행되는 프로세스이며, 전달 계층에서 실행되는 프로토콜의 사용자는 대개 응용 계층에서 실행되는 프로세스이다. 응용계층에서 실행되는 프로토콜의 사용자는 대개 통신을 위해 인터넷을 사용하는 응용 프로그램이나 사람이 된다. 인터넷 계층과 전달 계층에서 동작하는 중요한 프로토콜은 기본적인 데이터 전달 서비스를 제공한다. 데이터 전달 서비스를 제공하는 통신 프로토콜은 그 프로토콜의 사용자에게 연결형 서비스 혹은 비 연결형 서비스를 제공한다. 연결형 프로토콜 연결형 프로토콜(connection-oriented protocol)을 구현하는 프로세스는 전화회사에서 제공하는 서비스와 유사한 서비스를 제공한다. 이 프로토콜은 세 단계로 구성된다.
연결형 프로토콜에 있어서 데이터 전달은 항상 통신하는 두 상대가 관련된다, 한 프로세스가 둘 이상의 다른 상대방에게 메시지를 전달하려면 각각에 대해 별도의 연결을 설정해서, 별도의 동작으로 각 상대방에게 메시지를 전달하여야 한다. 연결형 프로토콜에서 연결이 설정될 때에서는 수신측만이 확실하게 식별될 필요가 있다. 데이터를 전달할 때에 충분한 정보가 요구되는 것은 다만, 그 데이터가 관련된 연결을 식별할 때 뿐이다. 연결형 프로토콜은 신뢰성 있고, 순차적인 데이터 전달 서비스를 제공하는 것으로 종종 인식 된다. 연결이 설정되어 있는 동안에 송신자는 각 메시지가 성공적으로 수신되었고, 메시지가 순서대로 수신된 것으로 가정할 수 있다. 무언가 잘못되면 연결은 해제되고, 관련된 두 상대에 연결 해제 사실이 통보된다. 연결은 통신하는 당사자나 프로토콜에 의해 언제든지 해제될 수 있다. 이것은 연결형 프로토콜의 고유한 특성으로서, 관련된 3자가 언제든지 독립적으로 동작에 오류가 있다는 사실에 기인한다. 비연결형 프로토콜 비연결형 프로토콜(connectionless protocol)은 마치 우편 시스템처럼 동작한다. 비연결형 프로토콜을 실행하는 프로세스는 전송을 위한 메시지를 받을 때마다 최선을 다해서 그 메시지를 배달하려고 한다. 이는 우체국에서 주소가 적힌 편지를 받아서 해당하는 수신자에게 배달하려고 하는 것과 같다. 비연결형 프로토콜에 있어서 통신은 한 단계로 일어나며, 수신측과 송신측 간에 논리적인 연결을 설정한 필요가 없다. 사용자 프로세스는 프로토콜을 실행하는 프로세스에게 메시지를 넘기고, 메시지가 수신될 목적지 프로세스를 식별한다. 그런 다음, 프로토콜을 실행하는 프로세스는 그 메시지를 해당 목적지에 전달하려고 시도한다. 각 메시지는 원하는 수신자를 정확히 지정해야 하며, 그 메시지는 그 이외의 다른 메시지와는 독립적으로 취급한다. 비연결형 프로토콜은 특히, 적은 양의 데이터를 전송해야 할 때는 연결형 프로토콜에 비해 프로토콜상의 오버헤드를 적게 초래한다. 적은 양의 데이터를 보내는데 걸리는 지연시간도 비연결형 프로토콜의 경우에 더 작은 것이 보통인데, 그 이유는 메시지 전송 전의 연결 설정에 시간이 걸리지 않기 때문이다. 비연결형 프로토콜은 한번의 요구로 여러 목적지에 메시지를 받았다는 응답을 보내지도 않는다. 또한 오류 복구 절차가 제공되지도 않는다. 필요한 오류 복구 서비스들은 상위 단계 프로토콜이나 통신 프로그램에 의해 제공되어야 한다. 비연결형 프로토콜은 대개 최선 노력(best effort) 전달 서비스, 또는 흔히 데이터그램 (datagram) 서비스라고 하는 서비스를 제공한다. 송신측은 보내는 메시지가 실제로 원하는 수신측에 의해 수신될지 확실히 알수 없다. 비연결형 프로토콜은 신뢰성 있는 서비스를 제공하지 않는다. 비연결형 프로토콜과 연결형 프로토콜 비연결형 프로토콜과 연결형 프로토콜간의 차이를 말할 때 신뢰성이라는 용어를 사용하는 것은 적절하지 않다는 것을 지적해둘 필요가 있다. 신뢰성있다는 말 때문에 연결형 프로토콜이 어떤 식으로든 비연결형 프로토콜보다 좋다고 생각하게 되기 십상이다. 그러나, 요지는 비연결형 프로토콜은 어떤 목적들에 좋고, 연결형 프로토콜은 다른 목적들에 더 적합하다는 것을 말하려는 것이다. 예를 들어, 연결형 프로토콜은 신뢰성 있는 서비스를 제공하지만, 자주 오류가 발생하여 연결이 끊어져서 데이터 전송을 위해 매번 새로운 연결을 설정해야 하는 경우에는 매우 형편없는 서비스를 제공하게 될 수도 있다. 반면에, 비연결형 프로토콜은 백만 개의 메시지 중에서 999,999개의 메시지를 전달하는 매우 좋은 서비스를 제공할 수도 있다. 물론 상황에 따라서는 그 정도로 완전히 신뢰성이 있다고 할 수는 없다. 비연결형 프로토콜은 종종 메시지가 100% 전달될 필요가 없는 응용에 적합하다. 비연결형 프로토콜은 또한 하위 계층에서 신뢰성이 중요한 경우에도 종종 적합한 경우가 있다. 그런 경우에 필요한 신뢰성 제어 매카니즘은 신뢰도가 낮은 비연결형 프로토콜이 동작하는 계층의 바로 위 계층에서 동작하는 프로세스에 의해 제공된다. 전송 오류는 상위 계층 프로세스에 의해 검출되고, 오류로 전송되지 못한 메시지들에 대해서만 재전송을 요구하여 오류를 정정하게 된다. TCP/IP에서 비연결형 프로토콜과 연결형 프로토콜 TCP/IP 프로토콜 모음(TCP/IP protocol suite)은 인터넷 계층에서 동작하는 비연결형 프로토콜인 인터넷 프로토콜(IP : Internet Protocol)을 기반으로 한다. 인터넷 프로토콜이 제공하는 서비스는 비연결형 전달 계층 프로토콜인 UDP(User Datagram Protocol) 또는 연결형 전달 계층 프로토콜인 TCP(Transmission Control Protocol)에 의해 사용된다. UDP와 TCP중 어느 것을 사용할지는 응용 프로그램이 신뢰성 제어를 제공하는 전달 계층 프로토콜을 필요로 하느냐의 여부에 달려 있다. IP와 UDP 및 TCP는 이 장에서 좀 더 기술하고, 다른 장에서 보다 자세히 기술한다. | ||||||||||
3.3 OSI 참조 모델 | ||||||||||
TCP/IP 프로토콜이 개발되고 있던 중에 국제표준기구(ISO : International Organization for Standardization)에서 컴퓨터 네트워크에 사용될 수 있는 통신 프로토콜의 국제 표준을 개발하기 야심찬 프로젝트가 진행 중이었다. 1984년에 ISO는 OSI 참조 모델(Reference Model for Open Systems Interconnection) 또는 OSI 모델이라고 하는 개괄적인 컴퓨터 통신 모델을 정의하였다. OSI 모델이 최종적으로 국제 표준으로 채용되기까지는 OSI 모델과 완전히 부합하지는 않지만 TCP/IP 프로토콜이 컴퓨터 네트워킹 방법으로 자주 사용되었다. OSI 모델의 목적 OSI 모델은 개방 시스템들의 연결을 목적으로 하는 표준화된 개발 작업의 조정에 필요한 공통적인 근간을 제공하기 위해 설계되었다. 여기에서 개방(open)이란 용어는 표준안을 사용합으로써 한 시스템이 다른 시스템에 개방되어 있다는 의미이다. OSI 모델은 기계들이 서로 표준적이고 매우 융통성 있게 통신할 수 있는 방법을 기술하고 있으며, 거기에는 통신하는 각 기계에 포함되어야 하는 기능 계층이 정의되어 있다. OSI 모델은 네트워킹 소프트웨어 자체는 정의하지 않으며, 그 소프트웨어에 관한 상세한 표준도 정의하지 않는다. 다만, 각 계층이 수행해야 하는 기능들의 넓은 범주들만을 정의한다. OSI 네트워크 구조 또한, ISO에서는 OSI 모델의 여러 계층을 위한 포괄적인 표준들을 개발하였다. 이들 표준은 OSI 네트워크 구조(OSI network architecture)를 구성한다. TCP/IP 프로토콜은 OSI 구조를 구성하는 여러 가지 표준의 개발에 영향을 주었다. OSI 네트워크 구조를 구성하는 표준들은 오늘날 컴퓨터 네트워크를 위한 상품의 개발에 그리 튼 영향을 주지는 못하고 있다. 하지만 OSI 모델은 아직도 중요하다. OSI 모델과 관련 있는 개념과 용어는 네트워크 구조의 논의와 서술시의 기본 개념으로서 널리 받아들여지고 있다. OSI 모델은 현재 널리 사용되고 있는 다양한 통신 프로토콜을 분류하거나 하나의 네트워크 구조를 다른 네트워크 구조와 비교하는 데도 사용되는데, TCP/IP의 프로토콜은 계층 구조를 논의하는 과정에서 OSI 모델과 자주 비교된다. 이제 TCP/IP 기능 구조를 살펴보기 전에 OSI 모델의 7가지 계층을 소개한다. OSI 모델 기능 계층 OSI 모델은 7개의 기능 계층을 정의한다. 각 계층은 서로 다른 기능의 집합을 정의하는데, 그 의도는 각 계층이 다른 모든 계층에 최대한 독립적이 되도록 하는 것이다. 상위 3계층과 하위 4계층간에는 근본적으로 다른 차이점이 있다. 상위의 3계층은 응용 프로그램 자신이 지향하는 서비스와 관련이 있다. 하위 4계층은 네트워크와 더욱 밀접하며, 어떤 프로그램도 이용할 수 있는 일반적인 데이터 전달 서비스를 제공한다. OSI 모델의 7가지 기능 계층을 Figure 3.2에 기술하였다. | ||||||||||
Figure 3.2 OSI 모델 기능 계층 | ||||||||||
| ||||||||||
3.4 TCP/IP 기능 계층 | ||||||||||
Figuer 3.4는 TCP/IP 구조의 기능 계층(functional layer)이 OSI 모델의 계층과 어떻게 비교될 수 있는지를 보여주고 있다. TCP/IP는 OSI 모델처럼 응용 중심의 기능을 3개의 계층으로 보여주고 있다. TCP/IP의 응용 계층은 OSI의 응용, 표현, 세션 계층과 거의 유사하다. TCP/IP의 전달 계층은 OSI의 전달 계층과 같고, TCP/IP의 인터넷 계층은 OSI 모델의 네트워크 계층과 같다. TCP/IP의 최하위 계층인 네트워크 인터페이스 계층은 OSI 모델의 데이터 링크 계층과 거의 유사하다. OSI 모델의 물리 계층에 해당하는 데이터 링크의 구현에 이용되는 물리적 장비는 TCP/IP 구조의 범위 밖에 있다. 어떠한 형태의 물리적 통신 회선이라도 그것을 위한 네트워크 인터페이스 계층 기능이 구현될 수 있으며 TCP/IP 인터넷에서 사용될 수 있다. 다음 절에서 TCP/IP 구조를 구성하는 각 계층의 기능을 설명하고 각 계층에서 구동되는 주요 프로토콜을 소개한다. | ||||||||||
Figure 3.4 TCP/IP와 OSI의 구조적 계층 비교 | ||||||||||
Figure 3.5 TCP/IP 구송요소와 주요 프로토콜 | ||||||||||
응용 계층 프로토콜과 서비스 Figure 3.6에 가장 일반적으로 사용되고 있는 TCP/IP 응용 계층 프로토콜과 서비스를 도시하였으며, Figure 3.7는 이들에 대한 간략한 설명이다. 이들 프로토콜은 제 5장에서 기술한다. | ||||||||||
Figure 3.6 대표적인 응용 계층 프로토콜과 서비스 | ||||||||||
Figure 3.7 대표적인 응용 계층 프로토콜과 서비스 | ||||||||||
최종 사용자 서비스
| ||||||||||
3.6 전달 계층 | ||||||||||
TCP/IP 통신 소프트웨어가 수행되는 대부분의 컴퓨팅 시스템은 일반적으로 많은 응용 프로세스들이 동시에 수행되도록 한다. 그러므로, 주어진 호스트 상에서 활성 상태의 많은 응용 프로세스들이 존재할 수 있으며, 이들이 동시에 TCP/IP 통신 서비스를 이용하기를 원할 수도 있다. 전달 계층의 기능은 TCP/IP 호스트에서 수행되는 응용 프로세스 사용자에게 단대 단 데이터 전달 서비스를 제공하는 것이다. 전달 계층 프로토콜 전달 계층에서는 2가지 주요 프로토콜이 동작하며, Figure 3.8에 이들에 대하여 간략하게 기술하였다. 응용 프로세스는 데이터 전달 서비스를 요청하기 위해 UDP나 TCP를 이용할 수 있다. 사용되는 프로토콜은 응용이 최선 노력(best effort) 데이터그램 데이터 전달 서비스를 요구하는가 혹은 연결형 데이터 전달 서비스에 의한 신뢰성 제어 기능을 요구하는가에 달려 있다. | ||||||||||
Figure 3.8 전달 계층 프로토콜 | ||||||||||
| ||||||||||
전달 계층 프로토콜 인터넷 상의 각 호스트는 최소한 하나 이상의 유일한 인터넷 주소를 할당 받는다. 인터넷 주소는 인터넷 인터넷에 접속되어 있는 특정 위치를 유일하게 식별한다. 전달 계층 프로토콜이 하는 일은 근원지 호스트의 특정 프로세스에서 목적지 호스트의 특정 프로세스로 자료를 전송하는 것이다. 따라서, TCP/IP 전달 계층은 호스트에 할당된 인터넷 주소 이상의 주소지정 기법을 요구한다. 이 상위 수준의 주소지정 기법은 전달 계층 프로토콜 포트(transport layer protocol port)에 의해 제공된다. 호스트에서 동작하는 각 응용 프로세스는 동일한 호스트에서 동작하는 같은 전달 계층 프로토콜의 다른 사용자들과의 구분을 위해 16비트의 전달 계층 프로토콜 포트 번호가 할당되어야 한다. TCP/IP 통신 서비스를 이용하는 각 응용 프로세스는 호스트에 하나 또는 그 이상의 포트 번호를 할당받는다. 근원지 응용 프로세스가 데이터를 전달 계층 프로토콜을 이용하여 목적지 응용 프로세스에게 보낼 때, 3가지 정보를 전달 계층 프로토콜에 보내야 한다.
통신을 위해 TCP/IP를 이용하는 대부분의 분산 응용은 제17장에 자세히 기술된 분산 컴퓨팅의 클라이언트-서버 응용의 구현에 이용된다. 클라이언트-서버 응용에서는 서버라는 하는 하나의 응용 요소가 클라이언트라고 하는 다른 호스트에서 실행되는 응용 요소를 위해 잘 정의된 서비스를 제공한다. 클라이언트-서버 응용에서 클라이언트는 서버와의 통신을 시작할 책임을 진다. 이때 클라이언트는 서버로 데이터를 전송하여 서비스 요청을 한다. 그러면 서버를 서비스를 수행하고, 클라이언트로 데이터를 반환하여 응답을 보낸다. 이런 응용에서는 서버가 사용하는 포트의 번호를 알 필요가 있다. 이때 클라이언트는 서버가 그를 통해 응답하게 응답하게 될 클라이언트의 포트 번호를 서버에게 알려준다. 포트 할당 TCP/IP는 0에서 255사이의 포트 번호만 사용하고, 다른 포트는 TCP/IP 사용자들이 할당하도록 남겨둔다. 포트 번호가 클라이언트와 서버의 프로세스에 할당되는 일정한 방식을 제공하기 위해, 포트 번호는 보통 아래와 같은 방법으로 지정된다.
| ||||||||||
3.7 인터넷 계층 | ||||||||||
TCP/IP 구조의 인터넷 계층은 한 네트워크의 호스트에서 호스트에서 인터넷 상의 다른 네트워크로 데이터가 전송되어야 할 때 이용되는 경로배정과 중계 기능을 제공한다. TCP/IP 인터넷 계층은 어떤 문헌에서는 네트워크(network) 또는 인터네트워킹(internetworking) 계층이라고도 한다. 인터넷 계층은 근원지와 목적지 호스트 그리고 호스트들 간의 경로 상에 있는 모든 라우터에서 동작한다. 각 메시지가 인터넷을 따라 전송되는 경로를 결정하는 경로배정이 바로 이 계층에서 일어난다. 인터넷 계층 프로토콜 인터넷 계층에서 동작하는 TCP/IP 프로토콜을 Figure 3.9에 간략하게 기술하였다. | ||||||||||
Figure 3.9 인터넷 계층 프로토콜 | ||||||||||
| ||||||||||
3.8 네트워크 인터페이스 계층 | ||||||||||
네트워크 인터페이스 계층의 주기능은 하드웨어에 종속적인 기능을 다루는 것과 TCP/IP의 인터넷 계층에 표준화된 인터페이스를 제공하는 것이다. TCP/IP 프로토콜은 네트워크 인터페이스 계층이나 그 이하의 계층에서 이용되는 프로토콜에 대해 세부적인 것까지 언급하고 있지는 않다. TCP/IP의 네트워크 인터페이스 계층은 인터넷 계층으로부터 메시지를 받아들이고, 원하는 형태의 데이터 링크 기술을 통해 이들의 전송을 준비하는 역할을 하고 있다. 개별적인 TCP/IP 네트워크는 아마 Ethernet이나 토큰 링, FDDI와 같은 LAN 데이터 링크 기술을 이용한 LAN일 수 있다. 또한, 개별적인 TCP/IP 네트워크는 점대점 전용회선이나 전화회선, 인공위성 링크, 특수한 디지틀 회선 등과 같은 WAN 데이터 링크 기술로 구현될 수도 있다. TCP/IP가 널리 사용되고 있는 이유중의 하나는 거의 대부분의 물리적 회선 및 데이터 링크 기술과 연동할 수 있기 때문이다. 네트워크 인터페이스 계층의 중요한 기능의 하나는 호스트 컴퓨터에 설치된 NIC(Network Interface Card)가 수신하는 각 프레임을 검사하고 프레임이 어떤 인터넷 계층 프로토콜로 가야 하는지 결정하는 것이다. 이를 디멀티플렉싱(demultiplexing) 기능이라고 한다. | ||||||||||
3.9 하드웨어 계층 | ||||||||||
하드웨어 계층은 네트워크 인터페이스 계층 아래에 정의될 수 있지만, 사실 하드웨어 계층은 TCP/IP 구조의 범위를 벗어난다. 하드웨어 계층보다 상위에 있는 모든 계층은 인터넷에 연결되어 있는 호스트 컴퓨터 내에서 동작하는 소프트웨어로 구성되어 있다. 하드웨어 계층은 NIC 트랜시버(transceiver), 허브(hub), 커넥터(connector) 그리고 호스트를 물리적으로 연결해주는 케이블과 같은 물리적인 개체들과 관련 있다. 트위스티드페어 케이블, 동축 케이블, 또는 광섬유와 같은 전송 매체를 이용한 어떤 형태의 물리적 네트워크 기술도 TCP/IP 인터넷에 채택될 수 있다. 필요한 것은 물리적 네트워크에 액세스하려는 컴퓨팅 시스템을 지원하는 네트워크 인터페이스 계층에서 동작하는 적절한 스프트웨어이다. | ||||||||||
요약 | ||||||||||
TCP/IP는 컴퓨터 네트워크의 설계와 운영에 관한 포괄적인 계획과 규칙을 포함하는 수많은 네트워크 구조들 중의 하나이다. 네트워크 구조는 기능 계층간의 인터페이스와 메시지들이 네트워크를 통해 교환되는 방법에 관한 통신 프로토콜을 정의하고 있다. TCP/IP를 포함하는 네트워크 구조들은 OSI의 참조 모델과 자주 비교된다. OSI 모델의 7계층은 응용 계층, 표현 계층, 세션 계층, 전달 계층, 네트워크 계층, 데이터 링크 계층, 물리 계층이다. TCP/IP 구조는 4개의 기능 계층으로 구성된다. OSI의 응용, 표현, 세션 계층에 대응되는 TCP/IP의 응용 계층에 인터넷을 사용하는 응용 프로그램들이 위치한다. OSI의 전달 계층에 대응되는 전달 계층은 단대 단 데이터 전달 서비스를 제공한다. OSI의 네트워크 계층에 대응되는 인터넷 계층은 경로배정과 중계 기능을 제공한다. OSI의 데이터 링크 계층에 대응되는 네트워크 인터페이스 계층은 물리적 네트워킹에 대한 인터페이스를 제공한다. OSI의 물리 계층에 대응되는 하드웨어 계층은 네트워크 인터페이스 계층의 하위 계층으로 정의될 수는 있지만 TCP/IP 구조의 범위 밖으로 간주된다. 제4장에서는 TCP/IP 인터넷에서의 호스트 컴퓨터와 라우터에 대한 주소지 정법을 기술한다. |