** Layer 계층 

 -- 5계층 : Application Layer

 -- 4계층 : Transport Layer

 -- 3계층 : Network Layer

 -- 2계층 : Linked Layer

 -- 1계층 : Physical Layer

 

 ** applications  의 가능한 구조들

 -- client, server

 -- peer-to-peer(P2P)

 

 ** Client - server architecture

 -- server : 항상 켜져 있어야 한다.

               IP가 일정해야 한다. (변동이 없는)

               확장이 가능 해야 한다

 -- clients : 서버와 통신

               간헐적(즉, 항상 켜져있지 않아도 된다.)

               dynamic IP adresses

               peer to peer 간의 서로 직접적인 연결은 되지 않는다.

               (서버로 가서 db를 뒤져서 친구의 ip주소를 찾고 연결하는 방식은 가능)

 

 ** P2P architecture

 - 항상 켜져있는 서버가 필요 없다.

 - 직접적 통신이 가능

 - self scalability (서로가 스스로 확장하게 되는 구조)

 - 항상 연결 되어 있는 것이 아니므로 ip가 바뀐다 (dynamic)

 - complex management

 

**Processes communicating

 - 한 호스트 안에 있는 프로세스들은 IPC(inter-process-communication)을 통해 주고 받는다

 - 다른 호스트 사이에서는 messages를 교환 

 - 하나의 device가 (client, server) 두가지 역할을 모두 수행하는 것이 P2P architecture

 

** Sockets

 - 프로세스들은 소켓을 통해 메시지를 주고 받는다.( 마치 문 같은....) 

 - 소켓을 통해 나가 infrastructure을 통하여 통신

 

** Addressing processes

 - messages를 받기 위해서는 프로세스는 identifier를 반드시 가지고 있어야 한다.

 - host device는 IPv4의 경우 32bit IP address를 가지고 있다 (unique)

 - 하지만 스마트폰이나 컴퓨터에서 하나의 프로세스만 실행하지는 않는다.

     --> 즉 ip address만으로는 부족하다.

 - 따라서 ip address + port numbers + protocol network flow를 정의 한다.

 - 이 flow는 같은 sender와 reciever 사이에서 여러개가 정의 가능하다.

 

 ** application이 요구하는 것

 - 각 어플리케이션 별로 요구사항이 다를 수 있다. (다양)

 - 예를 들면, 영상을 다운받을 때는 너무 느리면 안되겠지만 그렇다고 처리속도(throughput)에 그렇게 예민하지는 않다

 - 게임 같은 경우에는 data loss에는 덜 민감해도 time sensitive는 매우 중요하다.

     1. data integrity(데이터 무결성) 

     2. timing

     3. throughput

     4. security

     5. ......

'학부생 공부 > 네트워크' 카테고리의 다른 글

Web and HTTP  (0) 2020.04.06
TCP, UDP  (0) 2020.04.06
Internet structure  (0) 2020.03.26
Network Core  (0) 2020.03.25
인터넷(Internet) 이란 ?  (0) 2020.03.22

+ Recent posts