TCP/IP 모델은 인터넷 모델이라고도 하며 실제 인터넷에서 사용하는 표준 프로토콜이다.
총 5개의 계층으로 이루어져 있으며 각각 물리, 데이터링크, 인터넷(네트워크), 전송, 응용 계층이다.
참고
물리, 데이터링크 계층을 합쳐서 네트워크 인터페이스 계층이라고도 한다. 이렇게 합칠 경우 TCP/IP 모델을 4 계층이라고 하기도 한다.
1. 물리 계층
물리적인 연결과 전기 신호 변환/제어를 담당한다. 변환 방법은 통신 매체에 의존하기 때문에 특정 프로토콜이 정해져 있지 않다.
* 기능
1) 장치 연결 부분의 물리적인 특성을 명시
2) 비트의 전기적 혹은 광학적 표현
3) 데이터 속도, 비트의 동기화, 토폴로지, 전송 모드, 선로 구성 등에 관한 사항을 정의
2. 데이터링크 계층
네트워크 기기 간 데이터 전송 및 물리 주소를 결정한다. 프로토콜은 PPP, 이더넷(Ethernet), ATM 등이 있다.
* 기능
프레임화, 송수신 주소 명시, 흐름제어, 에러 제어, 접근 제어 등이 있다.
1) 흐름제어 : 수신 측과 송신 측의 데이터 처리 속도 차이를 해결
2) 에러제어 : 비트에 대한 에러 검출과 복구
3) 접근제어 : 여러 장치들이 동일한 링크를 공유할 때 충돌이 발생하지 않도록 조정
3. 인터넷(네트워크) 계층
수신 측 컴퓨터까지 데이터를 전달하기 위해 동작하며 전달된 데이터가 손상됐는지 또는 수신 측이 잘 받았는지는 관여하지 않는다. 프로토콜은 IP가 있다.
* 기능
- 송수신 주소를 명시하고 라우팅을 수행한다.
라우팅
패킷을 최종 목적지로 경로 설정하는 것
4. 전송 계층
네트워크 계층에서 보내온 데이터를 정렬, 오류 정정 등을 수행하고 신뢰할 수 있는 통신을 확보한다. 프로토콜은 TCP, UDP가 있다. 즉, 송신되는 데이터를 수신 측에 확실히 전달하기 위해 동작하는 계층이다.
* 기능
1) 프로세스에서 프로세스로 데이터를 전달
2) 송신자에게 보낸 전체 메시지를 온전하게 최종 목적지로 전달
5. 응용 계층
이메일, 웹 브라우저, 파일 전송 등 통신하기 위해 필요한 서비스를 제공한다. 프로토콜은 HTTP, SMTP, FTP, TELNET 등 다양한 프로토콜이 존재한다.
6. 캡슐화/역캡슐화
서로 다른 계층 간의 데이터를 주고받는 과정에서 캡슐화와 역캡슐화가 발생한다.
1) 캡슐화 (Encaplsulation)
캡슐화는 송신 데이터에 필요한 정보(헤더)를 붙여서 다음 계층에 보내는 것이다.
상위 -> 통신 프로토콜 정보 추가 -> 하위 형식
헤더
각 계층에서 수행한 정보들이 담겨 있으며 데이터의 내용이나 성격을 식별하거나 제어하는 데 사용한다.
위 그림은 데이터 송신 과정을 그림으로 나타낸 것이다.
단계 |
설명 |
1 |
응용 계층에서 요청 데이터를 생성한다. |
2 |
전송 계층에서 신뢰할 수 있는 통신을 구현하기 위한 헤더를 데이터에 붙인다. (이렇게 만들어진 데이터를 세그먼트라 함) |
3 |
네트워크 계층에서 다른 네트워크와 통신하기 위한 헤더를 세그먼트에 붙인다. (이렇게 만들어진 데이터를 패킷 또는 데이터그램이라 함) |
4 |
데이터 링크 계층에서 물리적인 통신 채널을 열기 위해 패킷에 헤더와 트레일러를 붙인다. (이렇게 만들어진 데이터를 프레임이라 함) |
5 |
프레임을 최종적으로 물리 계층에서 0, 1의 비트로 구성된 전기 신호로 변환해 수신 컴퓨터 쪽에 전송한다. |
데이터 송신과정을 정리하면 위 표와 같다. 트레일러는 데이터를 전달할 때 데이터 끝부분에 붙이는 정보로 주로 에러 검출에 사용한다.
2) 역캡슐화 (Decapsulation)
캡슐화의 반대 개념으로, 헤더를 제거하는 것이다.
하위 -> 헤더 제거 -> 상위 형식
위 그림은 데이터 수신 과정을 그림으로 나타낸 것이다.
7. 참고문헌
1) jlblog.me/199
2) hibee.tistory.com/263
3) ychae-leah.tistory.com/20?category=328373
4) zion830.tistory.com/104