* 인터넷 정의
<인터넷>
인터넷: 네트워크를 하나로 묶는 기술 (인트라넷이랑 반대)
<토폴로지 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을 통과하여 배송지까지 데이터를 배달
– TCP는 IP를 도와 데이터를 접수하고, 빠진 데이터는 없는지 확인
- TCP/IP 데이터 전송 과정
– 송신측 (보낸 쪽)
• TCP가 데이터를 전송하기 적당한 크기로 잘라 번호표를 붙인 후 IP에 전달
• IP는 LAN 여러 개를 지나 목적지까지 데이터 전달
– 수신측(받는 쪽)
• 전달된 데이터는 수신측 TCP에 전달됨
• 수신측 TCP는 데이터가 이상 없는지 확인
> 문제가 있으면 송신측 TCP에 재전송 요청
> 문제가 없으며 최종 데이터를 목적지 프로그램에 전달
- 패킷 재전송
– 패킷 전송 시 오류를 방지하기 위해 일련번호를 매겨 전송
– 받는 쪽의 TCP는 도착한 패킷들을 보고 순서를 정리, 도착하지 않는 패킷이 있을 경우 재요청
- UDP(User Datagram Protocol )
– UDP/IP를 사용하면 IP에서 올라온 데이터를 특별한 작업 없이 프로그램에 전달
– 물론 데이터가 사라지거나 뒤바뀔 수는 있지만, 처리 속도가 매우 빠름
– 동영상 스트리밍, IPTV, 인터넷 전화는 TCP/IP 대신 UDP/IP를 사용
– LAN으로 연결하여 게임할 때 UDP를 사용할 수 있게 함
• LAN은 인접한 컴퓨터이기 때문에 데이터 손실이 거의 없어 UDP로 충분함
• 세션 계층
– 데이터 전송 시 세션을 관리하는 계층
– 세션은 작업의 큰 단위를 가리킴
• 표현 계층
– 데이터를 암호화하는 계층
– 웹에서 흐르는 데이터를 암호화하려면 반드시 표현 계층을 거쳐야 함
• 응용 계층
– 네트워크를 사용하는 대부분의 응용 프로그램이 위치함
– HTTP나 FTP가 이 계층에 위치
'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 |