Chapter 1. 인터넷이란 무엇인가?

MoonLight·2021년 10월 8일
0

컴퓨터 네트워크

목록 보기
1/10
post-thumbnail

0x01 인터넷이란 무엇인가?

1.1 구성요소로 본 인터넷

  • 인터넷 : 네트워크 중간에 위치하면서 네트워크와 네트워크를 연결해주는 네트워크

  • Host(= end system) : 네트워킹을 할 수 있는 장치

    • How?(기술적 측면) end systemcommunication link(통신 링크)와 packet switch(패킷 스위치)의 네트워크로 연결된다.

      • communication link(통신 링크) : 유선 전송매체인 동축케이블, 구리선, 광케이블과 무선 전송매체인 라디오 스펙트럼(방사파), 위성통신(직진파) 등을 포함한 각 단말들이 서로 연결할 수 있게 해주는 다양한 물리매체(Physical media).

        • 각 link들은 다양한 transmission rate(=bandwidth, 속도)을 이용하여 데이터를 전송하며 이 단위는 bps(bit per second)이다. ex) 얇은 케이블보다 굵은 케이블이 더 빠르다.
        • 유선 전송매체: 네트워크의 규격에 따라 알맞는 케이블을 이용해야 함
        • 무선 전송매체: 전파의 규격에 따라 전파의 파장이나 주파수가 지정되어 있다. && 디지털 신호 👉 물리적인 신호
      • packet switch(패킷 스위치) : 입력 communication link의 packet을 받아서 출력 communication link로 packet을 전달하며 즉, 최종 목적지 방향으로 packet을 전달한다. 이 packet switch는 2가지 종류가 있다.

        • router : network core에 사용

          • 라우터: 네트워크를 구분 짓고 서로 연결시킴.
        • link-layer switch : access network에 사용

          • 스위치: 여러 대의 컴퓨터를 네트워크에 연결하고, 같은 네트워크안에서의 데이터 전송을 수행, 네트워크의 입구
      • packet이 송신 end system → 수신 end system 에 도달하는 동안 거쳐 온 일련의 communication link, packet switch들을 route(=path) 라고 한다.

    • How?(일반적 측면) end systemISP(인터넷 서비스 제공업체)를 통해 인터넷에 접속하는데 가정 ISP(지역케이블,전화회사) / 법인 ISP / 대학 ISP / 공항,호텔,카페등 기타 공공장소에서 와이파이 접근을 제공하는 ISP / 스마트폰과 다른장치들에 모바일접속을 제공하는 셀룰러 데이터 ISP를 포함한다. 이 ISP또한 packet switch와 communication link로 이루어진 네트워크다.

  • 위 end system, packet switch, internet의 다른 구성요소는 통신을 하기위해 사전에 정의되어 있는 규칙과 약속인 protocol을 수행해야만 한다. 특히 TCP(Transmission Control Protocol)와 IP(Internet Protocol)가 인터넷에서 가장 중요한 protocol이다.

    • TCP/IP : 인터넷에서 가장 자주 사용되고, 가장 중요한 주요 프로토콜을 통칭한 set을 TCP/IP라고 한다. HTTP, DHCP, SSH, TCP, UDP, IP, ICMP 등이 포함되어 있다.

    • 이 protocol을 위한 인터넷 표준을 개발하는 곳 중 하나는 IETF(Internet Engineering Task Force의 약자로 미국의 국제 인터넷 표준화 기구.)이다. 또한, IETF 표준 문서를 RFCs(Request For Comments의 약자이며, IETF 표준 문서에서 제공 및 관리하는 문서로서 인터넷 기술에 적용 가능한 새로운 연구, 혁신, 기법 등을 아우르는 매우 기술적이고 상세한 메모를 나타낸다. 거의 모든 인터넷 표준은 RFC로 문서화가 되어있다.)라고 한다. 현재 TCP, IP, HTTP, SMTP를 포함한 약 7,000개 이상의 RFC가 있다.

      네트워크 구성요소에 대한 표준을 개발하는 또다른 기구도 있는데, 이들은 특히 Network link에 대해 초점을 둔다. 예들 들어, IEEE 802 LAN/MAN 표준위원회[IEEE 802 2016]은 Ethernet과 무선wifi 표준을 기술한다.

Packet : 통신의 기본단위로서, 하나의 종단 시스템이 다른 종단 시스템으로 보낼 데이터를 가지고 있을 때, 송신 종단 시스템이 이 데이터를 세그먼트로 나누고 각 세그먼트에 헤더를 붙이는데 이렇게 만들어지는 정보의 패키지를 packet이라고 한다.

ISP : Internet Service Provider의 약자로 KT, SK브로드밴드, LG유플러스 같은 인터넷 서비스 제공업체이다.

비유적 표현 : packet과 트럭, communication link와 고속도로/도로, packet switch와 교차로, end system과 빌딩


1.2 서비스 측면에서 본 인터넷

우리는 위와 다른 관점 즉, application에 서비스를 제공하는 infrastructure로서 인터넷을 기술할 수 있다...... ex) 전자메일, 웹 서핑, 인터넷 메시지, 지도서비스, 클라우드, SNS, 영화스트리밍 등의 인터넷

  • 이들 application은 서로 데이터를 교환하는 많은 end system을 포함하기 때문에 distributed application(분산 애플리케이션)이라고 부른다.
  • internet applicationend system에서 수행된다!! (network core의 packet switch따위에서 수행되지 ❌, packet switch는 end system간에 데이터 교환을 쉽게 해주지만 데이터의 시작과 끝인 application에는 관심을 갖지 않는다.)
  • 이러한 end system에서 수행되는 application을 Java,C,python 등으로 개발하는데, 한편 distributed internet application으로서 제 역할을 하기 위해서는 다른 end system에서 수행되는 프로그램과 서로간에 데이터를 송신할 필요가 생긴다. 바로 이 경우에서 Internet을 application을 위한 platform으로서 기술하는 중요한 문제가 발생.
    • how? 💡 인터넷에 접속된 end system들은 한 end system에서 수행되는 프로그램이 어떻게 Internet infrastructure에게 다른 end system에서 수행되는 특정 목적지 프로그램에게 데이터를 전달하도록 요구하는지를 명시하는 socket interface를 제공
    • socket interface 는 송신 프로그램이 따라야 하는 규칙의 집합(set of rule)이며, 인터넷은 이 규칙에 따라 데이터를 목적지 프로그램으로 전달한다.
    • 예를 들어, Alice가 Bob에게 편지를 보낼 때 차를타고 직접 Bob의 집에 찾아갈 수는 없으나 , 편지를 봉투에 넣어서 밥의 이름/주소/우편번호를 봉투에 쓰고, 봉투에 풀칠을 하고, 봉투에 우표를 붙이고, 봉투를 공식 우편 서비스 우체통에 넣어야 한다. 이러한 예시처럼 Alice(송신프로그램)이 편지(데이터)를 목적지(Bob)에게 전달할 수 있도록 따라야 하는 봉투에 쓰고, 풀칠하는 등의 규칙(socket interface)이 바로 소켓 인터페이스이다.
    • 추가적으로, 우편 서비스가 고객에게 특급우편, 일반등기, 빠른등기 등 다양한 서비스를 제공하는 것과 같이 Internet 또한 application에게 다양한 서비스를 제공한다. 즉, internet application을 개발할 때 여러가지 internet 서비스 중에서 하나를 골라야된다.

1.3 프로토콜이란 무엇인가?

(1) 사람과의 비교

  • 위 그림은 사람의 protocol와 컴퓨터 네트워크 protocol을 비교한 것인데, Alice가 시간이 몇시인지 물어보고 싶을 때 먼저 안녕! 이라는 인사를 먼저 한다. 그리고 Bob도 안녕이라고 응답을 해준다. 그리고 Alice가 알고싶었던 시간을 물어보면 Bob은 시간을 알려준다. 컴퓨터 네트워크 protocol도 똑같다. 얻고자 하는 데이터를 위해 TCP연결요청(Hi)을 보내면, 서버는 TCP연결응답(Hi)을 하고, 원하는 GET http://url/request(몇시야?)하면 서버는 그에 맞는 데이터를 사용자에게 response(2시야!)해준다.
  • 또한, Alice가 대화하기 위해 "안녕"이라고 했음에도 Bob이 의사소통을 거부하는 경우도 있는데 이 경우 Alice는 더이상 대화를 이어나가지 않는다. 또한 Bob이 응답 자체를 못할 경우에도 Alice는 더이상 대화를 이어나가지 않는다. 이러한 경우도 컴퓨터와 동일하다.
  • 위의 예시에서 핵심은 1. 우리가 보내는 특정한 메시지가 있고, 수신된 응답 메시지 or 다른상황(일정시간내 응답이 없는 경우)에 대응해서 2. 각 상황에 맞는 특정 행동이 있음에 주목하자.
    • 만약 Alice가 보내는 메시지를 Bob이 이해할 수 없거나, Alice가 메시지를 보냈음에도 Bob이 Alice가 이해할 수 없는 이상한 행동을 한다면 이 프로토콜은 상호작용 및 원하는 작업을 수행할 수 없는데, 네트워킹 또한 둘 이상의 통신 개체가 함께 인식하는 protocol이 필요하다.

(2) 네트워크 프로토콜

  • 통신하는 둘 이상의 원격 개체가 포함된 인터넷에서의 모든 활동은 protocol이 제어한다. ex1) 물리적으로 연결된 두 컴퓨터의 네트워크 접속 카드에서 하드웨어로 구현된 프로토콜은 컴퓨터 사이에 연결된 "선로상"의 비트 흐름을 제어한다. 예를 들어, 종단 시스템에 있는 혼잡제어 프로토콜은 송수신자 간에 전송되는 패킷률을 조절한다. ex2) 라우터에서 프로토콜은 송신자에서 목적지까지 패킷의 경로로 설정한다.
  • Protocol1. 둘 이상의 통신 개체간 교환되는 message format/order 뿐 아니라, 2. 메시지의 송수신 or 다른 이벤트에 따른 행동들을 정의한다.

profile
hello world :)

0개의 댓글