#1. 네트워크와 인터넷
방학을 맞아 1주정도 쉬고나니 공부가 하고 싶어졌다.
뭘 공부해야할까.. 고민을 많이 해보았는데,
이번학기 Docker & Kubernetes 및 클라우드 서비스 아키텍처를 공부하면서
계속 부족하다고 느꼈던 네트워크 관련지식을 단단하게 하는게 좋겠다는 생각이 들었다.
블로그 포스팅은 K-MOOC의 부산대학교 유영환 교수님의 컴퓨터네트워킹 강의를 들으면서
필기하고, 느낀 점을 중심으로 작성하고자 한다.
[1주차의 목표]
- 네트워크와 인터넷 개념 소개
- 인터넷 구성요소 소개
[학습목표]
- 인터넷의 개념에 대해서 이해한다.
- 네트워크와 인터넷이 어떻게 구성되어 있는지 알아본다.
# 네트워크
우리에게 가장 익숙한 인터넷에서부터, 공중 유선 전화망, 휴대 전화망과 같은 유선 네트워크와
그 외에 위성 네트워크를 포함한 각종 무선 네트워크가 포함된다.
# 1강에서는..
인터넷이란 무엇인가
네트워크를 구성하는 요소(component)들 ( HW components + SW components )
인터넷의 전체 구조
를 중심으로 살펴본다.
# What is the Internet?
- 네트워크의 종류는 다양하다.
- Internet = Inter- + net(work) , 즉 네트워크 간(間)의 네트워크이다.
- 네트워크의 종류 : "Home Network", "Institutional(회사 같은 기관) Network", "Mobile(스마트폰, 스마트 냉장고..) Network", "Global ISP", "Regional ISP" (ISP = Internet Service Provider)
- 네트워크란, 여러가지 기기들 ( Desktop, Server, Smartphone, Smart Device, Laptop... := Device = "End Host" )들이, "서로의 정보를 교환하기 위한 목적"(=네트워크의 존재 의미)로 연결되어 있는 것이다.
- 네트워크는 한 개의 덩어리가 아닌, 여러개로 분할(partition)되어 있다. 그것을 이어주는 것이 바로 인터넷이다.
★ ISP : 개인이나 기업체에게 인터넷 접속 서비스, 웹사이트 구축 및 웹호스팅 서비스 등을 제공하는 회사를 말한다. 대표적으로 한국에서는 KT 인터넷, SK 브로드밴드, LG U+ 등이 있다. (출처 : 나무위키)
# 인터넷의 구성요소
- Internet is consist of HW components + SW componenets.
- [Internet's HW Component] : End Host , Interconnection Device, Link
- End Host
- 랩탑, 모바일 기기(스마트폰, 스마트 냉장고...), 데스크탑, 서버..
- 네트워크의 종단(=끝부분)에 위치한 노드(node : 네트워크를 이루는 기기들을 노드라고 한다.)
- 네트워크의 목적인 "통신", 즉 "정보를 주고 받는 행위" 는 크게 보면, "End host"들 간의 통신을 의미한다. A라는 End Host에서 B라는 End Host로 정보를 보낼 때, 이 정보 덩어리(= 이를 패킷(packet)이라고 한다.)는 link를 타고, interconnection device들을 지나 B로 도착하게 된다.
- Client, Server는 모두 Host이다.
- Interconnection Device
- 라우터(Router), 스위치(Switch), 리피터(Repeater)...등등
- 네트워크의 대략적 구조
- (End Host) - (link) - (InterConnection Device) - (link) - (ICD) - ...- (link) - (ICD) - (link) - (End Host)
- 즉, 한 End Host에서 다른 End Host로 정보(=패킷)을 보낼 때, 여러 개의 Interconnection Device를 거치게 된다.
- 이러한 Interconnection Device는 정보(=패킷)을 "어떠한 식으로" 전달할지를 결정한다.
- Link
- Link는 네트워크에 있는 여러가지 노드들(Nodes = End hosts + Interconnection Devices)을 유선 혹은 무선의 형식으로 연결해준다.
- 유선의 경우, 구리선(copper), 광섬유(fiber) 등이 있고,
- 무선의 경우, 지상에서는 라디오 주파수(Radio Frequency), 위성을 통해서는 위성전파가 있다.
- End Host
- [Internet's SW Component] : OS, Application Program, Protocols
- OS (Operating System)
- Desktop : Windows, Linux, OS X
- Mobile : Android, iOS
- Application Programs
- 웹 브라우저 ( 구글 Chrome, 네이버 Whale, Internet Explorer, Firefox ... )
- TMI) 포털사이트 ≠ 웹 브라우저 ( 난 헷갈렸었다.. )
- Messanger Program...
- 웹 브라우저 ( 구글 Chrome, 네이버 Whale, Internet Explorer, Firefox ... )
- Protocols
- 서로 다른 노드(Node = End Hosts + Interconnection Devices)들 끼리 통신("정보를 주고 받음")을 하면서, 지켜야 할 약속
- OS (Operating System)
# Protocol
- 정의
- A defined set of rules & regulations that
- determine how data is transmitted
- in telecommunications and computer networking
- determine how data is transmitted
- 전화망(telecommunication), 컴퓨터 네트워킹에서
- 데이터를 전달하는 과정을 정의한
- 룰(rule)또는 규제(regulation)
- 데이터를 전달하는 과정을 정의한
- A defined set of rules & regulations that
- Protocol의 종류 (예) = "데이터를 어떻게 표현할 것인가?"
- 비교) 인간의 대화 프로토콜 vs 컴퓨터의 통신 프로토콜
# 통신 프로토콜 (Communication Protocol)
- All communication activity in Internet
- is governed by protocols.
- 모든 인터넷 상의 통신("정보를 주고 받음")은
- 프로토콜이 관리한다.
- Protocol defines...
- Message Format
- Order of Messages sent and received among network entities(=nodes)
- Actions taken on message transmission, receipt
- Message Format ~= 어순
- ex) 패킷(packet)의 헤더(header) 정보
- 네트워크 상에서 돌아 다니는 패킷의 내부 구성요소에는 헤더(Header)라는 것이 있다.
- 헤더는 20바이트로 구성되어있는데,
- 헤더의 13번째 바이트부터 16번째 바이트는 보내는 쪽의 IP ( source IP )
- 17번째 바이트부터 20번째 바이트는 받는 쪽의 IP ( destination IP )이다.
- 이러한 "약속"(= 메시지의 형식이 이렇더라..)은 미리 정의되어 있어야 한다. => Protocol
- ex) 패킷(packet)의 헤더(header) 정보
- Order of Messages
- ex) 아까의 컴퓨터의 통신 프로토콜 예에서
- "어떤 정보(data)를 요구(request)하려면, 그 두 기기 사이의 연결(connection)이 수립되어야한다." 라는 조건.
- 그러고 난 다음에(=순서 : Order of Messages), 파일 요청 메시지를 보낼 수 있는데, 이 때 파일 요청 메시지의 형식은 "GET (URL)" 형식이어야 한다. (메시지의 형식, 생김새 : Message Format)
- 그러고 나면(=순서), 응답이 온다... 이러한 식의 순서
- 즉 "메시지를 주고받는 순서의 틀"을 미리 정의하여야 한다. => Protocol
- ex) 아까의 컴퓨터의 통신 프로토콜 예에서
- Actions
- ex) 파일을 보낼 때, 만약 파일 크기가 너무 크면
-> 보내는 쪽에서는 보낼 때( 그 순간 ) 그것을 잘라서 보내야 한다.(Action)
-> 받는 쪽에서 받을 때 ( 그 순간 ) 잘라져 있는 메시지를 합쳐야 한다.(Action)-> 받는 쪽에서는 받을 때 ( 그 순간 ) 그 메시지들에 에러가 포함되어 있는 지 확인해야 한다.(Action)
에러가 없다면, "에러 없음"이라는 메시지를 송신 측에 보내주어야 한다.(Action) - 이러한 메시지를 주고 받는 그 순간들에 수행해야하는 행동을 미리 정의하여야 한다. => Protocol
- ex) 파일을 보낼 때, 만약 파일 크기가 너무 크면
이러한 HW 구성요소와 SW 구성요소가 함께 동작하여 인터넷에 있는 디바이스는 서로 통신할 수 있다.
'컴퓨터네트워크' 카테고리의 다른 글
#3. 네트워크 코어 (0) | 2019.06.29 |
---|---|
#2. 네트워크 엣지 (0) | 2019.06.28 |