본문 바로가기
프로그래밍/이론

OSI 7계층

by 사악신 2012. 1. 9.
이젠 기억도 잘 안나는 OSI 7계층...ㅠㅠ 인터넷에 돌아다니는 이미지들을 참고하여 정리해보았다. 먼저, 각 층별 데이터 단위를 살펴보면 다음과 같다. 


1계층 물리 계층: Bit

2계층 데이터링크 계층: Frame

3계층 네트워크 계층: Packet

4계층 트랜스포트 계층: Message, Segment

5계층 세션 계층: Message, Data

6계층 표현 계층: Message, Data

7계층 응용 계층: Message, Data

각 층은 아래 층의 데이터가 되며(Data Encapsulation), TCP/IP 에서 이러한 층간 관계를 나타내면 다음과 같다.


HTTP 의 경우라면 다음과 같다. 각 층이 헤더와 바디로 구성되었다고 볼때 바디 즉, 직전 층에 해당하는 부분을 Payload 라고 부른다.


OSI 7계층과 그 외 모델별 상관관계를 정리해보면 다음과 같다. 여기서 DoD 모델은 TCP/IP 모델을 의미한다.


ARP: 이더넷에서 IP Address 를 MAC Address 로 변환.
RARP: 이더넷에서 MAC Address 를 IP Address 로 변환.

다음은 응용 어플리케이션 관점에서 각 서비스들이 OSI 모델 내에서 어느 계층에 해당하는지를 보여주는 그림이다.



만약, 다른 네트워크 상에 존재하는 홈페이지를 불러오는 경우(브라우저 -> 서버)라면 어떻게될까? HTTP 프로토콜(GET 요청 등...)이 생성되어 TCP 세그먼트의 Payload 에 실리게된다. 그리고 TCP Segment 의 헤더는 아래와 같이 구성되는데...



Source Port 와 Destination Port 정도가 중요한 값이 된다. 그리고 이 TCP Segment 는 IP Packet 의 Payload 가 된다. 여기서 IP Packet 의 헤더는 아래와 같이 구성되는데...


Source IP address 와 Destination IP address 정도가 중요한 값이 된다.(이때 Destination의 IP 를 알기위하여 DNS 를 통하여 도메인 주소에 대한 요청이 발생한다.) 그 외 자세한 내용은 일단 패쓰~ 그리고 이렇게 생성된 IP Packet 은 Ethernet Frame 의 Payload 가 된다. 여기서 Ethernet Frame 헤더는 아래와 같이 구성되는데...


Source Address 와 Destination Address 값이 중요하며 이것은 MAC Address 이다. Ethernet Frame 은 헤더 외에 테일러가 존재한다.(아래 그림의 FCS 영역)


만약, 대상 서버가 라우터 외부에 존재(로컬 서브넷 마스크를 이용해서 상대방의 IP주소중에서 네트워크 ID를 구별해 내고, 자신이 속해있는 네트워크 ID와 비교작업을 한다.)한다면... 라우터의 MAC Address 를 찾는 ARP 브로드캐스트 요청을 한다.

이를 통하여 라우터의 MAC Address 를 구하여 Destination Address 에 지정한다. 라우터 입장에서는 해당 프레임을 수신한 후, 자신의 IP 와 다른 Destination IP 를 확인하고~ 해당 IP 를 처리할 수 있는 최적의 경로를 판단하기 위하여 라우팅 테이블을 참고한다. 그리하여 Destination Address 에 해당 IP 를 처리할 수 있는 라우터 또는 서버의 MAC Address 를 할당하여Ethernet Frame 을 새로이 생성한다. 



라우터#1, 라우터#2, 라우터#3 을 거쳐 최종적으로 서버에 도달한다면 이러한 과정이 라우터 마다 발생하게되며 마지막 라우터#3 에서 최종 서버의 MAC Address 가 구해질 것이다. 즉, IP 레이어 이상에는 변화가 발생하지 않는다.
반응형

'프로그래밍 > 이론' 카테고리의 다른 글

포트 I/O  (0) 2014.04.18
x86 CPU 메모리맵  (0) 2014.04.17
ArcGIS 측지기준계  (0) 2013.07.11
PPP - Point to Point Protocol  (0) 2012.01.11
HTTP 1.1 규격 참고 링크  (0) 2012.01.04

댓글