2계층에서 하는일

  • 같은 네트워크(동일한 LAN 대역) 상에 존재하는 서로 다른 장비 간에 통신하는 계층
  • 어떤 장비가 다른 장비에게 보내고자 하는 데이터를 전달하는 계층(단, 해당 장비들은 같은 네트워크에 있어야함)
  • 통신 시에 오류제어, 흐름제어를 수행한다.
  • 참고로 다른 네트워크와 통신할 때는 2계층만으로는 통신할 수 없고  3계층의 도움이 반드시 필요하다.

 

MAC주소 ( = 2계층에서 사용하는 주소)

  • 기기마다 고유한 값을 가짐.
  • 참고로 앞에 6자리는 제조사 고유 ID

Ethernet ( = 2계층의 프로토콜)

  • 이더넷 프로토콜의 주소는 MAC주소를 쓴다.
  • 이더넷 프로토콜의 구성은 아래와 같다.
    • 보내는 사람 MAC주소
    • 받는 사람 MAC주소
    • 이더넷 타입: Data(=페이로드)에 상위프로토콜이 무엇인지 미리 알려주는 역할을 한다.
    • DATA(=페이로드)

 

 

네트워크의 모델

TCP/IP 모델

  • 현재 인터넷에서 컴퓨터들이 데이터를 주고 받는데 쓰이는 프로토콜의 모음이다.
  • 아래는 그냥 참고
    • 4계층 응용
    • 3계층 전송
    • 2계층 네트워크
    • 1계층 네트워크 인터페이스

OSI 7계층 모델

  • 표준으로 지정된 모델임. 데이터를 주고 받을 때 데이터의 흐름을 각 구간별로 나눠놓은 형태
  • 7계층은 응용 / 표현 / 세션 / 전송 /네트워크 / 데이터링크 / 물리 로 이루어져있음.
  • 계층별 프로토콜은 아래와 같음(그냥 참고)

네트워크 모델의 공통점과 차이점

  • 위 그림을 보면 TCP/IP의 1계층을 OSI에서는 1,2계층이라고 역할과 기능을 더 세분화 해두었음
  • 참고만 할 것.

패킷이란?

패킷의 정의

  • 네트워크 상에서 전달되는 데이터를 통칭하는 말
  • 패킷은 제어정보와 사용자 데이터(페이로드라고도 부름)로 이루어짐
  • 패킷은 여러가지 프로토콜의 조합으로 이루어져 있음(보통 통신할 때 하나의 프로토콜만 사용하기보다는 여러가지 프로토콜을 조합해서 사용함)
  • 여러프로토콜을 묶어둔 형태(물론 실제로는 0101110.. 이런 식이겠지만 우리가 보기에는 그렇게 보인다는 것)

패킷의 구조

  • 페이로드를 보낼 때 헤더가 붙을 수도 있고 풋터가 붙을 수도 있다. 그러너ㅏ 대부분은 헤더에 페이로드가 붙은 구조다.

  • 아래 예시 패킷 그림을 이해해 보자
    • HTTP 페이로드에 TCP 헤더가 붙었다.
    • TCP, HTTP 페이로드에 IPv4 헤더가 붙었다.
    • IPv4, TCP, HTTP 페이로드에 Ethernet 헤더가 붙었다.

 

캡슐화

  • 어떤 노드에서 데이터를 다른 노드를 보낼 때 패킷을 만드는 과정

캡슐화(아래에 설명을 보조하는 그림)

  • 데이터를 보낼 때는 캡슐화(인캡슐레이션)을 통해서 패킷을 만들어 보낸다.
  • 데이터를 받을 때는 디캡슐레이션을 통해서 패킷을 까본다.
  • 위의 그림으로 데이터 보내기 위한 캡슐화 과정을 이해해 보자.
    • 네이버 웹툰 쿠베라 721화를 보고 싶은 상황.
    • 데이터: '네이버웹툰 쿠베라 721화를 보여줘' 라는 요청이 담긴 데이터
    • TCP: 네이버 웹서버와 통신해야 하므로 TCP를 인캡슐레이션 (통신순서 3번째)
    • IPv4: 네이버 웹서버라는 멀리 있는 서버와 통신해야하므로 IPv4를 인캡슐레이션(통신순서 2번째)
    • Ethernet: 우선은 가까운 곳과 통신해야하므로 Ethernet을 인캡슐레이션(통신순서 1번째)
  • 즉, 인캡슐레이션은 상위계층에서 하위계층으로 내려가면서 프로토콜을 붙인다.
    • 순서가 뒤바뀔 수는 없다. (2-3-4 순서로 되어있음. 역순은 불가)
    • 순서의 생략도 없다.(1-2-4 같은 것 불가)
    • 같은 계층이 연속으로 붙는 경우는 가능(2-3-3-4 이런건 가능)

디캡슐레이션(아래 설명을 보조하는 그림)

  • 반대로 캡슐화된 패킷을 받았을 때 디캡슐레이션 과정을 거쳐 속에 담긴 데이터를 확인하는 흐름은 아래와 같다.
    •  하위프로토콜 부터 하나씩 확인을 한다.
    • 이더넷을 까보고, 그 뒤에 IPv4를 까보고, 그 다음에 TCP를 까보면 데이터가 나온다.  

 

 

네트워크란?

  • device가 서로 데이터를 공유할 수 있게하는 통신 망
  • '통신' 그 자체를 의미하는 것으로 가장 포괄적인 용어다
  • 흔히 사용하는 인터넷도 네트워크의 종류 중 하나다. 인터넷 뿐만 아니라 블루투스, 인트라넷, 기기 간 랜선, 라디오나 무전기의 주파수 직접 연결 등도 모두 네트워크다.  

네트워크의 크기에 따른 분류

  • 네트워크를 크기에 따라 분류하면 LAN, WAN, MAN PAN 등으로 분류한다.
  • LAN(Local Area Network): 가까운 지역을 하나로 묶은 통신 망
  • WAN(Wide Area Network): 가까운 지역끼리 묶인 LAN과 LAN을 하나로 묶은것.
  • MAN(Metropolitan Area Network): 
  • PAN(Personal Area Network): 예시로는 bluetooth, 기기 간 랜선 연결 등이 있다.

 

네트워크 연결 형태에 따른 분류 

  • Star형: 중앙 장비에 모든 노드가 연결된 형태
  • Mesh형: 여러 노드들이 서로 그물처럼 연결된 형태
  • Tree형: 마치 나무의 가지처럼 계층 구조로 연결된 형태
  • 기타: 링형, 버스형, 혼합형 등등

Star 형 예시
Mesh 형 예시

네트워크의 통신 방식

  • 유니캐스트: 가장 보편적인 사용. 1:1 로 통신
  • 멀티캐스트: 1:N 방식으로 통신
  • 브로드캐스트: 같은 네트워크에 있는 모든 대상과 통신

 

네트워크 프로토콜

프로토콜의 정의

  • 어떤 네트워크에서 노드와 노드가 통신할 때, 서로 데이터를 주고 받는 양식이 바로 프로토콜이다.
  • 예를 들어 우체국에서 택배를 주고 받을 때는 보내는 사람 연락처, 받는사람 주소 등이 포함된 송장 양식을 따라야 하는 것처럼, 네트워크에서 통신을 하기 위해서는 정해진 양식을 따라야한다.

프로토콜의 종류

  • 어떤 통신을 하고 싶은지에 따라서 사용하는 양식이 모두 다르다. 각 상황에 따라 아래와 같은 프로토콜(양식)들이 존재한다.
  • 가까운곳과 연락할 때: 이더넷이라는 프로토콜 사용 / MAC주소 사용
  • 멀리있는곳과 연락할 때: ICMP, IPv4, IPv6, ARP 등의 프로토콜 사용 / IP주소 사용
  • 특정 프로그램으로 연락할 때: TCP, UDP 프로토콜 사용 / 포트주소(포트번호라고 주로 부름) 사용.
    예를들어 영수네 집에 메세지를 전달하는 것 까지는 IP주소로 이동했지만, 해당 메세지를 카톡으로 보낼지 페이스북으로 보낼지는 포트주소가 결정된다.
  • 실제 통신할 때는 어느 하나의 양식을 쓰는 것이 아니라 여러가지의 양식을 합해서 통신하는 경우도 많음.

 

참고

  • 우리 집에서 구글 DNS 서버까지 통신을 어떻게 하는지 추적해보자

  • 위 그림에서 첫째줄에 tracert는 ip를 추적하는 프로그램이고, 8.8.8.8은 구글의 DNS서버 IP주소다.
  • 1번에 있는 192.168.0.1 은 우리집의 iptime 주소
  • 2번은 통신은 가능하지만 ip 추적을 차단해 두어서 ip 주소는 보이지 않는다.
  • 3번~9번은 우리집에서 구글DNS서버까지 가는길에 있는 통신 허브들이다.
  • 10번 구글 DNS서버 도착.

+ Recent posts