인터넷의 탄생
1969년 10월 29일 미국 국방부 산하 고등 연구국 ARPA의 연구용 네트워크 ARPANET을 통해 UCLA의 레너드 클라인록 교수가 스탠포드 대학교 연구소의 컴퓨터로 메시지를 전송하는데 성공한다.
레너드 클라인록은 Login이라는 아스키코드를 전송하려고 하였는데 Lo 까지는 잘 전송이 되었으나 나머지 문자를 보내는 중 장애가 나서 보내지지 않았다는 일화가 있다.
가까운 곳으로 보내는 것을 forwarding 이라고 하고 최적의 경로를 찾는 것을 routing 이라고 한다.
중간의 노드가 문제가 있어도 해결되는 것이 인터넷이다. (ex. A -> 1 -> 2 -> B, A가 B로 갈 때 중간에 1 혹은 2가 문제가 있어도 최적의 경로를 다시 찾아서 결국은 B에 도달한다)
ARPANET이 일반에 공개되어 TCP/IP 프로토콜로 연결되며 인터넷이 본격적으로 발전한다.
대한민국 인터넷 탄생
1982년 서울대학교와 KIET가 TCP/IP로 SDN을 시작했다. 이는 전세계에서 두번째이고 독자적으로 라우터를 구축하여 미국 망에 연결했다.
1988년 연구 전산망 기본 계획이 확정되어 교육망과 BITNET이 연결된다.
1994년 학술 및 교육 정보 교류용으로 제공한 하나망을 일반에 개방하여 코넷(KORNET)을 시작한다. 여기서 코넷은 다들 익숙히 아는 KT인터넷이다.
프로토콜은 컴퓨터 간에 정보를 원활하게 교환하기 위해 상호간의 약속 또는 규약이다.
프로토콜의 세가지 요소
- 구문(syntax) : 데이터의 형식이나 신호, 부호화(encoding) 방법 정의
- 의미(semantics) : 정확한 정보 전송을 위한 전송 제어와 오류 제어 방법 (ex. IPv4는 4비트로 앞 헤더가 0100(이진수)가 와야 하는데 아예 관련도 없는 1111(15)가 들어오면 버린다.)
- 순서(timing) : 양단의 통신 속도나 순서 정의 (ex. Synchronous = 시간이 같다 = 동기식, Asynchronous = 비동기식)
TCP/IP 는 가장 많이 사용되는 프로토콜로 상세한 내용은 RFC라는 문서를 통해 공개된다.
RFC(Request for Comments)는 국제인터넷표준화기구(IETF)에서 만들었고, 인터넷에서 기술을 구현하는데 필요한 상세 절차와 기본 틀을 제공하는 기술 관련 문서이다.
국제인터넷주소관리기구(ICANN)
인터넷의 기술적인 문제 관리
인터넷의 유일한 식별자인 도메인 이름, 시스템(DNS)과 IP주소, 프로토콜 번호와 매개변수 배정 등을 관리
DNS 루트 네임 서버 시스템의 개선 및 운영 담당
인터넷할당번호관리기관(IANA)
인터넷이 생긴 초기에 사용자들에게 인터넷 주소를 할당하기 위해 국방정보청(DISA)가 만듦
현재는 인터넷소사이어티(ISOC)의 산하 기관
IANA의 가장 중요한 기능은 DNS Root Zone 을 관리
인터넷소사이어티(ISOC)
인터넷의 이용과 기술에 관한 국제적인 협조와 협력을 촉진하기 위해 1992년에 설립된 비영리 국제기구
세 개의 핵심 조직인 국제인터넷표준화기구(IETF), 인터넷기술관리그룹(IESG), 인터넷아키텍처위원회(IAB)를 지원
IETF : 인터넷을 운영, 관리, 개발에 대해 협의하고 프로토콜과 구조적인 사안을 분석하는 인터넷 표준화 기구
IESG : 인터넷의 기술적인 문제를 해결할 목적으로 설립된, 인터넷아키텍처위원회(IAB) 하부 조직
IAB : 인터넷소사이어티의 감독 단체로, 인터넷의 방침이나 장기적인 기획 및 기술 정책 등을 심의하고 결정
월드와이드웹컨소시엄(W3C) : 월드와이드웹, 웹 브라우저, 웹 서버 기술의 표준화를 추진하기 위해 교육연구 기관 및 관련 회사들이 모여서 만든 단체
국제전기통신연합(ITU) : 1865년에 설립되어 1947년부터는 UN산하 기관으로 활동, 정보통신 네트워크에 대한 기술적인 표준과 운영 표준을 발행
월드와이드웹(WWW) : 하이퍼텍스트 형식으로 표현된 다양한 정보를 효과적으로 이요할 수 있도록 구성한 전 세계적인 시스템
웹의 탄생
1989년 3월 13일 유럽입자물리연구소(CERN)에 근무하던 소프트웨어 공학자 팀 버너스리가 과학자들 사이에 쉽게 정보를 주고 받기 위한 목적으로 정보 관리 제안서를 발표
최초의 인터넷 기반 하이퍼텍스트 프로젝트
이후 1990년 하이퍼텍스트 브라우저와 편집기가 개발되고 URL, HTTP, HTML이 차례로 설계됨
1991년 8월 팀 버너스리는 월드와이드웹의 개념을 포함한 사이트를 일반인에게 최초로 공개하며 로열티를 포기
HTTP(HyperText Transfer Protocol)
인터넷에서 가장 많이 사용하는 프로토콜
문서간의 상호 연결을 통해 다양한 텍스트, 그래픽, 애니메이션을 화면에 보여주고 사운드를 재생
HTTP 1.0 : 1996년 5월에 완성되었으며, 메소드는 GET, HEAD, POST 방식만 지원
HTTP 1.1 : 2001년에 공식 발표되어 메소드는 OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT 방식 지원
HTTP 1.0과 1.1의 차이는 Connection: Keep-alive 속성 즉, 지속성이다. 이는 TCP 세션을 한번만 맺으면 1.0처럼 다시 세션을 맺을 필요가 없어지므로 비용을 줄이고 응답속도를 개선할 수 있게 된다.