앞에서 설명한 인터넷 중 전화 시스템은 전 세계의 전화기에 연결한다.
그럼전 세계의 컴퓨터를 연결하려면 어떻게 해야할까?
로컬 네트워크를 다른 네트워크와 연결하거나 우리집의 컴퓨터를 옆 동네의 컴퓨터와 연결하기 위해서 인터넷은 한 가지 답을 내렸고, 많은 목적에 해답을 제시했을 정도로 매우 성공적이었다.
네트워크와 그 위에 있는 컴퓨터가 서로 통신하는 방법을 규정하는 표준으로 묶여있다.
우선 컴퓨터를 식별 하기 위해서 이름과 주소가 필요한데,직접 연결되지 않은 네트워크 사이의 경로를 찾을 수 있어야 한다.
또한 오류나 지연, 과부하에 대처하는 방법등 여러 가지 다소 불분며안 문제에 대해서도 합의가 필요하다.
모든 네트워크에서, 특히 인터넷에서 오는 데이터를 어떤 형식으로 구성할지 등에 대한 합의는 프로토콜(porotocal)*로 처리가 된다.
통신 프로토콜 또는 통신 규약은 컴퓨터나 원거리 통신 장비 사이에서 메시지를 주고 받는 양식과 규칙의 체계이다. 즉 통신 규약 및 약속
프로토콜의 기본 요소
구문(Syntax) : 전송하고자 하는 데이터의 형식(Format), 부호화(Coding), 신호 레벨(Signal Level) 등을 규정
의미(Semantics) : 두 기기 간의 효율적이고 정확한 정보 전송을 위한 협조 사항과 오류 관리를 위한 제어 정보를 규정
시간(Timing) : 두 기기 간의 통신 속도, 메시지의 순서 제어 등을 규정
프로토콜 종류
계층 / 프로토콜
응용(Application) / HTTP, SMTP, FTP, Telnet
표현(Presentation) / ASCII, MPEG, JPEG, MIDI
세션(Session) / NetBIOS, SAP, SDP, NWLink
전송(Transport) / TCP, UDP, SPX
네트워크(Network) / IP, IPX
데이터 링크(Data Link) / Ethernet, Token Ring, FDDI, Apple Talk
물리(Physical) / 없음
프로토콜의 기능
단편화(Fragmentation)와 재합성(Assembly)
단편화 : 송신 측에서는 긴 데이터 블록을 손쉽게 전송할 수 있도록 크기가 똑같은 작은 블록으로 나누어 전송
재합성 : 수신 측에서 쪼개진 작은 데이터 블록을 재합성하여 원래의 메시지로 복원하는 기능
캡슐화(Encapsulation)
각 프로토콜에 적합한 데이터 블록을 만들려고 데이터에 정보를 추가하는 것
플래그, 주소, 제어 정보, 오류 검출 부호 등을 부착하는 기능
연결 제어(Connection Control)
비연결 데이터 전송(데이터그램)과 연결 위주 데이터 전송(가상회선)을 위한 통신로를 개설·유지·종결하는 기능
흐름 제어(Flow Control)
데이터양이나 통신속도 등이 수신 측의 처리 능력을 초과하지 않도록 조정하는 기능
오류 제어(Error Control)
데이터 전송 중 발생할 수 있는 오류나 착오 등을 검출하고 정정하는 기능
순서 결정(Sequencing)
연결 위주의 데이터를 전송할 때 송신 측이 보내는 데이터 단위 순서대로 수신 측에 전달하는 기능
주소 설정(Addressing)
발생지, 목적지 등의 주소를 명기하여 데이터를 정확하게 전달하는 기능
동기화(Synchronization)
두 통신 객체의 상태(시작, 종류, 검사 등)를 일치시키는 기능
다중화(Multiplexing)
하나의 통신로를 여러 개로 나누거나 회선 여러 개를 하나의 통신로로 변환시켜 다수의 가입자가 동시에 사할 수 있도록 하는 기능
전송 서비스(Transmission Service)
통신 객체를 사용하기 쉽도록 별도로 추가 서비스(패리티 검사, 보안도, 서비스 등급, 우선순위 등)를 제공하는 기능
프로토콜은 많은 기득권 세력 때문에 합의 부분에서 일이 복잡해지는데,
이런 부분은 전화 시스템과 비교해 봤을 떄 결국 전세계적으로 잘 작동하고 있고 이와 같은 방향으로 흘러가는 네트워크 이러한 문제가 해결 될 여지가 있음이 분명하다.
아파넷(ARPAnet)은 미국 국방부의 고등 연구 계획국(Advanced Research Project Agency : 약칭 ARPA, 문화어: 현대연구계획국망)의 주도하에 만들어진 세계 최초의 패킷 스위칭 네트워크로 1969년에 시작되었으며, 현재의 인터넷의 원형으로 알려져 있다.아파넷이라는 글자는 모두 대문자로 ARPANET로 표시되는 경우가 많다.
당시엔 회로 스위칭이 많이 쓰이고 있었지만, 아파넷의 발족한 뒤로 이제까지 패킷 스위칭이 데이터와 음성을 주고 받는 데에 널리 쓰이고 있다.
발족 당시의 노드로는 UCLA, 캘리포니아 대학교 산타바바라, 스탠퍼드 연구소(SRI), 유타 대학교의 네 군데가 있었다.
아파넷은 NCP(Network Control Program)라는 전송 통신규약(프로토콜)을 사용하였으나, 1983년 TCP/IP가 이를 대체하며 지금의 인터넷으로 진화하게 되었다.
게이트웨이(gateway, 문화어: 망관문)는 컴퓨터 네트워크에서 서로 다른 통신망, 프로토콜을 사용하는 네트워크 간의 통신을 가능하게 하는 컴퓨터나 소프트웨어를 두루 일컫는 용어, 즉 다른 네트워크로 들어가는 입구 역할을 하는 네트워크 포인트이다. 넓은 의미로는 종류가 다른 네트워크 간의 통로의 역할을 하는 장치이다. 또한 게이트웨이를 지날 때마다 트래픽(traffic)도 증가하기 때문에 속도가 느려질 수 있다. 쉽게 예를 들자면 해외여행을 들 수 있는데 해외로 나가기 위해서 꼭 통과해야 하는 공항이 게이트웨이와 같은 개념이다.
게이트웨이는 서로 다른 네트워크상의 통신 프로토콜(protocol,통신규약)을 적절히 변환해주는 역할을 한다.
게이트웨이는 하나 이상의 프로토콜을 사용하여 통신한다는 면에서 라우터, 스위치와는 구별되며 OSI 참조 모델의 7계층 가운데 어느 곳에서도 동작이 가능하므로 전송방식이 다른 통신망도 흡수함으로써 서로 다른 기종끼리도 접속을 가능하게 한다.
라우터(router)는 컴퓨터 네트워크 간에 데이터 패킷을 전송하는 네트워크 장치다. 패킷의 위치를 추출하여, 그 위치에 대한 최적의 경로를 지정하며, 이 경로를 따라 데이터 패킷을 다음 장치로 전달한다. 이때 최적의 경로는 일반적으로는 가장 빠르게 통신이 가능한 경로이므로, 일반적으로는 최단 거리일 수 있지만, 돌아가는 경우라도 고속의 전송로를 통하여 전달이 될 수도 있다. 간단히 말해, 서로 다른 네트워크 간에 중계 역할을 해주는 장치다.
페이로드(payload)는 사용에 있어서 전송되는 데이터를 뜻한다. 페이로드는 전송의 근본적인 목적이 되는 데이터의 일부분으로 그 데이터와 함께 전송되는 헤더와 메타데이터와 같은 데이터는 제외한다.
컴퓨터 보안에서 페이로드는 웜, 바이러스, 트로이목마 같은 해로운 소프트웨어를 분석할 때 페이로드는 그 소프트웨어가 주는 피해를 뜻한다. 예를 들어 페이로드에는 데이터 훼손, 스팸메일, 개인정보를 알아내기 위해 다수에게 보내는 이메일 등이 있다. 즉 페이로드는 전송 행위의 본래 의도를 뜻한다.
정보는 패킷이라는 덩어리로 이동한다.
인터넷에 연결할 때마다 인터넷 서비스 제공 업체는 컴퓨터에 고유 한 숫자 주소를 할당합니다. 이 고유 주소는 정보를 요청하고받을 수 있도록 네트워크에서 컴퓨터를 식하고 이 주소를 인터넷 프로토콜 (IP) 주소라고 한다. 웹 브라우저에서 링크 클릭과 같은 요청을 시작하면 해당 요청은 IP 주소가 찍힌 데이터 패킷 형태로 인터넷을 통해 이동하는데, 따라서 IP 패킷 이라는 용어가 사용된다
TCP (전송 제어 프로토콜)은 두 개의 호스트를 연결하고 데이터 스트림을 교환하게 해주는 중요한 네트워크 프로토콜이다. TCP는 데이터와 패킷이 보내진 순서대로 전달하는 것을 보장해준다.
TCP의 역할은 에러가 없이 패킷이 신뢰할 수 있게 전달 되었는지 보증해 주는 것이다. TCP는 동시제어가 가능하다. 이는 초기 요청이 작게 시작해도 컴퓨터들과 서버들의 대역폭의 깊이가 증가해도 네트워크가 지원할 수 있다는 것을 뜻한다.