IT/Network

[Network Basic] TCP/IP 구조

김반장님 2021. 3. 20. 11:56
반응형

1. TCP/IP 프로토콜의 개념   

1969년도에 미 국방성 방위망인 DARPA에서 개발.  

OSI 7 Layer의 전송 계층과 네트워크 계층에서 동작을 하고 상위 계층의 응용 프로그램을 구별. 

TCP는 데이터의 전송 방법을 결정하는 프로토콜로서 상위 계층으로부터 요청된 데이터를 전송하며 IP는 인터넷상에서 각 호스트의 주소를  결정하는 프로토콜로서 주소결정과 Routing을 한다.  

    

TCP/IP의 구조 및 동작 방식

 

2. TCP/IP의 계층화 

    

TCP/IP 프로토콜의 계층 구조

 

(1) 네트워크 인터페이스(Network Interface) 계층 

OSI 참조모델의 물리 계층(Physical Layer)과 데이터 링크(Data link) 계층을 포함하고 있다. 이 계층에서는 데이터를 전송하는 전송 매체를 결정하고 신호 레벨 또는 구조(Architecture)를 결정한다. 이러한 구조의 종류로는 Ethernet, FDDI, Token Bus, Token Ring 등이 있다. 

  

(2) 인터넷(Internet) 계층 

네트워크상에서의 경로 설정과 네트워크에서의 주소를 지정하는 계층으로 IP프로토콜이 Internet Layer에 속한다. 이러한 IP프로토콜은 상위 계층으로부터 받은 데이터를 패킷단위로 목적지까지 최선으로 전송을 하지만 신뢰성이 보장되지 않는 Connection-less 서비스를 제공한다. 

  

Internet Layer에서 Host-to-Host Layer간의 통신도 포트번호를 사용해 구분한다. IP 프로토콜에서 TCP, UDP를 구분하는 포트는 헤더 부분에 포트번호가 6번일 경우 TCP프로토콜, 17번 포트일 경우에는 UDP프로토콜임을 알게 된다. Internet Layer에서 동작하는 프로토콜로는 ARP, RARP, ICMP 등이 있다. 

  

(3) 전송(Transport) 계층 

Host-to-Host Layer는 상위 계층 데이터의 신뢰성 있는 전송을 위하여 TCP, UDP 두 가지의 프로토콜을 제공한다. TCP프로토콜은 신뢰성 있는 데이터 전송을 위해 먼저 송신측과 수신측간의 연결설정 과정을 거치고 설정된 경로를 따라 데이터를 전송하는데, 신뢰성 있는 데이터 전송을 위해 Sliding window 흐르제어를 사용하며 Go-back-N ARQ 방식과 Select-to-Reject ARQ 방식을 사용한다. 

  

TCP 프로토콜은 데이터를 전송하기 전 송신측과 수신측간의 연결 설정을 하게되는데 연결 설정 과정을 크게 3단계로 구분이 된다. 이를 3-way Handshaking 이라고 한다. 

  

3-way Handshaking

 

※ 3-way Handshaking 과정 

송신지에서 먼저 자신의 Sequence 번호를 설정해 Sync(동기) 신호를 수신지로 전송한다. 여기서 송신지의 Ack 필드는 아직 비어있다. 

수신측은 Sync 신호를 수신한 후 수신한 Sequence 번호에 1을 더한 후 송신지에 Ack를 전송한다. 그리고 자신의 Sequence 번호를 설정해 전송한다. 다시 송신측은 Sync 신호를 수신한 후 수신한 Sequence 번호에 1을 더한 후 Ack를 전송하고 자신이 원래 Sequence 번호에 1을 더한값을 전송한다. 

UDP프로토콜은 데이터를 전송하기 전 연결 설정 과정을 거치지 않고 송신측에서 데이터의 전송만을 하는 방법으로 전송과정 중에 흐름제어 및 에러 정정을 하지 않는다. 송신측이나 수신측이 데이터를 주고 받는 상황이 훨씬 간단해진 프로토콜이다. 

  

(4) 응용(Application) 계층 

Process Layer는 TCP/IP프로토콜을 사용하여 서비스 할 수 있는 응용프로그램들로 오직 TCP 프로토콜만 사용하여 제공하는 프로그램이다. 이러한 상위계층에서 각각을 구분하는 방법은 TCP 프로토콜의 포트번호를 사용해 구분하는 것이고 하나의 포트번호를 다른 프로그램이 동시에 사용할 수 없다. 

반응형

'IT > Network' 카테고리의 다른 글

[Network Basic] TCP/IP NetBIOS  (0) 2021.03.23
[Network Basic] TCP/IP 캡슐화, IPX/SPX  (0) 2021.03.22
[Network Basic] VPN 터널링의 방식  (0) 2021.03.19
[Network Basic] VPN  (0) 2021.03.18
[Network Basic] Ad-Hoc, I-Mode, WAP  (0) 2021.03.17