2022. 2. 8. 23:25ㆍCS
네트워킹
네트워크는 일반적으로 두 가지로 구분한다.
1) 근거리 네트워크(LAN, local area network)는 집이나 사무실 같이 좁은 지리적 영역을 묶는다.
2) 광역 네트워크(WAN, wide area network)는 더 넓은 지리적 영역을 묶는다.
최초의 네트워크는 전신 네트워크였고, 전신 네트워크는 나중에 전화 네트워크로 발전했다.
초기 컴퓨터 네트워크는 냉전 시대의 방어 시스템인 반자동 지상 환경(SAGE, Semi-Automatic Ground Environment)의 일부분이었다. SAGE는 전화 네트워크와 모뎀을 사용해 각 지점 사이의 통신을 수행했다.
벨 연구소에서 개발된 UUCP(UNIX-to-UNIX copy)라는 일련의 컴퓨터 프로그램이 1979년 외부 세계로 배포됐다. UUPC를 사용하면 컴퓨터가 다른 컴퓨터에게 데이터를 전송하거나 원격에서 프로그램을 실행 할 수 있었다. UUCP는 최초 전자우편 시스템과 유즈넷USENET 같은 뉴스 시스템의 근간이 됐다. 이런 시스템은 흥미로운 해킹의 결과였다. 데이터를 미국의 한끝에서 다른 끝으로 보내는 경우, 원하는 목적지에 도착할 때 까지 한 기계에서 다른 기계로 넘기면서 메시지를 전달할 수 있다. 이렇게 하는 이유는 장거리 전화 통화 비용을 피하기 위함이다.
한편, ARPA(Advanced Research Project Agency 고등 연구 계획국이라는 미국 국방부 산하 부서로, '아파'라고 읽음)는 패킷 스위치 방식의 WAN인 아파넷(ARPANET)의 연구 자금을 지원했다. 아파넷은 1990년대 인터넷으로 진화했다.
인터넷은 '네트워크(net)'와 다른 네트워크의 '사이(inter)'라는 뜻이다. 인터넷은 네트워크들로 이뤄진 네트워크다. 즉, 인터넷은 여러 LAN을 하나로 연결해주는 WAN이다.
최근의 LAN들
미국 전기 엔지니어인 밥 멧갈프(Bob Metcalfe)는 이더넷(Ethernet)을 발명했는데, 이더넷은 먼 거리를 연결할 수 있는 방식은 아니기 떄문에 LAN이다. 최초의 이더넷은 반이중 시스템이었다. 모든 장치(컴퓨터, 프린터, 카메라 등)가 같은 선에 연결 됐다. 각 장치의 네트워크 인터페이스(장치에서 네트워크 연결을 담당하는 부분)에는 MAC(Media Access Control 매체 접근 제어, '맥'이라고 읽음) 주소라는 유일한 48비트 주소가 부여됐고, 요즘도 여전히 MAC이 쓰인다. 데이터는 약 1,500 바이트짜리 프레임(frame)이라는 이름의 패킷으로 구성된다.
멧칼프의 발명에서 큰 혁신은 바로 랜덤 백오프 후 재시도(random back-off-and-retry)다. 말하고 싶은 장치는 충돌이 발생하면 임의의 시간을 잠깐 기다린 다음 다시 말하려 시도한다.
이더넷은 요즘도 여전히 쓰이고 있다. 다만 요즘 쓰이는 버전은 반이중 버전은 아니다. 요즘은 각 장치가 라우터(router)라는 장치에 연결되며, 라우터는 어던 장치가 어떤 선에 연결되어 있는지를 기억하고 패킷을 정확히 배달해준다.
인터넷
인터넷은 여러 계층으로 이뤄진 프로토콜의 집합이다. 이 프로토콜 계층은 물리적 네트워크를 정의하는 아래쪽 계층을 변경해도 위쪽 계층에 영향을 끼치지 않도록 고안됐다. 이런 설계로 인해 인터넷이 선, 전파, 광섬유나 앞으로 등장할 새로운 기술 위에서 작동할 수 있다.
(1) TCP/IP
전송 제어 프로토콜/인터넷 프로토콜(TCP/IP, Transmission Control Protocol/Internet Protocol)은 인터넷이 사용하는 두 가지 프로토콜이다. IP는 패킷을 한 곳에서 다른 곳으로 옮겨주며, 이 패킷을 데이터그램(datagram)이라고 부른다. IP를 사용해 메시지를 보낸 송신자는 수신자가 메시지를 언제 받는지 알 수 없고, 심지어는 메시지를 제대로 받았는지 여부도 알 수 없다. TCP는 IP 위에 만들어졌고 패킷이 제대로 배달됐는지를 확실히 보장해준다.
(2) IP 주소
인터넷상의 각 컴퓨터(또는 장치)에는 IP 주소(IP address)라는 유일한 주소가 할당되어 있다. MAC 주소와 달리 IP 주소는 하드웨어에 묶여 있지 않아서 변경될 수도 있다.
인터넷은 대부분 IPv4, 즉 IP 버전 4에서 이뤄진다. IPv4는 32비트 주소를 사용한다. 주소는 xxx.xxxxxxxxx라는 식의 옥텟(octet) 표기를 사용해 (사람들에게) 표현된다. 전체 40억 개 정도의 주소를 쓸 수 있지만 이는 충분하지 않다. 요즘은 누구나 데스크톱, 랩톱, 태블릿, 휴대폰, 기타 소품들에 대한 IP 주소를 사용하기 때문에, 할당할 수 있는 주소가 남아 있지 않다. 따라서 세계는 점점 128비트 주소를 사용하는 IPv6 쪽으로 나아가고 있는 중이다.
(3) 도메인 이름 시스템
장치의 IP 주소가 바뀔 수 있다면 어떻게 어떤 장치의 현재 실제 주소를 찾을 수 있을까? 이 과정을 도메인 이름 시스템(DNS, Domain Name System)이 수행한다. DNS는 전화번호부와 비슷하다.
(4) 월드 와이드 웹
TCP/IP 위에 만들어진 여러 프로토콜이 있다. 예를 들어, SMTP(Simple Mail Trasfer Protocol 단순 우편 전달 프로토콜)는 전자우편 시스템이 작동하는 기반 프로토콜이다. 이런 여러 프로토콜 중에서 가장 많이 사용하는 프로토콜은 HTTP다.HTTP는 하이퍼텍스트 전송 프로토콜(Hyper Text Transfer Protocol)의 약자로, 보안이 강회되어 안전하다는 뜻의 형용사 'secure'의 첫 글자인 'S'가 추가된 HTTPS와 더불어 웹 페이지 전송을 책임진다.
HTTP 표준은 웹 브라우저(web browser)가 웹 서버(web server)와 상호작용하는 방법을 정의한다. 웹브라우저는 웹 페이지를 볼 떄 사용하는 프로그램이다. 웹 서버는 여러분이 요청한 페이지를 제공한다.
'CS' 카테고리의 다른 글
CS : 병렬성과 비동기성 (0) | 2022.02.21 |
---|---|
CS : 데이터 구조와 처리 (0) | 2022.02.15 |
CS : 컴퓨터 아키텍쳐와 운영체제 (0) | 2022.02.04 |
CS : 메모리와 디스크의 핵심 : 순차논리 (0) | 2022.01.28 |
CS : 문자를 사용한 수 표현, 색을 표현하는 방법 (0) | 2022.01.22 |