0. 글을 쓰기에 앞서
해당 글은 경북대학교 컴퓨터학부 수업인 COMP0414-001 컴퓨터 망의 수업을 들으면서 작성하는 내용입니다.
책은 [Computer Networking : A Top - Down Approach 8th Edition, Kindle Edition by James F. Kurose (Author), Keith Ross (Author)] 을 보고 있습니다.
해당 카테고리에서는 컴퓨터 네트워크의 내용을 다루고 있습니다.
1. Internet이란?
- 우리는 누구나 인터넷을 사용하지만, 인터넷을 정의하는 것은 어렵습니다.
- 해당 글에서는 인터넷을 정의하는 두 가지 관점에 대해서 정리합니다.
- 첫 번째는 인터넷을 구성하는 볼트와 너트, 인터넷을 구성하는 하드웨어와 소프트웨어의 관점에서 봅니다.
- 두 번째는 분산된 application에게 서비스를 제공하는 네트워크의 시설에 대한 관점에서 봅니다.
- 현재 단계에서는 네트워크의 큰 그림과 용어만 보고 넘어갑니다.
2. A Nuts-and-Bolts에 대한 관점
- 현재에도 수많은 기기가 네트워크에 연결되어 있습니다.
- 휴대폰, 데스크탑, 태블릿, 맥북 등 이런 시스템을 인터넷 용어로 Host 혹은 End system이라 합니다.
- End system은 communication link와 packet switch를 통해 네트워크에 접속하게 됩니다.
- communication link는 구리선, 광섬유, 혹은 무선을 통해 전송됩니다. 종류가 다른 링크는 다른 전송 속도를 가집니다.
- 이때 전송되는 것은 packet이며, 패킷은 전송할 데이터와 패킷의 정보를 담은 헤드로 구성되어 있으며, 목적지에 도착하면 원본 데이터로 복구됩니다.
- packet switch는 link를 통해 들어오는 패킷을 다시 link로 내보내는 역할을 합니다.
- packet switch는 여러 종류가 있지만, 크게 두 가지 종류가 있습니다.
- router와 link-layer swtich입니다.
- Link-layer swtich는 일반적으로 네트워크에 접속하는데 사용되고, router는 일반적으로 네트워크 코어에서 사용됩니다.
- 추가적으로 router는 외부 네트워크와 다른 네트워크를 연결하는데 사용되는 장치이고, 이때 라우팅 테이블을 통하여 다른 네트워크에 연결합니다. 또한 라우터는 OSI 3계층에서 작동합니다.
- 스위치는 여러 장치를 연결하는 것이 주 목적입니다. 쉽게 말하여 같은 네트워크 안에서 여러 개의 장치를 연결하는 것이 목적입니다. 이를 통해 같은 네트워크에서 여러 장치가 통신하는 것을 가능하게 합니다.
- 따라서, 라우터와 스위치는 서로 다른 네트워크와 같은 네트워크 간의 연결을 담당하는 역할에 차이가 있습니다.
- link와 packet switch로 이루어진 네트워크를 통하여 패킷은 end system으로부터 출발하여, end system으로 도착합니다.
- 어떤 정보는 패킷 단위로 나뉘어져 링크라는 도로를 통해, 패킷 스위치라는 교차로를 통해, 목적지에 도착하게 됩니다.
- 또한 End system은 Internet Service Provider(ISP)를 통해 인터넷에 접속할 수 있습니다.
- 각각의 ISP는 각자 packet switch와 link를 가지고 있습니다.
- 인터넷은 필연적으로 end system끼리 연결되어야 하므로, 모든 ISP는 서로 상호연결되어 있어야 합니다.
- 이를 위하여 lower-tier ISP는 upper-tier ISP와 연결되고, upper-tier ISP는 서로 상호연결되어 있습니다.
- ISP들은 서로 IP Protocol을 통해 관리됩니다.
- 엔드 시스템, 패킷 스위치, 그리고 다른 부품들은 인터넷을 통해 정보를 전달하고 전송받는 것을 제어하는 Protocol을 통해 실행됩니다.
- Transmission Control Protocol(TCP), Internet Protocol(IP)가 가장 대표적인 두 개의 Protocol입니다.
- 추가적인 표준을 위해 Internet Standard도 있습니다.
- Request for Comments(RFC)는 참조를 위한 도큐먼트이고, Internet Engineering Task Force(IETF)는 인터넷의 표준을 정합니다.
3. A Service에 대한 관점
- 우리는 이제 다른 관점으로 인터넷을 정의할 수 있습니다.
- 서비스를 제공하는 시설, 장치에 대해서 정의할 수 있습니다.
- 수많은 엔드 시스템은 곧 distributed application과 같고, 이러한 application은 반드시 다른 application과 통신해야 합니다.
- 그렇지만 엔드 시스템은 네트워크 코어나, 패킷 스위치에서 작동하지 않습니다.
- 비록 패킷 스위치는 데이터 교환을 용이하게 하지만, 데이터 자체에 대해서는 관심이 없고, 그냥 데이터 교환이라는 역할만 수행합니다.
- 그렇다면 내가 개발한 application을 어떻게 다른 엔드 시스템 유저가 사용하게 할 수 있을까요? 같은 프로그램을 가지고 있더라도, 내가 보낸 데이터를 어떻게 받게 할 수 있을까요?
- 이를 위해 인터넷에 연결되어 있는 엔드 시스템에서 실행되는 프로그램이 다른 엔드 시스템에서 실행되는 프로그램을 대상으로 데이터를 전달하도록 요청하는 방법을 정의한 것이 Socket Interface입니다.
- 해당 방법은 무조건 따라야 하며, 그렇게 해야만 목적지에 데이터를 전송할 수 있고, 서비스를 제공할 수 있습니다.
4. What is a Protocol?
- 둘 이상의 멀리 떨어진 기기끼리 통신하는 등 인터넷에서의 모든 활동은 Protocol에 의해 관리됩니다.
- 예를 들어, 하드웨어에 구현된 프로토콜은 유선에서 데이터의 전송 속도를 조절할 수 있고, 그게 아니라면 패킷의 길을 조절할 수도 있습니다.
- Protocol은 인터넷의 모든 것에 존재하고, 아마 해당 강의의 대부분이 Protocol에 대해 설명하는 내용일겁니다.
- 따라서 Protocol은 다음과 같이 정의할 수 있습니다.
- 프로토콜 (protocol)은 통신이나 데이터 처리 등의 분야에서 서로 다른 시스템 간에 데이터를 주고받는 규칙의 체계를 말합니다.
- 이 규칙은 양식, 데이터의 인코딩, 오류 검출 방법, 전송 속도 및 기타 중요한 매개변수 등을 포함합니다.
- 프로토콜은 일반적으로 컴퓨터 네트워크에서 사용되며, 두 개 이상의 기기 또는 시스템 간에 데이터를 전송하기 위한 통신 규약을 제공합니다.
참고
경북대학교 컴퓨터학부 COMP0414-001 컴퓨터 망
Computer Networking: A Top Down Approach / James F. Kurose, Keith W. Ross 저 / PEARSON / 2021년
다음 글에서는 Network Edge에 대해서 쓰도록 하겠습니다.
2023.03.09 - [Computer Science/네트워크] - [네트워크] The Network Edge
감사합니다.
지적 환영합니다.
'Computer Science > 네트워크' 카테고리의 다른 글
[네트워크] Circuit Switching, Multiplexing (0) | 2023.04.06 |
---|---|
[네트워크] Forwarding Table and Routing Protocols (0) | 2023.03.16 |
[네트워크] Queuing Delays and Packet Loss (0) | 2023.03.16 |
[네트워크] The Network Core (2) | 2023.03.14 |
[네트워크] The Network Edge (0) | 2023.03.09 |