Front-End/Web & 표준 & ETC

[Network] TCP / IP 4계층

Voyage_dev 2022. 2. 24. 12:39

TCP / IP (Transmission Control Protocol / Internet Protocol)는 기본 통신 언어 즉, 컴퓨터들이 서로 정보를 주고받으며 인터넷으로 통신하는데 가장 기반이되는 통신규약(프로토콜)이라고 보면 된다 각 계층은 담당하는 위치마다 처리 역할을 구분해 진행함으로 서로 간의 간섭을 최소화하여 사용의 편리성을 높힌다

 

특징

  • 호환성 보장 (다른 제조사 장비들끼리도 통신 가능)으로 인한 비용 절감
  • 쉬운 문제 해결 (계층별로 문제 확인 가능)
  • 다른 계층끼리는 각 전달 과정을 알 필요없어 데이터의 캡슐화와 은닉이 가능

TCP

최상위 계층인 TCP는 전송제어 프로토콜로 많은 양의 데이터를 가져 와 패킷으로 컴파일 후 다음 TCP 계층에서 수신하도록 전송하여 데이터의 누락, 순서 등 신뢰성과 속도를 보장하기 위해 사용되며 패킷을 유용한 정보 / 데이터로 바꾸는 역할을 한다

여기서 말하는 패킷이란?

💡
: 데이터를 일정한 크기로 자른 단위로 인터넷에서 정보를 전달한다

HTTP 통신은 요청을 보내고 응답을 받을 때 정보들을 패킷에 일정한 크기로 자른뒤 넣어 보낸다

구조 : Header / Body

Header : 보내는 사람의 주소, 받는 사람의 주소, 패킷 생명시간

Body : 실제 전달하고자 하는 정보

IP

인터넷에서 컴퓨터의 위치를 찾아서 데이터를 전송하기 위해 지켜야 할 규약이며 네트워크상에서 다른 컴퓨터와 구별할 수 있도록 할당되는 주소이다. 맨 아래 계층인 IP는 올바른 목적지를 찾는 패킷 GPS!

하지만 IP만을 이용해서 통신을 하면 신뢰성과 연결성을 보장하지 못한다

결국 TCP를 IP위에서 사용한다

 

계층 모형

  • 실제 사용되는 TCP / IP는 OSI 참도 모델을 기반으로 상업적이고 실무적으로 이용될 수 있도록 단순화된 모형
  • 네트워크 전송시 데이터 표준을 정리한 것이 OSI 7계층
  • 실제 사용되는 인터넷 표준이 TCP / IP 4계층

 

TCP / IP 4계층


TCP/IP 4계층 역할 데이터 단위전송 주소예시 장비
응용 계층(Application) 응용프로그램 간의 데이타 송수신 Data/Message - 파일 전송, 이메일, FTP,
HTTP,SSH,Telnet,DNS,
SMTP 등
-
전송 계층(Transport) 호스트 간의 자료 송수신 Segment Port TCP, UDP, RTP, RTCP 등 게이트웨이
인터넷 계층(Internet) 데이타 전송을 위한 논리적 주소 지정 및 경로 지정 Packet IP IP, ARP, ICMP, RARP, OSPF 라우터
네트워크 연결 계층(Network Access) 실제 데이타인 프레임을 송수신 Frame MAC Ethernet, PPP, Token Ring 등 브리지, 스위치

 

L4 응용 계층 (Application Layer)

💡
데이터 단위 : Data / Message
  • OSI 7계층의 세션 계층, 표현 계층, 응용 계층에 해당한다
  • 사용자가 가장 가까운 계층으로 프로그램 (브라우저)가 데이터를 처음으로 받는 곳
  • 응용프로그램들이 데이터를 교환하기 위해 사용되는 프로토콜을 정의
  • 사용자 응용프로그램 인터페이스를 담당
  • HTTP / SMTP등의 프로토콜을 가진다
  • TCP / UDP 기반의 응용 프로그램을 구현할 때 사용
  • FTP, HTTP, SSH, Telnet, DNS, SMTP

 

L3 전송 계층 (Transport Layer)

💡
데이터 단위 : Segment

전송 주소 : Port

  • OSI 7계층의 전송 계층에 해당
  • 애플리케이션 계층의 세션과 데이터그램(datagram) 통신 서비스 제공
  • 통신 노드 간의 연결을 제어하고, 신뢰성 있는 데이터 및 자료 송수신을 담당
  • 세그먼트 (segment) 단위의 데이터 구성
    • 실질적인 데이터 전송을 위해 데이터를 일정 크기로 나눈 것, 발신, 수신, 포트주소, 오류 검출 코드가 붙게된다
  • TCP, UDP, RTP, RTCP

 

L2 인터넷 계층 (Internet Layer)

💡
데이터 단위 : 패킷

전송 주소 : IP

  • OSI 7계층의 네트워크 계층에 해당
  • 네트워크상 최종 목적지까지 정확하게 연결되도록 연결성을 제공
  • 단말을 구분하기위해 논리적인 주소 (Logical address) IP를 제공
    • 출발지와 목적지의 논리적 주소가 담겨있는 IP datagram이라는 패킷으로 데이터를 변경
    • 데이터 전송을 위한 주소 지정
    • 어드레싱(addressing), 패키징(packaging), 라우팅(routing) 기능을 제공
  • 패킷 단위의 데이터 구성
    • 세그먼트를 목적지까지 전송하기 위해 시작 주소와 목적지의 논리적 주소를 붙인 단위 : epdlxj + IP Header
  • IP, ARP, ICMP, RARP, OSPF

 

L1 네트워크 연결 계층 (Network Access Layer / Network Interface Layer)

💡
데이터 단위 : 프레임

전송 주소 : MAC

  • OSI 7계층의 물리계층과 데이터 링크 계층에 해당
  • TCP/IP 패킷을 네트워크 매체로 전달하는 것과 네트워크 매체에서 TCP/IP 패킷을 받아들이는 과정을 담당
  • 물리적으로 데이터가 네트워크를 통해 어떻게 전송되는지를 정의
    • 논리주소(IP주소 등)이 아닌 물리주소(예. MAC주소(Media Access Control Address)을 참조해 장비간 전송
    • MAC주소란 컴퓨터의 하드웨어 주소
  • 에러 검출 기능(Detecting errors), 패킷의 프레임화(Fraimg packets)
  • 프레임(Frame)단위의 데이타 구성
    • 최종적으로 데이타 전송을 하기 전 패킷헤더에 MAC주소와 오류 검출을 위한 부분을 첨부
  • MAC, LAN, 패킷망 등에 사용되는 것 예) Ethernet, PPP, Token Ring

 

참고 :

https://velog.io/@jehjong/개발자-인터뷰-TCPIP-4계층

https://coding-factory.tistory.com/613

https://velog.io/@sdc337dc/웹-개념-Http-통신