본문 바로가기

KNU Freshman/컴퓨터학개론

(11) 네트워크

* 인터넷 정의

     <인터넷>

     인터넷: 네트워크를 하나로 묶는 기술 (인트라넷이랑 반대)

 

     <토폴로지 topology, 형태>

     -LAN 구조(토폴로지)의 종류

         - 스타형: 중간에 네트워크 관장하는 시스템을 두고 방사형으로 기기를 연결

         - 링형: 모든 기기를 원형으로 연결

         - 버스형: 중앙에 데이터가 흐르는 버스를 두고, 여기에 기기를 붙여 네트워크 구성

 

      <알파넷>

          - 미국에서 육군, 해군, 공군이 서로 다른 종류의 LAN을 구축하면서 서로 호환이 되지 않아 효율적으로 명령을 전달하기가 어려웠음

          - 1960년대 미국 국방성에서 1969년 알파넷(ARPAnet)을 구축함으로써 서로 다른 종류의 LAN을 선으로 연결

 

* 웹과 검색엔진

     - 인터넷 초기에는 텍스트로 정보를 주고 받았음

     - 웹(World Wide Web, WWW)

          - 문자, 영상, 음성 등 정보를 한꺼번에 제공하는 멀티미디어 서비스

     - 웹 브라우저(Web Browser)

          - 인터넷을 이용하여 웹 형식(HTML)으로 만들어진 문서를 보여주는 프로그램

 

      - 모자이크(Mosaic)

           - 1993년 미국 일리노이대학교 NCSA 연구소 마크 앤드리슨(Marc Andreessen)과 에릭 비나(Eric Bina)가 개발한 웹 브라우저

           - 기존 텍스트에서 벗어나 화면에 그래픽을 사용

           - 특정 위치에 링크를 걸어 다른 화면과 연결됨(하이퍼텍스트, Hypertext)

           - 현재 사용 중인 웹 브라우저의 시초

 

      - 모자이크 이후 다양한 웹 브라우저

           - 마크 앤드리슨은 1994년에 넷스케이프 내비게이터 출시

           - 1995년에는 마이크로소프트가 인터넷 익스플로러 개발

           - 이후 웹 브라우저로 글, 그림, 사진 등 멀티미디어 사용이 가능하게 됨

 

      - 역사: 모자이크 -> 넷스케이프 내이게이터 -> 인터넷 익스플로러 

 

* OSI 참조 모델의 개요

      <일반적인 네트워크의 계층 구조>

           - LAN

                   - 유선 혹은 무선으로 기기를 연결하는 계층

                   - 기기 간 데이터 전송 시 속도 제어 및 오류를 검출하는 계층

           - 인터넷

                   - 네트워크와 네트워크를 연결하는 계층

                   - 네트워크 간 데이터 전송 시 속도 제어 및 오류를 검출하는 계층

           - 응용 프로그램

                   - 계층의 최상단, 사용자가 사용하는 프로그램이 있는 계층

 

     <OSI 참조 모델 Open Systerms Interconnection reference>

            - 국제표준화기구(ISO)에서 개발한 네트워크 모델

            - 네트워크 동작을 7계층으로 구성하여 설명

 

* 물리 계층

      - 네트워크에서 유선 혹은 무선으로 인접한 기기 간 연결을 담당

      - 네트워크 연결선의 특징, 무선 연결 방식의 특징을 규정

    <전송 매체>

      - 데이터를 전송하는 매체로는 유선과 무선이 있음

           - 유선: 전선을 이용하여 데이터를 전송하는 방식

           - 무선: 공기 중에 전파를 보내어 데이터를 전송하는 방식

      - 일반적인 전선은 +극과 -극을 가진 가닥 2개로 구성

      - 외부의 힘에 전선을 흐르는 전기가 영향을 받음

      - 전선은 외부의 영향을 덜 받으면서 최대한 멀리까지 데이터를 전송하는 역할을 해야함

 

    <전송 매체의 종류>

     -  꼬임선(twisted pair)

          - 선 2개를 일렬로 붙이지 않고, 꼬아서 사용하는 선

          - 일반적인 LAN선은 총 8가닥을 2가닥씩 꼬아서 총 4쌍으로 구성됨

          - 꼬임선의 데이터 전송 가능 거리: 수백 m ~ 2km 정도 

 

   - 동축선(coaxial cable)

          - 꼬임선보다 외부 충격에 강하고 수십 km까지 데이터를 보낼 수 있는 선

          - 구조가 복잡하여 선의 가격은 비싸지만 수십 km까지 데이터를 전송

 

  - 광섬유(fiber optics)

          - 유선매체 중 많은 양의 데이터를 멀리까지 보낼 수 있는 선

          - 머리카락보다 작은 선 하나가 수 기가의 데이터를 수백 km까지 전송

          - 국가와 국가 간에 데이터를 전송하거나 해저 케이블에 광섬유 사용

 

* 데이터 링크 계층

- 데이터 링크 계층

   - 인접한 기기 간에 오류 없는 데이터 전송

   - 물리 계층을 통하여 데이터를 주고 받을 때 얼마나 빠른 속도로 데이터를 주고 받을지, 받은 데이터에 오류가 없는지 등을 살펴봄

 

- IP주소와 MAC 주소

   - IP 주소: 인터넷으로 연결된 각 컴퓨터마다 유일하게 부여된 주소로 데이터 링크 계층에서 사용, 4바이트 구성

   - MAC 주소: 데이터 링크 계층에서 사용하는 주소로 제조사에서 통신장비에 부여하는 고유한 주소, 물리적 주소라고도 함, 6바이트 구성

 

- 오류 탐색 코드

   - 전송 데이터가 원래 데이터와 같다는 것을 확인하는 코드

   - 전송 데이터 중 원래 값이 아닌 것을 찾아낼(탐색할) 수 있음

 

- CRC 코드(Cyclic Redundancy Check, 순환 중복 검사)

   - 대표적인 오류 탐색 코드

   - 적은 오버헤드로도 많은 오류를 찾을 수 있음

 

- CRC 코드의 사용 예

   - CRC 코드는 통신 이외에도 다양한 곳에서 사용

   - 하드디스크나 USB 드라이브 등 저장 장치에 데이터를 저장할 때 CRC코드도 함께 저장

   - 저장한 파일이 깨지면 윈도우는 오류 메세지를 보여줌

   - 파일을 압축할 때도 CRC 코드를 함께 저장(깨진 압축 파일을 풀면 CRC 코드 오류가 있다는 것을 보여줌)

 

* 네트워크 계층

- 네트워크 계층

   - LAN들을 연결하여 인터넷을 구성하는 계층으로 어떤 경로로 데이터를 보낼지 결정(경로 배정 혹은 라우팅)

   - 네트워크 계층의 대표적인 프로토콜로 인터넷에서 사용하는 IP가 있음

   - 네트워크에서 보내는 데이터 패킷(packet)이라고 하며, 크기가 정해져있음

      - 크기가 정해져 있기 때문에 큰 데이터를 보낼 경우 패킷을 여러 개로 나누어 전송해야 함

 

- 라우팅

   - 어떤 경로로 패킷을 보낼지 결정하는 것을 라우팅 혹은 경로 배정이라고 함

   - 매 순간 가장 빠르다고 생각되는 길로 패킷이 이동

 

- 라우터(Router)

   - 네트워크 계층에 위치하여 LAN과 LAN을 연결하는 기계

   - 라우터와 네트워크 상태는 수시로 변경됨 

 

 

* 서울에서 부산까지 패킷 1~4전송 (예)

A 라우터는 1패킷과 2패킷을 B 라우터에 보냄

이후 B 라우터가 너무 붐벼서 3번과 4패킷은 C 라우터에 보냄

서울에서 보낸 패킷들은 라우터가 생각하는 가장 빠른 길로 전달됨

먼저 보낸 패킷이 늦게 도착하는 경우도 있고, 어떤 패킷은 길을 잘못 들어 목적지에 도착하지 못하는 경우도 있음

부산에 있는 컴퓨터에는 1, 4, 3패킷이 도착

2패킷이 사라졌으며, 4번과 3패킷은 순서가 뒤바뀌어 도착

 

* MAC 주소의 문제점

통신을 하려면 주소가 필요하며 LAN에서는 6바이트의 MAC 주소를 사용

LAN에서는 연결되어 있는 기기의 MAC 주소를 있지만, 인터넷에서는 불가능함

MAC 주소는 무작위로 생성되므로, 통신을 위해서는 모든 주소와 위치를 알아야 함 

비슷한 MAC 주소가 미국, 영국, 태국, 중국에 있다고 하면, 모든 MAC 주소의 위치를 기억하고 있어야만 통신이 가능

 

* IP(Internet Protocol) 주소

인터넷에서 패킷 전송을 담당하는 프로토콜은 IP

주요 역할은 라우팅 (경로 배정)

뒤바뀌거나 사라진 패킷을 원래대로 맞추어 주는 일을 전송 계층에 있는 TCP(인터넷을 사용할 TCP/IP같이 사용)

지역 코드를 반영한 4 바이트의 IP 주소

수억 대에 이르는 컴퓨터가 서로의 위치와 주소를 같이 기억하는 것은 불가능

지역코드를 반영한 4바이트의 IP 주소를 새로 만듦

지역코드를 사용하면 라우팅을 하는유리

IP V4(버전4) 주소 체계

전체 4바이트 3바이트는 지역코드를 나타내고, 마지막 1바이트는 개별 컴퓨터를 나타낸다는

실습실에 컴퓨터가 30있다고 가정해 보면 컴퓨터 30대의 주소 서로 다른 번호는 번째 주소

 

IP v6(버전6) 주소

스마트폰처럼 움직이는 기기에서도 인터넷을 사용하면서 문제가 발생

       • 지역코드가 바뀌어 IP 주소를 변경해야 하는 문제 발생

다양한 종류의 제품(IoT)들을 인터넷에 연결하면서 4바이트 주소로는 모두 수용할 없게되면서 새로운 주소 체계를 만듦(IP v6 주소)

 

* 도메인 이름 (domain name)

인터넷에서 통신하려면 IP 주소가 필요

사람이 IP 주소를 외워서 통신하기는 매우 불편

불편을 해소하기 위해 IP 주소에 이름을 붙여주는

IP 주소에 이름을 부여한 것이 도메인 이름 

 

도메인 규칙

    – 국가

        •한국은 kr, 일본은 jp, 영국은 uk, 프랑스는 fr

    –기관

        • 회사는co, 학교는ac, 비영리기관은or, 연구소는re, 국가기관은go, 알려져있는기관은중간도메인을생략하기도

 

도메인 이름 서비스(Domain Name Service, DNS)

도메인 이름을 IP 주소로 바꾸어 주는

도메인 이름과 IP 주소를 모아 놓은 컴퓨터를 DNS 서버라고

사용자가 브라우저에서 도메인 이름을 쓰면 브라우저는 DNS 서버에 접속하여 IP 주소를 받아

DNS 서버는 인터넷을 시작할 번만 접속

* 전송계층

네트워크 계층에서 올라온 데이터를 정리하고, 프로그램에 데이터를 전달

수신된 데이터의 오류를 점검하고 보정하고,오류가 있으면 재전송 요청을

전송 계층의 대표적인 프로토콜로 인터넷에서 사용하는 TCP있음

 

포트번호

전송 계층이 사용하는 주소

전송 계층은 데이터를 응용 프로그램에 나누어 주거나 반대로 응용 프로그램으로 데이터를 받아 목적지까지 전달

IP 주소는 컴퓨터까지 오는사용되며 프로그램을 구분하는 것은 포트(port) 번호로 함 

 

-잘 알려진 포트번호(well-known port number)

   - 웹 브라우저처럼 일반적인 프로그램에는 임의의 포트번호를 부여

   - 서버의 포트번호가 바뀌면 사용자는 알 수 없음

   - 서버용 소프트웨어가 사용하는 포트번호는 전 세계적으로 정해져 있음

     - 웹 서버의 포트번호는 80번, FTP 서버의 포트번호는 21번

     - 미리 정해진 포트번호를 잘 알려진 포트번호(well-known port number)라고 함

 

- 웹 주소 체계는 //http://www.knu.ac.kr//

   - 도메인 이름 뒤에 콜론을 붙인 후 포트번호 80을 쓰도록 되어 있었음

   - 대부분의 웹 서버가 80번을 쓰기 때문에 이를 생략해도 인식

   - 반대로 80번 이외의 포트번호는 웹페이지에 포트번호를 꼭 붙여야만 접근 가능

     - http://www.knu.ac.kr:8080

 

* TCP/IP

- 인터넷에서 서로 다른 네트워크끼리 어떻게 데이터를 주고받을 것인지 만든 통신 규약

- 처음에는 대학교 연구용으로 사용하다 일반인에게 공개(인터넷의 시작)

 

- IP(인터넷 프로토콜)

   -네트워크와 네트워크 사이에서 데이터를 주고받는 규칙을 정한 프로토콜

   -IP를 처음 만들 당시 목적지까지 데이터를 보내는 데는 성공했으나, 데이터가 사라지거나 순서가 뒤바뀌거나, 일부가 훼손되는 일이 발생하여 TCP개발됨

 

- TCP(전송 제어 프로토콜)

인터넷으로 받은 데이터를 목적지 프로그램에 전달하는 창구 역할을 하는 프로토콜
데이터 전송 오류 순서를 바로 잡아 최종 목적지 프로그램까지 전달

 

- TCP/IP 동작의 비유

TCP택배 접수처, IP배송 트럭

IP여러 LAN통과하여 배송지까지 데이터를 배달

TCPIP도와 데이터를 접수하고, 빠진 데이터는 없는지 확인

 

- TCP/IP 데이터 전송 과정

송신측 (보낸 )

   • TCP데이터를 전송하기 적당한 크기로 잘라 번호표를 붙인 IP전달

   • IPLAN 여러 개를 지나 목적지까지 데이터 전달 

수신측(받는

   • 전달된 데이터는 수신측 TCP전달됨

   • 수신측 TCP데이터가 이상 없는지 확인

     > 문제가 있으면 송신측 TCP재전송 요청 

     > 문제가 없으며 최종 데이터를 목적지 프로그램에 전달

- 패킷 재전송

패킷 전송 오류를 방지하기 위해 일련번호를 매겨 전송

받는 쪽의 TCP도착한 패킷들을 보고 순서를 정리, 도착하지 않는 패킷이 있을 경우 재요청

 

- UDP(User Datagram Protocol )

UDP/IP사용하면 IP에서 올라온 데이터를 특별한 작업 없이 프로그램에 전달

물론 데이터가 사라지거나 뒤바뀔 수는 있지만, 처리 속도가 매우 빠름

동영상 스트리밍, IPTV, 인터넷 전화는 TCP/IP 대신 UDP/IP사용

LAN으로 연결하여 게임할 UDP사용할 있게

   • LAN인접한 컴퓨터이기 때문에 데이터 손실이 거의 없어 UDP충분함

 

세션 계층

데이터 전송 세션을 관리하는 계층

세션은 작업의 단위를 가리킴

 

표현 계층

데이터를 암호화하는 계층

웹에서 흐르는 데이터를 암호화하려면 반드시 표현 계층을 거쳐야

 

응용 계층

네트워크를 사용하는 대부분의 응용 프로그램이 위치함

HTTPFTP계층에 위치

'KNU Freshman > 컴퓨터학개론' 카테고리의 다른 글

(13) 데이터베이스  (0) 2024.06.09
(12) 분산시스템 / 클라우드  (0) 2024.06.03
(10) 통신의 발전 과정  (0) 2024.05.20
(9) 입출력 장치(HDD) & Thread, Lock  (0) 2024.04.17
(8) 가상 메모리  (0) 2024.04.16