반응형

03-2 IP 주소

네트워크 주소와 호스트 주소

  • 아래는 네트워크 주소가 16비트 , 호스트 주소가 16비트인 IP 주소의 예시

  • 네트워크 주소: 네트워크 ID, 네트워크 식별자로 불리기도 함
  • 호스트 주소: 호스트 ID, 호스트 식별자로 불리기도 함

  • 위와 같이 네트워크 주소가 하나의 옥텟으로 이루어져 있다면, 한 네트워크당 호스트 주소 할당에 3바이트 (24바이트)를 사용할 수 있어서 상대적으로 많은 호스트 IP 주소 할당 가능

  • 위와 같이 네트워크 주소가 3개의 옥텟으로 이루어져 있다면, 네트워크 당 호스트 주소 할 당에 1바이트(8비트)를 사용할 수 있으며 상대적으로 적은 IP 주소만 할당 가능
  • 위 예들처럼 IP 주소에서 네트워크 주소와 호스트 주소를 구분하는 범위는 유동적인데 각각 어느정도를 할당하는게 적당할까?

 

클래스풀 주소 체계

  • 클래스는 네트워크 크기에 따라 IP 주소를 분류하는 기준
  • 클래스를 이용하면 필요한 호스트 IP 개수에 따라 네트워크 크기를 가변적으로 조정해 네트워크 주소와 호스트 주소를 구획할 수 있음
  • 클래스를 기반으로 IP 주소를 관리하는 주소 체계를 클래스풀 주소 체계(classful addressing)라고 함

A, B, C 클래스가 있다고 가정

A 클래스

  • B, C클래스에 비해 할당 가능한 호스트 주소의 수가 많음
  • 네트워크 주소는 ‘’비트 ‘0’으로 시작하고 1옥텟으로 구성되며, 호스트 주소는 3옥텟. 이론상으로 $2^7(128)$ 개의 A클래스 네트워크가 존재할 수 있고 $2^{24}(16,777,216)$ 개의 호스트 주소를 가질 수 있음
  • A 클래스로 나타낼 수 있는 IP 주소의 최솟값을 10진수로 표현하면 0.0.0.0, 최대값은 127.255.255.255
  • 요컨대 가장 처음 옥텟의 주소가 0~127일 경우 A 클래스 주소임을 짐작할 수 있음

B 클래스

  • 네트워크 주소는 비트 ‘10’으로 시작하고 2옥텟으로 구성되며 호스트 주소도 2옥텟으로 구성
  • 이론상으로 $2^{14}(16,384)$개의 B클래스 네트워크와 $2^{16}(65,534)$개의 호스트 주소를 가질 수 있음
  • B클래스 IP 주소값의 최소값을 10진수로 표현하면, 128.0.0.0, 최대값은 191.255.255.255임
  • 가장 처음 옥텟의 주소가 128~192 일 경우 B클래스 주소임을 짐작할 수 있음

C 클래스

  • 네트워크 주소는 비트’110’으로 시작하고 3옥텟으로 구성되며 호스트 주소는 1옥텟으로 구성
  • 이론상으로 $2^{21}(2,097,152)$개의 C클래스 네트워크가 존재할 수 있고, 각 네트워크는 $2^8(256)$개의 호스트 주소를 가질 수 있음
  • C클래스 IP 주소값의 최소값을 10진수로 표현하면, 192.0.0.0, 최대값은 223.255.255.255임
  • 가장 처음 옥텟의 주소가 192~224일 경우 C클래스 주소임을 짐작할 수 있음

다만 호스트의 주소 공간을 모두 사용할 수 있는 것은 아님. 호스트 주소가 전부 0인 IP 주소는 해당 네트워크 ㅈ체를 의미하는 네트워크 주소로 사용되고, 호스트 주소가 모두 1인 IP 주소는 브로드캐스트를 위한 주소로 사용됨

 

References

 

반응형
반응형

ARP(Address Resolution Protocol)

  • 통신을 주고 받고자 하는 호스트의 IP 주소는 알지만 MAC 주소는 모르는 경우 사용되는 프로토콜
  • 동일 네트워크 내에 있는 송수신 대상의 IP 주소를 통해 MAC 주소를 알아낼 수 있음

예시 상황

  • 동일 네트워크에 속한 호스트 A, B가 있음
  • 호스트 A는 호스트 B의 IP 주소는 알지만 MAC 주소는 모름
  • 이 상황에서 호스트 B의 MAC 주소를 알아내기 위해 ARP를 이용함

1. ARP 요청

  • 호스트 A는 브로드캐스트 메시지를 전송. 브로드캐스트 메시지란 네트워크에 속한 모든 호스트에게 보내는 메시지
  • 브로드캐스트 메시지는 ARP요청이라는 ARP 패킷

 

2. ARP 응답 (ARP Reply)

  • 호스트 B이외에 나머지 호스트들은 받은 메시지의 수신 IP가 자신의 IP 주소가 아니므로 무시
  • 호스트 B는 자신의 MAC 주소를 담은 유니캐스트 메시지를 A에게 전송 (1:1 통신을 위한 유니캐스트 메시지)
  • 유니캐스트 메시지 = ARP 응답이라는 ARP 패킷으로 이 메시지를 수신한 A는 B의 MAC 주소를 알게 됨

 

3. ARP 테이블 갱신

  • ARP 테이블: ARP 요청-응답을 통해 알게된 IP주소와 MAC 주소의 연관 관계를 기록한 테이블
  • 테이블 항목은 일정시간이 지나면 삭제되거나 임의 삭제도 가능
  • 테이블에 등록된 호스트에 대해선 ARP 요청을 보낼 필요 없음

 

ARP 패킷

  • ARP 요청과 응답 과정에서 송수신되는 패킷

  • 오퍼레이션 코드(Opcode; Operation Code) : ARP 요청의 경우 1, ARP 응답의 경우 2
  • 송신지 하드웨어 주소와 수신지 하드웨어 주소에는 MAC 주소
  • 송신지/수신지 프로토콜 주소에는 IP 주소

ARP 테이블 확인 (Mac OS 터미널)

$ arp -a

 

유의할 점

  • ARP 프로토콜은 같은 네트워크 내에 속해있는 호스트의 IP 주소를 통해 MAC 주소를 알아내는 프로토콜임
  • 그렇다면 다른 네트워크에 속해있는 IP 주소는 알지만 MAC 주소는 모르는 경우는?
  • 통신하고자 하는 호스트 A와 B가 서로 다른 네트워크에 속해있는 상황

 

1. ARP 요청/응답 과정을 통해 라우터 A의 MAC 주소를 알아낸 뒤, 이를 향해 패킷 전송

 

2. 라우터 A가 라우터 B의 MAC 주소를 모르는 경우에는 ARP 요청/응답 과정을 통해 라우터 B의 MAC 주소를 알아낸 뒤, 이를 향해 패킷 전송

 

3. 라우터 B가 호스트 B의 MAC 주소를 모르는 경우 ARP 요청/응답 과정을 통해 호스트 B의 MAC 주소를 알아낸 뒤, 이를 향해 패킷 전송

 

 

 

 

References

 

반응형
반응형

LAN을 넘어서 다른 네트워크와 통신하기 위해서는 네트워크 계층의 역할이 필수적이다

데이터 링크 계층의 한계

아래의 이유들로 물리 계층과 데이터 링크 계층만으로 다른 도시나 국가에 있는 사람과 통신하기 어려움

1. 물리 계층과 데이터 링크 계층만으로는 다른 네트워크까지의 도달 경로를 파악하기 어려움

  • 물리 계층과 데이터 링크 계층은 기본적으로 LAN을 다루는 계층으로 지구 반대편에 있는 사람의 컴퓨터와 정보를 주고 받으려면, 서로에게 도달하기까지 수많은 네트워크 장비를 거치며 다양한 경로를 통해 정보가 이동
  • 통신을 빠르게 주고받으려면 최적의 경로로 패킷이 이동해야하는데 이를 결정하는 것을 라우팅(routing)이라고 함
  • 물리계층과 데이터 링크 계층의 장비로는 라우팅을 수행할 수 없지만, 네트워크 계층의 장비로는 가능한데 대표적인 장비로 라우터(router)가 있음

2. MAC 주소만으로는 모든 네트워크에 속한 호스트의 위치를 특정하지 어려움

  • 현실적으로 모든 호스트가 모든 네트워크에 속한 모든 호스트의 MAC 주소를 서로 알고 있기 어려움
  • 네트워크를 통해 정보를 주고 받는 과정을 택배를 보내고 받는 것에 비유하면, MAC 주소는 네트워크 인터페이스(NIC)마다 할당된 일종의 개인 정보와 같음
  • 택배를 보낼 때는 인물을 특정하는 정보 이외에 수신지도 써야 함. 수신지 역할을 하는 것이 네트워크 계층의 IP 주소
  • IP주소는 논리주소라고도 부르며, NIC마다 할당되는 고정된 주소인 MAC 주소와 달리, IP 주소는 호스트에 직접 할당 가능

인터넷 프로토콜(Internet Protocol, IP)

  • 2가지 버전이 있음 IP버전 4(IPv4)와 IP버전 6(IPv6). 일반적으로 IP 혹은 IP 주소를 이야기할 때 주로 IPv4를 의미

IP 주소 형태

  • 4바이트로 주소를 표현할 수 있고 숫자당 8비트로 표현되기에 0~255 범위안에 있는 4개의 10진수로 표기
  • 각 10진수는 점으로 구분되며, 점으로 구분된 8비트를 옥텟(octet)이라고 함

ex) 192.168.1.1

IP의 2가지 기능

  1. IP 주소 지정 (IP addressing)
  • IP 주소를 바탕으로 송수신 대상을 지정하는 것을 의미
  1. IP 단편화 (IP Fragmentation)
  • 전송하고자 하는 패킷의 크기가 MTU라는 최대 전송 단위보다 클 경우, 이를 MTU 크기 이하의 복수의 패킷으로 나누는 것을 의미
  • MTU란 Maximum Transmission Unit이란 뜻으로 한 번에 전송 가능한 IP 패킷의 최대 크기를 의미하며 일반적으로 1500 바이트

IPv4

  • IPv4 패킷은 프레임의 페이로드로 데이터 필드를 명시

핵심 필드

  1. 식별자(Identifier)
    1. 패킷에 할당된 번호로 MTU를 초과하여 쪼개져서 수신지로 도착한 IPv4 패킷들이 어떤 메시지에서 쪼개졌는지 알기 위해 사용
  2. 플래그(Flag)
    1. 총 3개 비트로 구성
    2. 첫번째 비트는 항상 0으로 예약된 비트로 사용되지 않음
    3. 비트중 DF(Don’t Fragment)는 IP 단편화 수행 여부를 나타내는 표시로, 1이면 단편화 수행 X, 0이면 단편화 가능
    4. MF(More Fragment)는 단편화된 패킷이 더 있는지를 나타내는데 1이면 패킷이 더 있음을 나타내고 0이면 이 패킷이 마지막을 나타냄
  3. 단편화 오프셋(Fragment offset)
    1. 초기 데이터에서 몇 번째로 떨어진 패킷인지를 나타냄
    2. 쪼개진 패킷들은 같은 순서대로 수신지에 도착하지 않을 수 있음
    3. 수신지가 패킷들을 순서대로 재조합하려면 단편화된 패킷이 초기 데이터에서 몇번째 해당하는 패킷인지 알아야 함
  4. TTL(Time To Live)
    1. 패킷의 수명
    2. 무의미한 패킷이 네트워크 상에 지속적으로 남아있는 것을 방지하기 위해 존재
    3. 패킷이 하나의 라우터를 거칠때마다 TTL이 1씩 감소, TTL이 0으로 떨어진 패킷은 폐기
    4. 홉(hop): 패킷이 호스트 또는 라우터에 한번 전달되는 것으로 TTL 필드 값은 홉마다 1씩 감소
  5. 프로토콜
    1. 상위 계층에 프로토콜을 나타냄
  6. 송신지 IP 주소
  7. 수신지 IP 주소

IPv6

  • 이론적으로 할당 가능한 IPv4 주소 개수는 4바이트(32비트)로 표현가능한 숫자이므로 약 43억개
  • 시간이 지나면서 부족한 숫자가 되고 IPv4의 주소의 총량은 쉽게 고갈되어 이 문제를 해결하고자 IPv6가 등장
  • 16바이트로 주소를 표현할 수 있고 콜론(:) 으로 구분된 8개 그룹의 16진수로 표기
1050:0000:0000:0000:0005:0600:300c:326b

핵심필드

  1. 다음 헤더(next header)
    1. 상위 계층의 프로토콜 또는 확장 헤더를 가리키거나 확장 헤더를 가리킴
    2. 확장 헤더란 기본 헤더 이외에 추가정보가 필요한 경우 사용하는 헤더
    3. 수신지에서만 패킷을 검사하도록 하는 수신지 옵션, 송신지에서 수신지에 이르는 모든 경로의 네트워크 장비가 패킷을 검사하도록 하는 홉 간 옵션 등이 있음
  2. 홉 제한
    1. IPv4 패킷의 TTL 필드와 비슷하게 패킷의 수명을 나타내는 필드

 

References

반응형
반응형

02-4 스위치

스위치(Switch)

  • 데이터 링크 계층의 네트워크 장비로 2계층에서 사용한다 하여 L2스위치라고도 부름
  • 허브와는 달리 MAC 주소를 학습해 특정 MAC 주소를 가진 호스트에만 프레임을 전달할 수 있고 전이중 모드의 통신을 지원

 

특징

  • 특정 포트와 해당 포트에 연결된 호스트의 MAC 주소와의 관계를 기억하는데 이러한 기능을 MAC 주소 학습이라 부름
  • 관계를 기억하기 위해 메모리에 표 형태로 기억하는데 이 정보를 MAC 주소 테이블(MAC address table)이라고 부름

 

MAC 주소 학습

  • 특정 포트와 해당 포트에 연결된 호스트의 MAC 주소의 관계를 기억하는 기능으로, 포트에 연결된 호스트의 MAC 주소를 알 수 있음

MAC 주소 테이블

  • 스위치 포트와 연결된 호스트의 MAC 주소 간의 연관 관계를 나타내는 정보

 

스위치의 세 가지 기능을 통해 MAC 주소 테이블을 채우고 원하는 수신지가 연결된 포트에만 프레임을 보낼 수 있음

  1. 플러딩
  2. 포워딩과 필터링
  3. 에이징

아래 그림처럼 구성된 네트워크에서 호스트 A가 호스트로 C로 프레임을 전송하는 상황을 가정. 호스트 A, B, C, D는 각각 포트 1, 2, 3, 4번에 연결되어 있음

 

  • 처음에 스위치는 호스트의 MAC 주소와 연결된 포트의 연관관계를 모르는 상태로 MAC 주소 테이블이 비어 있음
  • 호스트 A가 1번 포트를 통해서 메세지를 전달했더라고, 2번 포트로 내보내야 하는지, 3번 포트로 내보내야 하는지, 4번 포트로 내보내야 하는지 알 수 없음

 

  • 스위치의 MAC 주소 학습은 프레임 내 ‘송신지 MAC 주소’ 필드를 바탕으로 이루어짐
  • 스위치가 호스트 A에서 프레임을 수신하면, 프레임 내 ‘송신지 MAC 주소’ 정보를 바탕으로 호스트 A의 MAC 주소와 연결된 포트를 MAC 주소 테이블에 저장
  • 하지만 여전히 수신지 호스트 C가 어떤 포트와 연결되어있는지에 대한 정보는 없음

 

 

  • 플러딩(Flooding): 허브처럼 모든 포트로 프레임 전송

  • 호스트 B, C, D는 프레임을 수신 → 메세지의 수신지 MAC 주소 정보를 보고 호스트 B와 D는 프레임 폐기

 

  • 호스트 C 응답 프레임의 송신지 MAC 주소 필드로 호스트 C의 MAC 주소를 학습, MAC 주소 테이블에 기록

 

  • 호스트 A와 C가 프레임을 주고 받을 때는 다른 포트로 프레임을 내보낼 필요가 없음
  • 스위치는 호스트 B, D가 연결된 포트로는 내보내지 않도록 필터링(Filtering)
  • 호스트 C가 연결된 포트로 프레임을 포워딩(Forwarding)

에이징(aging)

  • MAC 주소 테이블에 등록된 포트에서 일정 시간 동안 프레임을 받지 못하면 해당 항목은 삭제하는데 이를 에이징이라고 함

참고) 브리지 (Bridge)

  • 스위치와 유사한 장비로 네트워크 영역을 구획하여 콜리전 도메인을 나누거나 네트워크를 확장하기 위해 사용
  • 최근에는 스위치에 비해 사용빈도가 줄어드는 추세고 스위치가 브리지의 기능들을 포괄하며 프레임의 처리 성능 면에서도 우수

 

스위치의 VLAN 기능

  • Virtual LAN의 줄임말로, 한대의 스위치로 가상의 LAN을 만드는 방법
  • 불필요한 트래픽(허브, 스위치의 플러딩)으로 인한 성능 저하 방지

  • 스위치에 연결된 호스트들 중에서도 서로 메시지를 주고받을 일이 적거나 브로드캐스트 케시지가 필요없는 경우, 굳이 같은 LAN에 속할 필요가 없음
  • 이를 분리하고자 매번 새로운 스위치 장비를 구비하는 것은 낭비인데 이를 방지 하기위해 VLAN 기능을 활용할 수 있음
  • 한대의 물리적 스위치를 여러 대의 스위치가 있는 것처럼 논리적인 단위로 LAN을 구획

  • VLAN은 사실상 다른 LAN으로 브로드캐스트 도메인이 달라짐
  • 위 예에서 개발부와 총무부가 통신하기 위해서는 네트워크 같의 통신을 위한 장치가 필요

 

VLAN의 종류

Port 기반 VLAN

  • 스위치의 포트가 VLAN을 결정하는 방식
  • 특정 포트에 VLAN을 할당한 뒤, 해당 포트에 호스트를 연결하여 VLAN에 참여
  • 위 그림에서 호스트 A, B는 VLAN2를 할당한 포트에 연결되어 있어 같은 LAN에 속한 상태
  • 호스트 C는 VLAN3에 속해있으므로 호스트 A, B와 다른 LAN에 속한 상태

 

MAC 기반 VLAN

  • 사전에 설정된 MAC 주소에 따라 VLAN이 결정
  • 송수신하는 프레임 속 MAC 주소가 호스트가 속할 VLAN을 결정하는 방식
  • 호스트 A는 어떤 포트와 연결되더라도 VLAN3에 할당됨

 

References

반응형
반응형

02-3 허브

주소 개념이 없는 물리 계층

  • 물리 계층에는 주소 개념이 없어 송수신 되는 정보에 대한 어떠한 조작이나 판단을 하지 않음
  • 데이터 링크 계층에는 주소 개념이 있어 송수신지를 특정할 수 있고, 주소를 바탕으로 정보에 대한 조작과 판단을 할 수 있음

허브(Hub)

  • 여러 대의 호스트를 연결하는 장치로 리피터 허브(repeater hub)라 부르기도 함. 이더넷 네트워크의 허브는 이더넷 허브(Ethernet hub)라고도 부름

허브 (이미지출처:  https://dev-splin.github.io/cs (computer science)/network/Network-OSI-Layer1-Physical/

 

  • 커넥터를 연결할 수 있는 5개의 연결지점이 보이는데 이를 포트(Port)라고 함
  • 포트에 호스트와 연결된 통신 매체를 연결할 수 있음

허브의 특징

허브는 오늘날의 인터넷 환경에서 잘 사용되지 않지만 두가지 특징 때문에 설명

1. 전달받은 신호를 다른 모든 포트로 그대로 다시 보냄

  • 물리 계층에 속하는 장비로, 주소 개념이 없기에 허브는 수신지를 특정할 수 없음
  • 따라서 송신지를 제외한 모든 포트에 그저 내보내기만 함
  • 허브를 통해 신호를 받은 모든 호스트는 데이터 링크 계층에서 패킷의 MAC 주소를 확인하고 자신과 관련 없는 주소는 폐기

2. 반이중 모드로 통신

  • 반이중(half duplex) 모드는 마치 1차선 도로처럼 송수신을 번갈아가면서 하는 통신 방식
  • 전이중(full duplex)모드는 송수신을 동시에 양방향으로 할 수 있는 통신 바익으로 마치 2차선 도로와 같음

충돌 도메인

  • 허브는 반이중 통신을 지원하는데, 한 호스트가 허브에 신호를 보내는 동안 다른 호스트도 허브에 신호를 보낸다면? 충돌(collision)이 발생
  • 허브에 호스트가 많이 연결되어 있을수록 충돌 발생 가능성이 높음. 이런 춘동일 발생할 수 있는 영역을 콜리전 도메인(collision domain)이라고 함. 허브에 연결된 모든 호스트는 같은 콜리전 도메인에 속함
  • 이 문제를 해결하기 위해 CSMA/CD 라는 프로콜을 사용하거나 스위치 장비를 사용

CSMA/CD

  • Carrier Sense Multiple Access with Collision Detection

Carrier Sense

  • 캐리어 감지를 뜻함. 캐리어 감지는 이 프로토콜을 사용하는 반이중 이더넷 네트워크에서는 메시지를 보내기 전에 현재 네트워크 상에서 전송 중인 것이 있는지를 먼저 확인하는 검사하는 과정

Multiple Access

  • 캐리어 감지를 하더라도 두 대 이상의 호스트가 부득이하게 동시에 네트워크를 사용하려 할 때가 있음
  • 이런 상황을 다중 접근(multiple access)라고 하고 이때 충돌이 발생

Collision Detection

  • 충돌 검출이라고 하고, 충돌을 감지하면 전송이 중단되고 충돌을 검출한 호스트는 다른 이들에게 충돌이 발생했음을 알리고자 잼 신호(jam signal)라는 특별한 신호를 보냄. 그리고 임의의 시간이 지난 후 다시 전송

정리하면, 먼저 전송 가능한 상태인지 확인하고, 다른 호스트가 전송 중이지 않을 때 메시지 전송. 만일 충돌이 발생하면 임의의 시간만큼 대기한 후에 다시 전송

 

References

반응형
반응형

02-2 NIC와 케이블

NIC(Network Interface Controller)

  • 호스트와 통신 매체를 연결하고, MAC 주소가 부여되는 네트워크 장비
  • 통신 매체에는 전기, 빛 등 다양한 신호가 흐를 수 있는데 호스트가 제대로 이해하기 위해서는 전달되는 신호와 컴퓨터가 이해할 수 있는 정보 간의 변환이 이루어져야 함
  • 호스트와 유무선 통신 매체를 연결하고 이러한 변환을 담당하는 네트워크 장비를 NIC라고 함
 

케이블과 NIC (이미지 출처: https://stock.adobe.com/kr/images/connectivity-problem-concept-with-lan-cable-network-card/54429846)

  • NIC는 네트워크 인터페이스 카드, 네트워크 어댑터, LAN 카드, 네트워크 카드, 이더넷 카드 등 다양한 명칭으로 불림
  • ‘카드’라는 표현이 붙은 이유는 초기 NIC는 위 그림처럼 확장 카드 형태로 컴퓨터 본체에 따로 연결하여 사용했기 때문임

 

  • 요즘에는 아래 그림처럼 USB 로 연결하는 NIC도 있고 마더보드에 내장됨 형태도 있음

USB로 연결하는 NIC (이미지 출처: https://kr.element14.com/startech/usb31000s/usb-3-0-to-gigabit-enet-nic-n/dp/3765011)

  • 노트북의 경우 NIC 카드 형태나 USB 형태로 따로 연결하지 않지만 WIFI 를 사용할 수 있는 이유는 대부분 마더보드에 내장된 형태로 NIC를 사용중이기 때문

NIC의 역할

  • 통신 매체에 흐르는 신호를 호스트가 이해하는 프레임으로 변환하거나 반대로 신호로 변환
  • 즉, 호스트가 네트워크를 통해 송수신하는 정보는 NIC를 거치게 됨
  • 지원 속도는 10Mbps부터 100Gbps에 이르기까지 다양함

 

트위스티드 페어 케이블

  • 가장 대중적인 유선 통신 매체인 케이블
  • 구리선으로 전기신호를 주고 받고, 케이블 본체와 RJ-45라고 불리는 커넥터로 이루어짐

RJ-45 커넥터

 

케이블 본체 내부는 이름처럼 구리선이 두 가닥씩(pair) 꼬아져 있음(twisted)

트위스티드 페어 케이블 내부 (이미지 출처: https://www.linkedin.com/pulse/what-twisted-pair-cable-crxconec/)

 

  • 본체가 구리 선으로 이루어진 상태에서 전기 신호를 주고 받으면 구리선에 의해 전자적 간섭이 생기는 노이즈가 발생
  • 노이즈를 감소 시키기 위해 구리선을 그물 모양의 철사나 포일로 감싸는 경우가 많음

실드에 따른 트위스티드 페어 케이블의 분류

  • 그물 모양의 철사로 감싼 트위스티드 페어 케이블을 STP(Shield Twisted Pair)라고 함
  • 포일 실드로 노이즈를 감소시킨 트위스티드 페어 케이블은 FTP(Foil Twisted Pair)라고 함
  • 반면, 아무것도 감싸지 않은 경우는 UTP(Unshielded Twisted Pair)라고 함

실제 실드의 종류를 아래와 같이 세분화하여 명칭을 표기 (X와 Y에 U, S, F를 명시할 수 있음)

XX/YTP
  • XX에는 케이블 외부를 감싸는 실드의 종류(하나 혹은 두 개)
  • Y에는 꼬인 구리 선 쌍을 감싸는 실드의 종류

예시

  • S/FTP 케이블: 케이블 외부는 그물 모양의 브레이드 실드, 꼬인 각 구리 선 쌍은 포일 실드로 감싼 케이블
  • SF/FTP 케이블: 케이블 외부는 브레이드 실드와 포일 실드로 감싸고, 각 구리 선 쌍은 포일 실드로 감싼 케이블
  • U/UTP 케이블: 아무것도 감싸지 않은 케이블

카테고리에 따른 트위스티드 페어 케이블의 분류

  • 카테고리는 케이블 성능의 등급을 구분하는 역할로 높은 카테고리에 속한 케이블일수록 높은 성능을 보임
  • 카테고리가 높을수록 지원 가능한 대역폭이 높아지는데, 송수신 할 수 있는 데이터의 양이 더 많고, 더 빠른 전송이 가능함을 시사

 

특징 Cat5 Cat5e Cat6 Cat6a Cat7 Cat8
지원 대역폭 100MHz 100MHz 250MHz 500MHz 600MHz 2GHz
주요 대응 규격 100BASE-TX 100BASE-T 100BASE-TX 10GBASE-T 10GBASE-T 40GBASE-T
전송 속도 100Mbps 1Gbps 1Gbps 10Gbps 10Gbps 40Gbps

 

광섬유 케이블(Fiber Optic Cable)

  • 빛을 이용해 정보를 주고받는 케이블로 전기 신호를 이용하는 케이블에 비해 속도도 빠르고 먼 거리까지 전송이 가능하고 노이즈 간섭도 적어 대륙 간 네트워크 연결에도 사용됨

 

References

반응형
반응형

02-1 이더넷

  • 물리 계층과 데이터 링크 계층은 이더넷이라는 공통된 기술이 사용되기 때문에 서로 밀접하게 관련되어 있음

이더넷

  • 유선 LAN 환경에서 가장 대중적으로 사용되는 기술로 케이블 등의 다양한 통신 매체의 규격들과 송수신되는 프레임의 형태, 프레임을 주고 받는 방법 등이 정의된 네트워크 기술

이더넷 표준

  • 유선 LAN 환경에서는 대부분 물리 계층에서는 이더넷 규격 케이블을 사용하고, 데이터 링크 계층에서 주고 받는 프레임은 이더넷 프레임의 형식을 따름
  • 이더넷은 국제적으로 표준화가 이루어져 IEEE 802.3이라는 이름으로 불림. 서로 다른 컴퓨터가 각기 다른 제조사의 네트워크 장비를 사용해도 이더넷 표준을 준수하면 서로 통일된 형태로 통신할 수 있음

통신 매체 표기 형태

  • 이더넷 표준에 따라 통신 매체의 종류과 전송 속도가 달라질 수 있는데 속도와 특성을 한눈에 파악하기 쉽도록 아래와 같은 형태로 표기

전송 속도 BASE-추가특성

1. 전송 속도(data rate)

  • 숫자만 표기되어 있으면 Mbps, 숫자 뒤에 G가 붙는 경우 Gbps 속도를 의미
    • 1000Base-T 케이블은 1000Mbps 속도를 지원하는 케이블
    • 10GBase-T 케이블은 10Gbps 속도를 지원하는 케이블

2. BASE

  • 베이스 밴드(BASEband)의 약자로, 변조 타입(modulation type)을 의미
    • 변조타입 : 비트 신호로 변환된 데이터를 통신 매체로 전송하는 방법으로 대부분 디지털 신호를 송수신하는 베이브밴드 방식을 사용

3. 추가특성

  • 다양한 추가적인 특성을 표현
  • 10BASE-2, 10BASE-5와 같이 전송 가능한 최대 거리가 명시
  • 데이터가 비트 신호로 변환되는 방식을 의미하는 물리 계층 인코딩 방식이 명시되기도 하고 (EX) 1000BASE-CX)
  • 비트 신호를 옮길 수 있는 전송로 수를 의미하는 레인 수가 명시되기도 함 (ex) 100GBASE-LR4)

통신 매체 종류

  • 가장 대중적인 통신 매체의 종류 예시로 추가 특성에 C, T, S, L이라는 글자가 있음
    • C: 동축 케이블
    • T: 트위스티드 페어 케이블
    • S: 단파장 광섬유 케이블
    • L: 장파장 광섬유 케이블

이더넷 프레임(Ethernet frame)

  • 이더넷 네트워크에서 주고받는 프레임 형식으로 상위 계층으로부터 받아들인 정보에 헤더와 트레일러를 추가하는 캡슐화 과정을 통해 만들어짐
  • 헤더는 기본적으로 프리앰블, 수신지 MAC 주소, 송신지 MAC 주소, 타입/길이로 구성되고, 페이로드는 데이터, 트레일러는 FCS로 구성

프리엠블 (preamble)

  • 서두를 뜻하고, 이더넷 프레임의 시작을 알리는 8바이트(64비트) 크기의 정보임
  • 첫 7바이트는 10101010 값을 가지고, 마지막 바이트는 10101011 값을 가짐. 수신지는 이 프리엠블을 통해 이더넷 프레임이 오고 있음을 알아차림

수신지 MAC 주소와 송신지 MAC 주소

  • MAC 주소란 Media Access Control address로 ‘물리적 주소’라고도 불림
  • 네트워크 인터페이스마다 부여되는 6바이트(48비트) 길이의 주소로 LAN 내의 수신지와 송신지를 특정할 수 있음
  • 보통 NIC(Network Interface Controller)라는 장치가 네트워크 인터페이스 역할을 하는데 한 컴퓨터에 NIC가 여러개 있다면 MAC주소도 여러개 있을 수 있음
  • 아래의 명령어로 컴퓨터의 MAC 주소를 직접 확인할 수 있음
    • Windows: ipconfig /all
    • 맥OS 나 리눅스 운영체제: ifconfig (결과 예시 bc:d0:74:61:fd:3c)
$ ifconfig 
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
	options=6460<TSO4,TSO6,CHANNEL_IO,PARTIAL_CSUM,ZEROINVERT_CSUM>
	ether bc:d0:74:61:fd:3c
	inet6 fe80::1c94:978d:432:1cdf%en0 prefixlen 64 secured scopeid 0xf 
	inet 172.30.1.5 netmask 0xffffff00 broadcast 172.30.1.255
	nd6 options=201<PERFORMNUD,DAD>
	media: autoselect
	status: active

타입/길이

  • 필드에 명시된 크기가 1500(16진수 05DC) 이하인 경우 프레임의 크기(길이)를 나타냄
  • 크기가 1536(16진수 0600) 이상인 경우 타입을 나타냄
  • 타입이란 이더넷 프레임이 ‘어떤 정보를 캡슐화했는지’를 나타내는 정보로 이더타입(ethertype)이라고도 부름
  • 대표적으로 상위 계층에서 사용된 프로토콜의 이름이 명시됨
    • 0800: IPv4
    • 86DD: IPv6
    • 0806: ARP

데이터

  • 상위 계층에서 전달받거나 상위 계층으로 전달해야 할 내용으로 최대 크기는 1500 바이트
  • 항상 46 바이트 이상이어야 하며 그 이하의 데이터인 경우믄 크기를 맞추기 위해 패딩(padding)이라는 정보가 내부에 채워짐. 보통 0으로 채워짐

FCS

  • Frame Check Sequence로 수신한 이더넷 프레임에 오류가 있는지 체크하기 위한 필드
  • 이 필드에는 CRC(Cycle Redundancy Check) 라 불리는 오류 검출용 값이 들어가는데 송신지는 프리엠블을 제외한 나머지 필드 값들을 바탕으로 CRC 값을 계산 후 FCS에 명시
  • 수신지는 수신한 프레임에서 프리앰블과 FCS 필드를 제외한 나머지 필드 값을 바탕으로 CRC 값을 계산한 뒤, 이 값을 FCS와 비교하여 일치 하지 않으면 프레임을 폐기
 

References

 
 
반응형
반응형

보내는 쪽

  • 상위 계층 → 하위 계층로 데이터를 보내면 물리 계층에서 전기 신호 형태로 네트워크를 통해 신호를 보냄 (인캡슐레이션)

받는 쪽

  • 하위 계층 → 상위 계층으로 데이터를 보냄 (디캡슐레이션)
 

현대 네트워크는 대부분 패킷 기반 네트워크

  • 데이터를 패킷이라는 작은 단위로 쪼개 보내는데 이런 기법으로 하나의 통신이 회선 전체를 점유하지 않고 동시에 여러 단말이 통신하도록 해줌
  • 받는 쪽에서는 패킷을 다시 큰 데이터 형태로 결합해 사용

 

인캡슐레이션

  • 데이터를 데이터 flow 계층 (1~4 계층)으로 내려보내면서 패킷에 데이터를 넣을 수 있도록 분할하는 과정
  • 위 그림처럼 4계층부터 네트워크 전송을 위한 정보를 헤더에 붙여넣음
  • 헤더 정보는 4계층, 3계층, 2계층에서 각각 자신이 필요한 정보를 추가하는데 이 정보는 알아볼 수 있는 문자가 아닌 미리 정의된 비트 단위(0 or 1)을 씀
  • 2계층에서 필요한 헤더 정보를 추가 후 전기 신호로 변환해 수신자에게 전송
  • 데이터 한개를 전송하는 작업은 생각보다 복잡해서 데이터 플로 계층에서만 3개의 헤더 정보가 추가됨

디캡슐레이션

  • 받은 전기 신호를 데이터 형태로 만들어 2계층으로 올려보냄
  • 2계층에서는 송신자가 작성한 2계층 헤더에 포함된 정보를 확인
  • 3계층에서도 헤더 정보를 확인해 자신에게 온 것이 맞는지 확인하고 맞으면 3계층 헤더 정보를 제거하고 4계층으로 보냄
  • 4계층도 3계층과 같은 과정을 거쳐 데이터를 애플리케이션에 올려보내줌
반응형
반응형

1. Physical layer

  • 물리적 연결과 관련된 정보를 정의 → 주로 전기 신호 전달과 관련

장비

  • 허브, 리피터 : 네트워크 통신을 중재하는 네트워크 장비
  • 케이블과 커넥터 : 케이블
  • 트랜시버 : 컴퓨터의 랜 카드와 케이블을 연결하는 장치
  • 탭 : 네트워크 모니터링과 패킷 분석을 위해 전기 신호를 다른 장비로 복제
  • 전기 신호를 그대로 잘 전달하는 것이 목적
    • 전기 신호가 1계층 장비에 들어오면 이 전기 신호를 재생성하여 내보냄
  • 주소의 개념이 없으므로 전기 신호가 들어온 포트를 제외하고 모든 포트에 같은 전기 신호를 전송
 

2. Data link layer

  • 전기 신호를 모아 우리가 알아볼 수 있는 데이터 형태로 처리

목적

  • 1 계층의 목적 : 전기 신호를 정확히 전달
  • 2 계층의 목적 : 주소 정보를 정의하고 정확한 주소로 통신이 되도록 하는데 초첨이 맞춰짐
    • 출발지와 도착지 주소를 확인하고 내게 보낸 것이 맞는지, 내가 처리해야 하는지에 대해 검사한 후 데이터 처리 수행
  • 주소 체계가 생기면서 여러 통신이 한꺼번에 이루어지는 것을 구분하기 위한 기능이 주로 정의됨
  • 데이터에 대한 에러 탐지하거나 고치는 역할 수행
    • 과거에는 신뢰할 수 없는 미디어를 이용해 통신하는 경우도 많아 2계층에서 에러 탐지, 수정, 재전송했지만 이더넷 기반 네트워크의 2계층에서는 에러를 탐지하는 역할만 수행


Flow Control

주소 체계를 통해 동시에 여러명과 통신할 수 있으므로 무작정 데이터를 던지는 것이 아니라, 받는 사람이 현재 데이터를 받을 수 있는지 확인하는 작업

2 계층의 가장 큰 특징

  • MAC 이라는 주소 체계가 있다는 것


네트워크 구성 요소

네트워크 인터페이스 카드와 스위치(Switch)

  • 둘다 MAC 주소를 이해할 수 있고 스위치는 MAC 주소를 보고 통신해야 할 포트를 지정해 내보내는 능력이 있음

 

네트워크 인터페이스 카드

역할

  1. 전기 신호를 데이터 형태로 만든다
  2. 목적지 MAC 주소와 출발지 MAC 주소를 확인한다...
  3. 네트워크 인터페이스 카드의 MAC 주소를 확인한다.
  4. 목적지 MAC 주소와 네트워크 인터페이스 카드가 갖고 있는 MAC 주소가 맞으면 데이터를 처리
if 목적지 MAC 주소 == 네트워크 인터페이스 카드가 갖고 있는 MAC 주소:
	데이터 처리()
else:
	데이터 폐기()

 

네트워크 인터페이스 카드(랜카드)에는 고유 MAC 주소가 있음

  • 입력되는 전기 신호 → 데이터 형태로 만들고
  • 데이터에서 도착지 MAC 주소를 확인 후 카드의 MAC 주소와 비교
  • 자신에게 들어오는 전기 신호가 맞으면 데이터를 상위 계층에서 처리할 수 있도록 메모리에 적재

 

3. Network layer

IP주소와 같은 논리적인 주소가 정의됨

데이터 통신의 경우 두 가지 주소가 사용됨

  • 물리적인 MAC 주소 in 2 계층
  • 논리적인 IP 주소 in 3 계층 : MAC 주소와 달리 IP 주소는 사용자가 환경에 맞게 변경해 사용가능

IP 주소 구성

  • 네트워크 주소 부분 + 호스트 주소 부문

 

동작하는 장비

라우터

  • 3계층에서 정의한 ip 주소를 이해
  • IP 주소를 사용해 최적의 경로를 찾아주고 해당 경로로 패킷을 전송하는 역할

 

4. Transport layer

실제로 해당 데이터들이 정상적으로 잘 보내지도록 확인하는 역할

패킷 네트워크는 데이터를 분할해 패킷에 실어보내다 보니 중간에 패킷이 유실되거나 순서가 바뀌는 경우가 생길 수 있음 → 이를 바로 잡아주는 역할

4계층에서 패킷을 분할할 때 패킷 헤더에 보내는 순서와 받는 순서를 적어 통신

  • 패킷이 유실되면 재전송 요청 가능
  • 순서가 뒤바뀌더라도 바로 잡을 수 있음
  • 시퀀스 번호 : 패킷에 보내는 순서를 명시한 것
  • ACK 번호 (Acknowledgement Number) : 패킷받는 순서를 나타낸 것
  • 뿐만 아니라, 장치 내의 많은 애플리케이션을 구분할 수 있도록 포트 번호(Port Number)를 사용해 상위 애플리케이션을 구분

동작하는 장비

로드 밸런서, 방화벽

  • 4계층에서 볼 수 있는 애플리케이션 구분자(포트 번호)와 시퀀스, ACK 번호 정보를 이용해 부하를 분산하거나 보안 정책을 수립해 패킷의 통과 & 차단을 수행

 

5. Session layer 

  • 양 끝단의 응용 프로세스가 연결을 성립하도록 도와주고 연결이 안정적으로 유지되도록 관리하고 작업 완료 후에는 이 연결을 끊은 역할
  • TCP/IP 세션을 만들고 없애는 책임을 짐
  • 에러로 중단된 통신에 대해 에러 복구과 재전송도 수행

 

6. Presentation layer

  • 표현 방식이 다른 애플리케이션이나 시스템 간의 통신을 돕기 위해 하나의 통일된 구문 형식으로 변환시키는 기능을 수행
  • 일종의 번역기나 변환기 역할
    • EX) MIME 인코딩, 암호화, 압축, 코드 변환 등이 이 계층에서 이뤄짐

 

7. Application layer

애플리케이션 프로세스를 정의하고 애플리케이션 서비스를 수행

  • 네트워크 소프트웨어의 UI 부분이나 사용자 입,출력 부분을 정의하는 역할
  • 대표적인 프로토콜로 FTP, SMTP, HTTP, TELNET이 있음
반응형
반응형
  • 과거에는 통신용 규약이 표준화되지 않았고 벤더에서 별도로 개발 → 호환의 문제로 통신 불가능했음
  • 이를 하나의 규약으로 통합하는 노력이 현재의 OSI 7계층
  • OSI 7계층이 네트워크 동작을 나누어 이해하고 개발하는 데 많은 도움이 되어 네트워크의 주요 레퍼런스 모델로 활용되고 있음
  • 하지만, 현재는 대부분의 프로토콜이 TCP/IP 프로토콜 스택 기반으로 되어 있음
 

  • 복잡한 데이터 전송 과정을 OSI7계층으로 나누어보면 이해하기 쉬움
    • 계층별로 프로토콜을 개발해 네트워크 구성 요소들을 모듈화할 수 있음
    • 모듈화된 요소는 기존에 개발된 프로토콜과 연동해 사용 가능

OSI 7계층을 역할과 목표에 따라 크게 2가지 계층으로 나눌 수 있음

  • 1 ~ 4계층 : Data Flow Layer ( Lower Layer )
  • 5 ~ 7계층 : Application Layer ( Upper Layer )

1 ~ 4계층 : Data Flow Layer

  • 데이터를 상대방에게 잘 전달하는 역할
  • 애플리케이션 개발자는 Application layer protocol을 개발할 때 Data flow layer를 고려하지 않고 데이터를 표현하는 데 초점을 맞춤
  • 네트워크 엔지니어는 반대

→ 이러한 이유로 개발자는 Top-Down 형식, 네트워크 엔지니어는 Bottom-Up 형식으로 네트워크를 바라봄

 

TCP/IP 프로토콜 스택

  • TCP/IP 모델은 OSI 모델 7계층을 4계층으로 표현
    • 상위 3개 계층 : 하나의 애플리케이션 layer
    • 1,2 계층 : Network Access layer
  • 현실에 쉽게 반영하도록 간단히 구분하는 TCP/IP 모델의 성향이 반영됨

 

Reference


1) 책: IT 엔지니어를 위한 네트워크 입문

반응형

+ Recent posts