네트워크 TCP/IP [ 네트워크 (1) ]

이강희·2022년 12월 19일
0
post-thumbnail

TCP/IP

현재 수많은 프로그램들이 인터넷으로 통신하는데 있어 가장 기반이 되는 프로토콜은 TCP와 IP로 통신이다. ARPANET이 개발된 이후 현재의 인터넷으로 발전해나가는 과정에서 대부분의 데이터 통신이 TCP와 IP기반으로 이루어졌기 때문에 인터넷 프로토콜 그 자체를 표현하는 용어이다.

애플리케이션 계층

애플리케이션 계층은 OSI 계층 중에 상위 계층의 역할을 수행한다. TCP/IP 애플리케이션 계층에서는 사용자가 제공한 데이터를 받아 처리하며 HTTP, FTP, Ping, Telnet, DNS, DHCP 등과 같은 서비스들을 지원한다. 특징으로는 서로 다른 시스템에서 인터넷을 하더라도 TCP/IP 프로토콜은 동일한 프로토콜이기 때문에 통신하는데 아무런 문제가 없이 통신할 수 있다.

전송 계층

전송계층은 애플리케이션 계층에서 보낸 데이터를 인터넷 계층으로 전송해 주는 역할을 한다.또한 전송 계층은 애플리케이션 계층에서 보내 준 데이터를 받아 보다 안정적으로 목적지까지 전송해야 하기 때문에 데이터를 적당한 크기로 나누어 전송을 하게 된다. 이와 같이 적당한 크기로 데이터 크기를 나눈 것을 패킷(Packet)이라고 하며 패킷을 적당한 크기로 나눌 때 각 패킷의 헤더에 번호를 붙이고 수신지 호스트는 해당 패킷 헤더의 번호를 가지고 원래 데이터로 재조립한다.

전송 계층에서 역할이 일어날 때 2가지 방법을 통해서 데이터가 전송된다.

  1. TCP
    데이터를 안전하게 보낼 수 있으며 신뢰성이 있는 프로토콜이라고 부른다 하지만 안정성이 있는 만큼 속도에 제한이 있어 동영상 스트리밍같은 서비스를 사용할 때는 UDP를 사용한다.
  2. UDP
    데이터를 안전하게 보내기 보다는 속도 측면에 초점을 두고 있는 프로토콜이다. TCP 프로토콜과 달리 오류 체크, 중복, 전송 도중 문제 발생 여부 등을 확인하지 않기 때문에 정상적으로 데이터가 목적지에 도착했는지는 알 수 없으나 처리속도가 빨라야하는 서비스를 담당하기에 적당하다.

인터넷 계층

인터넷 게층은 한 시스템에서 다른 시스템으로 데이터를 전송할 때 어떤 경로를 통해 전송할 것인지 결정해 주는 계층이다. 클라이언트가 보낸 정보를 목적지로 전송하기 위해서 인터넷 계층은 네트워크상에 있는 정보를 받아 최적의 경로를 선택하고 자신의 라우팅 테이블에 인스톨을 한다. 인터넷 계층에서 사용되는 프로토콜 중에 대표적인 것들은 IP, ICMP, ARP 이다.

  1. IP
    IP는 한 시스템에서 다른 시스템으로 해당 정보를 전송하는 역할만 수행할 뿐 해당 정보를 보관하지 않는 특징을 가진다. 예를 들어서 호스트 A가 호스트 C에게 데이터를 전송할때 라우터 R1은 호스트 A의 데이터를 라우터 C를 통하여 호스트 C에게 데이터를 전송하게 된다. 이 때 데이터를 전송한 후에는 더 이상 데이터를 저장하지 않는다.
  2. ICMP
    ICMP (Internet Control Message Protocol)은 IP 프로토콜을 사용하여 네트워크 정보를 전달하는 과정에서 문제가 있으면 이에 대한 정보를 송신자에게 알려주는 역할을 한다. 이로 인해서 IP 프로토콜의 신뢰성이 부족한 부분을 해결할 수 있다. 예를들어 호스트 A가 호스트 B에게 데이터를 전송할 때 문제가 생기면 라우터를 통해서 정상으로 데이터가 전달되지 않았다는 메시지를 보내어 알려주게 된다.
  3. ARP
    송신지 호스트가 네트워크 정보를 목적지로 정확하게 전송하기 위해서는 먼저 IP주소와 결합되어 있는 하드웨어 주소를 확인하게 된다. 하드웨어 주소는 MAC를 의미하며 MAC주소는 물리적인 주소로써 하드웨어의 48bit 고유 주소이다. 만약 호스트 A가 호스트 C로 데이터를 보내려고 하는데 하드웨어 주소를 찾기 위해 브로드캐스트를 전송하게 된다 (연결된 모든 호스트에 연결을 보낸다). 해당 정보를 받은 호스트는 송신지 호스트에게 유니캐스트 주소를 이용하여 자기 하드웨어 주소를 알려주게 되며 ARP 캐시에 하드웨어 주소를 저장하게 된다. 그리고 일정 시간동안 사용하지 않으면 자동적으로 삭제하며 다시 데이터를 전송할 경우 처음부터 동일한 방식으로 정보를 받게 된다.

네트워크 계층

네트워크 계층은 목적지로 가는 패킷이 여러 대의 라우터를 거치는 동안 최적의 경로를 선택하여 전송될 수 있도록 해준다. 네트워크의 모든 정보를 알고 있으며 트레픽이 경로를 알고 있어서 많은 트래픽이 몰리지 않도록 한다.

🧐 127.16.1.0/24는 무슨 의미일까?
/24는 서브넷 마스크를 2진수로 표현한 것이다 10진수로 표현한다면 255.255.255.0으로 표현할 수 있고, 127.16.1.1 ~ 127.16.1.254까지 사용할 수 있는다는 의미이다.

profile
도전하는 개발자 이강희입니다.

0개의 댓글

관련 채용 정보