'osi계층구조'에 해당되는 글 1건

  1. 2010.01.18 OSI 모델 And Ip계층

응용계층

프리젠테이션계층

세션계층 - 컴퓨터내의  응용에게 보내준다.

전송계층 - 어떠한 방식으로 보낼건지 (TCP, UDP)
네트워크계층 - 누가누구한테 보내는지 

데이터링크계층 - 디바이스드라이버 (운영체제에서 디바이스에게...)

물리계층 - 패킷은 회선을 이용한다



1.  Layer - Based 통신 모델    - 계층적 구조

- Layer N 

   (N-1)계층에서 제공하는 서비스를 사용

   동일 계층의 instance와의 통신

 

- Protocols

    동일 계층간에 통신을 위해 미리 정해놓은 규약

 - Service

    계층 N이 (N+1)계층에게 제공하는 기능

    Service Interface라고도 불린다.

 - Instance

   한 개의 계층이 제공하는 통신 프로토콜과 서비스를 구현한 것

 

 

통신 흐름

 

 2. ISO/OSI Reference Model

-특징

   시스템 간의 통신을 위한 추상화 모델을 제시

   개방형 통신 시스템을 위해 표준안 개발 체제 제공 

   통신 시스템의 기능을 논리적으로 분해하는 측면에서 중요하게 인식하고 있다.

   복잡성 때문에 실질적으로 구현하는 입장에서 보면 실패한 모델

 

- Physical Layer (물리 계층)

   구조화되어 있지 않은 비트 시퀀스를 물리적인 신호로 변환하여 매체를 통해 전송하는 계층

 

- Data Link Layer (데이터 링크 계층)

   송신부에서는 데이터를 프레임으로 만들어 전송한다.

   수신부에서는 과부하가 걸리지 않도록 데이터의 흐름을 조정한다. 

   에러 검출 및 재 전송을 한다.

   Protocol : SLIP, PPP, HDLS,...

 

- Network Layer (네트워크 계층)

  통신망에서 System간의 연결성을 제공한다.

   Routing, Fragmenting을 담당한다.

   Protocol : IP, ICMP, IGMP,...

 

- Transport Layer (전송 계층)

   Application간의 데이터 전송 제공

   데이터의 정확성과 순서를 안전하게 하기 위해 존재한다. 

   Protocol: TCP, UDP,...

 

- Session Layer (세션 계층)

   전송 계층을 통한 구조화된 메시지 교환을 핸들링한다.

 

- Presentation Layer (프리젠테이션 계층)

  터미널 시스템 사이의 데이터 흐름을 제어한다.

  통신하고 있는 컴퓨터 시스템들에 의존적이지 않은(독립적인) 데이터 전달을 규정한다.

  예: ASCII vs Unicode , Big endian vs Little endian

 

- Application Layer (응용 계층) 

  

3. TCP/IP Reference Model

 

- Interface Layer

   네트워크 아답터들과 그들의 드라이버들을 다룬다.

 

- Internet layer

   IP

   ICMP - 제어 및 에러 정보 전송

   IGMP - 통신 그룹 관리

 

- Transfer layer

   터미널 시스템의 용용들 간의 전송담당

   TCP - 연결지향, 신뢰성,STREAM

   UDP - 비 연결지향, 가벼운 스택, DGRAM

             복잡한(무거운) TCP에 비해 선호하는 경우가 늘고 있다.(멀티미디어와 같은 전송에서)

 

- Application layer

   응용 프로그램과 관련된 모든 태스크들의 계층(ISO/OSI 모델의 5~7 계층)

   Telnet, FTP, SMTP, DNS, HTTP

출처 - http://cafe.daum.net/sbehclub


라우터 - 3계층까지만 이용

세대별 통신

1G - 아날로그 통신(PSTN망)

2G - 디지털 통신

3G- 개인단말

4G- 차세대통신


Circuit Switching망( 독점)  = Packet Flooding망

Packet Flooding - 전체 망에 뿌려지면서 해당 대상까지 간다.

패킷이 어떠한 망을 사용하는지



IP 프로토콜 

   RFC 791에 정의되어 있는 모든 IP 기반 네트워크에 사용되는 데이터 트래픽에 대한 기본 서비스를 제공 

   데이터그램 기반으로 만들어졌다. 

   전화망의 circuit-switching방식과 달리 packet-switching방식을 사용한다. 

   - 롤

    데이터 전송 계층의 차이를 감추고 상이한 네트워크 기술(LAN, SLIP, PP, 모뎀, ISDN 등)에 대한 일관된 표현을 제공한다. 

   IP Address family를 통해 Uniform address scheme를 제공

   큰 데이터 패킷은 fragmentation하여 작은 패킷 크기로 전송

   (통신에 거치는 모든 네트워크 기술들의 MTU중 최소 MTU에 맞춰서 fragmentation한다.)

 

 

통신 기술 

 

 

IPv4 스택 

 

 

Version

   현재는 v4(0x800)와 v6(0x86DD)만 정의되어 있다.

 

IHL

   패킷 헤더의 길이

   옵션을 사용하면 패킷 헤더의 길이는 5옥텟(1옥텟은 4바이트)를 넘을 수 있다.  최대 15옥텟(60바이트) 

 

Codepoint

    ToS라고 불렀었던 것을 RFC2474에서 Differentiated Services Codepoint라고 이름을 변경하였다.

    IP에 사용되는 forwarding behavior를 나타낸다.

 

Total Length

   패킷 전체의 길이, 최대 64K

   RFC791에 의하면 576바이트인 데이터 패킷을 처리할 수 있어야 한다고 명시(길이가 더 큰 패킷도 처리할 수 있다.) 

 

Fragment ID - 상위에서 날라온 데이터의 구분자 역할을 한다.

    원래 하나였던 패킷을 fragmenation을 했을 때 모든 fragments는 동일한 fragment id를 갖는다.

 

Flags

    DF : 데이터그램이 fragment되지 말아야 함을 나타낸다.

    MF: fragment가 되었음을 나타냄, 마지막 fragment에는 표시되지 않는다.

 

Fragment Offset

    Fragment의 일련번호

    수신부에서 원래의 데이터그램으로 재구성하기 위해 필요하다.

 

TTL -  Keep Alive   에 해당 되는 부분

   IP 패킷의 수명을 제한하기 위하여 사용

   패킷이 라우터를 거칠 때마다 1감소되며 0이되면 패킷은 제거된다.

   라우터에서 버퍼링을 위해 1이상 감소시키는 경우도 있다. 

 

Protocol

    전송 계층의 구분

    TCP(6), UDP(17), IGMP(2)

 

Checksum

   IP 패킷 허더 필드들에 대한 checksum

   라우터를 거쳐가면서 TTL이 감소하기 때문에 매번 다시 계산된다.

   Checksum필드를 제외한 부분을 16비트 단위로 1의 보수의 합을 계산한 값이다.

   유효한 패킷인지 확인하기 위한 용도로 있는 필드이다.


 Sorce address - 192.168.34.442 송신자아이피  



 Destination address - 192.168.34.442 수신자아이피


여기에서는 옵션과 ICMP, IGMP등을 다루지 않으니 각자가 확인하여 학습하길 바란다.   

'API & MFC > 네트워크프로그래밍' 카테고리의 다른 글

EventSelect란?  (0) 2010.02.05
ASyncSelect 예제  (1) 2010.02.04
소켓통신의 라이브러리 사용 선택 시 고려사항  (0) 2010.02.02
소켓함수 예제(로그인서버)  (0) 2010.01.25
소켓통신(함수정리)  (1) 2010.01.18
Posted by 아몰라
이전버튼 1 이전버튼