TCP·IP 프로토콜 (1)

유서정·2024년 4월 15일
0

네트워크 보안

목록 보기
2/16

OSI 7 Layer

OSI 7계층 구조

국제 표준화 기구(ISO)가 네트워크상에서 통신이 일어나는 절차를 7단계로 나누어 놓은 것

계층역할프로토콜관련 장비
응용 계층응용 서비스 수행HTTP, FTP, SSH, DNS
표현 계층세션 ↔ 응용 사이에서 해당 계층에 맞게 데이터 변환
코드 변환, 데이터 암호화, 데이터 압축, 구문 검색 등의 기능 수행
SSL
세션 계층두 응용 프로세스 간의 통신을 위한 세션 확립
연결의 생성, 관리, 종료를 위해 토큰을 사용
Socket
전송 계층단말기 사이에 오류수정과 흐름제어를 수행하여 신뢰성 있는 데이터 전달TCP, UDP
네트워크 계층개방 시스템들간의 네트워크 연결을 관리
경로설정, 패킷 교환, 트래픽 제어 등의 기능 수행
IP, ICMP, ARP라우터, L3스위치
데이터링크 계층링크의 설정과 유지 및 종료를 담당
인접한 노드 간의 오류 제어와 흐름 제어 기능을 수행
랜카드, 브리지, 스위치
물리 계층물리적인 데이터 전송리피터, 허브

OSI 7계층 동작원리

Encapsulation (응용 -> 물리)

송신측에서 하위 계층에 전달할 때, 전달받은 데이터 + 자신의 제어 정보를 부가

Decapsulation (물리 -> 응용)

수신측에서 상위 계층으로 전달할 때, 전달받은 데이터에서 제어 정보를 제거

TCP/IP 4 계층

TCP/IP 프로토콜 개요

인터넷 표준 프로토콜
TCP - 메세지나 파일들을 작인 패킷으로 나누어 인터넷을 통해 전송하는 일과 수신된 패킷들을 원래의 메세지로 전송하는 일을 담당
IP - 각 패킷의 주소 부분을 처리, 패킷들이 목적지에 정확하게 도달할 수 있게 함

4개 계층으로 구성 - (네트워크 액세스 / 네트워크 / 전송 / 응용)

사진 https://velog.io/@busybean3/

1. 네트워크 액세스 계층 (Network Access Layer)

단위 네트워크 내에서 패킷 전송을 담당하며, 전송 매체의 접근 방법, 네트워크 사이의 데이터 전송 순서를 기술하는 계층
통신 단위 : 프레임

Ethernet Frame Header

  • Preamble : 물리계층에서 전송된 비트 패턴, 송신자와 수신자의 동기화에 사용
  • SOF : 물리 계층이 끝나며 Ethernet Frame이라고 알려주는 신호??
  • Destination Address : Frame의 도착지의 MAC Address
  • Source Address : Frame의 전송지의 MAC Address
  • Type/Length : 상위 계층의 프로토콜 종류 표시
  • DATA : 상위 계층으로부터 받은 데이터가 존재
  • PAD : DATA의 최소값을 보정하는 기능 (46byte 이하로 데이터가 들어올때 임의로 생성)
  • FCS : Frame 오류 체크, CRC

MAC주소란?

네트워크 카드마다 붙는 고유이름, 중복 허용X

앞3바이트는 네트워크 카드의 회사를 나타내는 주소, 뒤3바이트는 회사에서 임의로 부여해준 host id

2. 인터넷 계층 (Internet Layer)

목적지 IP주소를 가지고 경로 설정 → 어떻게 가장 효율적으로 목적지를 찾아가게 할 것이냐
IP 주소 지정
통신 단위 : 패킷
네트워크 계층의 프로토콜 : ip, icmp, arp, rarp, rip, ospf, igmp 등

  • IP (Internet Protocol)

    IP주소에 따라 Packet을 목적지 네트워크까지 전달
    비 연결 지향적 - 연결이 잘 됐는지 안됐는지 신경쓰지않음
    비 신뢰성 - 데이터가 잘 전달됐는지 안됐는지 신경쓰지 않음
    필요에 따라 Fragment 작업 수행

    ARP

    IP 주소로부터 MAC 주소를 얻는 기능 주로 목적지 MAC 주소를 확인할 때 사용 됨 3계층 프로토콜이지만 IP 하위에서 동작

    ICMP

    인터넷 제어 메세지 (네트워크 관리 및 오류 보고)
    IP의 비 신뢰성, 비 연결성의 단점 보완

    IP보다 상위에서 동작하는 프로토콜
    ⇒ ICMP는 IP 패킷의 데이터 부분에 캡슐화되어있음
    ⇒ ICMP는 무조건 IP를 필요로 함. (IP에 목적지 주소가 있기 때문에)

    arp와 ethernet도 이것과 비슷한 관계

    TCP/IP 기반의 통신망에서 전송 과정에 문제가 발생하면 라우터에 의해 ICMP 메시지가 자동으로 발생하여 패킷 송신 호스트에게 전달

    Message 종류 Type 필드 값으로 구분함

    정보 교환 및 관리 메세지
    오류 보고 메세지

    IP Packet Header

    • 버전 : IP버전 정보
    • 헤더길이 : 어디까지가 Header인지 구분하기 위한 길이를 규정하는 영역
    • TOS : 라우터에서 IP 데이터그램을 처리할 때 우선 순위를 지정
    • 전체 길이 : IP 패킷의 전체 길이 (Header + Data), 최대값은 65535byte
    • 식별자 : Fragmentation(단편화)된 데이터 그램의 id값
    • 플래그 : 단편화의 여부와, 해당 패킷이 첫번째·중간·마지막 조각인지 알려줌
      RF
      DF: 1이면 단편화되지 않았음을 0이면 단편화되었음을 의미
      MF:0이면 마지막 단편이거나 유일한 단편, 1이면 단편이 더 있음을 의미
    • 단편 오프셋 : 단편화된 패킷을 재조립할 수 있도록 순서를 알려줌
    • TTL : Network 환경에서 Packet이 생존할 수 있는 시간(통과할 수 잇는 최대 Router 수)
    • 프로토콜 유형 : 상위계층의 프로토콜 종류 ICMP, UDP, TCP
    • 헤더 체크섬 : IP Header의 오류나 변조여부를 확인하기 위한 값
    • 전송지 주소 : 출발지 IP 주소
    • 도착지 주소 : 도착지 IP 주소

3. 전송 계층 (Transport Layer)

End-to-End 간의 전송 제어 방법을 규정 (단말 간의 전송제어 방법)
통신 단위 : TCP 세그먼트 또는 UDP 데이터 그램
전송 계층의 프로토콜 : TCP / UDP
서비스 PORT 지원

  • TCP 프로토콜

    TCP Flag📍

    TCP 헤더에 존재하는 TCP 제어 비트
    논리적인 TCP 연결회선 제어 및 데이터 관리를 위해 사용

    • SYN (Synchronization)

      연결 요청 플래그
      통신 시작 시 세션을 연결하기 위한 플래그
    • ACK (Acknowledgement)

      응답 플래그
      요청에 대한 응답으로, 송신측으로부터 패킷을 잘 받았다는 것을 알려주기 위한 플래그
    • FIN (Finish)

      연결 종료 플래그
      데이터 전송 완료 및 세션 연결을 종료시키겠다는 플래그
    • RST (Reset)

      연결 재설정 플래그
      비정상적인 세션을 끊기위해 연결을 재설정
    • PSH (Push)

      넣기 플래그
      약속된 버퍼 사이즈만큼 데이터가 전송되지 않았어도 기다리지 않고 바로 7Layer의 응용프로그램에게 바로 전달
    • URG (Urgent)

      긴급 데이터 플래그
      긴급한 데이터의 우선순위를 다른 데이터보다 높여 긴급하게 전달
      ex. [Ctrl + C]로 명령을 중단하는 경우

4. 응용 계층 (Application Layer)

통신 단위 : 메세지


계층별 주소 지정 | 데이터 형태

주소 지정데이터 형태
응용 계층특정 응용 서비스 액세스메세지
전송 계층포트번호세그먼트(TCP), 사용자 데이터그램(UDP)
네트워크 계층논리적 주소패킷
네트워크 액세스 계층물리적 주소프레임

profile
information security

0개의 댓글

관련 채용 정보