네트워크 심화

햄은 개발 공부중·2023년 3월 6일
0
post-thumbnail

TCP / IP

패킷교환 방식(pack + bucket)

패킷교환 방식은 패킷이라는 단위로 데이터를 잘게 나누어 전송하는 방식으로 각 패킷에는 출발지와 목적지 정보가 있고 이에 따라 패킷이 목적지를 향해 가장 효율적인 방식으로 이동할 수 있다.
패킷 단위로 전송 하면 노드들은 목적지 IP에 도달하기 위해 서로 데이터를 전달하고 이를 통해 복잡한 인터넷 망 사이에서도 정확한 목적지로 패킷을 전송할 수 있다! (서버 또한 IP 패킷을 통해 클라이언트에게 응답 전달)

IP의 한계 (비연결성, 비신뢰성)

정확한 출발지 / 목적지를 파악할 수 있다는 점에서 IP가 적절한 통신 방법으로 보이지만 IP도 한계가 존재한다.

  • 비연결성 : 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷을 전송함
  • 비신뢰성 : 중간에 패킷이 사라질 수 있고, 패킷의 순서가 보장되지 않음

TCP와 UDP의 차이

TCP와 UDP는 TCP/IP의 전송계층에서 사용되는 프로토콜로 전송계층은 IP에 의해 전달되는 패킷의 오류를 검사하고 재전송 요구 등의 제어를 담당하는 계층이다.

TCPUDP
연결지향형 프로토콜비 연결지향형 프로토콜
전송 순서 보장전송 순서 보장되지 않음
데이터 수신 여부 확인함데이터 수신 여부를 확인하지 않음 (일방적)
신뢰성은 높지만 속도가 느림신뢰성은 낮지만 속도가 빠름

네트워크 계층 모델

예전의 경우 같은 회사에서 만든 컴퓨터 끼리만 통신이 가능했던 시절이 있었기 때문에 다른 회사의 시스템이라도 네트워크 유형에 관계없이 상호 통신이 가능한 규약, 즉 프로토콜(Protocol)이 필요했다. 그래서 ISO에서는 제조사에 상관없이 공통으로 사용할 수 있는 네트워크 표준 규격을 정의했다.

OSI 7계층 모델

OSI 7계층 모델의 목적은 표준화를 통하여 포트, 프로토콜의 호환 문제를 해결하고, 네트워크 시스템에서 일어나는 일을 해당 계층 모델을 이용해 쉽게 설명할 수 있고 네트워크 관리자가 문제가 발생 했을 때 이것이 물리적인 문제인지, 응용 프로그램과 관련이 있는지 등 원인이 어디에 있는지 범위를 좁혀 문제를 쉽게 파악할 수 있다.

  • 1계층 물리 계층 : OSI 모델의 맨 밑에 있는 계층으로서, 시스템 간의 물리적인 연결과 전기 신호를 변환 및 제어하는 계층이다. 전기 신호를 전달하는데 초점을 두고, 들어온 전기 신호를 그대로 잘 전달하는 것이 목적이다.
  • 2계층 데이터 링크 계층 : 네트워크 기기 간의 데이터 전송 및 물리주소(e.g. MAC 주소)를 결정하는 계층이며 주소 정보를 정의하고 출발지와 도착지 주소를 확인한 후, 데이터 처리를 수행한다.
  • 3계층 네트워크 계층 : OSI 7 계층에서 가장 복잡한 계층 중 하나로서 실제 네트워크 간에 데이터 라우팅을 담당한다. 이때 라우팅이란 어떤 네트워크 안에서 통신 데이터를 짜여진 알고리즘에 의해 최대한 빠르게 보낼 최적의 경로를 선택하는 과정을 말한다. ex) IP 패킷 전송
  • 4계층 전송 계층 : 컴퓨터간 신뢰성 있는 데이터를 서로 주고받을 수 있도록 하는 서비스를 제공하는 계층으로 컴퓨터간 신뢰성 있는 데이터를 서로 주고받을 수 있도록 하는 서비스를 제공하는 계층이다. 네트워크 계층에서 사용되는 패킷은 유실되거나 순서가 바뀌는 경우가 있는 데, 이를 바로 잡아주는 역할도 담당도 맡고있다.
  • 5계층 세션 계층 : 세션 연결의 설정과 해제, 세션 메시지 전송 등의 기능을 수행하는 계층으로 양 끝 단의 프로세스가 연결을 성립하도록 도와주고, 작업을 마친 후에는 연결을 끊는 역할을 한다.
  • 6계층 표현 계층 : 응용 계층으로 전달하거나 전달 받는 데이터를 인코딩 또는 디코딩하는 계층으로 일종의 번역기의 기능을 하는 계층이라 볼 수 있다.
  • 7계층 응용 계층 : 최종적으로 사용자와의 인터페이스를 제공하는 계층으로 사용자가 실행하는 응용 프로그램(크롬)들이 여기에 속한다. ex) 이메일 및 파일 전송, 웹 사이트 조회

데이터의 캡슐화

  • 캡슐화 : 데이터를 전송하는 쪽은 데이터를 보내기 위해서 상위 계층에서 하위 계층으로 데이터를 전달하는데 이때 데이터를 상대방에게 보낼 때 각 계층에서 필요한 정보를 데이터에 추가하는 것을 헤더(데이터링크 계층에서는 트레일러)라고 하고 이렇게 헤더를 붙여나가는 것을 캡슐화라고 한다.
  • 역캡슐화 : 데이터를 받는 쪽은 하위 계층에서 상위 계층으로 각 계층을 통해 전달된 데이터를 받게되는데 이때 상위 계층으로 데이터를 전달하며 각 계층에서 헤더(데이터링크 계층에서는 트레일러)를 제거해 나가는 것을 역캡슐화라고 한다. (역캡슐화를 거쳐 마지막 응용 계층에 도달하면 드디어 전달하고자 했던 원본 데이터만 남게 된다)

OSI 4계층 모델

TCP/IP 4계층 모델은 OSI 모델을 기반으로 실무적으로 이용할 수 있도록 현실에 맞춰 단순화된 모델이다. 즉 실용성에 기반을 둔 현대의 인터넷 표준이 TCP/IP 4계층이라고 할 수 있다.

  • 4계층: 어플리케이션 계층: OSI 계층의 세션 계층, 표현 계층, 응용 계층에 해당하며 TCP/UDP 기반의 응용 프로그램을 구현할 때 사용한다. ex) FTP, HTTP, SSH
  • 3계층: 전송 계층: OSI 계층의 전송 계층에 해당하며 통신 노드간의 연결을 제어하고, 신뢰성 있는 데이터 전송을 담당한다. ex) TCP/UDP
  • 2계층: 인터넷 계층: OSI 계층의 네트워크 계층에 해당하며 통신 노드 간의 IP 패킷을 전송하는 기능 및 라우팅을 담당한다. ex) IP, ARP, RARP
  • 1계층: 네트워크 인터페이스 계층: OSI 계층의 물리 계층과 데이터 링크 계층에 해당하며 물리적인 주소로 MAC을 사용한다. ex) LAN, 패킷망 등에 사용됨

참고 글 : https://velog.io/@hidaehyunlee/TCP-%EC%99%80-UDP-%EC%9D%98-%EC%B0%A8%EC%9D%B4

profile
내가 보려고 정리하는 블로그🔥

0개의 댓글