[컴퓨터 네트워크] TCP/IP 계층 구조

서지혜·2023년 6월 19일
1

TIL

목록 보기
9/22

🧭 2023.06.19 CS Study - 컴퓨터 네트워크

🚩 주제 : 컴퓨터 네트워크의 개념과 TCP/IP 계층 구조

📘 참고 서적 : TCP/IP 쉽게, 더 쉽게 - 리브로웍스

1. 컴퓨터 네트워크의 개념

컴퓨터 네트워크는 여러 대의 컴퓨터가 서로 연결되어 데이터를 주고받을 수 있도록하는 연결망이 구축된 것을 말한다. 네트워크 중 가장 규모가 큰 것이 인터넷이다. 전파로 통신하는 무선 네트워크 혹은 모바일 네트워크도 네트워크의 한 종류이다.

  • LAN(Local Area Network)은 비교적 근거리로 형성된 네트워크를 말하고 WAN(Wide Area Network)은 장거리로 형성된 네트워크를 말한다.

서버와 클라이언트

https://en.wikipedia.org/wiki/Client%E2%80%93server_model

네트워크에 연결된 컴퓨터들 중 서비스를 제공하는 쪽을 서버라고 하고, 서비스를 제공받는 쪽을 클라이언트라고 한다. 웹, 메일, FTP(File Transfer Protocol) 등의 서비스는 서버와 클라이언트 구조를 가진다. Peer-to-Peer(P2P)방식은 두 대의 컴퓨터가 서버, 클라이언트 역할을 동시에 할 수 있는 통신 방식이다. 이는 주로 인터넷 전화(VoIP) 등에 활용된다.

패킷 교환 방식

네트워크에서 데이터를 주고 받기 위해서는 데이터를 작은 단위로 쪼개야한다. 그러한 작은 단위를 패킷(Packet)이라고 한다. 아날로그 방식에서는 일대일로 통신하는 회선 교환 방식을 사용했다. 패킷 교환 방식은 통신 경로를 공유하며 패킷을 전송하기 때문에 다대다 통신이 가능하다.


2. TCP/IP 계층 구조

컴퓨터 네트워크에서 통신 프로그램을 쉽게 유지보수 하기 위해 통신 계층을 추상화 한 것을 계층 모델이라고 한다. 대표적으로 OSI 7계층 구조와 TCP/IP 4계층 구조가 있다. TCP/IP 4계층 구조는 OSI 7계층 구조를 간소화한 형태이다.
한 계층에서 다른 계층으로 이동할 때는 필요한 정보를 헤더 혹은 트레일러에 포함하여 전송한다.
지금의 컴퓨터 네트워크는 대부분 TCP/IP를 기반으로 하기 때문에 OS나 통신 서비스 제공자가 달라도 통신이 가능하다.

OSIvstcp/ip

https://www.imperva.com/learn/application-security/osi-model/

TCP/IP 구조에서 각 계층의 역할

TCP/IP 계층 구조는 4계층으로 이루어져있다. 1계층은 네트워크 인터페이스 계층, 2계층은 인터넷 계층, 3계층은 트랜스포트 계층, 4계층은 애플리케이션 계층이다. 각 계층은 자신이 맡은 역할을 수행한다.

1계층 : 네트워크 인터페이스 계층

  • 유선 LAN이나 무선 LAN 어뎁터가 수신할 수 있는 데이터 형태로 변환하고 물리적으로 인접한 연결된 장비가지 패킷을 전송하는 역할을 한다.
  • 물리적 주소(MAC 주소)를 헤더(이더넷 헤더)로 추가한다. 여기서 저장되는 물리적 주소는 근거리에 연결된 장비의 물리적 주소이다. 해당 값은 최종 목적지에 도달할 때까지 계속 갱신된다.
  • 이더넷 헤더를 확인하여 자신이 수신할 패킷이라면 패킷을 수신하여 상위 계층으로 전송한다.

2계층 : 인터넷 계층

  • 클라이언트 PC까지의 데이터 전송에 관여한다.
  • 상위 계층으로부터 전송된 데이터에 논리적주소(IP)를 헤더로 붙여서 하위 계층으로 전송한다.
  • 데이터를 전송하는 과정에서 중간 경로를 결정해주는 라우터라는 장비가 사용된다.
  • 자신이 수신해야하는 정보인지 헤더를 보고 판단하여 패킷 수신을 결정한다.

3계층 : 트랜스포트 계층

  • 프로그램과 프로그램이 통신하는 것에 관여한다.
  • 포트 번호를 헤더로 붙여서 하위 계층으로 전송한다.
  • 데이터가 제대로 전달되는지 검사하여 재전송을 수행하는 역할을 담당한다.

4계층 : 애플리케이션 계층

  • 사용자에게 직접적으로 서비스를 제공하는 계층이다.
  • 웹 브라우저, 웹 서버 등이 이 계층에 포함되는 프로그램이다.
  • 사용자에게 제공하는 서비스를 처리하는 역할을 한다.
  • 데이터 전송의 역할은 하위 계층에게 위임한다.

프로토콜

컴퓨터가 통신할 때 지켜야하는 절차나 규약을 프로토콜(protocol)이라고 한다. 네트워크에서 사용되는 프로그램은 프로토콜에 맞추어 동작해야한다. TCP/IP 구조의 각 계층은 각각의 프로토콜을 사용한다.

계층프로토콜
어플리케이션HTTP, SMTP, FTP, SSH, DNS...
트랜스포트TCP, UDP
인터넷IP, ICMP, IPsec
네트워크 인터페이스ARP, 이더넷, PPP

🧾 추가 조사

패킷 교환 방식의 종류

1. 데이터그램 패킷 교환(Datagram packet switching)

  • 연결이 없는 패킷 교환 방식이다.
  • 패킷은 자체적인 네트워크 경로를 따라서 전송된다.
  • 데이터 전송 중간에 위치한 노드에 도달한 후에 이동할 다음 노드를 결정한다.
  • 네트워크 정체 또는 장애 시에 경로를 빠르게 바꿀 수 있기 때문에 데이터 전송 성능을 향상시킬 수 있다.
  • 전송이 보장되지 않고 오류를 수정하지 않기 때문에 오류에 취약하다.
  • 패킷에 미리 설정된 경로가 없으면 네트워크 정체가 증가할 수 있다.

2. 가상 회로 패킷 교환(Virtual circuit packet switching)

  • 연결이 있는 패킷 교환 방식이다.
  • source와 destination 사이의 경로를 미리 구축한다.
  • 동일한 경로의 일부를 공유할 수 있다.
  • 전송이 보장되고 데이터 손실 가능성을 줄인다.
  • 오류 수정이 가능하기 때문에 오류율이 낮다.
  • 경로를 설정하는데 시간이 지연되고 경로 수정에 시간이 걸리는 단점이 있다.

++
아래 영상을 참고하면 동작 과정을 이해할 수 있다.
Packet switching - Datagram networks - Computer Networks
Virtual circuit approach - Switching - Lecture 17-Computer Networks

참고 자료
데이터 교환 방식
데이트그램과 가상회선
What is the concept of datagram packet switching?
Difference between Datagram Switching & Virtual Circuit

profile
개발자가 되고 싶은 감자

0개의 댓글

관련 채용 정보