TCP/IP 계층구조 및 역할(네트워크1)

심채운·2023년 6월 5일
0

학점은행제 컴공

목록 보기
1/40

TCP/IP 계층구조 및 역할

TCP

TCP는 연결 지향형 서비스를 제공하고 신뢰성 있는 데이터 전송을 보장.
이러한 기능은 TCP 헤더 내의 각종 필드에 의해서 가능하고, TCP 헤더의 각 항목은 이러한서비스를 가능하게 하는 여러 필드로 구성되어 있음. IP와 같이 쓰이고, TCP는 WWW를 이용하거나 이메일 전송등에 사용.

IP

OSI참조 모델의 3계층인 네트워크 계층에서 사용되며, 패킷을 출발지에서 목적지까지 전달하는데 사용.
IP는 최선형 서비스를 이용하여 패킷을 전달하지만 목적까지 확실히 패킷이 도착하는 것은 보증하지 않기 때문에 도중에 패킷이 손실될 수 있음.

UDP

UDP는 TCP와 마찬가지로 전송 계층에서 동작하며 포트 번호를 기반으로 통신함. TCP와 달리 수신한 데이터에 대하여 수신확인 응답을 하지 않음.
그렇다 보니 TCP와 달리 송수신 절차가 비교적 간단하고, 오류 제어 기능은 제공하고 있으므로 소량의 데이터 전송이나 실시간 데이터 전송에 효과적으로 사용되고 있음.

TCP/IP란?

  • 한 개의 프로토콜이 아닌 여러 가지 프로토콜 조합
  • TCP/IP를 기반으로 BAN, PAN, LAN, MAN, WAN 구간의 장치들이 원활히 데이터를 주고 받을 수 있음
  • OSI 7계층과 달리 4개의 계층으로 표현 됨
  • TCP는 서비스를, IP는 주소를 의미
  • 많은 프로토콜들이 IP 주소를 기반으로 동작

OSI 참조 모델
7. 응용 계층
6. 표현 계층
5. 세션 계층
4. 전송 계층
3. 네트워크 계층
2. 데이터링크 계층
1. 물리계층

TCP/IP 계층
물리,데이터링크 계층이 네트워크 접속 계층으로 표현
네트워크 계층이 인터넷 계층으로 표현
전송계층은 전송계층으로 표현
세션, 표현, 응용 계층이 응용 계층으로 표현

네트워크 접속 계층

  • OSI 참조 모델의 물리 계층과 데이터링크 계층의 역할을 수행
  • 프레임의 송신과 수신을 담당
  • ARP, RARP 프로토콜
    • ARP(Address Resolution Protocol) : 목적지의 MAC 주소를 모를 경우 알아내기 위해 사용
    • RARP(Reverse Address) : 목적지의 IP주소를 모를 경우 알아내기 위해 사용
    • ARP는 Broadcast(동일한 Broadcast영역에 있는 장치들한테 한꺼번에 데이터를 보내는 것 ), RARP는 Unicast(1:1 통신) 수행
  • NIC, 스위치와 허브는 네트워크 접속 계층을 대표하는 네트워크 장치
  • 에러 검출 기능 있음, 패킷을 프레임화

인터넷 계층

  • OSI 참조 모델의 3계층의 역할을 수행
  • 패킷의 송신과 수신을 담당, IP 주소 체계를 관리
  • 패킷을 수신하면, IP 주소를 확인하여 패킷을 목적지로 보내는 라우팅 기능 수행
  • 라우팅 경로는 어떠한 라우팅 프로토콜을 쓰느냐에 따라 달라질 가능성 있음

IP(Internet Protocol)
컴퓨터 네트워크에서 장치들을 나타내는 수단이며, V4(32bit 10진수)와 V6(128bit 16진수) 2가지가 존재

ICMP(Internet Control Message Protocol)
인터넷 제어 메시지 프로토콜이며, 장치 간의 통신 가능 여부를 확일할 때 사용 (ex. Ping)
ICMP 는 Echo Request(요청) 및 Echo Reply(응답)로 구성

전송 계층

  • 종단 간의 통신이 완성되는 계층
  • TCP, UDP가 대표적
    • TCP (Transmission Control Protocol) ex. http(웹 브라우저)
    • UDP (User Datagram Protocol)
    • TCP와 UDP는 포트번호를 사용하여 통신함
      • 목적지 도착까지만 IP 주소가 관여함, 어떠한 서비스를 받을 것인지는 port 번호에 따라 결정(일반적으로 우리가 사용하는 것들은 TCP, UDP에 속해 있음)
    • TCP는 신뢰성 있는 통신을 제공하지만, UDP는 TCP에 비해 신뢰성이 있는 통신을 제공하지 않음
    • UDP는 TCP보다 통신 데이터 처리 속도가 빠름
    • UDP를 이용하는 응용프로그램에서 어느 정도의 신뢰성 있는 통신을 해야 할 경우 다른 프로토콜을 함께 사용하여 신뢰성을 제공할 수 있음
    • Well - Known 포트란 대부분의 시스템 간에 널리 이용되는 애플리케이션을 위해 기본 값으로 설정되어 있는 포트 번호를 의미 (ex. http => TCP 80)

응용 계층

  • OSI 참조 모델의 세션, 표현, 응용 계층의 역할을 수행하는 계층
  • 네트워크를 통한 실제 사용자 데이터를 처리하는 계층
  • HTTP, HTTPS, FTP(파일 주고받을 때), SMTP(이메일), POP3(이메일), DNS등이 이 계층에 해당

TCP, UDP, IP 헤더

TCP 헤더

  • TCP는 연결 지향형 서비스를 제공하고 신뢰성 있는 데이터 전송을 보장(이러한 기능은 TCP 헤더 내의 각종 필드에 의해서 가능)
  • 출발지 포트 번호 : 출발지 호스트의 포트 번호를 정의한 16비트 필드이며, 랜덤하게 번호를 사용
  • 목적지 포트 번호 : 목적지 호스트의 포트 번호를 정의한 16비트 필드이며, 대부분 Well-Known port number를 사용
  • 순서 번호 : TCP 세그먼트들에 대한 순서를 번호를 표시, 목적지에서 재조립할 때 사용
  • 수신 확인 응답 번호 : 수신 장치에서 발신 장치로 세그먼트의 전송 성공 여부를 알려주기 위해 사용
  • 헤더 길이 : TCP 헤더의 길이는 최소 20byte에서 최대 60byte가 될 수 있음
  • 예약 비트 : 현재는 사용하지 않고, 추후 다른 목적을 위해 예약된 필드
  • URG : 긴급 데이터가 TCP 페이로드에 포함되어 있음을 알리는 필드, 만약 이 비트가 1이면 우선적으로 처리 필요
  • ACK : TCP 세그먼트들에 대한 수신 확인을 알리기 위해 사용되며, 이 비트가 1이면 수신 확인 응답 번호 이전까지의 모든 세그먼트들을 잘 받았음을 의미
  • PSH : 푸시 요청으로 긴급 데이터가 아닌 데이터를 빨리 처리하도록 요청하는 제어 비트
  • RST : TCP 세션을 리셋 하기 위한 제어 비트
  • SYN : 통신을 개시하고자 하는 두 호스트 간의 세션을 초기화 하고 순서 번호를 동기화 하기 위한 제어 비트
  • FIN : TCP 세션의 전송 종료 시 사용하는 제어 비트
  • 윈도우 크기 : 상대측으로부터의 수신 확인 응답 번호의 수신 없이 전송할 수 있는 데이터의 양을 지정하는 필드
  • TCP 체크섬 : 헤더와 세그먼트에 의해 전송되는 데이터에 대한 오류 검사를 하기 위한 필드
  • 긴급 포인터 : TCP 페이로드 내의 어떤 곳에 긴급한 데이터가 있는지를 명시하기 위한 필드로 URG가 1로 설정되어 있을 경우에 유효
  • 옵션 : 최대 40바이트까지 옵션 정보가 있을 수 있으며, TCP 통신과 관련된 여러 가지의 추가적인 옵션이 위치하는 필드

UDP 헤더

  • UDP는 TCP와 마찬가지로 전송 계층에서 동작하며, 포트 번호를 기반으로 통신
  • TCP와 달리 수신한 데이터에 대하여 수신확인 응답을 하지 않음
  • TCP 보다 헤더가 간단하며, TCP에서 지원하는 다양한 데이터 흐름 제어 기능을 수행하지 않음
  • 송수신 절차가 비교적 간단하고, 오류 제어 기능을 제공하고 있으므로 소량의 데이터 전송이나 실시간 데이터 전송에 효과적으로 사용되고 있음
  • UDP는 손수신 장치 간에 비연결형 서비스를 지원
  • 비연결형 서비스를 하게 되면 데이터그램 간의 전후 관계를 고려하지 않고 전송
  • UDP는 TCP와 마찬가지로 Well-Known Port를 기반으로 통신
  • 출발지 포트 번호 : 출발지 호스트의 포트 번호를 정의한 16비트 필드이며 랜덤 번호를 사용, 포트 번호는 0에서 65535의 범위 내에 있음
  • 목적지 포트 번호 : 목적지 호스트의 포트 번호를 정의한 16비트 필드이며, 대부분 Well-Known포트 번호를 사용, 어떠한 서비스에 접속하느냐에 따라 일반적으로 미리 정해져 있는 번호
  • 길이 : 헤더와 데이터를 포함한 UDP 데이터그램의 전체 길이
  • 체크섬 : 헤더와 데이터를 포함한 사용자의 데이터그램에 대한 오류 검사를 하기 위한 필드

IP 헤더

  • OSI 참조 모델의 3계층인 네트워크 계층에서 사용, 패킷을 출발지에서 목적지까지 전달하는데 사용(즉 목적지 까지 전달시키는데에만 관여, 어떠한 서비스를 받는지는 TCP, UDP에서 정의)
  • IP는 최선형 서비스를 이용하여 패킷을 전달하지만 목적까지 확실히 패킷이 도착하는 것은 보증하지 않음
  • 그러므로 도중에 패킷이 손실될 수 있음
  • IP 프로토콜이 가지는 최선형 서비스의 단점을 보완하기 위해 상위 계층인 TCP와 같은 신뢰성 있는 프로토콜의 도움을 받아 단점을 보완할 수 있음
  • IP는 네트워크 사정상 목적지 장치에 도착한 패킷들이 순서대로 도착하지 않을 수 있음
  • V4가 사용되었다가 주소 부족 문제로 인해 V6가 대안으로 제시됨
    • V4 : 32bit(10진수), V6 : 128bit(16진수)
  • IP는 비신뢰성을 가지고 있으므로, 데이터 흐름에 관여하지 않음
  • 현재 인터넷에서 주로 사용되는 표준 프로토콜은 IPv4
  • 버전 : IP가 어떤 버전을 사용하는지 나타냄
  • 헤더길이 : 옵션을 포함할 경우, 최대 60바이트 까지 사용할 수 있음. 최소 단위는 20바이트
  • TOS : 우선 순위를 나타내는 필드이며, 3비트의 Precedence 값, 4비트의 서비스 유형 지정 비트, 그리고 사용되지 않는 1비트가 합쳐 8비트로 구성 되어 있음
  • 전체 길이 : 헤더와 데이터를 포함한 패킷의 전체 길이
  • 식별자 : 생성되는 패킷마다 부여되는 고유 번호, 패킷은 2계층 프로토콜의 최대 전송 단위(MTU, 1500바이트)값에 따라 여러 개의 Fragment로 분할 하고, 원래의 패킷으로 재조립 하고자 할 경우 이 식별자 값을 기준으로 사용
  • 플래그 : IP 패킷의 분할 가능 여부와 마지막 프래그먼트인지 아닌지 알리기 위해 사용
  • 분할 위치 : 하나의 패킷이 여러 개의 프래그먼트로 분할될 때 원래 패킷 어디에 있었는지 명시, 이 값을 이용해 원래의 패킷으로 재조립
  • TTL : 패킷의 루핑 현상을 막기 위하여 사용, 패킷의 수명을 나타냄
  • 프로토콜 :패킷에 캡슐화 되어 있는 상위 계층 PDU가 어떤 프로토콜을 사용하는지 명시하는 필드, TCP 세그먼트이면 6을, UDP 세그먼트이면 17의 값을 가짐
  • 헤더 체크섬 : IP헤더의 오류 여부를 검사하기 위한 필드
  • 출발지 IP 주소 : v4인 경우, 32비트 길이의 출발지 장치의 IP주소를 의미
  • 목적지 IP주소 : v4인 경우, 32비트 길이의 목적지 장치의 IP주소를 의미
  • 옵셩 : 패킷의 전송 경로를 포함한 IP 프로토콜의 동작 옵션을 정의하는 필드
profile
불가능, 그것은 사실이 아니라 하나의 의견일 뿐이다. - 무하마드 알리

0개의 댓글