해당 글은 한양대학교 이석복 교수님의 네트워크 강의를 듣고 정리한 글입니다.
💡 인터넷과 프로토콜
인터넷이란?
컴퓨터 간 데이터를 주고받기 위해서 통신 프로토콜을 이용하여 연결시킨 네트워크를 의미한다.
프로토콜이란?
서로 다른 두 시스템이 정보를 주고받기 위해서는 어떤 방식으로 정보를 전달하고 받을지에 대해 통일된 방식이 필요하다. 이러한 약속을 프로토콜이라고 칭한다.
💡 Network edge, core
Network edge
우리가 사용하는 컴퓨터나 애플리케이션, 그리고 서버 등은 네트워크 엣지이다. 네트워크상에서 가장자리에 위치한다.
Network core
주로 라우터로 구성된다. 네트워크 상에서 중심에 위치하여, 가장자리에 있는 클라이언트와 서버 간의 연결을 구성한다.
라우터는 다양한 기능이 있지만 아직까지는 네트워크의 중심에서 연결을 돕는다 정도로만 이해한다.
라우터가 데이터를 전달하는 방식
1. Circuit Switching
- 각 호출마다 정해진 경로가 존재하고 해당 경로로만 전달한다. 통신 과정에서 사용되는 회선 전체를 독점한다.
2. Packet-Switching
- 패킷 단위로 데이터를 전송한다. 라우팅 알고리즘을 이용해 경로를 설정하고 최종 목적지까지 데이터를 전송한다.
비교
- Circuit Switching의 경우 사용하는 경로를 독점하기 때문에 한 사용자당 10Kbps를 사용하고 회선이 100Kbps까지 수용이 가능하다면, 총 10명의 사용자만 사용이 가능하다.
- 반면, Packet-Switching은 그보다 더 많은 사용자가 동시에 사용할 수 있다. 모든 사용자가 같은 시간에 동일한 요청을 할 확률이 매우 낮기 때문이다.
Packet Delay 종류
- Nodal Processing
- 라우터 내부로 데이터가 들어올 때 데이터에 대한 검증 과정에서 발생한다.
- Queueing
- 라우터에서 데이터를 송출하는 속도는 제한적이다. 따라서 데이터의 양을 송출 속도가 따라가지 못할 때 패킷이 라우터 내부에 존재하는 Queue에 쌓이게 된다.
- Transmission Delay
- 라우터에서 송출되는데 걸리는 시간을 의미한다. 데이터는 패킷 단위로 전송되기 때문에 한 패킷에 존재하는 모든 데이터가 송출되어야 해당 패킷이 전달됐다고 볼 수 있다.
- Propagation Delay
- 데이터 네트워크를 이동하는데 걸리는 시간이다. 즉 라우터와 라우터 사이의 회선을 이동하는 시간이다. 빛의 속도이므로 영향이 적다.
💡 Process
프로세스는 Host에 의해 수행되는 프로그램을 의미한다.
프로세스 간 통신
- 한 Host에 존재하는 두 개의 Process 간의 통신
- OS에 의해 inter-process communication을 통해 데이터를 주고받는다
- 서로 다른 Host에 존재하는 Process 간의 통신
- Message를 통해 데이터를 주고받는다
- Message를 주고받는 과정에 사용되는 것이 소켓이다.
- Message를 통해 데이터를 주고받는다
💡 Socket
Process는 Socket을 통해 Message를 주고받는다.
응용 프로그램 Process에서 데이터를 전송하기 위해서는 전송계층을 거쳐야 하는데, 전송계층과 응용 프로그램 사이의 인터페이스 역할을 하는 것이 Socket이다.
Socket Type
- TCP
- 신뢰성
- 순서보장
- 연결 기반
- 양방향
- UDP
- 비신뢰성
- 순서 보장 X
- 비연결성
Reference
http://www.kocw.net/home/cview.do?mty=p&kemId=1169634
반응형
'👩💻 CS > 네트워크' 카테고리의 다른 글
[Network] KOCW 네트워크 강의 정리 (이석복) - Transport layer (7) | 2024.07.15 |
---|