Introduction
1. What is the Internet? & What is a protocol?
인터넷이 무엇일까요? 라는 질문에 두 가지 방법으로 대답할 수 있다.
첫 번째는 "Nuts And Bolts" View이다. Nuts와 Bolts는 인터넷을 구성하는 기본적 하드웨어 및 소프트웨어 구성요소들을 의미한다.
스마트폰, 컴퓨터, 노트북, 냉장고, 자동차, 신호등 등 모든 디바이스들은 hosts 또는 end system이라고 불린다. 이들은 인터넷의 edge에서 동작한다. 이러한 end system들은 packet switches(패킷 스위치)와 communication links(커뮤니케이션 링크)로 이루어진 네트워크에 연결되어 있다.
communication links(커뮤니케이션 링크)란 데이터를 전송하는 역할을 하는 매체이다. 광섬유(fiber), 구리(copper), 라디오(radio), 위성(satellite) 등 다양한 종류가 있고 전송률은 대역폭으로 나타낸다. 한 엔드 시스템에서 다른 엔드 시스템으로 데이터를 전송하면, 이 커뮤니케이션 링크를 통해서 전송되는 것이다.
그런데 이때 전송하는 엔드 시스템은 데이터를 잘게 쪼개서 각 세그먼트에 헤더 바이트라는 것을 붙인다. 이렇게 완성된 정보의 패키지를 패킷(packet)이라고 한다. 패킷은 다른 엔드시스템으로 보내지고 거기서 재조합되어 다시 원래의 데이터로 만들어진다. 패킷 스위치는 커뮤니케이션 링크를 통해 전송되어 들어오는 한 패킷을 잡아가고, 다시 나가는 링크에 배치한다. 패킷 스위치의 종류로는 router(라우터)와 switches(스위치)가 있다.
네트워크는 이러한 요소들의 집합이다. 디바이스, 라우터, 링크들을 모은 것이다.
엔드 시스템은 인터넷 서비스 제공자, ISP(Internet Service Provider)를 통해 인터넷에 접근한다. ISP는 지역 케이블, 핸드폰 회사 지역 ISP, 기업 ISP, 대학 ISP 등 종류가 다양하다. 각 ISP는 ISP 스스로가 패킷 스위치와 커뮤니케이션 링크가 달려 있는 네트워크 안에 들어가 있다. ISP들은 엔드 시스템에게 다양한 네트워크 접근 권한을 부여한다.
인터넷에서 정보를 주고 받기 위해서는 프로토콜이 필요하다.
"protocols define the format, order of messages sent and received among network entities, and actions taken on msg transmission, receipt"
프로토콜은 네트워크 개체 간에 보내고 받는 메세지의 형식, 순서, 전송, 수신에 대해 수행되는 작업들을 정의한다. 인터넷 속에서의 모든 커뮤니케이션은 프로토콜에 의해 컨트롤된다. 프로토콜은 인터넷 통신에서의 언어 문법 같은 것이다. 문법을 알아야 응답을 올바르게 보내고, 받을 수 있다. 대표적인 프로토콜으로는 TCP(Transmission Control Protocol)과 IP(Internet Protocol)가 있다.
인터넷 표준(Internet Standard)이란 프로토콜이 인터넷에서 어떻게 구현되어야 하는지에 대한 규칙과 지침이다. 이 부분을 공부하면서 처음에는 프로토콜과 인터넷 표준의 개념과 차이가 너무 모호했다. gpt가 비유를 들어서 설명해주었는데, 프로토콜이 축구 경기의 규칙(공을 차서 상대 골에 넣기)라면 인터넷 표준은 FIFA에서 인정하는 축구 규칙서 라고 한다. 프로토콜은 데이터 전송의 세부 규칙이고, 어떻게 통신을 수행할지 정하는 것이다. 인터넷 표준은 이러한 프로토콜이 어떻게 서로 조화롭게 작동하여 인터넷을 구성하는지 정하는 것이다. 프로토콜의 구현, 운영 방법을 규정한다. 주요 표준화 기구로는 IETF와 RFC가 있다. IETF는 인터넷 관련 기술을 개발하고 표준을 정하는 기구이다. RFC(Request for Comments)는 인터넷 프로토콜, 절차, 프로그램의 기술적 사양을 담은 문서이다.
인터넷을 바라보는 두 번째 관점은 Service View이다. 앞선 Nuts and Bolts 관점은 인터넷을 이루는 수많은 구성요소들을 각각 살펴본 것이다. Service view는 인터넷을 어플리케이션들에게 서비스를 제공하는 시스템으로 바라보는 것이다.
2. Network edge: hosts, access network, physical media
네트워크는 크게 3가지로 구성되어 있다.
1. Network edge (네트워크 엣지)
네트워크 엣지는 hosts들이 존재하는 네트워크의 가장 가장자리인 곳, 네트워크의 가장 말단이다. hosts란 클라이언트와 서버 같은 디바이스들을 말한다.
2. Access network (엑세스 네트워크, 접속망)
엑세스 네트워크는 네트워크에 접근하기 위한 네트워크라고 한다. 엔드 시스템과 다른 엔드 시스템의 사이의 경로 상에 있는 첫 번째 라우터에 연결하는 네트워크이다. hosts들이 인터넷을 사용할 수 있도록 길을 열어주는 역할을 하는 것이다. 유선 혹은 무선 커뮤니케이션 링크들을 말한다. ISP가 엑세스 네트워크를 제공한다.
- Cable-based Access : 케이블 기반의 엑세스 네트워크
• FDM(frequency division multiplexing) : 다른 주파수 대역에서 다른 채널을 전송하는 방식, 네트워크 동작 방식 중 하나이다. 서로 분리되어 있는 각 주파수 대역에 여러 종류의 데이터(비디오, 오디오, 데이터, 컨트롤 신호 등)이 독립적으로 전송된다. 서로 다른 주파수 대역에서 각기 다른 채널이 전송되기에 동시에 여러 정보를 보낼 수 있다. 네트워크 대역폭을 효율적으로 사용할 수 있다.
• HFC(hybrid fiber coax) : 동축 케이블과 광섬유의 결합으로 이루어진 네트워크이다. 가정에서 ISP 라우터까지 연결된다.
(광섬유: 주로 장거리 데이터 전송에 사용되며, 데이터 손실이 적고 고속 전송이 가능하다. / 동축 케이블: 가정이나 건물 내부의 데이터 분배에 주로 사용된다.)
- Digital Subscriber Line(DSL)
기존의 전화선을 사용하여 고속 인터넷을 제공하는 기술이다. DSL을 통해 음성 데이터와 인터넷 데이터를 동시에 전송할 수 있다. DSL 모뎀과 스플리터가 전화선에서 음성 데이터와 인터넷 데이터를 분리한다. 이 각각의 데이터들은 전용선을 통해 서로 다른 주파수에서 중앙 사무소로 연결된다. 중앙사무소에서는 여러 DSL 회선을 하나로 묶어 ISP로 데이터를 전달한다.
음성 데이터 | 인터넷 데이터 |
|
|
전화선을 통해 중앙 사무소로 가고, PSTN을 통해 전송됨 |
전화선을 통해 중앙 사무소로 가고, DSLAM을 거쳐 ISP 네트워크로 전송됨 |
- Home Networks
- Wireless access networks
• Wireless local area networks(WLANs) : 와이파이!
• Wide-area cellular access networks : 기지국을 통해 서비스하는 셀룰러 네트워크. 4G, LTE!
- Enterprise Networks
• 이더넷이란 LAN(근거리 통신망) 구축을 위해 장치를 연결하는데 널리 사용되는 네트워킹 프로토콜이다. 가정이나 건물, 학교 같은 로컬 환경의 컴퓨터 및 기타 장치를 네트워크에 연결하기 위해 개발된 통신 표준
3. Network core (네트워크 코어)
네트워크 코어는 전체 네트워크 시스템의 중앙에 위치하여 데이터를 전송하는 핵심 역할을 한다. input으로 들어온 패킷을 읽어서 어디로 갈지 판단하고 올바른 output 패킷으로 보내는 기능을 수행한다.
엑세스 네트워크를 ISP가 엔드 시스템에게 제공하고, ISP끼리도 서로 연결되어 있다. 이러한 구조를 Network of network라고 한다.
host는 ISP를 통해 인터넷에 연결되어 있고, 모든 호스트가 서로 데이터를 주고받을 수 있도록 엑세스 ISP는 반드시 상호연결 되어 있어야 한다.
핵심 기능 두가지는 Forwarding과 Routing!!!!
- Forwarding: 라우터 내부에서 패킷을 올바른 출력 링크로 전송하는 로컬 작업.
패킷이 라우터의 입력 링크에 도착하면, 라우터는 패킷 헤더 정보를 읽고 로컬 포워딩 테이블을 참조하여 패킷을 적절한 출력 링크로 이동시킨다. - Routing: 네트워크 전체에서 패킷의 출발지에서 목적지까지의 경로를 결정하는 글로벌 작업.
네트워크 전체를 고려하여 패킷이 목적지까지 도달하는 최적의 경로를 찾는 과정이다.
그림을 이해해보자! 패킷이 왼쪽 컴퓨터에서 시작하여 오른쪽 컴퓨터로 이동한다. 패킷은 네트워크를 통해 여러 라우터를 거친다. 각 라우터는 패킷을 수신한 후 패킷 헤더를 읽고, 로컬 포워딩 테이블을 참조하여 다음 출력 링크를 결정한다. 그 후 라우터는 라우팅 알고리즘을 사용하여 네트워크 포톨로지와 현재 네트워크 상태를 기반으로 최적의 경로를 결정한다. 라우팅 알고리즘은 네트워크 내의 모든 라우터가 협력하여 최적의 경로를 설정하는 글로벌 작업이다! 라우팅 테이블은 주기적으로 혹은 네트워크 상태 변화에 따라 계속 갱신된다.
3. Network core: packet/circuit switching, internet structure
host는 애플리케이션 메세지를 받고, 이를 작은 단위로 쪼갠다. 이 단위는 패킷이며 길이는 L bit이다. 패킷을 엑세스 네트워크에 전송한다. 엑세스 네트워크의 전송률은 R이다. 이 전송률을 링크의 용량, 대역폭이라고 말하기도 한다.
따라서 패킷의 전송 딜레이 시간 = L bit 길이의 패킷을 링크에 보내는데 소요되는 시간 = L(bits) / R (bits/sec) 이다.
예를 들어 L = 1000 bit이고 R = 1,000,000 비트/초라면,
패킷 전송 지연 시간은 1000(bits) / 1,000,000 (비트/초) = 0.001초이다.
이는 1000비트의 패킷을 1Mbps의 링크를 통해 전송하는 데 0.001초가 걸린다는 의미이다.
링크에 대해서도 알아보자. 링크는 물리적인 매체이다. 링크의 종류로는
- Coaxial cable(동축케이블)
- Fiber optic cable(광케이블)
• 광섬유를 사용하여 빛신호를 전송
- Wireless Radio(무선라디오)
- Radio link types(라디오 링크 유형)
데이터를 전송하는 두 가지 방식에 대해 알아보자!!!!
먼저 패킷 스위치에 대해서 보자!!!
- Transmission Delay: 패킷이 링크로 들어가서 전송되기까지의 시간. 이는 L/ 초가 걸린다. (패킷 크기 L 을 전송 속도 로 나눈 값)
- Store-and-Forward: 라우터가 패킷 전체를 받은 후에야 다음 링크로 전송할 수 있는 방식. 이는 각 홉마다 발생한다.
End-to-end delay는 네트워크를 통해 패킷이 출발지에서 목적지까지 가는 동안의 총 지연시간을 의미한다. 한 홉의 전송 지연을 0.1ms라고 하면 위 그림에서는 2개의 링크를 지나므로 총 전송 지연은 2*0.1 = 0.2ms이다. (첫 번째 링크의 전송 지연 + 두 번째 링크의 전송 지연) (단, propagation delay는 없다고 가정, propagation dealy는 링크에서 이루어지는 지연이다. 거리가 멀어질수록 지연 시간이 길어지고 매체에 따라 달라진다. 전파 지연 시간은 매체를 통해 신호가 이동하는 물리적인 시간에만 의존하며, 네트워크의 전송 속도(데이터가 링크를 통해 전송되는 속도)와는 무관하다!)
Queuing delay도 있다. 나중에 자세히!
지금까지 본 것은 패킷 교환 방식이다. 지금부터는 회선 교환(Circuit Switching)에 대해서 알아볼 것이다. 회선 교환은 패킷 교환 방식과 대조되는 통신 방식으로, 전통적인 전화망에서 많이 사용된다고 한다.
회신 교환은 통신의 시작부터 끝까지 송신자와 수신자 간의 전용 경로를 설정한다. 패킷 교환 방식에서는 데이터를 작은 단위로 나누어 전송했던 반면 회선 교환은 전용 경로를 만들어 데이터를 전송하는 방식인 것이다.
회선 교환에서 사용하는 두 가지 다중화 기술 -> FDM, TDM
1. FDM = Frequency Division Multiplexing 주파수 분할 다중화
주파수 대역을 나누어 다중 사용자에게 할당한다. 각 사용자는 통신 내내 해당 주파수 대역을 사용하여 데이터를 전송하면 됨.
- 고정 주파수 대역: 통신이 시작되면 각 사용자에게 고정된 주파수 대역이 할당됩니다.
- 동시 전송: 각 사용자는 자신의 주파수 대역 내에서 동시에 데이터 전송이 가능합니다.
- 최대 전송률: 할당된 주파수 대역 내에서 데이터 전송률을 최대로 사용할 수 있습니다.
- 주파수 대역이 좁지만 동시 전송 가능하므로 주파수 자원 효율적 이용 가능
2. TDM = Time Division Multiplexing 시분할 다중화
시분할 다중화는 시간을 나누어 다중 사용자에게 할당하는 방식이다. 시간을 여러 슬롯으로 나누고, 각 사용자에게 주기적으로 하나 이상의 시간 슬롯을 배정한다. 사용자는 할당된 시간 슬롯 동안에만 데이터를 전송할 수 있음.
- 고정 시간 슬롯: 통신이 시작되면 각 사용자에게 고정된 시간 슬롯이 할당됩니다.
- 주기적 전송: 사용자는 주기적으로 자신에게 할당된 시간 슬롯 동안만 데이터를 전송합니다.
- 최대 전송률: 할당된 시간 동안에는 주파수 대역 전체를 사용할 수 있어, 최대 전송률로 데이터를 전송할 수 있다.
비교: 패킷 교환 vs 회선 교환
- 패킷 교환 (Packet Switching):
- 동적 경로: 데이터가 패킷으로 나뉘어 여러 경로를 통해 전송된다.
- 공유 자원: 네트워크 자원이 여러 통신에 의해 공유된다. -> 자원 효율적 사용, but 성능 보장 x
- 효율성: 자원이 유휴 상태로 남지 않고, 네트워크 전송 효율이 높다.
- 버스트 트래픽(bursty data)에 유리하다. (버스트 트래픽은 갑작스럽고 짧은 시간에 데이터 몰려서 전송되는 것)
- 설정 필요 x, 즉시 전송 가능
- 하지만 과도하게 혼잡할 경우 패킷이 지연되거나 손실될 수 있다. (버퍼 오버플로우)
- 회선 교환 (Circuit Switching):
- 고정 경로: 통신 시작 시 전체 경로가 설정되고, 통신이 끝날 때까지 유지된다.
- 전용 자원: 경로의 자원이 해당 통신에 전용으로 할당된다. -> 성능보장 but 비효율적 문제
- 성능 보장: 일정한 성능을 보장할 수 있다. -> 성능보장이 중요한 오디오/비디오 애플리케이션 같은 실시간 스트리밍에서 사용됨. 실시간 화상회의 어플!
- 유휴 문제: 통신이 없을 때 자원이 유휴 상태로 낭비된다.
특성 | 패킷 교환 | 회선 교환 |
데이터 트래픽 | 간헐적이고 버스트 트래픽에 적합 | 지속적이고 일정한 트래픽에 적합 |
자원 관리 | 자원 공유, 필요할 때만 자원 사용 | 특정 회선 할당, 사용 중 지속적으로 자원 점유 |
통신 설정 | 설정 필요 없음, 즉시 전송 가능 | 통신 시작 전에 회선 설정 필요 |
혼잡 제어 | 필요, 혼잡 시 지연과 손실 가능 | 필요 없음, 대역폭 보장 |
주로 사용되는 프로토콜 | TCP/IP, UDP | PSTN, 초기 전화 시스템 |
네트워크 직접 연결을 하면 N^2(N은 ISP수) 만큼의 연결이 필요하게 된다. 이는 비효율적이며 확장성 문제가 생긴다. 그래서 각각의 ISP들을 global ISP에 연결하여 사용한다.
네트워크의 네트워크 구조!
1. Tiew 1 ISP : 전 세계적인 범위를 가진 대규모 네트워크 제공자
2. IXP : ISP들이 서로 트래픽을 교환할 수 있도록 도와주는 물리적 인프라
3. Regional ISP : 특정 지역을 대상으로 서비스를 제공하는 ISP
4. Access ISP : 최종 사용자가 인터넷에 접속할 수 있도록 하는 ISP
많이 참고한 블로그
https://zzonglove.tistory.com/42
https://ddongwon.tistory.com/69
'컴퓨터네트워크' 카테고리의 다른 글
[컴퓨터 네트워크] Wireless : Intro, CDMA (0) | 2024.07.11 |
---|---|
[컴퓨터 네트워크] Link layer - Multiple Access Protocol (0) | 2024.07.10 |
[컴퓨터 네트워크] Link layer - Introduction, Error Detection & Correction (0) | 2024.07.09 |
[컴퓨터 네트워크] 4일차 (0) | 2024.07.06 |
[컴퓨터 네트워크] 2일차 수업 (Introduction/Application Layer) (0) | 2024.07.03 |