오늘부터 정리할 내용은 고려대학교 주창희 교수님께서 강의하시는 <컴퓨터 네트워크>를 기반으로 한다.
The Internet
- Basic logical structure
기본적인 인터넷 구조에 대한 2가지 포인트는 다음과 같다.
(1) Peer-to-peer connection
(2) domain consists of 1 network itself
-Hierarchical structure
인터넷은 계층적인 구조를 가지는데, 아래의 사진과 같다.
(1) Top View
여기서의 계층 구조는, Tier1 ISP > National ISP > Regional ISP > Local ISP 이다.
계층을 이룬다는 것은 알겠는데, 중요한 건 "ISP가 무엇인지" "계층끼리 어떻게 상호작용하는지"를 모르겠다는 것.
[ISP]
Internet Service Provider
: 각각 end host들에게 인터넷 접속점을 제공해주는 역할을 수행
쉽게 말해서 개인, 기업체 등 여러 주체가 인터넷에 접속할 수 있도록 contract하여 인터넷을 제공해주는 업체이다.
계층 구조라는 것은, 이러한 ISP들의 레벨 차이에서 비롯되는 것.
(tier1 ISP = 특정 국가나, 조직 대상X ISP에게 서비스함 / 국제적인 범위)
(National ISP = 국가 전체를 커버함 / 우리나라는 KT, LG U+, SKT 세 기업이 있는데, 하나의 작은 국가에 3개나 있는 예외적인 경우라고 함)
(Local ISP = 서버와 라우터들이 상호 연결된 구조로 구성되어 있고, 지역의 인터넷/TV연결 서비스 업체를 예시로 들 수 있음)
*참고 https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=kostry&logNo=220835302403
*참고 https://dad-rock.tistory.com/192
(2) Side View
Network core:
서로 연결되어 있는 라우터로 구성되어 있으며, 위의 tier1 ISP에서도 설명했듯이 네트워크를 위한 네트워크이다.
Network edge:
네트워크 구성에서 가장 종단부분으로, FTTH, DSL 등이 있다. 클라이언트나 서버를 뜻하는 hosts가 있으며, 회사의 서버를 떠올려보면 된다. FTTH(Fiber To The Home)는 광섬유를 집안까지 연결한다는 뜻으로, 초고속 기가 인터넷 설비 방식의 한 종류라고 한다.
Access network:
네트워크에 접근하기 위한 네트워크로, 위의 사진처럼 모바일폰에서 와이파이를 접속하는 것을 떠올릴 수 있다.
*참고 https://ko.wikipedia.org/wiki/FTTH
🤔라우터?
둘 혹은 그 이상의 네트워크와 네트워크 간 데이터 전송을 위해
최적 경로를 설정해주며, 데이터를 해당 경로에 따라
한 통신망에서 다른 통신망으로 통신할 수 있도록 도와주는 인터넷 접속 장비
( https://sites.google.com/site/21herecomeputer/123123 )
음 생각해보니... 교통 경찰과 같은 역할을 하는 것 같다. 서로 연결되어 있는 곳에서 원활한 이동을 위해 적절한 길을 알려주고 정리하는?
🤔backbone?
소형 네트워크들을 묶어 대규모 파이프라인을 통해
극도로 높은 대역폭으로 다른 네트워크들의 집합과 연결되는 네트워크
감이 안오긴 한다 ... 여러 예시 중 "인터넷에서 각 ISP들을 상호 연결하기 위한 고속의 기간망일 수 있음"이라는 구절이 있었늗네, 어쨌든 네트워크들이 연결되는 과정에서 중추적인 역할을 한다는 의미인 것 같다.
( http://www.ktword.co.kr/test/view/view.php?m_temp1=1599 )
🤔Network?
계속 추상적이어서 찾아본 결과...
"몇 개의 독립적인 장치가 적절한 영역 내에서 적당히 빠른 속도로 물리적 통신 채널을 통하여 서로 직접 통신할 수 있도록 지원해주는 통신 체계"라고 한다.
의미 자체도 체계를 뜻하니, 추상적일 수밖에 없었나보다 ㅋㅋ
( https://cocoon1787.tistory.com/704 )
-Recent Advances in Access Networks
위에서 "네트워크에 접근하기 위한 네트워크"라고 했던 Access Network의 발전이다.
여기서 Data Rate란 데이터 전송 속도라고 생각하면 된다 (보통 1초 내에 한 지점에서 다른 지점으로 전송되는 디지털 데이터의 양)
단위도 Mbps로 Mega Bits Per Second인 것을 보면 감이 온다!
WPAN, WLAN, WMAN, WWAN은 통신 가능한 범위이다.
예를 들어, WPAN(Wireless Peronal Area Network)는 0~50m 거리가 기준이라고 한다. 차트에서 볼 수 있듯이, bluetooth가 해당된다. 나머지 WLAN은 Local Area, WMAN은 Metropolitan Area, WWAN은 Wide Area의 약자이다.
첫 번째 차트와 달리, 통신 범위가 아닌 이동 속도에 따른 Mbits를 나타내고 있다.
교수님께서는
GSM GPRS / EDGE 이 구간을 2G로 잡으셨다!
-Basic Networking Operations
여기서는 개념을 이해하는 것이 중요하다!
Protocol (프로토콜)
: A defined set of rules and regulations for behaviors
행동에 있어서의 규칙의 집합을 말하는데, 아무래도 서로 통신하는 데 있어서 요청을 보내거나, 데이터를 주고 받거나 할 때 원활하게 진행될 수 있도록 정해둔 규칙이라고 이해하면 될 것 같다.
Network protocols
: all communication activity in Internet governed by protocols
네트워크 프로토콜은, 앞서 정의한 규칙들의 집합인 프로토콜에 의해 지배되는 모든 소통 활동들을 말한다.
사람과 사람의 대화처럼, 특정 요청을 보내면 (request) 이에 대한 반응을 보내고 (response) 또 필요한 것을 요구하면, 해당하는 것을 보내주고 (file) ... 이런식으로 진행되는데
이 과정에는 type of packet, address 등을 포함하는 message format이나 응답이 없을 때와 같은 exception 처리 등이 있다!
<핵심정의>
Protocols define format, order of messages sent and received among network entities, and actions taken on message transmission, receipt
Data Transmission via Packets
드디어 패킷의 개념이 등장!
데이터 전송은 다음과 같이 이루어진다.
(1) takes application message
(2) breaks into smaller chunks, known as packets, of length L bits (at most)
여기서 Packet은 전송의 한 단위 Transmission unit이라고 이해하면 된다.
여기서 주요한 개념인 R이 등장
transmission rate R = link transmission rate = capacity = link bandwidth
이는 전송되는 속도, 전송 능력이라고 생각하면 될 것 같은데,
wired line에서는 고정되어 있을 수도 있고 wireless 환경에서는 변화할 수도 있다.
<핵심 관계식>
Packet transmission delay = time needed to transmit L-bit packet into link = L (bits) / R (bits/sec)
Packet Switching Store-and-Forward⭐️
(교수님께서 강조하신 부분 ㅎㅎ..)
위의 상황에서, 패킷이 목적지에 바로 보내지는 것이 아니라 패킷 단위별로 가운데의 '라우터'에 전송된 후에 그 다음 목적지로 향할 수 있다.
이를 'store and forward'라고 한다. 즉 라우터에서 패킷을 모두 다 받아 저장하고, 그 이후에 다음 링크로 보낸다는 것!
이때 end-end delay를 구할 수 있는데,
end-end delay = 2L / R (assuming zero propagation delay 전파지연 없다는 가정 하에)
(speed of light is ignored)
만약 라우터-destination의 transmission rate를 R이 아닌 R'이라고 바꿔서 가정한다면,
end-end delay는 L/R + L/R'이 될 것이다.
Packet Switching: Queueing Loss⭐️
보통 네트워크는 multiple connection의 형태인데, 여러 곳에서 동시에 패킷을 전송하면 어떻게 될까?
만약에 arrival rate to link가 transmission rate of link를 초과하면, 패킷들은 링크로 전송되기를 대기하게 된다.
위의 'queue of packets waiting for output link'와 같이 buffer space에 대기줄이 형성된다.
만약, 해당 buffer가 꽉 차있을 때 또 다른 패킷이 들어온다면, 패킷이 dropped 상태가 되는데 이를 우리는 loss라고 한다.
Packet Switching: Routing, Forwarding⭐️
(패킷 교환)
routing과 forwarding은 그림에서 잘 설명해주고 있다.
routing
: header value에 따라 output link가 결정되도록 table에 정리해두었듯이, 알고리즘에 따라 목적지를 결정해주는 것이다.
🤔라우터?
둘 혹은 그 이상의 네트워크와 네트워크 간 데이터 전송을 위해
최적 경로를 설정해주며, 데이터를 해당 경로에 따라
한 통신망에서 다른 통신망으로 통신할 수 있도록 도와주는 인터넷 접속 장비
아까 살펴보았던 라우터의 개념을 참고!
forwarding
: input에 따라 목적지가 결정되었으면, 이에 맞게 output을 내놓는 것이다.
위의 그림처럼 만약 '0100'의 header valuer가 들어오면 routing에 의해 목적지가 정해지고, link3으로 forwarding하게 된다.
Circuit Switching⭐️
(회선교환)
앞서 우리는 packet switching을 다루었는데, 이와 다른 circuit swtiching이 그 이전에 등장했다.
사실 강의 중간에는 이해를 잘 하지 못했다 ...
전화망을 떠올리며 이해하면 되는데, 위의 그림처럼 1대1로 연결되는 미리 정해진 루트에 따라 교환되는 방식이라고 이해하면 될 것 같다.
(End-to-end resources allocated to, reserved for "call" between source and destination.)
특징은,
* ciruit-like (guaranteed) performance
* circuit segment idle if not used by call (호출되지 않으면 회선의 부분들이 가동되지 않는다는 것)
* commonly used in traditional telephone networks
(no resource sharing 공유되지 않음)
Packet VS Circuit Switching⭐️⭐️
Packet Switching | Circuit Switching |
ex) Internet | ex) Telephone Network |
(1) resource가 제한적일 때 서비스의 질을 보장하기 어렵다. "Best effort"라고 할 수 있음 (2) physical routing and switching needs to be done at line speed (3) Network is used on demand 따라서 높은 네트워크 효율성을 보임 (4) Effiricent and suitable for bursty traffic (ex. file transfer) (5) packets may be dropped (buffer가 꽉 찼을 때) |
(1) 서비스의 질을 보장하기 더 쉽다. (2) Routing can be done over longer time durations (call arrival and departure times) 우리가 통화 신호음 듣는 것처럼 시간이 소요됨 (3) Resources are dedicated for the entire duration of the call (4) Inefficient but suitable for smooth traffic (여기서 smooth란 low-rate / transmission speed is almost equal인 것을 말한다) e.g voice처럼 (5) No packet loss (within the reserved resources) |
요약하자면 패킷 교환은 high efficiency / poor quality of service고
회선 교환은 low efficiency / better quality of service이다.
[체크할 사항]
패킷 교환 회선 교환 관련해서 특징 중에 이해 안되는 것이 몇 개 있다. 신호 또는 트래픽 개념 관련. ( )
routing & forwarding의 정확한 구분점 궁금하다 ( )