본문 바로가기

통신

TCP/IP란?


1. TCP/IP의 이해

인터넷을 움직이는 엔진은 TCP/IP이니다. TCP/IP TCP IP가 조합된 단어로 TCP Transmission Control Protocol의 약자로 전송과 관련된 통제를 하는 프로토콜이란 것을 알 수 있습니다. IP Internet Protocol로서 인터넷에서 특정한 위치를 지정하는 방법과 절차를 담고 있는 프로토콜입니다.

테이터 통신과 관련해서 프로토콜은 상호통신을하기 위한 약속 또는 규약입니다인터넷의 데이터 통신은 데이터 앞에 붙는 Header만을 해석하여 처리합니다이 때 Header라고 하는 정보는 보내는 쪽과 받는 쪽 모두 이해할 수 있는 내용과 구조를 갖고 있어야 하며 이와 관련된 약속이 바로 포로토콜입니다.

인터넷은 TCP IP를 포함해 여러 가지 다양한 프로토콜을 사용합니다. TCP/IP는 이러한 프로토콜을 대표하는 이름이며 TCP/IP Suite라고 하는 것이 더 맞습니다이러한 다양한 프로토콜은 PC내부에서 하드웨어 또는 소프트웨어로 구성되어 있으며 인터넷 관련 서비스를 처리해 줍니다. TCP/IP와 관련 프로토콜의 내용을 이해하는 것은 인터넷의 데이터 처리 방식을 이해하는 것입니다네트워크 관리자가 겪게되는 다양한 증상은 대부분 TCP/IP와 관련 프로토콜의 비정상적인 동작에서 발생하며 이것은 대부분 비정상적 동작을 하도록 하는 설정의 문제일 가능성이 높습니다.

2. TCP/IP의 구조

TCP/IP OSI 7 Layer의 구조를 4개의 계층으로 구분하고 있습니다. OSI 7 Layer의 각 계층이 하는 일은 TCP/IP에서도 동일하게 적용됩니다단지 OSI 7 Layer의 상위 3계층은 TCP/IP에서 Application이란 하나의 용어로 표현되었습니다또한 하단의 Physical Data Link Layer Network Interface로 표현되었습니다.

TCP/IP Suite를 살펴보면 TCP Layer TCP UDP라는 것이 보이며 IP Layer에도 ARP(Address Resolution Protocol) ICMP(Internet Control Message Protocol)가 있습니다. TCP IP를 포함해 이렇게 다양한 프로토콜이 유기적으로 동작하여 데이터 통신을 가능하게 합니다.


3. TCP/IP를 이용한 통신의 예

인터넷 서비스 중의 하나인 Web을 이용하려는 사용자(Client)가 인터넷의 어느 Web Server에 접속하여 웹 서핑을 하는 과정에서 발생하는 TCP/IP Stack의 통신과정을 보여주고 있습니다이러한 통신과정은 일반 사용자에게 보이지 않는 내부 통신으로 사용자의 단순한 클릭은 이런 과정을 되풀이하게 됩니다.

먼저 Web Client Web Server에 접속해 내용을 열람하기 위해 자신의 TCP/IP를 사용하여 접속을 시도합니다이는 실제 물리적인 회선을 통해 전달됩니다. Web Server TCP/IP는 자신의 물리적인 장치에서 받은 데이터를 Web Client와는 역순으로 풀어가며 최종적으로 Web Server Application에 전달합니다.

4. TCP/IP Layer

TCP/IP의 각 Layer는 자기와 인접한 Layer와 유기적인 통신을 합니다상위계층에서 만들어지는 정보는 바로 아래계층으로
보내지며 아래계층은 또 다시 인접한 하위계층으로 전달됩니다데이터의 전달과정에서 원래 한 덩어리였던 데이터는 전송하기
적합한 크기(MTU)로 쪼개지며 전달에 필요한 중요한 Header가 차곡차곡 덧붙여져 최종적으로 물리적인 데이터 형태로 전달됩니다.

TCP/IP의 각 계층에서 사용되는 정보는 상위계층에서 받은 데이터 앞에 포함(Encapsulation)되어 하위계층으로 내려가며 수신측 TCP/IP는 역순으로 각 계층에서 포함된 정보를 이용한 후 상위계층으로 올려 보냅니다.

1) Application Layer

TCP/IP Application Layer는 여러분들이 사용하는 특정한 목적을 위한 소프트웨어가 실행되는 계층이라고 할 수 있습니다이들 프로그램은 하위계층의 신뢰성을 기반으로 합니다하위계층의 안정적이고 신뢰할만한 동작을 전제로 실행된다는 것입니다.

  2) TCP Layer

OSI 7 Layer Transport 계층에 속하는 TCP는 전송과 관련된 통제를 하는 계층입니다전송과 통제는 TCP를 이해하는 데 있어 중요한 개념이라 할 수 있습니다먼저 전송은 반드시 수신하는 곳이 있다는 것을 전제로 하며 수신하는 쪽과의 접속(Connection)이 선행되어야 합니다.

접속이 이루어진 이후 데이터를 안전하고 확실하게 전송 할 수 있는 기능이 필요한데 TCP Application Layer에서 받은 데이터를 논리적인 데이터의 조각인 Segment로 나누어 전송합니다.나누어진 Segment Sequence Number라는 일련번호를 할당받게 되며 TCP는 이 번호를 이용해 전송을 합니다수신측에서는 이 일련번호를 이용하여 전송 받은 Segment를 재조립합니다이 과정에서 TCP는 손실이나 Error가 발생한 Segment를 복구하게 됩니다.

다음은 통제에 대해 살펴보겠습니다. TCP의 통제대상은 주고받는 데이터의 전송속도에 대한 것입니다수신측에서 처리할 수 있는 용량을 벗어날 만큼 데이터를 송신하면 수식측에서는 당연히 많은 에러가 발생할 것입니다주고받는 쪽 모두 적당한 속도로 전송할 수 있도록 상호 조절하는 기능을 TCP에서 수행하게 됩니다.

UDP(User Datagram Protocol) TCP와 같은 Layer에 있지만 앞서 설명한 접속과 통제보다는 전송에 중점을 둔 프로토콜입니다접속이 TCP와는 다르게 사용자의 목적지에 단순히 전송하는데 목적이 있는 프로토콜이라고 할 수 있습니다.

  3) IP Layer

IP Layer OSI 7 Layer Network Layer에서 하는 기능을 수행합니다. IP Layer의 중요한 기능은 주소 배정과 경로선택에 있습니다즉 해당 네트워크로 가기 위한 주소와 경로배정이 이 Layer에서 수행됩니다.

IP Layer는 상위 TCP Layer로부터 받은 데이터를 패킷이라는 단위로 처리합니다이 패킷 안에는 상위와 데이터와 헤더가 포함되어 있습니다. IP Layer의 패킷은 목적지 네트워크가 어디이고 상위의 어떤 프로토콜과 관련이 있는지를 말해주며 경로를 찾지 못해 방황하는 패킷은 일정 시간 후에 자동적으로 폐기됩니다.

네트워크에 연결된 모든 호스트는 고유한 주소를 갖고 있습니다이 고유한 주소는 LAN 내에서만 사용될 수 있는 주소가 있는 반면 인터넷에 연결하기 위해 필요한 고유한 주소도 있습니다. IP Layer는 이러한 주소와 경로배정과 관련된 다양한 기능을 수행합니다. IP Layer의 프로토콜 중 ARP(Address Resolution Protocol) IP Address MAC Address로 바꿔주는 기능을 하며 RARP(Reverse ARP) MAC Address에 따라 IP를 할당해 주는 역할을 합니다. DHCP(Dynamic Host Configuration Protocol)의 기능이라고 할 수 있습니다이러한 기능은 모두 IP Layer에서 행해집니다.

  4) Network Interface Layer

Network Interface Layer OSI 7 Layer Data Link Layer Physical Layer가 합해진 Layer로서 상위계층의 데이터에 대한 논리적물리적 전송에 관여하는 계층입니다상위계층에서 내려온 데이터는 Network Interface Layer의 형식에 맞게 재포장되어 인터페이스를 타고 전달됩니다.

 

 

출처 : IP 네트워크 실무자를 위한 시스코 네트워킹 튼튼하게 배우기