통신 네트워크와 Internet에 대한 개념적 이해
- 기술적 관점에서의 Internet의 기본 개념 및 구성
- 통신 네트워크 관련 용어에 대한 이해
Internet 개념
Internet이란?
컴퓨터로 연결하여 TCP/IP라는 통신 프로토콜을 이용해 정보를 주고받는 컴퓨터 네트워크이다.
컴퓨터 네트워크: 노드들이 자원을 공유할 수 있게 하는 디지털 전기통신망의 하나이다.
- 오늘날 모든 네트워크 공학 기술을 포함한 존재
- Data를 전달하는 장치들이 이루는 거대한 network(망)
- Application에게 통신 서비스를 제공하는 존재이다.
네트워크와 인터넷의 차이점
네트워크: 서로 통신이 가능한 단말들의 연결
인터넷: 여러개의 네트워크가 연결된 것 → 다른 네트워크에 있는 단말들과 소통하기 위해 연결
시초
ARPANET
- 미국 국방부에서 군사 목적으로 만듦
- UCLA, Stanford 드이 보유한 컴퓨터를 네트워크로 연결
지금은 전 세계 대상으로 하며 전례없는 거대한 규모
다양한 목적으로 모두가 사용하는 public network
Internet 구성
네트워크는 서브 네트워크들로 구성
여러 형태의 sub-network들로 구성
아래와 같이 다양한 entity로 이루어져 있다.
- Network edges
- Access networks : edge가 인터넷 접속하기 위함
- Network Core
1. Network Edges
수많은 end system이 존재한다
End system: Internet과 연결된 가장 끝단의 존재
host라고 생각하면 되는데, host는 클라이언트나 서버를 뜻함. 즉, end system은 사용자들이 사용하는 스마트폰이나 pc, 혹은 서버라고 생각하면된다.
host는 지속적으로 많아지고 다양화되고 있다.
application이 구동되는 존재
- Web browser, email client
client vs. server
- end system은 둘 중 하나가 된다.
- client: 서비스 요청 (request)
- server: 서비스 제공 (respond)
2. Access Networks
end system이 internet의 첫 부분과 연결되는 구간
internet에 접근하기 위한 네트워크
end system들이 인터넷을 사용할 수 있도록 길을 열어주는 네트워크
스마트폰에서 와이파이에 접속하거나 pc에 랜선을 꼽는 것 모두 엑세스 네트워크에 접속하는 것.
대부분 KT나 SKT 같은 ISP가 엑세스 네트워크를 제공해준다.
- edge router (edge gate)
Home
- Digital Subscriber Line (DSL)
- cable Internet Access
- Fiber(광섬유) to the home (FTTH) : 요즘 사용
Enterprise
- LAN : Ethernet & WiFi
WAN : 3G, LTE, 5G ...
Communication link
access network를 크게 유선과 무선 두가지로 나눌수 있음
end system 사이에 데이터를 주거나 받거니 하는 것을 말함.
통신이 가능하게 end system을 연결시켜주는 링크라고 할 수 있다.
optical fiber, copper와 같은 유선 링크와 microwave, satelite처럼 무선 링크를 사용할 수도 있다.
- 유선, 무선 방식에 따라 상이한 특징을 가짐
- 전송률, 지연 등
3. NetWork Core
네트워크 핵심 부분
전체 네트워크 시스템의 중앙에 위치하여 데이터를 전송하는 핵심적인 역할
end system의 정보를 실어나르는 척추 역할
packet switches 기법으로 동작
- routers : root(길) 을 만들어준다. (이미지의 파란 부분)
- router을 통해 packet switch 가 일어난다
- 연결된 여러 출력 node에게 packet을 적절히 전달
- packet switch는 패킷을 전달하는 스위치로 L3 switch인 라우터이다. 근데 switch와 라우터 이 둘을 엄밀히 구분하는 건 의미가 없다.
- packet switch는 router와 link-layer switches로 이루어져 있다.
Packet
Internet에서의 정보를 전달하는 전송 기본 단위
- 데이터를 보내는 단위
- network core에서는 packet을 기본으로 통신
- host에서 또 다른 host로 보내기 위해 만든 data 뭉치
- packet switch 나 router 는 이 packet 단위로 전달 처리
- IP address 기반으로 이 packet을 전달한다.
Packet Switching (PS) network - 네트워크 전달 방식 1
네크워크 코어에서 router를 통해 패킷을 교환하는 것
- packet 기반의 통신 네트워크
- 모든 통신이 packet 형태로 정보 전달이 이루어짐
- 가장 대표적인 사례가 internet
Store-and-forward transmission
PS network 내 정보 전달의 기본 원리
- 패킷은 이 원리로 전달된다.
- 모든 packet switch는 packet을 수신하고 난 다음에 전달 : store & forward
- 라우터가 하나의 패킷을 다 받고, 그 다음에 전달
- 버퍼 방식으로 먼저 온 것들을 보내주고 뒤어 온것들을 저장했다가 보내주는 형태
- 수신하고 buffer 저장하고(store), 이후 전달 (forward)
- delay time : L/R(switch가지 전달한 시간) + L/R(switch에서 목적지로 전달한 시간) = 2L/R (L: lenght, R: rate)
Congestion
여러개의 입력 node와 연결된 packet switch에서의 혼잡 현상
여러개의 edge network가 여러개의 access network와 연결돼서 패킷 전달을 위해 network core에 있는 router로 가가 되는데 여기서 router에 패킷이 몰리면서 혼잡현상이 일어난다.
Queueing
output buffer에 packet이 정체되는 현상
- 패킷이 도착하는 속도가 링크로 내보내는 속도보다 많으면, 패킷이 쌓이게 되는 데 이것을 queueing이라고 한다.
- 혼잡현상을 해결하기 위한 것으로, 패킷 스위칭에 대기열이 있어서 해당 대기열에 패깃들이 쌓이고 무엇부터 빼서 보낼지는 queueing 알고리즘(프로토콜)에 맞춰서 전달된다.
Packet loss
buffer에 저장 못하고 packet이 버려지는 현상
- queueing 상황에서 큐의 max size가 다 찾을 때 발생
Router
연결된 여러 출력 노드에게 paacket을 적절히 전달하게 된다.
목적지로가는 적합한 경로를 찾아주는 라우팅 기능을 제공하는 장치
forwarding table
packet 전달의 기본 원칙
- table을 보고 outbound link와 destination address 간 mapping
- packet의 destination을 forwarding table과 대조하여 outbound link 선택한다.
- 이 테이블은 Routing protocal로 생성된다.
Routing protocal
자동으로 forwarding table 생성하는 기법
- shortest path로 목적지와 가장 가까운 라우터를 선택하는 방법
Circuit switching - 네트워크 전달 방식 2
ISDN. PSTN (공중 전화망)
하나의 호(Call (연결)이 end end system간 모든 자원을 점유한다(통화 (연결) 중에는 외부에서 해당 자원을 사용할 수 없다), 이에 반해 packet switching은 패킷을 보낼때마다 사용을 멈추고 재개할 수 있다.
자원을 점유하므로 통신 자체에서의 정체, queueing, packet loss가 없으나 자원의 점유로 인한 정체가 발생할 수 있다.
Internet Service
- internet은 HW/SW로 구성된 시스템으로 볼 수 있으나 서비스 관섬에서 internet이란
애플리케이션에 서비스를 제공하는 인프라 (이메일, 웹 서핑, sns, 메신저, VoIP, 비디오 스트리밍,...)
- end system이 application이 돌아가도록 해주는 서비스가 internet service
- 보통 internet을 쓰는 application은 distributed application (분포된, 광범위한) → 각가의 end system이 각자의 application을 돌리고 있다.
- 다수의 mutiple end system들이 data를 주고 받는다.
- end system에서 data를 주고 받고 있으므로 application은 packet switch / router 에서 실행되지 않음
- applicatoin은 end system에서만 돌아가고 그 중간에 있는 노드들에서는 돌아가고 있지 않다
Application Programming Interface (API)
host 측면에서 보면 데이터를 패킷의 형태로 만들어서 인터넷을 불러오는 api를 호출하면 인터넷에서 알아서 패킷을 전달해준다.
application 입장에선 api를 사용해서 패킷만 던져주면 인터넷이 알아서 api를 보내준다.
end system / application 에게 internet이란?
: packet을 보내는 수단
- internet은 API를 따라 packet을 보낸다
API: internet으로 하여금 packet을 제대로 보내기 위한 가이드 혹은 규칙
- ex) Postal servie API (우체국 서비스)
- 봉투에 보낼 내용을 넣고 (packet) 우체통에 봉투를 넣는다 (API)
- 우체국을 통해 편지를 다른 사람에게 보내기 위한 규칙, 가이드 = 우체통에 봉투 넣는 것 = API
Protocal
Protocal defines the format and the order of messages eschanged between two of more communicating entities, as well as actions taken on the transmission and/or receipt of a message or other event
= 행동이나 메시지의 형식을 정할 수 있다. (규약, 약속)
Internet 내에서 각 entity들의 동작 그 자체
※ entity
- 정보를 송수신할 수 있는 능력을 가진 실체
- 주어진 입력에 대하여 어떤 기능을 수행하고 출력하는 실체
- 사용자 프로그램, 파일 전송 패키지, 데이터베이스 관리 시스템, 전자우편 소프트웨어 등..
HW/SW 간 서로 메시지를 주고 받으며 상호작용을 하는 약속
주로 주고받는 메시지 + 관련 동작을 정의
protocol과 api 차이점
프로토콜
: 웹 애플리케이션 아키텍처에서는 클라이언트와 서버가 서로 HTTP라는 프로토콜을 이용해서 서로 대화(응답 && 요청)를 나눈다.
컴퓨터 내부에서, 또는 컴퓨터 사이에서 데이터의 교환 방식을 정의하는 규칙 체계
프로토콜마다 데이터를 주고 받는 형식이 다름
api: 서버는 클라이언트에게 리소스를 잘 활용할 수 있도록 인터페이스(Interface)를 제공하는데 그게 api
프로토콜은 entity간의 상호작용을 하기 위한 약속이고 api는 클라이언트가 packet(리소스) 를 활용할 수 있도록 서버가 api라는 걸 제공하는 것
Protocol Standards
protocol은 모든 entity간 서로 약속된 것이어야 한다. 그 약속은 표준(internet standard)을 통해 한다.
- 인터넷 표준은 IETF에서제정 및 공표된다
Internet Engineering Task Force (IETF) : 인터넷 표준화 작업 기구
- Requests For Comments (RFC) : 인터넷 기술에 적용 가능한 새로운 연구, 혁신, 기법 등을 아우르는 메모
- IETF는 일부 RFC를 인터넷 표준으로 받아들이기도 한다.
- TCP, IP, HTTP, SMIP : 공용 protocol에 대한 정의를 해놓은 것
IEEE 802 LAN/MAN Standards Committee
- IEEE 802 : LAN과 MAN을 관찰하는 전기 전자 기술자 협회(IEEE) 표준 규칙들의 계열
- wifi와 이더넷이 LAN에 사용하기 위해 흔히 쓰이는 기술 2가지
- wifi, 이더넷은 IEEE 802의 규칙이 적용된다.
Internet Performance
Delay
- end system 간 packet이 전달되는 시간
- packet 보낼 때 받은 때 time stamp 찍어서 측정한다.
Throughput
- 전송속도
- 충분히 큰 file을 전송하는 경우 수신 측에서 측정되는 전송률
- Instantaneous / avaerage throughput : 측정이 매우 짧은 시간 간격으로 수행되면 순간 처리량을 측정하는 것
- Bottleneck link에 dependecny가 걸리는 throughput이 전체 end to end의 throughput이 된다.
Internet Trand
end node 의 다양화
pc에서 mobile, mobile에서 IoT로 end node 들이 다양화 되고 있다.
sevice의 다양화
end node 들이 다양화 되면서 service도 다양화 되었다.
- data sharing
- web browsing
- mobile app
- real-time service (voice / video) : 실시간 서비스
Traffic Explasion
traffic: packet의 흐름
기기와 서비스가 많아지면서 traffic은 점점 증가하고 있다.
기술 trend
기술 트렌드를 4가지로 설명하지면
- 컴퓨팅과 통신 모두에서 더 빠르고 더 저렴한 방향으로 나아가고 있다.
- 오늘의 네트워크는 더 총명(intelligent)해 졌다.
- 인터넷, 웹 및 관련 애플리케이션은 비즈니스 및 개인 네트워크 환경 모두에서 지배적인 기능으로 부상했다.
- mobility(이동성)
network 산업
- CISCO
- Ericsson + LG + Notel
- Nokia + Alcatel Lucent + Siemens
- Samsung
- Huawei, ZTE
※ 참고
네트워크 구성 (Network core, Network edge, Access network)
1. 네트워크 구성 우리가 항상 사용하는 스마트폰과 PC는 네트워크와 연결되어 있어 다양한 일들을 할 수 있다. 막연히 그냥 서로 연결되어 있다고 생각하면 마음이 편하지만, 그래도 네트워크가
ddongwon.tistory.com
'CS > 컴퓨터네트워크' 카테고리의 다른 글
7. Layer 3: Internet Protocol (0) | 2023.04.15 |
---|---|
Layer 1 & 2 (0) | 2023.04.12 |
Protocol Functions 2 (0) | 2023.04.11 |
Protocol Functions (0) | 2023.04.10 |
Protocol Stack (1) | 2023.04.01 |