클라이언트 서버 구조

  • Client : 고정된 IP , 의사소통을 시작하는 프로세스
  • Server : 다이나믹한 IP , 연결을 기다리는 프로세스 

 

Socket 

  • 소켓은 메세지를 프로세스로 수신, 송신 한다.
  • 다른 컴퓨터의 위치를 지정할 땐 IP+socket Port Number 사용

 

데이터를 보낼 때 요구 되는 것 

 

  • Data integrity : 어플리케이션은 100% 손실이 없는 데이터를 요구하거나,  loss에 견딜수 있어야한다. 
  • Timing : 어떤 어플리케이션은 효율성을 위해 적은 딜레이를 요구한다.
  • Throughput : 어떤 어플리케이션은 효율을 위해 최소한의 throughput이 요구된다.
  • Security : 보안

📌 Tip : Transport Layer에서 제공하는 기능은 Data integrity이다. EX) TCP 

 

HTTP : hypertext transger protocol

  • 웹 애플리케이션 프로토콜
  • Request , Response 로 단순하다. 
  • stateless : 클라이언트의 정보를 저장하지 않는다. 
  • Transport Protocol은 TCP 이용

📌 Tip : Response 또는 Request 요청 전에, 먼저 TCP 커넥션을 생성해야한다. 

 

HTTP connections

  • non - persistent HTTP : 필요할 때마다 TCP 연결을 한다.  ( 현재의 방법 )
  • persistent HTTP : 한번 TCP 연결을 하고 그다음부턴 재사용한다.

 

📌 Tip : HTTP response time은 필요할 때 마다 연결 하므로 2RTT+ filetransmission time이 항상 걸린다. 

 

 

네트워크의 구조

  • Network edge : 끝에 단말들.  ex) applications and hosts

  • Network core : 중간 라우터들. ex) routers, network of networks
  • Access Networks, Physical media : 연결해주는 선들. ex) comminication links

 

Network edge

  • hosts : Web, email 등등

  • client - server : 웹서버-클라이언트, 이메일 클라이언트 - 서버 등등

  • Peer to Peer : 스카이프 등등

 

Protocol

모든 인터넷의 상호작용은 프로토콜에 의해 조정된다

 

프로토콜은 통신 규약이다. 현실 전화에서도 Protocol의 예가 있다. 예를 들어 전화를 할 때 우리는 꼭 시작에 여보세요? 라는 말을 한다. 상대가 말을 들을 준비가 되었는지 확인을 한 뒤에  말을 이어가는데 이것도 일종의 약속 , 즉 , 프로토콜이라 볼 수 있다.

 

 

Network Core

  • Circuit Switching : 유선전화

    처음부터 끝까지 예약으로 뻥 뚫어 연결한다.  단독으로 그 길을 사용한다는 것이 핵심 

  • Packet Switching : 인터넷
    다 같이 Packet이란 것에 data를 쪼개 넣어 차례차례 보낸다.

📌 Tip : 인터넷은 Circuit을 사용하면 비효율 적일 수 밖에 없다. 우리는 인터넷을 할 때, 항상 클릭을 한다던지 무슨 작업을 하는 것이 아니라 멈춰있는 시간도 많고 언제 끝낼지 알 수 없다. 그래서 예약방식인 Circuit을 사용하면 비효율성이 발생한다. 

 

 

Packet Delay

 

  • Processing Delay : 라우터에서 비트 에러를 체크하고 다음 라우터를 선택하는데 (= 아웃풋 링크를 결정하는데 ) 걸리는 딜레이 

  • Queueing Delay : 라우터 안에서 링크로 나가기위해 기다리는 딜레이. 라우터 안의 혼잡도에 의해 결정됨. 

    라우터의 허용하는 Queue가 꽉찬경우 Packet Loss가 일어날 수 있다.

  • Transmission Delay : 링크까지 올라타는데 걸리는 딜레이

  • Propagation Delay : 링크를통해 라우터까지 가는 딜레이

 

d (Packet) = d (Processing) + d (Queueing) + d (Transmission) + d (Propagation)

 

 

📌 Tip : Queueing Delay 에서 Packet Loss가  일어난 경우 재전송이 일어나는 것은 이전 Router가 아닌 유저차원 ( TCP )에서 해준다. Router에 해주게 된다면 Router가 하는 일은 더 복잡해진다. 하지만 이 일을 유저쪽에서 다시 해주게 된다면 Router는 IP 계층 까지밖에 필요가 없게 되어 더욱 간단하게 일 할 수 있다. 

 

Transmission Delay 와 Propagation Delay의 차이

Transmission = 12*10 = 120sec (Store and forward 차가 모두 들어와야 forward 되기 시작한다!)

Propagation  = 100/100 = 1hr 

총 Delay( process와 queueing은 빼고 생각 ) = Transmission + Propagation = 62minutes

[네트워크] OSI 7계층 Protocols , TCP/IP Protocols

  • Protocol 이란?

인터넷은 거대한 컴퓨터 네트워크로서 다양한 컴퓨터들이 연결되어있다. 이처럼 기종이 다른 컴퓨터 상호간의 통신에서 아무런 사전 약속도 없이 정보를 전송하거나 요구한다면 큰 혼란이 발생할 수 있다. 따라서, 중앙 컴퓨터와 단말기 사이에서 데이터 통신을 원활하게 하기 위해 필요한 통신 규약을 정하는게 그것이 Protocol이다.

 

그림 1. OSI 7계층과 TCP/IP 프로토콜 

OSI 7계층

  • 응용 계층 : 응용 프로세스 간의 정보 교환, 전자 사서함 , 파일 전송. 
  • 표현 계층 : 정보의 형식 설정과 부호 교환, 암호화, 해독
  • 세션 계층 : 응용 프로세스 간의 연결 접속 및 동기 제어
  • 트랜스포트 계층 : 송수신 시스템 간의 논리적 안정과 균일한 서비스 제공
  • 네트워크 계층 : 정보 교환 및 중계 기능, 경로, 선정, 유통 제어.
    4계층에서 요구하는 서비스 품질(QoS) 제공하기 위해 기능적 , 절차적 수행.
    IP,ICMP, OSPF, RIP 등의 프로토콜이 있다.
  • 데이터링크 계층 : 동기화, 오류 제어 등의 기능으로 데이터 블록을 인접 노드간에 오류없이 신뢰성 있는  전송.
    두 지점 간의 통신을 위해서는 MAC 주소를 사용한다.
    가장 일반적 프로토콜은 이더넷이며 대표적 장비로는 스위치, 브리지가 있다.
  • 물리 계층 : 매체 접근에 있어 기계적, 전기적 물리적 절차를 규정. 랜선, 허브, 리피터 등이 있다.

TCP/IP 4계층

TCP/IP 프로토콜을 사용하는데 초점을 맞춰 7계층이 아닌 4계층으로 나뉜다.

데이터 링크 계층과, 물리계층을 합쳐 링크 계층을 이루고, 응용, 표현, 세션 계층을 합쳐 응용계층을 이룬다.

 

+ Recent posts