모두의 네트워크
[모두의 네트워크]는 이제 막 네트워크를 공부하기 시작했거나 공부해야겠다고 마음먹은 초급자를 대상으로 한 입문서다. 네트워크의 개념, 비트, 바이트부터 OSI 계층, 무선 랜 구조까지 160개의 일러스트와 유쾌한 캐릭터들의 대화로 설명해 그림책을 읽듯 쉽고 재미있게 네트워크 관련 지식을 익힐 수 있다. [모두의 네트워크]로 누구나 쉽게 네트워크를 익혀 보자!
저자
미즈구치 카츠야
출판
길벗
출판일
2018.06.30

이 글은 위의 책을 읽으며 제 생각과 함께 정리하는 내용입니다. 


데이터 링크 계층?

 

데이터 링크 계층의 특징은 크게 두 가지 입니다.

1. 데이터 전송에 있어서 오류를 탐지하고 수정합니다.

2. 각 장치를 식별하기 위해 MAC주소로 이루어진 주소 체계를 관리합니다 

 

오류 감지 방식

 

오류를 감지하는데  3 가지 방식이 있습니다 

1. 회선 제어

회선 제어는 오류를 감지하기보다는 회피하는 방법으로 충돌 현상이 발생하지 않게 제어합니다 

 

2. 오류 제어

CRC 혹은 패리티 검사로 오류 탐지 코드를 사용합니다.

탐지된 오류는 해밍 코드를 이용하여 정정합니다.

 

3. 흐름제어

흐름 제어는 송,수신 간의 데이터 처리 속도 차이를 조절하기 위해 수신자의 상황에 따라 송신자의 데이터 전송량을 조정하는 방법입니다.

 

이더넷?

 

이더넷이란 다수의 컴퓨터, 허브, 스위치 등을 하나의 인터넷 케이블에 연결한 네트워크 구조입니다.

이더넷은 CSMA/CD라고하는 프로토콜을 사용했었습니다. (더미 허브에서 나타나는 충돌에 대한 방안!)

하지만 이제 스위칭 허브에서 MAC주소를 이용한 통신으로 그 역할을 대신 해주기 때문에 사용하지 않습니다.

 

MAC 주소?

 

랜 카드 같은 "network interface card"에 할당된 고유 값입니다.

 

어디에 사용?

 

1계층에서 온 데이터가 2계층으로 넘어가면 2계층에서는 이 데이터(bit)에 헤더와 트레일러를 붙입니다.

붙이는 헤더에  송신자의 MAC주소, 수신자의 MAC주소가 구성되어 있습니다.

추가로 헤더에 IP의 프로토콜의 유형이 들어갑니다. (IPv4, IPv6, ARP)

 

ARP?

 

근데 보내는 사람의 MAC주소는 거기서 데이터가 나오니 알수 있다쳐도 목적지의 MAC주소는 어떻게 알까요?

이때 사용하는것이 ARP입니다.

ARP은 보내고자 하는 IP주소에 해당하는 MAC주소를 알려주는 프로토콜입니다.

 

과정은 이렇습니다.

  1. 컴퓨터A는 보내고자 하는 IP에 MAC주소가 있는지 자기의 ARP테이블을 확인합니다.
  2. 없다면 컴퓨터A는 같은 허브에 묶여 있는 모든 장치에게 목적지의 IP를 주며 "IP가 동일하면 MAC주소를 내놔라" 합니다.
  3. 모든 장치는 IP를 비교하고 동일한 장치가 나타날 경우, 그 장치는 MAC주소를 넘겨줍니다.
  4. 그 후 컴퓨터A는 받아온 MAC주소와 매핑된 IP를 자기 메모리의 ARP 테이블에 저장합니다.
  5. 다시 통신을 해야할시 1번으로 돌아갑니다.

그런데 아무래도 허브단에서 이루어지기 때문에 LAN환경에서만 가능합니다.

그러면 WAN환경에서는 어떻게 ARP가 사용될까요?

그래서 우리가 찾는 IP를 가진 장치가 허브와 연결되있지 않다면, 연결된 라우터로 이동하여 찾는 ip를 가진 장치를 다시 찾게 됩니다.

근데 중요한건 스위치에만 ARP테이블이 있는게 아니라, 각 컴퓨터에도 존재한다!

컴퓨터가 이미 통신하고자하는 IP의 MAC주소를 가지고 있다면 스위치에게 MAC주소를 찾아오라고 하지 않고,

MAC주소를 주면서 이 장치와 연결하겠다고 요청한다.

 

스위칭 허브?

 

https://ddidding.tistory.com/213 에 간단히 설명했다.

 

전송 방향에 따른 통신 방식

 

3 가지 종류가 있다.

  • 단방향 통신
    한쪽에서는 송신만, 반대편은 수신만 가능하다.
    ex) TV, 라디오

  • 양방향 통신(반이중 방식)
    하나의 통신선에서 송,수신이 가능하다.
    하지만 한쪽이 송신중이면 반대편은 수신만 가능하다. 
    ex) 더미 허브

  • 양방향 통신(전이중 통신)
    하나의 통신선에서 송,수신이 가능하다.
    한쪽이 송신중이더라도 반대편이 송신이 가능하다, 수신도 마찬가지
    ex) 스위칭 허브

 


용어 정리

 

데이터 링크 계층 :데이터 전송에 있어서 오류를 감지, 수정하는 계층

 

프레임 : 데이터 링크 계층에서 사용하는 데이터 단위, 다른 계층과 달리 데이터구조에 트레일러가 추가적으로 있다.

 

트레일러 : 전달한 데이터에 오류가 없는지 검출하기 위한 용도로 사용되는 데이터

 

CSMA/CD : 전류의 강도를 확인해 케이블이 사용 중인지 확인하는 방식

케이블이 사용 가능한지 확인하고 사용 가능하면 전송, 아니면 대기 (눈치 게임)

 

ARP : IP주소와 MAC주소를 매핑하기 위한 프로토콜

 

이더넷 : 허브나 스위치에 여러 컴퓨터를 연결한 형태의 LAN

 
모두의 네트워크
[모두의 네트워크]는 이제 막 네트워크를 공부하기 시작했거나 공부해야겠다고 마음먹은 초급자를 대상으로 한 입문서다. 네트워크의 개념, 비트, 바이트부터 OSI 계층, 무선 랜 구조까지 160개의 일러스트와 유쾌한 캐릭터들의 대화로 설명해 그림책을 읽듯 쉽고 재미있게 네트워크 관련 지식을 익힐 수 있다. [모두의 네트워크]로 누구나 쉽게 네트워크를 익혀 보자!
저자
미즈구치 카츠야
출판
길벗
출판일
2018.06.30

이 글은 위의 책을 읽으며 제 생각과 함께 정리하는 내용입니다.


물리 계층의 역할

 

OSI 7 계층 중 물리 계층은 컴퓨터들을 물리적으로 연결하여 데이터를 전기 신호로 변환하고 전달 하는 역할을 담당합니다.

 

전기 신호?

 

전기 신호는 전압의 변화에 의한 신호 입니다.

컴퓨터가 처리하는 데이터의 최소 단위인 비트(0과 1)를 전기 신호로 표현하면 이렇습니다.

이런 식으로 전압의 변화로 0과 1을 표현하여 비트를 전기 신호로 변환하는 것 입니다

 

누가 전기 신호로 변환을?

 

우리가 보내려는 데이터를 전기 신호로 변환해주어 내보내는 장치가 바로 랜 카드 입니다.

즉, 랜 카드는 데이터가 내 컴퓨터 밖으로 나가는 출발점 이라고 할 수 있습니다.

 

물리 계층의 통신 예시

 

  1. 랜 카드
    • 물리적 연결 : 랜 카드에 랜선으로 다른 장치와 연결합니다.
    • 전기 신호 전달 : 비트 데이터를 전기 신호로 변환하여 다른 장치로 전송합니다
  2. 리피터
    • 물리적 연결 : 네트워크 케이블을 통해 두 지점을 물리적으로 연결합니다.
    • 전기 신호 전달 : 약해진 신호를 받아 증폭한 후, 다시 전달합니다.
  3. 허브(더미 허브)
    • 물리적 연결 : 여러 포트에 케이블을 꽂아 물리적으로 연결합니다.
    • 전기 신호 전달 : 수신한 데이터를 모든 포트로 전달하여 모든 연결된 장치에 전기 신호를 전송합니다.

용어 정리

 

물리 계층 : 장치를 물리적으로 연결하고 전기 신호를 전달하는 계층

 

전기 신호 : 전압의 변화에 의한 신호

 

리피터 : 전기 신호를 증폭하여 다시 전달해주는 장치

 계층

 

모두의 네트워크 - 예스24

네트워크를 전혀 몰라도 괜찮다!초보자와 비전공자를 위한 가장 쉬운 네트워크 입문서[모두의 네트워크]는 이제 막 네트워크를 공부하기 시작했거나 공부해야겠다고 마음먹은 초급자를 대상으

www.yes24.com

이 글은 위의 책을 읽으며 제 생각과 함께 정리하는 내용입니다. 


프로토콜

 

네트워크는 컴퓨터가 연결되어 데이터를 주고 받는 것이다. 컴퓨터는 이 데이터를 주고 받기 위해 아무런 규칙이 없을까?

물론 있다. 컴퓨터 간의 통신 규칙을 모아둔게 프로토콜이다.

 

대표적인 프로토콜이 TCP/IP(4 Layer)OSI 7 Layer 이다.

 

OSI 7 Layer

 

OSI 7 Layer를 설명하기 전에 옛날으로 돌아가서 통신이 가능한 장치들(허브, 스위치, ...)이 있었다.

이 장치들마다 제조사가 달랐고, 이 제조사 마다 고유의 프로토콜을 이용했기 때문에 다른 제조사들과의 장비는 통신하기 힘들었다.

이렇게 가다간 같은 제조사로만 장비를 구성하지 않는한 쓸모가 없어져 높은 효용성을 위해 여러 나라가 모인 국제표준기구(ISO) 에서 "모든 장치가 통신될 수 있는 프로토콜 만들어 봤는데 어때?" 한게 OSI 7 Layer이다.

근데 중요한건 "어때?" 라고 제안한거 뿐이지 정말로 사용하지는 않는다. 하지만 이 프로토콜의 완성도가 잘 잡혀있어 이 프로토콜을 기반으로 현재 사용하는 TCP/IP같은 프로토콜이 탄생했다.

 

이 규칙은 7단계로 이루어져 있기에 7Layer라 한다.

7 계층 응용  계층
6 계층 표현  계층
5 계층 세션  계층
4 계층 전송  계층
3 계층 네트워크  계층
2 계층 데이터 링크  계층
1 계층 물리  계층

 

TCP/IP

 

OSI 7 Layer는 실제 사용하기에 너무 많은 단계가 나뉘었다. 그래서 좀 더 축약된 프로토콜이 TCP/IP다.

중간에 슬래시가 있는 이유는 TCP라는 프로토콜과 IP라는 프로토콜을 같이 사용하기 때문이다.(하나가 아님에 주의하자)

4계층 응용 계층
3계층 전송 계층
2계층 인터넷 계층
1계층 네트워크 인터페이스  계층

 

MAC 주소

 

일단 주소는 왜 있을까? 어떤걸 쉽게 식별하고 찾기 위해서다.

집 주소는 집을 쉽게 식별할 수 있으며, 컴퓨터도 메모리의 주소를 이용해 원하는 데이터를 찾아낸다.

 

MAC주소LAN카드를 식별해주며, 하나밖에 없는 코드를 LAN카드(하드웨어)에 부여하기에 MAC주소를 하드웨어 주소, 물리주소 라고도 한다.

유선 랜카드 (무선도 있음!)

물론 나는 컴퓨터를 대상으로 공부를 하기에 MAC주소는 LAN카드에 부여된다 했지만, 사실은 Network Interface Card로 LAN카드 처럼 통신지원되는 장비에 다 부여된다.

 

예를 들어 핸드폰에는 무선 LAN카드가 없지만 대신 LAN칩? 이라 해야하나 그런 부품이 들어가 있고 그 부품에도 MAC주소가 부여된다.

 

IP 주소

 

IP주소는 KT, STK, LG 등 인터넷 서비스에 가입하면 할당받는 주소이다. (마찬가지로 고유함)

일단 넘어가고 자세한건 뒤에 살펴본다.

 

포트

 

한 줄로 말하면, 응용 프로그램의 데이터 출/입구 번호 이다.

게임을 하면서 이벤트로 아이템을 받게될 때, 아이템의 데이터가 일단 우리의 컴퓨터까지 도착했다 생각하자.

근데 어떤 프로그램으로 데이터를 줘야하는가? 하면 이때 포트번호가 어떤 프로그램에게 가야하는지를 식별해준다.

 

반대로 우리가 데이터를 보낼때 이 데이터는 몇번 포트에서 출발한다~ 라고 도 얘기해줄수 있다.

 

캡슐화 역캡슐화

 

OSI 7 Layer에서는 각 계층을 지나갈 때마다 데이터(주소)가 붙여진다. 이 각 계층에서 붙여지는 데이터 마다 헤더라 불린다.

http://www.ktword.co.kr/test/view/view.php?no=379

※ 트레일러는 전달한 데이터에 오류가 있는지 검출하기 위한 용도로 사용한다.

 

이렇게 데이터가 붙여지는 과정을 캡슐화, 다시 데이터가 벗겨지는 것을 역캡슐화 라 한다.


용어 정리

 

프로토콜 : 컴퓨터간 통신하기 위한 규칙

 

OSI 7 Layer : ISO에서 제시한 표준 프로토콜, 

Application, Presentation, Session, Transport, Network, Data link, Physical의 7 계층으로 이루어짐

 

TCP/IP : TCP와 IP를 사용하는 프로토콜 방식

Applciation, Transport, Internet, Network Interface의 4계층으로 이루어짐

 

MAC 주소 : LAN카드에 부여되는 코드로, LAN카드를 식별하는 주소.

 

IP주소 : 통신업체로 부터 부여받는 코드로, 솔직히 아직 잘 모르겠음 추후에 업데이트.

 

포트 : 응용 프로그램을 식별하는 번호, 프로그램의 데이터 출/입 구 번호이다.

 

 

 

 

모두의 네트워크 - 예스24

네트워크를 전혀 몰라도 괜찮다!초보자와 비전공자를 위한 가장 쉬운 네트워크 입문서[모두의 네트워크]는 이제 막 네트워크를 공부하기 시작했거나 공부해야겠다고 마음먹은 초급자를 대상으

www.yes24.com

이 글은 위의 책을 읽으며 정리하는 내용입니다. 

2024.05.21 허브, 스위치 내용 추가


네트워크?

 

컴퓨터 네트워크 말고도 물류 네트워크 등 생각해보면 연결 되어 주고 받는 것 이라고 볼 수 있다. 컴퓨터 네트워크 같은 경우는 (컴퓨터가) 연결 되어 (데이터를) 주고 받는 것 이다.

앞으로 나오는 네트워크는 모두 컴퓨터 네트워크로 의미를 지정하겠다.

 

왜 필요한가?

 

아까 말했듯이 데이터를 주고 받고 싶어하기 때문에 필요하다.

데이터를 주고 받고 싶어하기 때문에 데이터를 주고 받았다ㅋㅋ

 

이렇게 데이터를 주고 받아 사용하는 경우의 예시는 이렇다.

● 컴퓨터와 프린터를 연결하여 출력하려는 데이터를 주고 받는 경우

● Github 처럼 각자의 컴퓨터가 연결 되어 같은 프로젝트의 데이터를 읽고 쓰는 경우

 

네트워크의 형태

 

통신 범위에 따라 LAN과 WAN으로 구분 된다.

LAN

Local Area Network로 건물 안이나 특정 지역을 범위로 하는 네트워크이다.

하나의 건물 내에 존재하는 모든 컴퓨터와 주변 장치를 연결하는 범위 이하가 LAN이라 생각하면 되겠다.

 

WAN

Wide Area Network로 2개 이상의 랜을 연결한 것을 의미한다.

각 차이를 정리하면 이렇다.

구분 LAN WAN
정의 근거리 통신망 광역 통신망
거리 제약 10km 이내 제약 없음
전송 속도 고속 저속

 

 

네트워크 구성 장치

 

이 파트는 너무 헷갈려서 천천히 다시 정리중이다 /  작성해야하는 장치 : 브리지, 라우터

1. 허브 (더미 허브)

태초에 통신이라 함은 컴퓨터와 컴퓨터, 1대 1연결이였다.

이 통신은 그냥 장치 없이 선 하나로 충분했다.

근데 후에 여러대의 컴퓨터가 통신을 하고 싶어 했다.

컴퓨터가 다섯개지만 선만 해도 10개, 컴퓨터마다 꽂을 구멍은 4개..

그래서 이러한 장치를 만들어 낸다.

가운데 있는 네모장치가 바로 초기의 허브(더미허브) 이다.

 

이 허브의 특징은 한 컴퓨터가 다른 컴퓨터에 데이터를 전송하고 싶어 허브에 데이터를 전송하면 다른 모든 장치는 받기 싫어도 허브가 모든 컴퓨터에게 데이터를 발신한다.

 

출처 : https://www.youtube.com/watch?v=U1-2gGD9sYk

그래서 나온 해결 방안이 MAC주소를 이용한 방법인데(MAC주소는 다음 포스팅에 작성)

데이터를 보낼때 전송하고 싶어하는 컴퓨터의 MAC주소를 같이 허브에 보낸다.

그럼 데이터가 모든 컴퓨터에게 갈텐데 여기서 컴퓨터는 자신의 MAC주소가 아니라면 수신하지 않고 삭제해버린다.

 

하지만 여전히 데이터를 모든 컴퓨터에게 보낸다는 단점은 여전했다. 또한 신호가 한 방향으로 밖에 갈수 없어 두 장치가 동시에 데이터를 전송할 수 없다는 단점이 있다.

 

그래서 이 모든 단점을 해결한 장치가 발명됐는데 그 이름은  스위치 이다.

 

2. 스위치 (스위칭 허브)

스위치는 허브와 비슷하게 데이터를 전송해주는 역할이지만 똑똑해져 연결된 컴퓨터의 MAC주소를 모두 알고있게 되었다! 이 MAC주소들은 밑으 표처럼 MAC 테이블로 관리된다

MAC주소 포트
11-11-11-11-11-11 1번
22-22-22-22-22-22 2번
... ...

 

하지만 스위치가 똑똑해졌다고 해서 처음부터 연결된 장치의 MAC주소를 알지는 못하는데, 한번은 모든 장치에 데이터를 보내 각 장치의 MAC주소를 받아와 MAC테이블을 업데이트합니다.

 

그래서 굳이 모든 컴퓨터에게 다 보내지 않아도 원하는 컴퓨터의 선으로만 데이터를 전송할 수 있게됐다.

 

또한 데이터 신호도 양 방향으로 전송이 가능해서 여러 컴퓨터가 데이터를 전송할 수 있게 됐다.

 

 


용어정리

 

네트워크 : 장치가 연결되어 데이터를 주고 받는 것

LAN : 짧은 거리의 장치를 연결하는 네트워크

WAN : 두 개의 LAN이 연결된 네트워크

대역폭 : 1초당 처리할 수 있는 데이터의 양

+ Recent posts