본문 바로가기
network

네트워크에 대한 이해 (네트워크 계층) (⊙_⊙;)

by j.sanghyuk 2023. 8. 20.

네트워크 계층화의 필요성

네트워크 계층화가 왜 필요할까요? 

그 이유는 흐름을 한눈에 알아보기 쉽고, 통신에 문제가 생겨도
다른 부분은 건들지 않고 7단계 중 문제가 생긴 부분만 손 보면 되기 때문입니다!

 

예를 들어봅시다.당신이 PC방에서 '오버워치'를 하고 있었습니다. 그때 갑자기 게임의 연결이 끊겼습니다. 만약 내 주위의 사람들도 같이 끊겼다면 그 PC방의 네트워크가 문제이므로 그 계층만 고치면 해결됩니다.

 

그러나 나 혼자만 끊겼다면그건 본체에 랜선이 빠졌거나, 소프트웨어들끼리의 충돌로 인해 그랬을 가능성이 높기 때문에,그 계층만 손보면 문제가 해결됩니다.

 

OSI 7계층

ISO가 만든 표준 네트워크 모델인 OSI 7 계층이 있다.

물리 계층

물리 계층은 1계층으로서 시스템 간의 연결선입니다. 흔히 랜 케이블을 말하지만 꼭 랜 케이블만을 의미하지는 않습니다. 집에서 쓰는 랜 케이블이 될 수도 있고 전화선이 될 수도 있고 광 케이블이 될 수도 있습니다. 

네트워크가 정상적으로 동작하지 않을 때는 OSI 7계층의 가장 낮은 부분부터 차근차근 확인을 해야 하기 때문에 1계층이 네트워크에서는 매우 중요한 개념입니다.

 

물리 계층과 관련된 장비는 허브와 리피터가 있습니다.

일정 거리 이상으로 멀어지면 신호 세기가 약해져서 0과 1의 신호를 분석하기 어려운데, 이때 리피터를 사용하여 불분명해진 신호를 증폭시킬 수 있습니다.

허브는 요즘에 쓰이는 스위치의 예전 형태입니다. 최근의 스위치를 스위칭 허브라고 하고, 이전 허브를 더미 허브라고 부릅니다. 허브는 형태나 사용방법이 스위치와 동일하지만, 데이터를 보낼 때 목적지에만 데이터를 전송하는 스위치와 달리 허브는 한곳에서 데이터를 보낼 때 모든 곳에 데이터를 똑같이 복사해서 보냅니다.

허브가 데이터를 보낼때, PC3에만 데이터를 보내고 싶어도 전체 컴퓨터에 모두 보내게 된다

 

데이터 링크 계층

데이터 링크 계층은 랜 카드나 네트워크 장비의 하드웨어 주소만으로 통신하는 계층으로 정리할 수 있습니다. 랜 카드나 네트워크 장비의 하드웨어 주소를 MAC (Media Access Contorl)주소 라고 합니다. MAC 주소는 사람의 이름처럼 네트워크 카드마다 붙는 고유한 이름입니다. 

MAC 주소는 총 12개의 16진수로 구성됩니다. 앞의 6개는 네트워크 카드를 만든 회사를 나타내는 것이고, 뒤의 6개는 호스트 식별자 입니다.

 

데이터 링크 계층의 대표적인 프로토콜은 이더넷입니다.

이더넷은 흔히 랜이라고 부르는 네트워크 구간 또는 네트워크 하드웨어 사이에서 MAC주소 기반으로 통신을 하기 위한 프로토콜입니다. 이더넷 패킷의 최소 길이는 64바이트, 최대 길이는 1518바이트 입니다.

 

데이터 링크 계층과 관련된 장비로는 브리지와 스위치가 있습니다.

브리지는 랜과 랜을 연결하는 초기의 네트워크 장치이다. 데이터 링크 계층에서 한 네트워크에서 다음 네트워크로 통신 선로를 따라 데이터 프레임을 복사하는 역할을 합니다.

스위치는 연결된 시스템이 늘어날수록 패킷 간 충돌로 인해 속도가 매우 낮아지는 문제점을 해결하는 역할을 합니다. 스위치는 기본적으로 L2 에서 작동하는 스위치를 말합니다.

 

스위치가 동작하는 방식을 스위칭이라고 합니다. 스위칭은 가장 기본적인 네트워크 단위인 LAN의 통신 방법이며, 패킷 전송방식에 따라 컷스루 방식, 저장 후 전송 방식, 인텔리전트 스위칭 방식으로 나뉜다. 또한 제공 경로의 대역폭에 따라 반이중 방식과 전이중 방식으로 구분할 수 있습니다.

  • 컷스루방식은 수신한 프레임의 목적지 주소를 확인하고 그 주소의 포트로 프레임을 즉시 전송하는 방식입니다. 오류가 발생시 목적지 장치에서 그 패킷을 폐기합니다.
  • 저장 후 전송 방식은 완전한 프레임을 수신하여 버퍼해 보관하였다가 전체 프레임을 수신하면 오류를 확인해 정상 프레임을 목적지 포트로 전송하는 방식입니다. 패킷길이가 길어지면 전송 지연이 발생하지만, 브리지나 라우터에 비해서 훨씬 신속합니다.
  • 인텔리전트 스위칭은 컷스루로 작동하다가 오류가 발생하면 저장 후 전송으로 자동 전환에 오류 프레임 전송을 중단하는 방식입니다. 오류율이 0이 되면 다시 컷스루로 전환합니다.

전에 대역폭에 따라 반이중 방식과 전이중 방식으로 나눌수 있다고 했습니다.

  • 반이중 방식은 양방향 통신을 제공하지만 한번에 송신 또는 수신중 하나의 동작만 할 수 있는 방식입니다. 즉, 데이터를 동시에 양방향으로 전송할 수 없습니다. (마치 한사람이 말하는것을 기다렸다가 다 끝나면 말하는 것과 비슷합니다.)
  • 전이중 방식은 송신 포트와 수신 포트를 나누어 반이중 방식보다 속도가 2배 빠릅니다. 또한 충돌이 없어 전송 거리의 제한을 연장할 수 있습니다.

또한 스위치는 시스템 간의 원할한 통신을 위해 주소 테이블을 생성, 관리합니다. 예를 들어, 스위치에 서버가 연결되어있다고 가정합시다. 이때 스위치에 메모리의 1번 포트에 서버의 MAC주소가 들어있다고 합시다. 만약 여기에 클라이언트의 랜 케이블을 스위치의 2번 포트에 꽂으면 2번 포트에 클라이언트의 MAC 주소가 저장될 것입니다. 스위치의 메모리에 포트별로 MAC주소가 매칭된 테이블이 존재하고, 이것이 갱신되는 것입니다. 

메모리 테이블에는 IP 주소가 기억되지 않습니다. 2계층 장비인 스위치는 IP 주소를 기억하지 않습니다!

 

네트워크 계층

방금 까지의 설명한 내용만 보면 1,2계층만 있어도 네트워크가 가능합니다. 그렇다면 3계층인 네트워크 계층은 왜 필요할까요? 

데이터 링크 계층은 MAC주소만 가지고 통신합니다. 그렇기 때문에 통신하려는 하드웨어의 MAC 주소를 알아야 하므로 통신하려는 개체가 물리 계층으로 직접 연결되어있어야 합니다. 하지만 엄청나게 많은 하드웨어들을 모드 연결하는것은 현실적으로 불가능하기 때문에 데이터 링크 계층만으로는 별도로 구성된 네트워크, 랜 간의 통신이 필요합니다. 그렇기 때문에 랜을 벗어난 통신을 하기 위해 네트워크 계층에서 IP 주소를 사용합니다.

 

네트워크 계층의 프로토콜

 

대표적인 네트워크 계층의 프로토콜로는 IP (Internet Protocol)이 있습니다.

IP는 주로 하위 계층의 서비스를 이용해 두 노드 간의 데이터 전송 경로를 확립해주는 역할을 합니다. 여기서 하위 계층은 같은 회선에 있는 두 노드 사이의 데이터를 전송하고, 네트워크 계층은 회선이 서로 다른 두 노드 사이의 데이터를 전송합니다.

예를 들어 서울에 있는 우리집의 노드에서 다른 지역에 있는 친구 집의 노드로 데이터를 전송하려면 그 데이터는 서로 다른 여러 회선을 통해 전송될 것입니다.

이때 네트워크 계층은 여러 회선이 접속되어 있더라도 목적지에 데이터가 무사히 도착하게 하는 역할을 하는 단말 장치 간의 패킷 전송 서비스를 제공합니다.

 

  • Version
    IP 의 버전을 나타냅니다. IPv4에서는 4 (0100) 입니다.
  • Header Length
    IP 헤더의 길이로, 이 값에 4를 곱한 값이 실제 해더의 바이트 길이 입니다.
  • TOS (Type Of Service)
    라우터에서 IP 데이터그램을 처리할 때 우선순위를 정의합니다. 우선순위로는 최소 지연, 최대 처리율, 최대 신뢰성, 최소 비용을 설정할 수 있고, 기본 값은 0입니다.
  • TL (Total Length)
    헤더를 포함한 데이터그램의 전체 길이를 의미합니다.
  • Identification
    데이터그램이 단편화될 때 모든 단편에 이 값이 복사되고, 단편화된 데이터그램이 생성될 때마다 1씩 증가하는 식별자 입니다.
  • Flag
    단편화 여부와 단편화된 조각이 첫 번째 조각인지, 중간 혹은 마지막 조각인지를 알려주는 플래그입니다.
    RF : 아직 사용하지 않으므로(예약된 상태) 항상 0입니다.
    DF : DF 비트가 1이면 데이터그램을 단편화 하지 않고 전송합니다.
    MF : 0이면 마지막 단편이거나 유일한 단편이고, 1이면 마지막 단편이 아님을 의미합니다.
  • Fragment Offset
    기존 데이터그램 안에서 단편화된 단편의 상대적 위치를 의미하는 분할 오프셋 입니다. 이 값은 원본 데이터그램의 시작부터 해당 조각의 시작까지의 바이트 수를 나타냅니다.
  • TTL
    라우팅 과정에서 패킷이 라우터를 몇개 통과하면 폐기될지를 알려줍니다. 라우터를 통과할 때마다 감소되며, 0이되면 패킷이 폐기됩니다. 이는 패킷의 무한 순환을 방지하는 역할을 합니다.
  • Protocol
    패킷의 데이터 부분에 어떤 프로토콜이 있는지를 나타냅니다. ex)TCP : 6, UDP : 17, ICMP : 1
  • Header Checksum
    헤더의 오류 검출을 위한 체크섬 값입니다. 헤더 정보의 오류를 확인할 때 사용되고, 송신 측에서 체크섬을 계산에 전송합니다.
  • Source Address
    패킷을 보내는 송신 측의 IP 주소입니다.
  • Destination Address
    패킷을 받는 수신 측의 IP 주소입니다.
  • Option
    패킷에 대한 옵션을 포함합니다.
  • Data
    IP 패킷을 통해 전송되는 데이터 부분 입니다.(body)

 

IP 클래스

우리가 흔히 보는 IP는 우리가 보기엔 10진수의 숫자들로 이루어져있지만 사실 IP는 32자리의 2진수로 이루어져있고, 8자리마다 .을 찍어 구분합니다.

그리고 IP주소는 개수가 제한되어 있기 때문에 체계적으로 사용할 수 있도록 별도의 규칙을 두었습니다.

IP 주소는 A, B, C, D, E 로 구분하는데, 각 클래스는 네트워크 부분과 호스트 부분으로 구성되어 있습니다.

  • A 클래스는 첫 번째 8자리까지가 네트워크 주소, 나머지 값은 호스트 주소입니다.
  • B 클래스는 두 번째 8자리까지가 네트워크 주소, 나머지 값은 호스트 주소입니다.
  • C 클래스는 세 번째 8자리까지가 네트워크 주소, 나머지 값은 호스트 주소입니다.

A, B, C 클래스는 맨 앞부분의 2진수에 따라 구분됩니다.

D 클래스는 멀티캐스트에 이용되는 클래스입니다.

E 클래스는 테스트를 위한 클래스로 사용하지는 않습니다.

ARP Protocol

ARP Protocol은 네트워크 상에서 IP 주소를 MAC 주소로 대응 시키기 위해 사용됩니다.

ARP 는 특정 매체에 브로드캐스트를 통해 특정 IP 주소를 사용하는 호스트가 응답을 하도록 요구하는 방식을 사용합니다.

ARP 패킷에 대해 목적지 호스트가 응답하면 송신지 호스트는 ARP 테이블을 설정하고, 호스트는 통신 시 ARP 테이블의 정보를 이용해 데이터 링크 계층 통신을 수행합니다.

 

아래는 Arp 패킷의 구조와 기능입니다.

  • HRD : ARP 패킷이 사용되는 물리 계층의 네트워크 유형을 정의합니다. (이더넷 : 1, 직렬 연결 : 20 등등..)
  • PRO(Protocol Type) : ARP를 위해 사용할 상위 계층 프로토콜의 종류를 지정합니다. 일반적으로 IPv4를 사용합니다.
  • HLN(Hardware Address Length) : 하드웨어 주소 값의 길이를 의미하며, MAC 주소의 값은 6입니다.
  • PLN(Protocol Address Length) : 상위 계층 프로토콜의 주소 값의 길이입니다. IPv4의 주소 값 길이를 뜻하며 4입니다.
  • Operation Code : ARP 패킷의 동작 종류를 나타냅니다. (1 : ARP Request, 2 : ARP Reply, 3 : RARP Request, 4 : RARP Reply)
  • SHA : 패킷 송신자의 MAC 주소입니다.
  • SPA : 패킷 송신자의 IP 주소입니다.
  • DHA(THA) : 패킷 수신자의 MAC 주소입니다.
  • DPA(TPA) : 패킷 수신자의 IP 주소입니다. 

RARP Protocol

OPcode에도 정의되어 있는 RARP(Reverse Address Resolution Protocol)는 ARP 와는 반대로 IP 주소를 확인하는 프로토콜 입니다. RARP도 브로드캐스트 방식을 사용하며, 유니캐스트 방식으로 요청한 IP 주소를 보내줍니다.

 

ICMP Protocol

ICMP(Internet Control Message Protocol)는 호스트 서버와 인터넷 게이트웨이 사이에서 메시지를 제어하고 오류를 알려주는 프로토콜 입니다. IP는 비연결형 프로토콜 이므로 패킷이 확실히 전송된다는 보장이 없습니다. 그렇기 때문에 오류가 생겨 목적지에 도달하지 못하는 경우가 발생하기도 합니다. 이런 경우 네트워크 연결 상태를 확인해야하는데, 이때 ICMP가 필요합니다. 

 

ICMP 패킷의 구조와 기능은 아래와 같습니다.

  • ICMP Type : ICMp 메시지는 여러 타입이 있는데 그 타입을 가리킵니다. 
    (Echo Reply : 0, Source Quench : 4, Redirect : 5, Echo Request : 8, Time Exceeded : 11)
  • Code : 타입별로 세부적인 값을 가집니다.
  • Checksum : 패킷의 무결성을 위한 오류 보정 값입니다.
  • Data : ICMP를 통해 보내지는 데이터입니다.

ICMP 는 오류를 통지하는 오류 보고 메시지와 질의 메시지로 구분되는데, 각각의 기능은 아래와 같습니다.

 

ICMP Echo Request/Reply 메시지

송신 측의 전송 패킷이 목적지에 도착했는지를 확인하는 데 사용합니다. 송신 측은 송신할 때 ICMP Echo Request를 송신하고 목적지로부터 ICMP Echo Reply를 받으면 잘 전송한 것으로 인식합니다.

 

ICMP Destination Unreachable 메시지

목적지에 패킷을 보내지 못할 경우에 라우터가 송신 노드에 ICMP Destination Unreachable 메시지를 보냅니다. 이 메시지에는 목적지에 전송되지 못한 정보가 포함됩니다. 목적지 노드의 IP 주소 경로를 못찾았을 경우에 라우터는 이 메시지를 다시 송신 측 라우터로 돌려보냅니다. 이 메시지를 확인한 송신 노드는 패킷이 목적지에 도착하지 못했다는 것을 알 수 있습니다.

 

ICMP Redirect 메시지

라우터가 송신 노드에 적합하지 않은 경로로 설정되어있을 경우, 해당 노드에 대한 최적화된 경로를 다시 지정해주는 ICMP Redirect 메시지를 보냅니다.

 

ICMP Time Exceeded 메시지

패킷이 네트워크 사이에서 무한히 돌아가지 않도록 패킷이 라우터를 통과할 때마다 TTL을 감소시키다가 0이 되면 송신 측 라우터에 ICMP Time Exceeded 메시지를 되돌려 보내어 패킷이 폐기되었음을 알립니다. 

 

ICMP Source Quench 메시지

저속 광역 회선 등을 사용할 경우에는 IP 라우터의 WAN 쪽에서 집중이 발생할 수 있습니다. 이 집중을 완화하기 위해 송신측 큐 값이 0으로 남아 송신이 불가능한 상태가 되면 ICMP Source Quench 메시지를 송신 측 노드에 보내고, 송신 측은 이 메시지의 정보를 해석해 회선의 특정 부분이 혼잡하다는 사실을 인식해 송신 패킷의 양을 제어합니다.

 

IGMP 프로토콜

다른 컴퓨터로 IP 데이터를 전달하는 방식에는 유니캐스트, 브로드캐스트, 멀티캐스트가 있습니다. IGMP(Internet Group Management Protocol)는 멀티캐스트 그룹을 관리하는 역할을 합니다.

 

유니캐스트

송수신측간에 1 대 1로 통신하는 방식입니다. 일반적인 IP 데이터의 전송은 유니캐스트를 사용합니다.

 

브로드캐스트

호스트에서 IP 네트워크에 있는 전체 호스트로 데이터를 전송하는 것을 브로드캐스트라고 합니다. 일반적인 브로드캐스트는 255.255.255.255 이지만, 특정 네트워크에 하는 다이렉트 브로드캐스팅도 있습니다. 예를 들면 192.132.113.0 이라는 네트워크에 브로드캐스트를 한다고 하면 192.132.113.255로 보내는 것입니다.

 

멀티캐스트

멀티캐스트는 유니캐스트와 브로드캐스트의 중간 형태로, 송신하는 호스트에 특정한 호스트를 묶어서 전송하는 것을 멀티캐스트라고 합니다. 멀티캐스트는 지정한 주소로 패킷을 한번만 전달하면 멀티캐스트 그룹에 속한 모든 호스트에 전달되기 때문에 효율이 높습니다.

 

라우터

라우터는 네트워크 계층을 대표하는 장비로, 게이트웨이라고 부르기도 합니다. 라우터는 두 네트워크를 연결해주기도 하고 네트워크를 분리하는 역할을 하기도 합니다. 

라우터의 가장 대표적인 기능은 패킷의 최적 경로를 찾기 위해 라우팅 테이블을 구성하고, 이 테이블에 따라 패킷을 가장 바르게 목적지 까지 보내는 역할을 합니다. 이 행동을 라우팅이라고 합니다.

 

라우터를 이해하려면 라우팅 테이블을 알아야합니다. 라우팅 테이블은 네트워크 계층 통신 장치에 모두 존재합니다. 

route PRINT 명령어를 통해 라우팅 테이블을 출력해서 볼 수 있습니다.

라우팅은 다시 정적 라우팅과 동적 라우팅으로 나뉩니다.

 

정적 라우팅

정적 라우팅은 관리자 권한으로 특정 경로로만 패킷이 지나갈 수 있도록 설정한 것입니다. 정적 라우팅은 네트워크에 변경사항이 발생하면 라우팅 테이블을 직접 고쳐야 한다는 단점이 있습니다. 정적 라우팅은 다음과 같은 특징들이 있습니다.

  • 경로 설정이 실시간으로 이루어지지 않아서 초기에 관리자가 최적의 경로를 설정할 수 있습니다.
  • 라우팅 알고리즘을 통한 경로 설정이 이루어지지 않기 대문에 라우터의 직접적인 부하가 줄어들게 됩니다.
  • 네트워크 환경변화에 대처가 힘듭니다.
  • 환경 변화 시 새로운 라우팅 정보를 통해 경로를 재산출해 각 라우터에 제공해야 합니다.

동적 라우팅

동적 라우팅은 라우터가 네트워크 연결 상태를 직접 스스로 파악해 최적의 경로를 선택하여 전송하는 방식입니다.

동적 라우팅은 네트워크 환경이 바뀌어도 직접 자동으로 대처한다는 장점이 있습니다. 만약 라우터 하나에 문제가 생긴다면 문제가 없는 경로로 데이터를 전송할 수 있습니다.

동적 라우팅의 특징은 아래와 같습니다.

  • 경로 설정이 실시간으로 이루어져서 네트워크 변화에 대처가 쉽습니다.
  • 라우팅 알고리즘을 통해 자동으로 경로 설정이 이루어져 관리가 쉽습니다.
  • 네트워크 환경이 변할 때마다 경로를 재설정하여 부하가 증가합니다.

전송 계층

4계층은 호스트간의 데이터 전송 조율을 담당하는 계층입니다. 보낼 데이터의 용량, 속도, 목적지 등을 처리합니다.

 

4계층의 대표 프로토콜은 TCP입니다. TCP가 사용하는 주소는 포트입니다. 여기서 포트는 패킷이 시스템에 도착한 후, 찾아갈 응용 프로그램과 통하는 통로 번호라고 생각할 수 있습니다.

0번 포트는 사용하지 않으며 0~1023번 (1024개) 가지는 Well Known Port 로서 대부분 고유의 용도가 있습니다.

  • 20 : FTP Data(File Transfer Protocol-Datagram)
  • 21 : FTP(File Transfer Protocol)
  • 23 : Telnet
  • 25 : SMTP(Simeple Message Transfer Protocol)
  • 53 : DNS(Domain Name System)
  • 80 : HTTP(Hyper Text Transfer Protocol

출발지 포트는 1025~65535번 중에서 사용하지 않는 포트번호를 할당받아 사용합니다.

 

TCP Protocol

TCP는 전송 계층에서 동작하는 연결형 프로토콜입니다.

TCP는 연결이 설정되면 헤제되기 전까지 태화를 계속 시도합니다. 송신 시스템이 데이터를 전송하고 목적지 시스템은 데이터에 대해서 응답해야 합니다. 응답을 하지 않은 경우에 송신 시스템은 일정시간 대기하였다가 같은 데이터를 다시 전송합니다. 이렇기 때문에 보내는 데이터에 대한 신뢰성이 확보됩니다.

 

TCP는 패킷을 송수신 하기 전에 미리 연결을 하여 경로를 생성합니다. 이때 연결하는 과정을 '3-way-handshaking' 이라고 합니다.

  • 연결을 시작하기전 클라이언트는 포트가 닫혀있는 Closed 상태이고, 서버는 항상 서비스를 제공할 수 있는 Listen 상태입니다.
  • 클라이언트가 통신을 하려 할때 클라이언트에 임의의 포트번호가 할당되며 서버에게 SYN 플래그를 보내게 됩니다. 그리고 클라이언트는 SYN SENT 상태가 됩니다.
  • 서버는 클라이언트의 연결 요청을 받아 SYN Received 상태가 되고, 클라이언트에 연결을 해도 좋다는 의미로 SYN+ACK 플래그를 보냅니다.
  • 마지막으로 클라이언트는 서버의 응답을 확인했단 표시로 ACK 패킷을 보내고, 서버와 클라이언트 사이에 연결이 확립된(Established) 상태가 됩니다.

또한 연결을 해제할 때는 4-way-handshaking 을 사용합니다.

  • 일단 통신이 연결된 상태이므로 모두 Established 상태입니다.
  • 통신을 끊으려는 클라이언트가 서버에 FIN 패킷을 보내고, Close Wait 상태가 됩나\니다.
  • 서버는 클라이언트의 요청을 확인하고 알겠다는 응답으로 ACK 패킷을 보냅니다. 그리고 연결을 종료하겠다는 의미로 FIN 패킷을 보내고 서버 또한 Close Wait 상태가 됩니다.
  • 클라이언트가 연결 종료 요청에 대한 서버의 응답을 확인했다고 ACK 패킷을 서버에 보내고 연결이 종료되게 됩니다.

UDP Protocol

UDP는 TCP와 달리 데이터의 신뢰성 있는 전송을 보장하지 않습니다. 송수신간의 통신이 잘 이루어지지 않아 데이터가 일부 손실되어도 재전송을 요구하지 않고 나머지 데이터를 전송합니다. UDP는 상대에게 한번에 많은 양의 데이터를 전송할때 효과적입니다.

 

세션 계층

세션 계층은 양 끝단 응용 프로세스가 통신을 관리하는 방법을 제공합니다. 세션 계층은 동시 송수신, 반이중, 전이중 방식의 통신과 함께 체크 포인팅, 유휴, 종료 다시 시작의 과정을 수행합니다. 또한 TCP/IP 세션을 만들고 없애는 책임을 집니다. 전송 계층이 끝단 간의 논리적 설정을 담당한다면, 세션 계층은 이런 연결에 정보 교환을 효과 적으로 할 수 있도록 추가적인 서비스를 합니다.

 

표현 계층

표현 계층은 코드간 번역을 담당합니다. 시스템에서 데이터 구조를 하나로 통일해 프로그램 계층의 데이터 형식차이로 발생하는 부담을 줄여줍니다.

 

응용 계층

응용 계층은 OSI 7계층의 최상위 계층으로 대부분 응용 프로그램이 존재합니다. 해당 응용 프로그램은 여러 프로토콜에 데하여 사용자 인터페이스를 제공합니다. 

  • FTP
    파일 전송을 위해 만들어진 기본적인 프로토콜 입니다.
  • SSH 
    SSH는 암호화된 연결을 제공하고, 데이터 전송과 원격 제어에 쓰이는 프로토콜 입니다. 원격 제어는 TCP 연결을 설정해줘서 컴퓨터에 직접 연결된것 처럼 보이게 해줍니다.
  • Telnet
    텔넷은 사용자가 원격에 있는 서버에 로그인하도록 TCP 연결을 설정하며, 컴퓨터가 바로 옆에 있는것 처럼 직접 조작하게 해줍니다. 그러나 최근에는 암호화가 되지 않은 통신때문에 쓰이지 않습니다.
  • SMTP
    SMTP는 메일 전송을 위한 프로토콜 입니다. 메일 서비스를 통하며 텍스트나 실행 파일등을 손쉽게 전송할 수 있습니다.
  • DNS
    DNS는 도메인 이름 주소를 통해 IP 주소를 확인할 수 있는 프로토콜입니다.
  • HTTP
    HTTP는 인터넷 서비스를 위한 프로토콜 입니다.
  • SNMP
    SNMP는 네트워크 관리와 모니터링을 위한 프로토콜 입니다.
끝!
이 글은 네트워크 해킹과 보안(4판) 책을 참고하였습니다.