안녕하세요 2년차 개발자입니다.
카페에서 커피마시면서
코딩하기를 좋아해요.

Software Engineer

TCP,IP

TCP, IP 에 대해 알아본다.

서버 한대와 클라이언트가 연결되어 있다고 가정 TCP/IP 연결을 하게 된다. 3-way-handshake

OSI 7 Layer ( 개념 ) 을 알기 전에 실 사용 예제에 익숙해지자. 개념을 잘 알더라도 크게 다가오지 못한다.

Open System Interconnection -> 개방형 시스템간 상호 접속 국제 표준화 기구에서 개발한 모델

OSI 7 계층 간단 요약

1층 - 물리 계층 (L1)

  • 해당 계층은 통신 케이블을 통해 전달되는 계층이다.

    2층 - 데이터 링크 계층 (L2)

  • mac address (맥 주소)를 이용하여 정보의 전달을 수행하는 계층이다.
  • 모뎀의 역할이 1,2층을 의미한다.

    3층 - 네트워크 계층 (L3)

  • IP 를 이용하여 데이터를 목적지까지 전달하는 기능을 수행하는 계층이다.

    4층 - 전송 계층 (L4)

  • PORT 를 이용하여 응용 프로그램 간 통신을 할 수 있도록 수행하는 계층이다.
  • 네트워크 계층은 컴퓨터를 찾는 것이라면 전송 계층은 컴퓨터에서 동작하는 특정 응용 프로그램을 의미한다.

    5층 - 세션 계층 (L5)

  • 데이터가 통신하기 위한 논리적 연결을 담당하는 계층이다.

    6층 - 표현 계층 (L6)

  • 대표적인 기능으로 주고 받는 데이터를 암호화 하는 계층이다.
  • SSL, TLS

    7층 - 응용 계층 (L7)

  • 응용 서비스를 수행하는 서비스를 제공하는 계층이다.

TCP/IP 4계층

L1 - 네트워크 액세스(MAC Address)

  • 실제 데이터가 전송되는 과정을 담당한다. 모뎀을 통해 외부로 통신되는 과정을 관리하는 계층이다.

    L2 - 인터넷 계층(IP)

  • L2는 모뎀 밖으로 나간 데이터가 목적지 컴퓨터로 찾아가기 위한 방법이다.
  • 여기서 데이터를 패킷 또는 프레임이라고 한다.

    L3 - 전송 계층(PORT)

  • L3 모뎀 밖으로 떠나간 패킷은 L2 에 의해 목적지 컴퓨터에 도착했다. 하지만 해당 패킷이 어떤 프로그램에 들어갈지 결정해야 하는데 L3 가 이를 결정한다.

L4 - 응용 계층

  • 프로그램에 도착한 패킷이 어떻게 처리될지 결정한다.
  • L1,L2 - 하나의 마을이라면, TCP, IP 시민

OSI 4계층 중심으로 TCP, UDP => L3, HTTP => L4

TCP

  • 데이터 전달 전 커넥션하는 과정 = 3 way-handshake
  • 데이터 전달 후 커넥션 끊는 과정 = 4 way-handshake

-> 신뢰도 있는 데이터 전송을 보장

TCP와 UDP를 구현 - 소켓 프로그래밍