1. 패킷 교환이란?
회선 교환을 생각해보면, 교환기가 ‘파이프’를 교체해 상대와 접속하는 동안에는 다른 곳으로 전화를 걸 수도 받을 수도 없는 ‘통화중’ 상태임. 즉 접속하는 동안에는 전화기와 교환기, 교환기와 교환기 사이의 회선은 그 통신이 점유,
즉 교환기 사이의 회선수가 많아야만 많은 수의 전화가 동시에 통화할 수 있음
다시 말해서 ‘동시 통화에 필요한 수 만큼 회선이 필요함’. 하지만 다수의 컴퓨터가 자유롭게 정보를 송수신하려면 이 방법으로는 회선의 수가 너무 많아짐 -> 이때 사용하는 것이 패킷 교환이라는 방법
패킷 교환이란, 송신하고 싶은 데이터를 일괄적으로 한번에 보내지 않고 여럿으로 분할해서 송신하는 건데, 이렇게 분할한 데이터를 ‘소포’라는 의미의 패킷(Packet)이라고 부름.
즉, 큰 데이터를 작게 나누어서 송신하기 때문에 패킷 1개를 보내는 시간이 짧아짐 . 즉 패킷이 회선을 점유하는 시간이 짧아져서 복수의 컴퓨터가 회선을 공유할 수 있게 된다
(즉, 패킷과 패킷 사이에 다른 패킷을 넣을 수 있기 때문에 서로 다른 복수의 패킷이 한 개의 회선을 사용할 수 있게 되는 것)
즉, ‘동시 통화 수만큼 회선이 필요했던’ 전화 회선과는 달리 회선이 1개면 된다!
이때, 회선 교환에서는 반드시 ‘회선이 연결되어 있는 곳’에 도달하게 되지만, 패킷 교환에서는 한 개의 회선에 복수의 컴퓨터가 연결되어 있기 때문에 수신처를 각각의 패킷에 붙이는 것
= 정리해보면, 회선 교환에서 교환기의 역할 = 회선을 교체해서 연결
패킷 교환에서 패킷 교환기의 역할 = 수신처가 연결되어있는 회선을 골라서 거기로 패킷을 송출하며, 사용하려고 한 회선이 사용중일 경우 일시적으로 저장했다가 회선이 비는 것을 기다리는 역할
즉 ! 데이터 통신에서는 복수의 컴퓨터가 동시에 사용할 수 있는 패킷 교환 방식을 사용
회선 교환의 장점 = 연결되어있는 동안에는 확실하게 수신처에 도달하고 회선을 점유할 수 있음
패킷 교환의 단점 = 패킷마다 따로따로 송신하기 때문에 반드시 송신한 순서대로 수신처에 도달한다고 할 수 없고, 도착하는 시간이 불규칙할 수 있다
한마디로 파이프를 직접연결하는 것이 회선교환, 연결되어있는 파이프에 분할한 패킷을 보내는 것이 패킷교환
2. 통신에 필요한 기기들
패킷 교환 네트워크에서 필요한 기기들에는 뭐가 있을까?
- 데이터를 작성해서 송신하고, 데이터를 수신해서 사용하는 컴퓨터, ‘파이프’ 역할을 하는 ‘통신 매체’, 인터페이스, 패킷 교환기
실제 네트워크에서는 ‘라우터(Router)’라는 기기가 패킷 교환기 역할을 한다
위와 같이 컴퓨터에서 라우터, 라우터에서 라우터, 라우터에서 컴퓨터라는 식으로 연결되어있다.
그렇다면 컴퓨터가 2개, 서버가 1개인 경우 왜 라우터가 3개가 아니라 한 개일까?
(데스크톱 컴퓨터는 상대적으로 작은 하드웨어에도 업무, 게임, 영화 감상이 모두 가능한 멀티미디어 환경을 제공할 수 있도록 설계되어 있다. 반면 서버는 클라이언트에 서비스를 제공하기 위한 목적으로 설계되어 있다. 때문에 서버의 구성품들은 365일 중단 없는, 신뢰할 수 있는 서비스를 제공하기 위해 데스크톱 컴퓨터에 비해 월등이 높은 사양으로 맞춰진다. )
2개의 컴퓨터와 1개의 서버가 한 개의 케이블이 분배되어서 연결되어 있기 때문이다.
이런 방법이라면 라우터가 없어도 되지않을까? (– 뒤에서 이유 나옴)
이렇게 패킷 교환이 없이 케이블 분배기로 연결되는 범위를 세그먼트(Segment)라고 하는데, 이 범위 내에 있는 컴퓨터는 패킷 교환없이 직접 데이터를 송수신할 수 있음
이런 방법을 이용하기 위해 케이블에 T자 분배기를 만들려면 케이블을 잘라서 T자 분배기를 끼우는 작업을 해야하지만, 요즘은 허브(HUB)라는 기기를 이용함. 이 허브를 사용한 네트워크에서는 컴퓨터 한 대가 세그먼트 내의 어떤 컴퓨터에도 자유롭게 데이터를 송신할 수 있으며, 이런 네트워크 구조를 멀티엑세스 네트워크라고 함
(엑세스 = 컴퓨터가 다른 컴퓨터에 데이터를 송신할 수 있다는 의미)
반대로 컴퓨터 한 대가 다른 한 대의 컴퓨터에만 데이터를 보내는 방식을 ‘포인트 투 포인트 네트워크’라고 한다. 이 경우에는 ‘전용선’이라고 불리는 회선을 사용함. 네트워크 구조의 종류에서는 다른 종류도 있긴 하지만 기본적으로는 이 두가지(멀티엑세스 네트워크와 포인트 투 포인트 네트워크)로 분류되는데, 두 종류를 조합해서 패킷 교환 네트워크가 만들어지는 것.
컴퓨터에서 라우터 : 멀티 엑세스 네트워크
라우터에서 라우터 : 포인트 투 포인트 네트워크
이런 식으로 부분에 따라 구조가 다른 것
3. 네트워크의 범위
앞에서 멀티엑세스 네트워크와 포인트 투 포인트 네트워크를 구분한 것은 네트워크를 구조면에서 분리한 것
그것과 달리 ‘네트워크의 범위나 규모’로 네트워크를 분류하는 것이 있다.
<LAN>
LAN은 local area network의 줄임말로써, 말그대로 ‘구내에 설치된 네트워크’ 이다.
구내 = 가정, 사무실, 학교, 빌딩 같은 ‘사유지’를 범위로 해서 사용하는 네트워크
Ex. 학교 내의 연구실, 컴퓨터실, 도서관 등 작은 LAN을 묶어서 대학이라는 큰 LAN이 되는 것
LAN은 기본적으로 사용하는 쪽에서 책임지고 케이블 설치, 라우터 배치 등을 해서 네트워크를 만듦. (자유로움)
다시 말해서, 자신들이 사용하는 빌딩이나 방 같은 것을 LAN으로 해서 네트워크를 만들고, 그 빌딩 안에 있는 컴퓨터끼리 데이터 통신을 가능하게 한다.
<WAN>
하지만, 네트워크의 목적인 ‘리소스의 공유’는 공유되는 리소스가 많을수록 효율이 올라감. -> LAN으로 만족 X , 다른 대학과 우리 대학이 NETWORK로 연결되면 연구자료 같은 것을 서로 주고받을 수 있어서 더 편리함.
하지만, 다른 대학과 우리 대학을 연결하는 통신 매체, 즉 케이블을 어떻게 할까?
나라의 허가를 받을 회사가 공공장소에 케이블 설치를 할 수 있음.
EX) KT, SKT, LG 이런 회사들처럼 통신용 케이블을 설치하는 회사를 ‘통신사업자’라고 함
우리는 이 회사들이 가진 케이블을 이용하게 된다.
즉, ‘데이터 통신 서비스’를 제공하는 통신사업자에게 그들이 보유하고 있는 케이블에 데이터를 전송할 권리를 구입!해서 네트워크 구축 -> 이런 네트워크가 바로 ‘WAN’-> Wide Area Network
즉, WAN은 LAN에서 취급할 수 없는 범위(도시나 지역, 국가 간을 가로지르는)의 네트워크를 만들 수 있음.
떨어져 있는 지역의 LAN끼리 통신사업자의 통신 케이블을 빌려서 연결한 네트워크가 WAN
(LAN이랑 LAN을 연결 -> WAN / LAN은 자기가 만들고, WAN은 통신사업자에게 빌려서 만드는 것)
LAN -> 사무실 내, 빌딩 내, 구내 같이 크기가 있음
WAN -> 서울본사와 부산본사, 전국의 모든 지점, 해외지점과 연결한 WAN같이 크기가 다르다.
*그 중에서도 세계적 규모로 사용되는 WAN은 ? -> 인터넷!!
The Internet/ The Net이라고 불리는 ‘인터넷’은 세계적 규모의 WAN의 대표
즉, 인터넷을 처음 이용할 때, ‘인터넷 접속 서비스’를 가진 통신사업자인 인터넷 제공업체(Provider)와 계약을 한다.
4. OSI 참조 모델이란?
예를 들어, 보내는 컴퓨터에서는 ‘가’를 00001이라고 정해서 받는 컴퓨터로 보낼 때, 데이터를 받는 사람도 ‘가’가 00001 이라는 것을 알고 있어야함! 이런 규칙을 ‘프로토콜(Protocol)’이라고 함.
즉 보내는 쪽하고 받는 쪽이 같은 프로토콜을 사용해야한다는 것 (*프로토콜 = 통신규약이라고 번역하는 경우가 많다)
데이터를 다루는 법 말고도, 데이터를 주고받는 순서, 데이터 내용과 순서 등 프로토콜은 데이터 통신에서 필요한 것을 결정
1. 최초 단계인 1960~1970년대에는 각 업체가 자신들의 컴퓨터끼리 네트워크를 사용해서 데이터 통신을 할 수 있도록, 컴퓨터와 통신 기기, 프로토콜을 자신들의 규격으로 만들었음.-> 다른 회사와 호환되지 않는 경우 많음. (사용 기기를 전부 같은 회사 제품으로 통일해야하니 사용자는 불만)
2. 그래서 데이터 통신의 규격과 프로토콜을 통일하려고 했던 단체 -> ISO(International Organization for Standardization : 국제 표준화 기구) -> but 실패함
이때 ISO의 표준화 단계에서 선언한 것이 ‘OSI 참조 모델’ = 데이터 통신의 단계 구성도
*OSI = Open Systems Interconnection Reference Model)
-> 즉, 데이터 통신 전체를 표준화하기 위해서 먼저 데이터 통신 전체의 설계도를 만드려고 시도함 = 데이터 통신을 단계로 나누어 각 단계의 순서를 명확히 하고, 이 모델에 따라 프로토콜을 정의해서 데이터 통신 구축을 시도
-> 실패로 끝났지만, 이 OSI 참조 모델은 데이터 통신을 설명하는데 아주 유용해서 데이터 통신을 설명하는데 많이 이용되곤 한다.
<OSI 참조 모델의 예시>
즉, 위의 예시처럼 ‘편지 주고받기’ 전체를 통틀어 하나로 보는 것이 아닌, ‘내용’, ‘표현’, ‘전달물’, ‘전달’ 로 나누어 각각 규칙을 정하는 식. 즉 통신을 단계로 나눈다는 발상.
<실제 OSI 참조 모델>
실제 OSI 참조모델은 ‘데이터 통신을 7개의 단계로 나누는데, 이 단계를 계층(Layer)라고 부른다’
위와 같이 각 계층마다 각각의 역할과 규칙이 존재
다시 말해서 네트워크에 의한 데이터 통신은 단계마다의 복수의 프로토콜로 실현된다.
(즉, OSI 참조 모델 = 단계와 순서의 설계도로 데이터 통신을 할때는 7계층에서 1계층으로, 각각의 순서를 단계적으로 수행함으로써 데이터 통신이 가능해짐. 반대로 데이터를 수신하는 측에서는 1계층부터 7계층까지 순서대로 역할을 수행함으로써 데이터를 수행할 수 있음) : 즉, 송신과 수신의 순서가 있어서 그 순서대로 따라가면 데이터 송수신을 할 수 있음.
이때, 이 OSI 참조 모델이라는 설계도를 따라서 프로토콜이 만들어지는데 이것의 장점은 계층이 각각 독립해 있다는 것 -> 즉 ‘데이터 형식’을 생각하고 싶을 때는 6계층의 순서랑 프로토콜만 생각하면되고, 다른 계층은 생각할 필요 x
따라서 어떤 계층의 프로토콜 변경은 다른 계층에 영향을 끼치지 않는다는 얘기. 그리고 하위 계층은 상위 계층을 위해서 일하고 상위 계층은 하위 계층에 관여하지 X
5. 캡슐화
방금 OSI 참조 모델에서 송신측은 7->1로 수신측은 1->7로 수행한다고 했는데, 이번에는 이 순서의 흐름을 ‘데이터’에 착안해서 설명함. Ex. 택배
네트워크 => 패킷 교환 방식
이런 식으로 발송인과 수취인은 반대의 순서를 진행함으로써 택배가 전달된다.
그렇다면 이때, 우리가 물건을 상자에 넣어 수신처를 붙여 택배를 보내는 것처럼 데이터 통신도 마찬가지로 데이터를 운반할 때 운반하고 싶은 것(데이터) 이외에 다른 것들이 필요함.
수신처/ 송신처의 주소, 데이터 통신을 제어하기 위한 데이터, 각각의 프로토콜에서 필요한 정보를 덧붙여가야함.
주소 : 네트워크상에서의 컴퓨터의 주소/ 즉, 데이터 말고도 이런 주소 같은 것들을 데이터랑 함께 보내는 것. 이렇게 데이터랑 데이터를 보내기 위해 필요한 것들이 통합된 상태를 프로토콜 데이터 유닛(Protocol Data Unit : PDU)라고 한다.
*즉 택배로 치면, 보내고 싶은 것이 데이터이고 그것을 상자에 넣은 상태가 PDU
이때, OSI 모델에서는 7개의 계층을 7->1 순서로 실행함 즉, 계층이라는 단계를 실시할 때마다 거기에서 필요한 정보를 추가할 수 있음 = 각각의 계층에서 본래의 ‘리소스를 공유하기 위한’ 데이터에 ‘통신에 필요한 정보’를 덧붙여 간다는 것
메시지, 세그먼트, 데이터 그램은 각 계층에서의 PDU의 호칭
메시지 + 4계층의 제어정보 -> 세그먼트 OR 데이터 그램 = 4계층 PDU
3계층의 제어 정보 + 4계층 PDU -> 데이터그램 OR TCP 세그먼트, IP 데이터그램 = 3계층 PDU
이렇게 데이터에 제어정보를 덧붙여서 PDU로 완성하는 것 = 캡슐화(Encapsulation)
수신한 쪽에서는 캡슐을 벗겨가게 됨
이때, 캡슐화에서 추가되는 제어 데이터가 데이터 앞에 붙이면 헤더(Header), 뒤에 붙이면 꼬리부(Trailer)
6. 프로토콜
프로토콜이란, 데이터 통신을 위한 규칙(데이터 사용이라던지 데이터 송수신 순서 같은 것)
데이터 통신에 필요한 프로토콜은 한 개가 아니라 복수의 프로토콜로 이루어짐
(OSI 참조 모델의 계층마다 각 계층의 역할을 하는 프로토콜이 존재)
이때 각 계층의 프로토콜이 너무 독립적이어서 상하계층과 연결이 안되면 곤란하기 떄문에, 상위 계층 프로토콜이 하위 계층 프로토콜을 이용할 수 있는 구조를 가지고, 하위계층 프로토콜이 상위계층 프로토콜에 데이터를 전송할 수 있는 구조를 가질 필요가 있다 = 인터페이스 구조
인터페이스는 케이블과 컴퓨터의 중개역을 가리키기도 하지만, 프로토콜하고 프로토콜의 중개역을 가리키는 경우도 사용
즉, 이렇게 상하 프로토콜에서 인터페이스를 결정해야함 -> 상위와 하위 프로토콜을 연결하는 인터페이스를 가지면 7->1계층까지 연결된 프로트콜 그룹이 생김. 이것을 프로토콜군(Protocol Suite)라고 함
즉 어느 프로토콜군을 사용하는지에 따라 7->1계층까지 사용하는 프로토콜이 정해짐
즉, 데이터 통신은 같은 프로토콜군을 사용하는 컴퓨터나 기기끼리만 가능
7. 프로토콜이 결정하는 것
1) 헤더와 데이터
기본적으로 데이터 사용방법을 정하고, 어떤 헤더를 붙일지를 결정한다.
(프로토콜이 있는 계층의 역할에 따른 기능이 있고 그것을 실현하기 위한 정보로서 헤더를 붙이는데, 이 헤더의 내용이 프로토콜로 정해짐)
2) 데이터를 주고받는 순서
Ex. ‘잘지내세요?’ 라고 보내면 ‘덕분에요’라고 답하는 식으로 -> 인사 프로토콜
Or 현재의 상태를 전하거나, 에러의 수정이나 사용설정을 위한 협의도 존재
총정리 : 데이터의 내용을 결정하고, 헤더를 결정하고, 송수신 순서를 결정하는 것이 프로토콜. 즉 데이터 통신을 하는 컴퓨터와 기기는 동일한 프로토콜군을 사용해야함!
이러한 프로토콜군을 통일하려 한 것이 IOS로 OSI 참조 모델에 따라서 몇 개의 프로토콜을 제정했지만 실패 -> TCP/IP 프로토콜군을 많이 사용(인터넷에서 사용되는 프로토콜군) = 사실표준(De Facto Standard) 프로토콜이 되었다.
8. TCP/IP 모델
TCP/IP는 IETF(the Internet Engineering Task Force)라는 단체가 제정함 = 국제 인터넷표준화기구
즉 IETF의 RFC(Request For Comments)에 의해 정해져있는 것이 TCP/IP 프로토콜군이고 이것들은 TCP/IP 모델이 베이스가 됨
<TCP/IP 모델>
OSI 참조모델과 TCP/IP 모델은 전혀 관련X 다만 데이터 통신이라는 관점에서 생각할 때 그저 비슷한 모델
<TCP/IP 프로토콜군>
여기서 인터페이스 계층의 프로토콜에 써있는 ‘이더넷’은 TCP/IP 프로토콜군은 아니고,
TCP/IP 프로토콜군이 이들 인터페이스계층의 프로토콜을 이용할 수 있다는 의미
트랜스포트 계층의 TCP + 인터넷 계층의 IP = > TCP/IP
- Source : 아미노 에이지 저, '하루 3분 네트워크 교실', 김현주 역, 영진닷컴
'CS > 컴퓨터 네트워크' 카테고리의 다른 글
[제 1장] 네트워크 기초 지식 (1) (0) | 2021.08.13 |
---|