Posts

[CCNA/네트워크] 7. IP 주소에 관하여

이번 포스팅에서는 중요하지만 아직 정리하지 않았던 IP주소에 대해서 조금 더 상세히 정리해보고자 한다. IP주소는 말 그대로 WAN 환경에서의 통신을 위해서 라우터가 참조하는 주소이고, 이 값이 얼마느냐에 따라서 데이터 패킷을 어디로 송수신할 지 결정이 된다.  IP 주소는 PC의 랜-카드, 라우터의 인터페이스, 스위치의 관리자용 인터페이스 주소 (관리자용 인터페이스라 함은 단순히 장비와의 연결이 아닌, 관리자의 PC와 연결하여 해당 장비에 접속해 관리할 수 있기 위한 별도의 접속 단자라고 생각하면 된다. PC가 해당 스위치에 접속하여 관리하기 위해서는 당연히 통신에 필요한 IP주소가 필요하다) 에 붙으며, IPv4와 IPv6가 있다(버전 4, 버전 6) 먼저 IPv4에 대해서 살펴보자. IPv4 주소 IPv4 주소는 이전 포스팅에서 쭉 사용해왔던 IP주소의 형식이며, 32bit 체계를 가지며 편의상 10진수로 표기한다 각각의 십진수는 8bit씩 각각 4개의 옥텟 하나하나를 표현하는 수이다 192.168.1.2라는 주소가 있다고 치자. 4개의 10진수 각각이 8bit를 표현하므로 192 . 168 . 1 . 2 는 11000000 1011000 00000001 00000010 를 의미한다      192        168         1            2 저번 포스팅( http://21stopa.blogspot.kr/2014/02/ccna-4.html )에서 IP주소의 용도에는 유니캐스트, 멀티캐스트, 브로드캐스트가 있다고 했는데 그 개념에 대해서 다시 한번 정리하자 유니캐스트 란, 송-수신 측이 1:1인 데이터 통신을 의미한다 멀티캐스트 란, 송-수신 측이 1:특정 다수인 데이터 통신을 의미한다 브로드캐스트 란, 송-수신 측이 1:불특정 다수(전부)인 데이터 통신을 의미한다 쉽게 말해, 내

[CCNA/네트워크] 6. 주소의 종류와 계층 별 네트워크 전송 장비(3)

Image
금방 정리가 될 줄 알았는데 이거 설명하려니 저거 설명부터 해야 하고 이건 그냥 넘어가야 되고.. 하다보니 벌써 같은 챕터가 세 글에 나눠져버렸다..ㅋㅋㅋ 이게 이 챕의 마지막 포스팅이 되길 바라며 이번 포스팅에서는 필요한 개념들을 정리해가면서 3계층의 네트워크 전송 장비를 살피고, 데이터의 전송 과정을 전체적으로 살펴보고자 한다. 이전 포스팅을 읽으면서 알 수 있었던 것은 LAN 환경(주로 이더넷 환경)에서의 데이터 송수신에 사용하는 주소는 MAC Address였다는 것이다. 그럼 현재의 LAN을 벗어나 다른 LAN으로 데이터를 보내고자 할 때 거치는 WAN 영역에서 사용하는 주소는 무엇일까? 그게 바로 IP주소 이다. 그리고 3계층 네트워크 전송 장비들은 이 IP주소를 참조하여 데이터가 WAN 환경으로 전송되는 시작부터 끝까지의 전송을 책임지게 된다. 먼저 3계층의 네트워크 전송 장비를 살펴보기 전에, 일단 Broadcast Domain의 개념을 살펴보자. *Broadcast Domain 3계층에서 사용하는 IP프로토콜의 헤더 내부에 존재하는 IP 주소의 종류에는 3가지가 있었다. 유니캐스트 주소, 멀티캐스트 주소, 브로드캐스트 주소인데 이 중 브로드캐스트 주소는 특정한 수신 호스트의 주소 값을 의미하는 것이 아닌 자신을 제외한 모든 호스트들에게 데이터를 송신하겠다. 라는 의미를 갖는 주소 값 이다. 네트워크 환경에 따라서 브로드캐스트를 의미하는 값은 다르지만, 그것은 IP주소를 정리할 때 보기로 하자. Broadcast Domain이란 바로 자신을 제외한 모든 호스트들의 집합, 즉 브로드캐스트 주소로 데이터를 보냈을 때 수신하게 되는 모든 호스트들에 해당하는 영역을 Broadcast Domain이라 하는 것이다. 이 정도까지만 정리해두고, 3계층 네트워크 전송 장비에 대해서 살펴보자. 라우터 라우터는 대표적인 3계층 네트워크 전송 장비로, 수

[CCNA/네트워크] 5. 주소의 종류와 계층 별 네트워크 전송 장비(2)

Image
지난 포스팅에서는 OSI 참조 모델의 2, 3, 4계층에서 사용하는 주소 정보의 종류와 각 주소 정보의 구성에 대해 간략히 살펴보았다. 이번 포스팅에서는 실제로 데이터의 전송을 가능하게 해주는 네트워크 장비의 종류를 계층 별로 살펴볼 것이며, 이 포스팅까지 읽게 되면 어느 정도 데이터의 전송이 이루어지는 과정에 대해서 이해할 수 있을 것이다. 간략하게 계층 별로 어떤 장비가 있는지 살펴보자. Layer 1 (Physical Layer) - 리피터(Repeater), 허브(Hub) Layer 2 (Data Link Layer) - 브릿지(Bridge), 스위치(Switch) Layer 3 (Network Layer) - 라우터(Router), Layer 3 스위치(Multi-Layer Switch) 지난 포스팅에서 2계층과 3계층에서 이용되는 주소는 Mac Address와, IP Address였다. 따라서 2계층의 네트워크 전송 장비는 데이터 내부의 Mac Address, 3계층의 네트워크 전송 장비는 데이터 내부의 IP Address 값을 참조하여 데이터를 어디로 전송시킬지를 결정한다. 그럼 주소 체계가 없는 1계층의 전송 장비는 어떻게 전송을 하냐 하면, 1계층의 전송 장비는 자신이 수신 받은 방향을 제외한 나머지 방향으로 연결된 곳에 모두 데이터를 뿌린다. 이를 Flooding 이라 하고, 연결된 모든 호스트들의 집합을 Collision Domain 이라 한다. 각 네트워크 전송 장비를 하나씩 조금 더 자세하게 살펴보기 전에, Collision Domain이 무엇인지 정리를 먼저 하도록 하겠다. * Collision Domain 1계층에서는 단순히 물리적인 데이터의 전송만 이루어지기 때문에, 실제로 논리적인 개념들이 필요한 계층은 2계층부터이다. 2계층에서 데이터를 송/수신하기 위해 정의한 규약(프로토콜)의 종류에는 LAN : Ethernet, Token Ring, FDDI

[CCNA/네트워크] 4. 주소의 종류와 계층 별 네트워크 전송 장비(1)

Image
지난 포스팅에서는, OSI 참조 모델의 7계층과 그 역할, 또 각각의 계층에서 사용하는 프로토콜에는 무엇이 있는지 살펴보았다. 이번 포스팅에서는 계층 별 사용하는 주소의 종류와, 실제로 데이터를 전송하는 계층 별 네트워크 전송 장비에 대해서 정리해 볼 것이다. 정확히는 주소에 대한 정보를 모든 계층에서 사용하지는 않는다. 계층 별 Encapsulation을 진행할 때에 프로토콜 헤더에 주소 정보를 담는 세 개의 계층이 있는데, 바로 Transport Layer(4계층), Network Layer(3계층), Data Link Layer(2계층) 이다. 왜 이 3개의 계층에서만 주소에 대한 정보가 필요할까? 이전 OSI 참조 모델 포스팅에서 이야기했듯 5~7계층은 데이터의 생성을 담당하고 1~4계층은 데이터의 전송을 담당하기 때문에, 데이터 전송의 계층 중에 실제로 전기신호로 변환 및 출력만 하고 다른 데이터 참조는 하지 않는 1계층을 제외한 2,3,4 계층에서 주소에 대한 정보가 필요함을 알 수 있다. Port Number (포트 번호) 포트 번호는 Transport Layer에서 캡슐화할 때에 프로토콜 헤더에 붙는 4계층 주소로, 데이터를 송수신하는 관계에서 어플리케이션 서비스를 구분 하기 위한 값이다. 포트 번호는 16bit 주소체계를 사용하여 0 ~ 65535까지의 값을 사용할 수 있다. 이 중 0~1023까지는 Well-Known Port Number라 하여 유명한 번호가 아닌 예약된 포트 번호로, 예를 들어 HTTP(80)은 HTTP 서비스(웹 서비스)에서 필요로 하는 데이터임을 의미하는 것이다. 송신 측(클라이언트)가 수신 측(서버)에게 포트 번호 80번을 사용하여 데이터를  전송하게 되면, 서버는 데이터를 받은 뒤 포트 번호 80을 확인하고, HTTP 서비스를 클라이언트에게 제공할 수 있게 되는 것이다. 이처럼 포트번호는 다른

[CCNA/네트워크] 3. OSI 참조 모델 ( OSI 7계층 )

Image
지난 포스팅에서는 프로토콜과 캡슐화에 대해서 살펴 보았다. 이번 포스팅에서는 단계적으로 추가되는 프로토콜 헤더, 즉 캡슐화 과정 이 전체적으로 어떤 단계를 거쳐 여러 프로토콜에 의한 캡슐화가 일어나는지 알아보기 위해, OSI 참조 모델을 정리할 것이다. OSI 참조 모델이란, 우리가 이용하는 응용 프로그램에서부터 물리적으로 전기신호가 전달되는 밑단까지 데이터가 전송될 때 거치는 구간들을 계층으로 나누어 놓은 모델이다. 현재는 세부적으로는 7계층 모델을 표준으로 사용하고 있으며, 데이터를 생성하는 상위 계층(5, 6, 7) 과 데이터를 전송하는 하위 계층(1, 2, 3, 4) 으로 구분된다. 데이터를 생성해 전송할 때에는 , 이 각각의 계층에서 데이터를 처리하면서 캡슐화가 진행되고 캡슐화한 이후의 데이터를 하위 계층으로 보낸다. 모든 캡슐화 과정이 이루어진 후, 데이터는 전송되고 데이터를 수신해 처리할 때에는 , 전송된 데이터를 수신한 뒤, 바깥쪽의 프로토콜 헤더를 벗겨 가며 필요한 데이터를 상위 계층으로 보내고, 최종 목적지에 도달하면 해당 데이터를 처리한다. 위의 그림에서 Application Layer, Presentation Layer, Session Layer가 상위 계층에 속하고, Transport, Network, Data Link, Physical Layer가 하위 계층 에 속하는 레이어들이다. 이전 포스팅에서 말한 것처럼, 데이터 생성 이후에 여러 개의 프로토콜 헤더가 붙게 되는데, Session Layer까지를 통해서 데이터(PDU)가 생성되고 그 이후 전송에 필요한 프로토콜 헤더들이 붙게 되는 것이다. 물론 데이터 생성 시에도 프로토콜들이 붙는다! 전송보다는 데이터에 대한 설명 등을 담고있는! 아무튼 이런 방식으로 프로토콜 헤더들이 전부 붙고 나면, 1 Layer ( Physical Layer ) 에서 데이터를 전기 신호로 변환하게 되고, 네

[CCNA/네트워크] 2. 프로토콜과 Encapsulation

Image
한 포스팅에 전부 적으려고 했는데.. 네트워크의 종류만 다 적어서 놓고 보니 길이가 꽤 길어져서 바로 다음 포스팅으로! 글을 쓸 때 한 줄을 비워 놓고 써서 그런가? 하지만 이렇게 하지 않으면 잘 읽히질 않아서..ㅠㅜㅋ 포스팅도 많이 하고 좋지 뭘 하면서 넘어가기로 했다 이 포스팅에서는 저번 포스팅에 마저 하지 못한 프로토콜과 Encapsulation에 대해 정리할 것이다 프로토콜(Protocol) 프로토콜의 사전적 의미를 살펴보면, 규약, 약속, 언어 등이라고 나와있는데, 이 의미를 어느 정도 네트워크에 적용시켜보자 네트워크가 존재하는 이유는 호스트들간의 연결과 정보 공유라고 하였다. 하지만 사람들끼리 서로 대화를 할 때 다른 언어를 사용하는 사람끼리는 말이 통하지 않는 것처럼, 호스트들끼리도 서로 통신을 할 때 자신의 시스템에서만 이용하는 체계를 사용해 데이터를 만들고, 보내게 되면 통신이 원활하게 되지 않을 것이다. 이를 극복하기 위해 네트워크 환경에서 서로 데이터를 전송할 때 에, 그 데이터가 어떤 데이터이며, 어디서 보낸 것이고, 목적지는 어디인지 이외에도 전송에 필요한 기능들(오류 검출, 데이터의 순서 및 크기) 등을 하나의 규약으로 정해놓고, 그에 해당하는 데이터를 실제 전송할 데이터 에 포함시켜 보내게 된다. 이 때 데이터에 프로토콜과 관련된 헤더를 붙이게 되는데, 이를 캡슐화(Encapsulation) 이라고 한다. 예를 들어 보자면 다음과 같다 한 PC(호스트)에서 다른 PC(호스트)로 데이터를 전송할 때에, 데이터를 일단 생성하게 되는데, 이를 PDU(Protocol Data Unit)이라고 한다. - 위 그림에서는 User Input 그 이후에 데이터 전송을 위해서 앞에 Protocol Header가 붙게 되는데, 뭐가 이렇게 많이 붙느냐? 이유는 OSI 7계층이라는 개념과 관련

[CCNA/네트워크] 1. 네트워크의 의미와 종류

Image
Cisco Certified Network Associate , 줄여서 CCNA 는 시스코의 장비를 이용한 네트워크 관련 기술에 대한 능력을 검증하는 가장 기초적인 네트워크 국제 자격증이다. 네트워크를 운용하는 장비를 보급하는 회사는  CISCO 말고도 여러 곳이 있지만, 가장 보편적이고 점유율이 높은 곳이 CISCO이기 때문에, 가장 보편적으로 처음 취득하는 네트워크 자격증이 CCNA인 경우가 많다. 나의 경우에는 7월에 입대하고자 하는 정보보호기술병을 지원할 때에, 자격증이 많을수록 가산점도 있고, 1학기 때에 들었던 인터넷프로토콜 과목에서 네트워크 관련 지식에 흥미를 느꼈지만 제대로 공부하지 못한 것 같다는 생각에..ㅠㅠㅋ 이 자격증을 준비하면서 네트워크에 대한 기본적인 지식들을 정리하고자 한다.  이 포스팅에서는 네트워크의 종류(LAN, WAN)과 프로토콜과 Encapsulation의 간단한 의미들을 정리할 것이다. Network란? 먼저, 네트워크란 무엇일까? 간단하게 말하자면 컴퓨터(호스트)들 간의 연결이다. 네트워크가 존재하지 않았을 때에는,  내가 가지고 있는 정보를 다른 컴퓨터에서 이용하려면 이동식 매체(지금으로 이야기하자면 USB)등을 이용해서  직접 사람이 이동하여 데이터를 옮겨야 했지만, 네트워크가 발달하면서 각 호스트들을 연결하여  정보의 '전송' 이 가능하게 하고, 한 호스트가 가진 정보를 다른 호스트들과 '공유' 할 수 있게 되었다. 키워드를 꼽으라면 '연결'과 '공유'일 것이다. 데이터의 '전송' 이라는 개념이 생기면서 매우 다양한 프로그램들이 등장하게 되었다. Network의 종류 네트워크의 종류에는 LAN과 WAN 2가지가 있다. 복잡한 개념은 전혀 아니고.. LAN은 Local Area Network, WAN은 Wide Area Network의 약자로, 읽어보면 둘의