본문 바로가기

개발

TCP/IP 통신 프로토콜 및 5계층화

< TCP/IP >


TCP/IP란 일반적으로 인터넷에서 사용되는 전 세계적으로 공통된 통신 프로토콜군을 총칭한다.


TCP/IP를 이용한 통신은 서로 다른 기능과 역할을 갖고 있는 5개의 계층을 통해 일어난다. 이 5계층을 차례로 통과하면서 데이터 송수신이 일어난다.


1. 애플리케이션층

 - 애플리케이션에 맞춰 통신을 수행할 수 있도록 함

 - 다양한 프로토콜이 있음


2. 트랜스포트층

 - 송신되는 데이터를 수신측 애플리케이션에 확실히 전달하기 위해 작동


3. 네트워크층

 - 수신측 컴퓨터까지 데이터를 전달하기 위해 작동

 - 전달 된 데이터가 손상됐는지 또는 수신측이 잘 받았는지에는 관여하지 않음


4. 데이터 링크층

 - 네트워크에 직접 연결된 기기 간을 전송할 수 있도록 만듦

 - 네트워크층과 물리층 간의 차이를 완전히 흡수하기 위한 다양한 프로토콜이 있음


5. 물리층

 - 데이터를 신호로, 신호를 데이터로 변환

 - 변환 방법은 통신 매체에 의존하기 때문에 특정 프로토콜이 정해져 있지 않음



< 5계층 >


 애플리케이션층

 HTTP, SMTP, POP3, FTP, TELNET, NNTP, RCP... 

 트랜스포트층 

 TCP, UDP 

 네트워크층

 IP 

 데이터 링크층

PPP, PPPoE, Ethernet, FDDI, ATM ...

 물리층

 




< 단계별 데이터 송수신 >


 송신

 애플리케이션층

 수신측의 애플리케이션에서 처리할 수 있도록 만든다

 트랜스포트층

 네트워크 상에서의 공통 된 형태로 만든다 

 네트워크층

 수신처로 가는 경로를 정하고 보낼 수 있는 형태로 만든다

 데이터 링크층

 비트열(0과 1로 표현)로 변환한다 

 물리층

 비트열을 전압의 변화나 빛의 점멸 신호로 변환하여 송신한다



 수신

 애플리케이션층

 애플리케이션에서 표시한다 

↑ 

 트랜스포트층

 데이터에 문제가 있으면 재전송을 요청한다 

↑ 

 네트워크층

 데이터의 수신인을 확인하고 자기 앞으로 온 것이 아니면 파기한다

↑ 

 데이터 링크층

 비트열을 데이터로 변환한다

↑ 

 물리층

 전압의 변화나 빛의 점멸 신호를 비트열로 변환한다

↑ 



출처 : TCP/IP가 보이는 그림책

'개발' 카테고리의 다른 글

WAS 구동 없이 컨트롤러 테스트  (0) 2017.12.19
[Spring] MyBatis 연동  (0) 2017.12.15
[Spring] MySQL 연결 및 테스트  (0) 2017.07.04
[JAVA] 싱글톤 구현 예제  (0) 2017.07.04
일반적인 디자인 패턴 종류  (0) 2017.07.03

맨 위로