프로그래밍[Univ]/네트워크

[네트워크] Basic & Network Reference Model

Cloud Travel 2012. 3. 13. 02:57
* 네트워크
 - 컴퓨터의 프로세스와 다른 컴퓨터의 프로세스와 Message교환을 하는 행위
 - 한 컴퓨터 내에서의 Message교환은 쉽다. 하지만 컴퓨터간의 Message교환시 다음과 같은 문제가 발생한다. 
  ⓐ 서로의 컴퓨터환경이 다르다.
  ⓑ Message는 네트워크 선로를 통해서 가야한다.(신호의 전환 및 선로의 이동)
 -  위와 같은 문제를 해결하기 위해서 다음과 같은 행동을 해주어야 한다.
  ⓐ 메세지를 전자기 신호로 변경(보내는 쪽) 또는 전자기 신호를 메세지로 변경(받는 쪽)이 가능해야한다.
  ⓑ Target(Destination)의 위치 파악 및 그 길을 찾아갈 경로를 찾아야 한다.
  ⓒ 메세지 통신시 에러 발생시 처리할 방법을 가지고 있어야 한다.
  ... etc...

* Network Reference Model
 - 위에 발생한 문제를 해결하기 위해서 Network Layer Model을 만들었다.
 - Message를 처리하는 일을 작은일(하나하나의 Layer)로 쪼개서 해결한다.
 - 각 층(Layer)가 하는 일은 각각이 독립적으로 되어있다.
 - 보내는 측에서 각각 Layer에 의해 쌓여진 정보를 받는 측에서 각각 Layer에서 풀어 해친다.
 - 이러한 Network Layer Model에는 2가지가 존재한다.
  > OSI 7Layer (표준 국제) 
    Application(응용) - 표현(presentation) - 세션(session) - 전송(transport) - 네트워크(network)
                                                                                               - 데이터 링크(data link) - 물리(physical)
  > Internet layer (미국 국방부)
    Application(응용) - 전송(transport) - 네트워크(network)  - 링크(link) - 물리(physical)

 - 현재 Internet의 상용화로 7layer가 사용이 사라지고, Internet layer를 사용하고 있다.
 - 프로토콜 : 네트워크를 통신할 때 통신이 가능하게 해주기 위해 정해놓은 규약을 프로토콜이라고 한다.
                  메세지 포맷과 순서뿐 아니라, 메세지의 정보 그리고 교환절차를 정의해야 한다.


* Internet layer
  


* 캡슐화
 - 메세지는 각 계층을 이동하며 메세지의 켑슐화가 일어 나게 된다.
 - 메세지는 Header와 메세지로 구성되 있다.
   

   ex)

   


* Web Page : Object(HTML, Javaapplet, Audio file, JPEG)로 구성된 것
 - Object는 HTML파일을 기반으로 하고 있으며, 각각의 객체는 접근가능한 주소 값(URL)을 가지고 있다.
 - URL = Host name + path name // 어떤 컴퓨터(Host name)의 어떤 경로(Path name)의 파일을 열 것인가? 
 - Web 통신은 client의 요청과 server의 반응으로 구성되 있다.
  > Client와 Server 간의 하나의 통신규약을 HTTP라고 한다.
 - Proxy server & Cache 
  > 프록시 서버 : 특정 몇몇의 web server의 정보를 저장하여 트래픽을 낮추고 속도를 높이기 위한 서버
  > Response message format에는 Last-modified header가 존재하는데, 이는 케쉬 개념이 적용된 결과이다.

* HTTP
 - HTTP 1.0 ( non-persistent : 이전에 했던 request를 기억하지 않는다. )
  > 같은 server에 같은 request를 보낼때 이전의 request를 기억하지 않는다.
  > HTTP is "stateless" = HTTP는 상태정보가 없다.
  > 장점 : Client가 정보를 저장할 수고가 든다.
  > 단점 : Client는 server가 기억해주지 않기 때문에 똑같은 일을 한번더 해야한다.
 - HTTP 1.1( persistent : 이전에 했던 request를 기억한다.)
  > HTTP 1.0의 단점을 보안하기 위해서 탄생했다.
  > Server가 일정시간 내에 한에서는 Client정보를 저장한다. (Cookie 의 탄생)
  > 장점 : Client에서 재요청시 TCP가 하는 일이 줄어들어 빠른 반응을 보여준다. 
 - HTTP Message format
  ⓐ request message format
     

    ex)

   


  ⓑ Response message format
     

    - status code
    > 200 OK / 301 Moved Permanently / 400 Bad Request / 404 Not Found / 505 HTTP version not supported
 
* Cookies
 - HTML 1.0시 Server 입장에서 Client 고객의 정보를 저장이 안되서 불편함이 존재함.
  > Client당 Cookie(Unique) 값을 지정, 저장. Client가 접속하면 해당 cookie를 이용하여 정보를 저장한다.
 - Cookie의 문제점은 privacy문제가 발생하게 된다.