본문 바로가기

네트워크

네트워크의 기본규칙-2

728x90
반응형
SMALL

목표

프로토콜을 이해한다.

OSI 모델과 TCP/IP 모델을 이해한다.

캡슐화와 역캡슐화를 이해한다.

 

TCP(Transmission Control Protocol), IP(Internet Protocol)

TCP/IP는 인터넷 프로토콜 스위트(Internet Protocol Suite)의 핵심 프로토콜 중 하나입니다. TCP는 전송 제어 프로토콜의 약자이며, IP는 인터넷 프로토콜(Internet Protocol)의 약자입니다.

TCP는 데이터 전송 시 신뢰성을 보장하기 위해 사용되며, 데이터를 패킷화하여 전송합니다. 데이터를 보내는 측에서는 TCP를 통해 데이터를 분할하여 여러 개의 패킷으로 만들고, 받는 측에서는 이러한 패킷들을 다시 조합하여 원래의 데이터로 복원합니다.

 

IP는 데이터를 패킷화하여 전송하는 역할을 합니다. 패킷은 출발지 IP 주소와 목적지 IP 주소가 지정되어 있으며, 이를 이용하여 패킷이 목적지까지 전달될 수 있습니다.

TCP/IP는 인터넷을 비롯한 다양한 네트워크에서 사용되며, 웹 브라우저를 비롯한 다양한 응용 프로그램에서도 사용됩니다.

 

*** tcp ip 모두 데이터를 패킷으로 만들고 전달하는 역할 아니야? ***

맞습니다, TCP와 IP 모두 데이터를 패킷으로 만들어 전달하는 역할을 합니다.

하지만, TCP는 전송 제어 프로토콜로, 데이터를 보낼 때 패킷의 순서를 지정하고, 패킷 손실이나 중복을 감지하고 복구하는 등 데이터 전송의 신뢰성을 보장하는 역할을 합니다. (+ 전송 계층에서 사용되는 프로토콜)

반면에, IP는 인터넷 프로토콜로, 패킷을 라우팅하고 전달하는 역할을 합니다. 출발지 IP 주소와 목적지 IP 주소를 포함한 패킷을 전송하고, 라우터를 통해 목적지까지 패킷을 전달합니다. (+ 인터넷 계층에서 사용되는 프로토콜)

따라서, TCP는 데이터의 신뢰성과 안정성을 보장하는 프로토콜이고, IP는 인터넷에서 데이터를 전송하는 기본 프로토콜입니다.

 

TCP/IP 프로토콜은 4개의 계층으로 구성됩니다.

  1. 네트워크 액세스 계층 (Network Access Layer) - 물리적인 네트워크와의 통신을 제어합니다. 이 계층에서는 이더넷, 와이파이, 블루투스 등과 같은 물리적인 네트워크에 대한 접근을 다룹니다. (OSI 1-2계층에 해당)
  2. 인터넷 계층 (Internet Layer) - IP 프로토콜을 사용하여 패킷을 전송합니다. 출발지와 목적지 IP 주소를 사용하여 라우팅을 수행합니다. (OSI 3계층에 해당)
  3. 전송 계층 (Transport Layer) - 데이터를 패킷화하여 전송하는 TCP, UDP 프로토콜을 다룹니다. TCP는 데이터 전송의 신뢰성과 안정성을 보장하고, UDP는 데이터 전송의 속도를 우선시합니다. (OSI 4계층에 해당)
  4. 응용 계층 (Application Layer) - 다양한 응용 프로그램들이 사용하는 프로토콜들을 다룹니다. HTTP, FTP, SMTP, DNS 등과 같은 프로토콜이 이 계층에서 사용됩니다. (OSI 5-7계층에 해당)

*** UDP ***

앞서 설명처럼 TCP는 패킷 손실이나 중복을 감지하고 복구하여 신뢰성과 안정성을 보장하는 반면, UDP는 사용자 데이터그램 프로토콜로, 데이터를 신뢰성 없이 빠르게 전송하는 역할을 합니다. 따라서, 신뢰성보다는 데이터 전송 속도를 우선시하는 애플리케이션에 사용됩니다. 예를 들면, 실시간으로 스트리밍되는 동영상, 음성 통화 등이 있습니다.

 

*** DNS ***

DNS(Domain Name System)은 인터넷 상에서 도메인 이름과 IP 주소를 연결해주는 시스템입니다. (간단하게 주소창에 tistory.com를 검색해서 이렇게 들어올 수 있는 것이 DNS덕분 입니다. :) )

DNS는 사용자가 도메인 이름을 입력하면 해당 도메인 이름에 대한 IP 주소를 찾아주는 역할을 합니다. 이를 통해 사용자는 기억하기 쉬운 도메인 이름을 이용해 웹 사이트나 인터넷 서비스에 접속할 수 있습니다.

DNS는 계층적인 구조를 가지고 있으며, 가장 상위에는 루트 DNS 서버가 위치하고, 그 아래로는 최상위 도메인(.com, .org 등) DNS 서버, 이하로는 미들 도메인 DNS 서버, 최종적으로는 호스트의 DNS 서버가 위치합니다.

DNS는 도메인 이름과 IP 주소를 연결해주는 것 외에도, 이메일을 전송할 때에도 사용됩니다. 이메일 주소는 "@(도메인 이름)" 형식으로 되어있는데, 이때도 DNS가 해당 도메인 이름에 대한 MX(Mail Exchange) 레코드를 찾아 이메일을 전송할 수 있는 메일 서버를 찾아주는 역할을 합니다.

DNS는 인터넷에서 매우 중요한 역할을 하며, 이를 통해 사용자는 쉽고 편리하게 인터넷 서비스를 이용할 수 있습니다.

 

캡슐화(Encapsulation) / 역캡슐화(Decapsulation)

캡슐화는 데이터를 전송하기 위해 필요한 정보를 데이터에 추가하여 패킷(Packet)으로 만드는 것을 말합니다. 이때 패킷은 헤더(Header)페이로드(Payload), 푸터(Footer), 트레일러(Trailer) 등으로 구성되며, 헤더에는 출발지 IP 주소, 목적지 IP 주소, 포트 번호 등의 정보가 포함되어 있습니다. 이렇게 패킷에 필요한 정보를 추가하면, 전송 중에 발생할 수 있는 오류를 검사하거나, 목적지에 데이터를 전달하기 위해 필요한 경로를 설정하는 등의 기능을 수행할 수 있습니다.

 

역캡슐화는 패킷을 받은 컴퓨터가 패킷에서 필요한 정보를 추출하여 데이터를 복원하는 과정을 말합니다. 역캡슐화를 수행하면 패킷의 헤더 정보를 이용하여 목적지 IP 주소, 포트 번호 등을 확인하고, 페이로드를 추출하여 데이터를 복원합니다.

 

캡슐화와 역캡슐화는 네트워크에서 데이터를 안전하고 정확하게 전송하기 위한 필수적인 기술입니다. 이러한 과정을 거치면서 데이터의 안정성과 신뢰성을 보장할 수 있으며, 인터넷이나 네트워크를 사용하는 모든 사용자들은 이러한 기술을 활용하고 있습니다.

푸터와 트레일러는 전부 패킷의 마지막 부분에 위치하는 정보를 의미하지만, 미묘한 차이가 있습니다.

 

*** 첫 장에서 패킷이 헤더, 페이로드, 푸터로 이뤄져있다 했는데? ***

푸터(Footer)는 패킷의 끝 부분에 위치하는 정보로, 전송 중에 패킷의 무결성을 확인하기 위해 사용됩니다. 예를 들어, 패킷의 크기와 체크섬(Checksum) 등의 정보가 포함되어 있습니다.

반면에, 트레일러(Trailer)는 데이터 링크 계층에서 사용되는 제어 정보로, 패킷의 끝 부분에 추가되는 데이터입니다. 이는 전송된 데이터의 크기와 오류 검출 등을 위해 사용됩니다. 예를 들어, 이더넷 프레임의 경우, 패킷의 끝 부분에는 CRC(Cyclic Redundancy Check) 값이 위치합니다.

따라서, 푸터와 트레일러는 서로 다른 용어이며, 사용되는 계층과 정보의 종류가 다를 수 있습니다.

아마도 아래와 같은 으낌인 것 같습니다. :)

패킷

*** 체크섬 ***

체크섬(Checksum)은 데이터 전송 중 오류를 검출하기 위한 기술 중 하나입니다. 데이터의 일부 또는 전체를 더한 값이나 특정한 알고리즘을 이용해 생성된 값을 송신 측과 수신 측이 비교하여 오류 여부를 판단합니다. 데이터가 손상되었을 경우 체크섬 값이 일치하지 않게 되어 오류가 검출됩니다. 이러한 체크섬 기술은 데이터 통신뿐만 아니라 파일 전송, 데이터 저장 등 다양한 분야에서 활용됩니다.

 

*** CRC ***

CRC(Cyclic Redundancy Check)는 데이터 전송 중 오류 검출을 위한 기술 중 하나입니다. 체크섬과 마찬가지로 데이터의 일부 또는 전체를 이용해 생성된 값을 송신 측과 수신 측이 비교하여 오류 여부를 판단합니다. CRC는 특히 데이터 전송 속도가 빠른 고속 통신에서 많이 사용되며, 체크섬에 비해 더욱 강력한 오류 검출 능력을 가지고 있습니다. CRC는 데이터를 비트로 나누어 다항식으로 나타내고, 이를 이용해 나머지 연산을 수행하여 생성된 값을 검사하는 방식으로 동작합니다. 이러한 CRC 기술은 네트워크, 저장 장치 등 다양한 분야에서 사용됩니다.

 

VPN(Virtual Private Network)

 인터넷을 통해 공개된 네트워크를 이용하여 원격 지점과 안전하게 연결하기 위한 기술입니다. VPN은 인터넷을 통해 데이터를 암호화하고 전송하므로, 데이터를 안전하게 전송할 수 있습니다. 또한, VPN을 사용하면 인터넷을 통해 접속하는 것처럼 보이지만, 실제로는 안전한 사설 네트워크에 연결된 것처럼 동작하여 개인정보를 안전하게 보호할 수 있습니다. VPN은 기업에서 원격 근무자나 지사를 안전하게 연결하는 데 많이 사용되지만, 개인이 인터넷을 안전하게 이용하기 위해서도 사용할 수 있습니다.

(+ 인트라넷 또한 VPN 기술을 이용하여 구축된, 조직 내부에서만 접속 가능한 사설 네트워크 입니다.)

728x90
반응형
LIST