[네트워크] TCP/IP 프로토콜 스택 4계층

nayoon·2021년 6월 23일
0

computer

목록 보기
24/25

TCP/IP

IP는 패킷 전달 여부를 보증하지 않고, 패킷을 보낸 순서와 받는 순서가 다를 수 있다.

TCP는 IP 위에서 동작하는 프로토콜로 데이터의 전달을 보증하고 보낸 순서대로 받게 해준다.

IP 주소

컴퓨터 네트워크에서 장치들이 서로를 인식하고 통신하기 위해서 사용하는 특수한 번호

IP

인터넷 프로토콜의 줄임말

송신 호스트와 수신 호스트가 패킷 교환 네트워크에서 정보를 주고받는 데 사용하는 정보 위주의 규약(프로토콜)

OSI 네트워크 계층에서 호스트의 주소지정, 패킷 분할 및 조립 기능 담당

IP의 정보는 패킷 혹은 데이터그램이라고 하는 덩어리로 나뉘어 전송

1) 비신뢰성(unreliability): 흐름에 관여하지 않아 보낸 정보가 제대로 갔는지 보장하지 않음
2) 비연결성(connectionlessness)

위의 문제를 개선하고 패킷 전송과 정확한 순서를 보장하려면 TCP 프로토콜과 같은 IP의 상위 프로토콜을 이용해야 함.

프로토콜 스택

프로토콜

컴퓨터 간의 원활한 통신을 위해 정의한 규약

정의

계층화된 구조로 모여있는 프로토콜의 집합, 묶음

프로토콜 스택에서 스택이라는 이름은 자료구조 스택과 비슷한 모습을 가진 구현체이기 때문이다.

TCP/IP 프로토콜 스택 4계층

  • Physical Layer

  • LAN, WAN, MAN과 같은 네트워크 표준과 관련된 프로토콜을 정의하는 영역

  • 물리적인 연결

  • 사용 프로토콜, 장비: LAN, WAN, MAN, 스위치, 허브

IP 계층

  • Network Layer

  • 경로 검색 계층

  • 데이터가 목적지에 도달하기 위해 어떠한 경로를 거칠 것인가를 설정

  • 데이터의 전송 순서나 오류 발생에 대한 문제 해결은 없음(=IP의 특성, 패킷의 순서가 뒤바뀌거나 잃어버리는 경우)

  • 사용 프로토콜, 장비: ICMP, IP, ARP, 라우터

ICMP

Internet Control Message Protocol

프로토콜의 한 종류로 네트워크 컴퓨터 위에서 돌아가는 운영체제에서 오류 메시지를 전송받는 데 주로 쓰인다.

네트워크 계층 프로토콜

ARP

Address Resolution Protocol

네트워크 상에서 IP 주소를 물리적인 MAC 주소로 바꿔주는 프로토콜

IP 주소를 이용해서 MAC 주소를 알아내기 위해 브로드캐스팅 방식을 사용해서 알아내고자 하는 장비에게 Request를 보낸다.
Request를 받은 장비는 누구의 IP 주소인지를 확인해서 자신의 IP일 경우 Reply를 보냄으로써 MAC 주소를 알려준다.

ARP Cache Table

ARP로 MAC 주소를 알아오는 과정에서 사용하는 브로드캐스팅 방식은 많이 일어날 수록 장비의 과부하와 성능저하를 가져오기 때문에 많이 사용하면 좋지 않다.
따라서 ARP Cache Table을 두고 MAC주소를 저장해서 ARP Cache Table에 주소가 있는 경우에는 ARP 프로토콜이 동작하지 않는다.

TCP/UDP 계층

  • Transport Layer

  • 데이터의 실제 송수신 계층

  • TCP는 위에서 말했듯이 IP의 비연결성, 비신뢰성 문제를 해결할 수 있다.

  • 따라서 IP 위에서 TCP 프로토콜이 동작하면 데이터의 순서가 올바르고 없어지는 것 없이 전송 가능하다.

  • 사용 프로토콜, 장비: TCP, UDP, 로드밸런서

TCP

Transmission Control Protocol

IP의 unreliable network에서 reliable network를 보장할 수 있도록 하는 프로토콜

UDP

User Datagram Protocol

3 way-handshake를 할 필요가 없는 비연결형, 신뢰성없는 전송 프로토콜

세션 확립을 위한 처리를 하고, 송신한 데이터가 수신되었는지 점검하는 등의 절차는 오버헤드를 발생시키는데, UDP는 하지 않기 때문에 훨씬 빠르고 가볍다.

DNS는 빠르고 효율적으로 동작하기 위해 UDP를 사용한다.

애플리케이션 계층

  • Application Layer

  • 데이터 전송에 관련된 약속(규칙) 확립

  • 소켓 프로그래밍

  • 사용 프로토콜, 장비: FTP, SSH, DNS, TELNET, HTTP

FTP

파일 전송 프로토콜

TCP/IP 프로토콜을 가지고 서버와 클라이언트 사이의 파일 전송을 하기 위한 프로토콜

SSH

시큐어 셸(Secure SHell, SSH)

네트워크 상의 다른 컴퓨터에 로그인하거나 원격 시스템에서 명령을 실행하고 다른 시스템으로 파일을 복사할 수 있도록 해주는 응용 프로그램 또는 그 프로토콜

DNS

도메인 네임 시스템

호스트의 도메인 이름을 호스트의 네트워크 주소로 바꾸거나 그 반대의 변환을 수행

사람이 이해하기 쉬운 도메인 이름 -> 숫자로 된 식별 번호(IP 주소)

TELNET

인터넷이나 로컬 영역 네트워크 연결에 쓰이는 네트워크 프로토콜

참고 사이트

  1. IP 주소
  2. 인터넷 프로토콜
  3. 03. 개알못을 위한 TCP/IP의 개념
  4. [Network] 프로토콜 스택이란 무엇인가?
  5. [TCP/IP]TCP/IP 프로토콜 스택(4계층)
  6. [네트워크 상식#1] 프로토콜 스택 'TCP/IP' 4계층
  7. [Network] ARP와 ARP의 종류 5가지
  8. 파일 전송 프로토콜
  9. 시큐어 셸
  10. 도메인 네임 시스템
  11. UDP
profile
뚜벅뚜벅 열심히 공부하는 개발자

0개의 댓글