본문 바로가기
SP

[sp] Network Programming (1)

by 녕인뉸 2022. 4. 5.

1. A Client-Server Transaction

(1) 대부분의 네트워크 응용크로그램은 클라이언트-서버 모델을 기반으로 함

- 1개의 서버 프로세스와 1개 이상의 클라이언트 프로세스

- 서버는 리소스를 관리

- 서버는 클라이언트를 위한 리소스를 조종하면서 서비스를 제공

- 서버는 클라이언트로부터의 요청으로인해 활성화

클라이언트는 서버로 request를 보냄 -> 서버는 클라이언트로부터 받은 request에 대한 리소스를 처리 -> 서버는 response를 보냄 -> 클라이언트가 그 response를 처리

(클라이언트와 서버는 같을 수도 다를 수도 있는 호스트에서 프로세스를 처리)

 

 

2. Hardware Organization of a Network Host

화살표 두께 = bandwidth

 

3. Computer Networks

(1) 네트워크는 지리적 근접성에 따라 구성된 와이어와 박스들의 계층적인 시스템

(box - computer, router, bridge,...)

- SAN (System Area Network) : 클러스터, machine room ( room)

  : ex) Switched Ethernet, Quadrics QSW

- LAN (Local Area Network) : 빌딩, 캠퍼스

 : ex) Ethernet

- WAN (Wide Area Network) : 국가 단위

 : ex) 고속 지점간의 phone lines

 

(2) internetwork (internet)은 네트워크의 상호연결된 집합

SAN⊂LANWAN

 

 

 

4. Lowest Level : Ethernet Segment

(1) Ethernet Segment는 hub에 대해 twisted pair의 와이어로 인해 연결된 호스트들의 집합으로 구성

 

(2) 빌딩의 방/한 층

 

(3) Operation

- 각 이더넷 어뎁터 (host가 가짐) 은 고유한 48 비트 주소를 가짐

- 호스트는 프레임이라고 불리는 chunck로 다른 호스트들에게 비트 전송

- 허브는 각 포트에서 다른 포트로 비트를 복제

 : 모든 호스트는 모든 비트를 볼 수 있음

 : 허브는 항상 소모 중으로, 브릿지 (스위치, 라우터)로 교체 가능

 

 

5. Next Level : Bridge Ethernet Segment

(1) 빌딩이나 캠퍼스 단위

(2) 브릿지는 어떤 호스트가 어떤 포트와 연결될 수 있는지를 학습하고 선택적으로 포트에서 포트로 프레임을 복제 (선택적으로 브릿지가 방향을 정함)

 

(3) Conceptual View of LANs : 단순함을 위해 허브, 브릿지, 와이어는 종종 단일 와이어에 연결된 호스트들의 집합으로 볼 수 있음

 

6. Next Level : internets

(1) 다수의 호환되지 않는 LAN들은 라우터라고 불리는 특수 컴퓨터에 의해 물리적으로 연결

(2) 연결된 네트워크는 인터넷이라고 불림 (lower case)

 

WAN = internet

LAN1 : Ethernet (소스)

LAN2 : FC (다른 네트워크 기술 활용) (destinaition)

(이 둘은 완벽하게 달라서 호환 불가능)

 

(3) Logic Structure of an internet

computer network algorithm을 통해 라우터가 어느 라우터로 갈 건지 길을 결정

만약 어느 라우터가 congestion하면 다른 router를 결정하여 루트를 변경

 

- 네트워크의 애드 혹 상호연결

 : 특정한 topology가 없음

 : 거대하게 다른 라우터와 링크의 capacity

- 네트워크를 통해 hopping하여 소스에서 목적지로 패킷을 전송

 : 라우터는 하나의 네트워크에서 다른 네트워크로 브릿지를 형성

 : 다른 패킷은 다른 경로를 사용할 수 있음

 

(4) The Notion of an internet protocol

- 호환하지 않는 LAN들과 WAN들을 통해 비트를 전송하는 방법

 : 프로토콜들은 각 호스트와 라우터에서 실행

 -> 프로토콜은 호스트와 라우터가 네트워크 간의 데이터를 전송할 때 협동하는 방법을 관리하는 규칙의 집합

 -> 서로 다른 네트워크 간의 차이를 매끄럽게 함

 

(5) 인터넷 프로토콜이 하는 것

- naming scheme을 제공

: 인터넷 프로토콜은 호스트 주소에 대한 동일한 형식을 정의

: 각 호스트와 라우터는 그들을 동일하게 식별하는 최소 하나의 인터넷 주소를 식별

 

- delivery 메카니즘을 제공 (패킷 전달)

: 인터넷 프로토콜은 standard transfer unit (패킷) 을 정의

: 패킷은 헤더와 payload로 구성

-> 헤더 : 패킷 사이즈, 목적지 주소와 같은 정보 포함

-> 소스 호스트로 부터 받은 데이터 비트를 포함

 

(6) Transferring internet Data via Encapsulation

A에서 B로 데이터를 전송하기 위해 각 단계 별 패킷을 붙여서 프레임을 형성하여 전송

-> 라우터에서 프로토콜 소프트웨어를 통해 LAN2에 맞는 프레임으로 변경

-> protocol 소프트 웨어와 LAN2 어뎁터를 거치면서 붙였던 PH나 FH2를 떼어냄

-> 마지막엔 데이터만 전달

'SP' 카테고리의 다른 글

[sp] Network Programming (3)  (0) 2022.04.06
[sp] Network Programming (2)  (0) 2022.04.06
[sp] i/o (2)  (0) 2022.04.05
[sp] i/o (1)  (0) 2022.03.30
[sp] signal  (0) 2022.03.29