계층 별 프로토콜

2023. 1. 16. 15:44·리팩토링

네트워크 프로토콜이란

 네트워크에서 노드와 노드가 통신할 때 어떤 노드가 어느 노드에게 어떤 데이터를 어떻게 보내는지 작성하기 위한 양식, 즉 통신규약입니다. 여러 가지 상황에 따라서 프로토콜이 있으며 각 프로토콜은 해당 프로토콜만의 양식을 가지고 있습니다.

 

 

계층은TCP/ IP 5계층으로 1계층부터 차례대로 올라가면서 각 프로토콜에 대해 알아보겠습니다.

 


L1 Physical , L2 Date Link

이더넷 (Ethernet)

  • Xerox, Digital, Intel이 공동으로 사양을 개발하여 1980년에 제품화시킨 LAN구현 방식
  • 네트워크 장치마다 부여하는 mac 주소를 가지고 실제 물리 회선을 통해 프레임을 주고 받는 것을 담당
  • OSI 모델의 물리 계층에선 신호와 배선, 데이터 링크 계층에선 MAC패킷과 프로토콜의 형식을 정의
  • 근거리 통신망(LAN)에 사용하기 위해 개발한 기술로 지금은 표준화되어 WAN과 LAN에서 모두 활용

 

※ 프로토콜은 그 이름을 풀어서 해석해보면 의미를 대부분 유추할 수 있다.

 


L3 Network

IP (Internet Protocol)

  • 송신 호스트와 수신 호스트가 패킷 교환 네트워크에서 정보를 주고받는 데 사용하는 정보 위주의 프로토콜
  • OSI 모델에서 호스트의 주소지정과 패킷 분할 및 조립 기능을 담당
  • 비신뢰성과 비연결성

    • 비신뢰성: 흐름에 관여하지 않기 때문에 보낸 정보가 제대로 갔는지 보장하지 않음
    • 비연결성: 송신자와 수신자가 데이터 전송을 위해 서로 연결될 필요가 없음
  • 점차 인터넷 속도가 빨라지고 전달되는 데이터에 대한 신뢰성이 중요해지다 보니 현재에는 IP 패킷 위에 TCP 패킷을 덮은 형태인 TCP/IP 프로토콜을 자주 사용

 

IGMP (Internet Group Management Protocol)

  • 일종의 그룹 관리용 신호 프로토콜
  • LAN상에서 라우터가 멀티캐스트 통신 기능을 구비한 개인용 컴퓨터에 대해 멀티캐스트 패킷을 분배하는 경우에 사용
  • PC가 멀티캐스트로 통신할 수 있다는 것을 라우터에 통지하는 프로토콜

 

ICMP (Internet Control Message Protocol)

  • 인터넷 제어 메시지 프로토콜
  • IP 패킷을 처리할 때 발생되는 문제를 알리거나, 진단 등과 같이 IP계층에서 필요한 기타 기능들을 수행하기 위해 사용되는 프로토콜
  • IP와 하나의 쌍을 이루며 동작
  • 오류 통지를 위한 오류 메시지와 진단용 문답 메시지 두 종류로 구분

★꼭 알아둬야 할 오류 메세지

  • Destination Unreachable : 라우터가 특정 노드의 패킷을 목적지에 보내지 못할 경우, 송신 노드에게 이 에러 메시지를 보냅니다. 메시지 안에는 에러코드가 포함되어 목적지까지 전송되지 못한 이유를 알려줍니다.

  • Redirection : 라우터가 송신측 노드에 적합하지 않은 경로로 설정되어 있을 경우 해당 노드에 대한 최적화된 경로를 재설정하라는 뜻입니다.

  • Time Exceeded : 패킷이 네트워크 사이에서 무한정 돌아가지 않게 하기 위해 각 라우터가 패킷을 처리할 때마다 TTL을 감소시키다가 '0'이 되면 송신측 라우터에 Time Exceeded 에러 메시지를 되돌려 보냄으로써 패킷이 폐기된 사실을 알립니다.

 

ARP (Address Resolution Protocol)

  • 주소 결정 프로토콜
  • 네트워크 상에서 논리적인 주소인 IP 주소를 물리적 네트워크 주소인 Mac주소로 매칭시키기 위해 사용

 

RARP (Reverse Address Resolution Protocol)

  •  Mac주소에 해당하는 IP 주소를 매칭시키는 프로토콜

※ ARP와 RARP가 2계층에 속해있는 경우도 있음 (Mac주소와 IP주소 둘 다 연관되어 있기 때문에)

 


L4 Transport

TCP (Transmission Control Protocol)

  • 데이터가 올바르게 갈 수 있도록 전송을 담당하는 연결 지향형 프로토콜
  • 순서번호와 확인 응답 필드를 통해 데이터의 전달을 보증하고 수신측이 데이터를 순서대로 조립하여 받게 해주기 때문에 신뢰성이 뛰어남

 

UDP (User Dategram Protocol)

  • 신뢰성이 낮은 데이터그램 프로토콜
  • TCP의 반대되는 특징을 가지고 있음 (비신뢰성)
  • Best Effort방식 (다른 건 무시하고 최대한 데이터를 빠르게 보내겠다! )
  • 실시간 스트리밍 서비스에 사용

 


L5 Application


 

HTTP (Hyper Text Transfer Protoco)

  • 서버/클라이언트 모델을 따라 하이퍼텍스트를 교환하기 위한 프로토콜
  • 암호화가 되지 않은 평문 데이터를 전송하기 때문에 민감한 데이터를 주고 받으면 제3자가 정보 조회 가능
  • 80번 포트를 사용

 

HTTPS (Hyper Text Transfer Protocol SSL)

  • HTTP에 데이터 암호화가 추가된 프로토콜
  • 대칭키 암호화와 비대칭키 암호화를 모두 사용하여 빠른 연산 속도와 안정성을 갖춤
  • 443번 포트를 사용

 

☆ HTTP는 평문데이터로 통신하기 때문에 보안에 취약한 반면, HTTPS는 안전하게 데이터를 주고받을 수 있습니다. HTTPS를 이용하면 암호화/복호화의 과정이 필요하기 때문에 HTTP보다 속도가 느려지지만 현재에는 거의 차이를 못느낄 정도입니다. 하지만 HTTPS는 인증서를 발급하고 유지하기 위한 추가 비용이 발생합니다. 그렇기에 노출이 되어도 괜찮은 단순한 정보 조회 등 만을 처리한다면 HTTP, 개인 정보와 금융정보 같은 민감한 데이터를 주고 받아야 한다면 HTTPS를 이용하면 됩니다.

 


 

FTP (File Transfer Protocol)

  • 파일 전송 관련 프로토콜
  • 동작 방식이 단순하고 직관적이며 평문형 데이터를 전송하기 때문에 보안에 취약함
  • 21번 포트를 통해서 전송을 제어
  • 20번 포트를 통해서 실제 데이터 전송
  • 수동 모드와 능동 모드 두가지를 지원

    • 능동 모드 (Active Mode) : 데이터 전송 채널을 20번 포트를 사용합니다. 서버가 클라이언트에 접속을 시도하기에 클라이언트 환경에 따라 데이터를 받지 못하는 에러가 발생할 수 있습니다.

    • 수동 모드 (Passive Mode) : 데이터 채널을 20번 포트 대신에 1024번 이상의 랜덤한 비 특권 포트를 사용합니다. 클라이언트가 서버에 접속하는 방식이므로 클라이언트 환경에 구애 받지 않고 파일 송수신이 가능합니다. 하지만 수동모드에 사용되는 Port에 대한 관리 필요와 클라이언트에서 서버로 접속하는 구조로 보안위험이 상승합니다.  

 

 

FTPS (FTP over SSL)

  • TLS/SSL(공개키 암호화 방식) 을 이용한 FTP 의 확장판
  • 21번, 20번 포트 사용 (설정에 따라 변경 가능)

 

SFTP (SSH File Transfer Protocol)

  • SSH로 파일 전송하는 프로토콜
  • SFTP 는 FTP를 사용하지 않음 (SSH 기반의 새로운 파일전송 프로토콜)
  • 22번포트만 사용 (보안에 유리함)

 


★ 메일 송신 : 송신자가 메일 서버에 메일을 보내는 것

★ 메일 수신: 메일 서버가 수신자에게 메일을 보내는 것

 

SMTP (Simple Mail Transfer Protocol)

  • 이메일 데이터를 메일 서버로 송신할 때 사용하는 프로토콜
  • 25번 포트를 사용

 

POP3 (Post Office Protocol)

  • 메일서버에 지정된 사용자ID로 접속해서, 메일박스 내에 도착한 메일을 자신에게 가져오기 위해 사용되는 프로토콜
  • 양방향 동기화를 사용하는 최신 프로토콜과 달리 POP3는 일방향 전자 메일 동기화만 지원하므로 사용자는 서버에서 클라이언트로 전자 메일을 다운로드하는 것만 허용
  • Client가 메일을 Server로부터 가지고 온 후 서버에서 해당 메일을 삭제 하기 때문에 다른 곳에서 메일 확인이 불가능
  • 110번 포트를 사용

 

IMAP (Internet Messaging Access Protocol)

  • 메일 서버에서 메일을 다운로드가 아닌 복사해오는 방식이기 때문에 Client가 메일을 가져와도 해당 메일이 서버에 계속 남아있음 (만약 메일 서버가 해킹당하면 서버에 있는 메일 정보들이 고스란히 노출됨 )
  • 사용자는 컴퓨터나 모바일 장치에서 여러 전자 메일 클라이언트를 통해 로그인하여 동일한 메시지를 읽을 수 있음
  • 사서함의 모든 변경 내용은 여러 장치에서 동기화되고 사용자가 전자 메일을 삭제하는 경우에만 서버에서 메시지가 삭제됨
  • 143번 포트를 사용

TELNET 

  • 원격 접속 서비스로서 특정 사용자가 네트워크를 통해 다른 컴퓨터에 연결하여 그 컴퓨터에서 제공하는 서비스를 받을 수 있도록 하는 프로토콜
  • 유연성과 자율성 (운영체제가 달라도 가능)
  • 윈도우7까지는 많이 사용되었던 프로토콜 (지금은 비활성화)
  • 평문으로 데이터 통신하기 때문에 보안에 취약점이 있어 SSH로 대체되고 있음
  • 23번 포트를 사용

 

SSH (Secure Shell)

  • 원격 호스트에 접속하기 위해 사용되는 보안 프로토콜
  • 텔넷에서 평문으로 통신되었던 부분들을 암호문으로 통신
  • 현재 원격 접속 보안을 위한 필수적인 요소로 자리잡음
  • 22번 포트를 사용
저작자표시 비영리 동일조건 (새창열림)

'리팩토링' 카테고리의 다른 글

DDOS, Firewall, IDS, IPS  (0) 2023.02.10
계층 별 프로토콜 (보완)  (0) 2023.01.31
계층 별 장비  (2) 2023.01.10
TCP의 연결방식과 종료방식  (0) 2022.12.26
TCP 와 UDP  (0) 2022.12.26
'리팩토링' 카테고리의 다른 글
  • DDOS, Firewall, IDS, IPS
  • 계층 별 프로토콜 (보완)
  • 계층 별 장비
  • TCP의 연결방식과 종료방식
야채호빵o
야채호빵o
  • 야채호빵o
    정보보안 공부노트
    야채호빵o
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 리팩토링
      • 침해대응
      • AWS 클라우드
  • 블로그 메뉴

    • 홈
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
야채호빵o
계층 별 프로토콜
상단으로

티스토리툴바