데이터 프레임(Data Frame)
패킷 교환에서, 데이터 단말 장치와 망과의 사전 접속 절차에 의하지 않고, 하나하나의 패킷이 발신 데이터 단말 장치와 수신처 데이터 단말 장치 간의 경로 지정을 위한 충분한 정보를 가지고 있는 패킷.
데이터그램(Datagram)데이터 통신망에서 하나의 블록 또는 패킷으로 전송되는 정보의 단위. 망의 데이터 연결 계층 규약(data link layer protocol)에 의하여 정의되며 망 노드 간의 매체상에서만 존재한다. 프레임은 다른 층들에서는 다른 형식을 취한다. 데이터는 데이터 프레임의 시작 및 끝 제어 정보 사이에 봉입된다.
그림1 TCP/IP 계층별 패킷
애플리케이션 계층메시지를 송신 호스트에서 트랜스포트 계층으로 보낸다. 가장 간단한 경우에 트랜스포트 계층은 메시지에 수신 측 트랜스포트 계층에서 사용될 추가정보(트랜스포트 계층헤더)를 더한다. 애플리케이션 계층 메시지와 트랜스 포트 계층 헤더 정보는 모두 트랜스 포트 계층 세그먼트를 구성한다. 트랜스포트 계층 세그먼트는 애플리케이션 계층 메시지를 캡슐화 한다.
추가된 정보는 적당한 애플리케이션으로 메시지를 보내도록 수신 측의 트랜스포트 계층으로 부여된 정보와 메시지에 비트들이 변경되었는지 아닌지를 수신자가 결정하게 하는 오류 검출 비트를 포함한다. 그 다음 트랜스포트 계층은 세그먼트를 네트워크 계층으로 보내며 네트워크 계층은 출발지와 목적지 종단 시스템 주소와 동일한 헤더 정보를 추가하여 네트워크 계층 데이터 그램을 만든다. 이 데이터그램은 링크 계층으로 전달되고 링크 계층도 자신의 헤더 정보를 추가하고 링크 계층 프레임을 만든다. 따라서, 우리는 각 계층에서 패킷은 헤더 필드와 페이로드 필드(payload field)라는 두 가지 형태의 필드를 갖는다는 것을 알 수 있다. 페이로드는 일반적으로 그 계층 상위로부터의 패킷이다.
그림2 TCP/IP 데이터 패킷 흐름
예로 우편 서비스를 생각하면 우편번호가 헤더/트레일러가 된다.
하위계층으로 내려오면서 정보들이 덧붙혀진 패킷을 다음과 같은 이름으로 부른다.
하위계층으로 내려오면서 헤더와 트레일러 정보가 붙고 이렇게 정보가 덧붙혀진 패킷을 위 그림과 같은 이름으로 부른다(트레일러는 링크계층에서만 사용되고 다른 계층에서는 거의 사용되지 않아서 그림에서는 트레일러를 생략).
전송계층 패킷을 세그먼트라고 부르는데 UDP프로토콜을 이용할 경우에는 사용자 데이터그램(User Datagram)이라고도 부른다. 하지만 네트워크계층 패킷의 이름인 데이터그램과 헷갈릴 수 있으므로 계속 세그먼트라고 부르겠다.
이렇게 헤더와 트레일러를 붙이는 것을 캡슐화(encapsulation)한다고 한다. 왜 캡슐화라고 부르냐면 상위계층에서 내려온 패킷은 현재 계층의 헤더와 트레일러로 캡슐처럼 감싸져 하위계층에서 볼 수 없기 때문이다.
캡슐화된 패킷이 네트워크 전반에 걸쳐 어떤 과정을 거쳐 전송되는지 살펴보자.
먼저 어플리케이션 계층에서 어플리케이션 고유의 헤더를 붙여 메시지를 만들고 이를 트랜스포트 계층으로 내려보낸다.
그러면 트랜스포토 계층에서는 어플리케이션을 구분하는 고유한 포트번호와 기타정보를 기록하여 세그먼트를 생성하고 네트워크 계층으로 내려보낸다.
네트워크 계층에서는 수신지의 호스트를 구분하는 IP주소와 트랜스포트 프로토콜 타입(TCP 혹은 UDP), 그리고 그외의 정보들을 기록하여 데이터그램을 생성하고 링크 계층으로 내려보낸다.
링크 계층에서는 호스트에서 라우터까지 데이터그램을 전송하기 위해 이더넷(PPP등도 있다) 헤더와 트레일러를 붙혀서 프레임을 만들고 라우터까지 전송한다.
라우터에서는 프레임을 수신한후 링크 헤더는 필요 없으므로 떼서 버리고 데이터그램의 헤더를 확인하고 어느쪽으로 보내야 할지 결정한다. 방향이 결정되면 그 쪽으로의 링크에 맞게 링크 계층 헤더를 붙혀 프레임을 만든후 전송한다.
수신측에서 프레임을 수신하면 역시 데이터 링크 헤더는 필요 없으므로 버리고, 네트워크 계층의 주소를 확인하여 자신에게 온것이 맞는지 확인한다. 맞다면 트랜스포트 프로토콜 타입(TCP 혹은 UDP)을 확인한후 네트워크 계층 헤더를 떼어버리고 세그먼트를 알맞은 트랜스포트 계층으로 올려준다.
트랜스포트 계층에서는 포트번호를 확인한 후 알맞은 어플리케이션으로 메시지를 올려보낸다.
댓글 없음:
댓글 쓰기