from:
이젠 기억도 잘 안나는 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 레이어 이상에는 변화가 발생하지 않는다.
'Programming' 카테고리의 다른 글
Virtual Serial Ports Emulator (serial port 에뮬레이터의 또다른 제품) (0) | 2012.10.04 |
---|---|
Dependency Walker 2.2 (0) | 2012.07.25 |
[펌] VS2008 배포시 문제 (0) | 2012.07.24 |