[TCP/IP] 네트워킹 소개, 특성, 유형
1. 네트워킹이란?
네트워크는 장비가 정보를 교환(=연결성)하고 협력(=공유)할 수 있도록 특수 하드웨어와 소프트웨어를 사용하여 물리적 또는 논리적으로 연결된 컴퓨터나 기타 하드웨어 장비의 모음
2. 네트워크 장/단점
1) 장점 : 연결성, 공유 = 정보&자원을 손쉽게 공유 및 협력 = 비용 적음,
1-1) 연결성, 통신
- LAN(근거리 통신), WAN(원거리 통신) 통해 연결된 컴퓨터들은 이메일 등 기술을 활용해 통신 가능
- 과거: ??? 이메일이 안되면 직접 데이터 공유 ???
1-2) 데이터 공유
- 데이터베이스, 그룹소프트웨어와 같은 어플리케이션 통해 많은 사람들이 동일한 데이터 조회/공유 가능
- 과거: 사원은 문서 작성 후 직접 디스크 장치(플로피, CD 등)에 저장하여 상사에게 전달
1-3) 하드웨어 공유
- 같은 네트워크로 연결된 컴퓨터는 프린터기(HW)를 함께 사용
- 과거: 한 프린터기 당 하나의 컴퓨터만 사용 가능
1-4) 데이터 보안과 관리
- 공유 서버로 데이터를 모아서 관리자가 데이터 백업하기에 쉬움(한꺼번에 DB에서 관리)
- 과거: 각 컴퓨터에서 각 데이터 관리
1-5) 인터넷 접속
- 빠른 속도 회선 하나에 가입해서 나눠쓰기 가능
- 과거: 느린 속도 회선 하나씩 한 컴퓨터당 가입해서 느림
1-6) 성능 향상과 분배
- 하나의 작업을 같은 네트워크에 연결된 컴퓨터들로 나눠서 작업하여 전체적인 성능 향상
2) 단점 :
2-1)
3. 기본 네트워크 특성
1) 네트워크 계층, 모델, 구조
1-1) 하위 계층
1-2) 상위 계층
2) 프로토콜
- 장비와 시스템이 통신하기 위한 언어, 규칙 등 통신 규약
- 서로 효율적으로 통신하는 것을 보장하는 방법
3) 스위칭 :
3-1) 서킷 스위칭
- 두 장비 간 통신이 일어나기 전 서킷이 맺어짐
3-2) 패킷 스위칭 : 라우터에서 동적 경로 설정('큐' 방식: 패킷 전송 순서 유지, 선입선출로 지연 최소화하여 효율적인 처리 보장)
- 데이터를 패킷(*메시지)이라는 작은 조각으로 나눈 뒤 전송
- 통신이 일어나기 전 서킷을 맺지 않음
- 동일한 파일/채널에 속한 데이터 블록일지라도 다양한 경로를 거쳐 전송될 수 있음
Q. 패킷 스위칭이 동적 경로를 설정하는 방식과 기준
A. 네트워크 상황에 따라 라우터가 경로를 동적으로 결정하기 때문. 라우터는 패킷이 네트워크를 통해 최적의 경로를 찾도록 설계되어 있으며, 다음과 같은 기준을 사용해 경로를 결정.
- 네트워크 상태: 네트워크의 혼잡도에 따라 경로가 변경됩니다. 예를 들어, 특정 경로가 혼잡하면 다른 경로로 우회할 수 있습니다.
- 최소 홉 수: 라우터는 패킷이 목적지까지 도달하는 데 거치는 경유지(홉 수)가 최소가 되는 경로를 선택할 수 있습니다.
- 대역폭 가용성: 패킷 전송을 위한 충분한 대역폭이 있는 경로가 우선적으로 선택될 수 있습니다.
- 지연 시간 (Latency): 패킷이 전송될 때 지연 시간이 적은 경로가 더 선호됩니다.
- QoS(서비스 품질): 특정 트래픽은 더 높은 우선순위를 가지고 처리될 수 있으며, 그에 따라 경로 선택에 영향을 미칩니다. 예를 들어, 실시간 스트리밍과 같은 트래픽은 신속한 경로가 요구될 수 있습니다.
- 라우팅 알고리즘: 네트워크에서 사용되는 라우팅 프로토콜(OSPF, BGP 등)에 따라 경로 선택 방식이 달라집니다. 각 프로토콜은 다른 기준을 바탕으로 최적의 경로를 계산합니다.
이러한 다양한 요소들을 실시간으로 평가한 후, 라우터는 각 패킷마다 최적의 경로를 선택하여 전송합니다.
*알고리즘 종류
[우선순위 큐잉]
: 패킷을 우선순위 레벨에 따라 여러 개의 큐로 나눔. 높은 우선순위 가진 패킷은 가장 높은 우선순위 큐에 들어가고, 항상 먼저 처리.
=> 높은 우선순위 큐에 패킷이 계속 도착하면, 낮은 우선순위 큐에 있는 패킷은 계속 대기하게 될 수 있음.
[가중치 공정 큐잉=WFQ]
: 모든 트래픽이 공정하게 처리되도록 함. 다른 가중치가 할당되며, 우선순위가 높은 트래픽이 더 많은 대역폭 사용.
=> 우선순위가 높은 트래픽이 더 자주 처리되도록 보장하지만, 낮은 우선순위 트래픽도 완전히 무시되지 않고 일정한 비율로 처리. (낮은 우선순위 아예 무시하거나 차단 X)
=> WHY? : 우선순위가 낮을지라도 일부 트래픽은 반드시 처리되어야 하는 경우가 많음. 네트워크의 특성인 공정성 유지, QoS, 네트워크 자원의 효율적 사용 (위 3가지) 지키기 위함.
*공정성: 순차 처리, 지연시간 최소화, QoS, 네트워크 신뢰성(예측 가능한 방식대로 처리)
[DiffServ]
: 패킷(헤더+데이터)의 헤더는 고정된 필드로 구성. 필드 내 우선순위 정보 有.
[혼합 큐잉 알고리즘]
: 여러 큐잉 방식의 장점 결합하여 트래픽 처리. 일부 트래픽은 우선순위 큐잉 사용, 나머지는 WFQ 사용 등 네트워크 성능을 최대한 효율적으로 유지.
4. 메시지: 패킷, 프레임, 데이터그램, 셀
*OSI 7계층 각 계층에 따라 불리는 명칭이 다름
1) 패킷 : 네트워크 계층
2) 데이터그램 : 네트워크 계층
3) 프레임 : 하위 계층(1~4계층), 특히 데이터링크 계층
4) 셀 : 하위 계층(1~4계층)
- 크기 고정된 메시지
5) 프로토콜 데이터 유닛(PDU), 서비스 데이터 유닛(SDU) : OSI에서 메시지 공식 용어
* TCP / 세그먼트
- TCP : 전송계층 프로토콜
- 세그먼트 : 응용계층에서 받아온 데이터 덩어리(=메시지)를 전송계층에서 처리할 때 사용하는 단위
- 따라서 전송계층에서 전송하는 데이터는 여러개의 세그먼트로 나누어 전송된다
- TCP의 역할 : 신뢰성 있는 데이터 전송, 순서 보장, 오류 검출, 데이터 재전송
- UDP의 역할 : TCP와 같은 신뢰성을 보장하지 않지만 빠른 데이터 전(ex.스트리밍 전송)
5. 메시지 포매팅 : 헤더, 페이로드, 푸터
- 헤더 / 페이로드(데이터) / 푸터
- 헤더/푸터 : 제어 정보 포함
6. 메시지 주소지정과 전송 방법 : 유니캐스트, 브로드캐스트, 멀티캐스트
7. 네트워크 구조 모델과 클라이언트/서버, 피어투피어 네트워킹