CS/네트워크

TCP/IP 모델

chaev2ly 2025. 7. 20. 20:04

TCP/IP 모델

인터넷은 데이터의 중개 기능을 담당하는 네트워크 계층으로 IP 프로토콜을 사용하는 네트워크이다. 따라서 인터넷에 연결하고자 하는 호스트는 반드시 IP 프로토콜을 지원해야 하며, 전송 계층은 TCP나 UDP를 사용한다.


1. 구현 환경

TCP/IP 구현 환경

인터넷에 연결된 컴퓨터의 네트워크 구현 모델에서는 전송 계층까지의 기능을 시스템 공간인 운영체제 내부에서 구현한다. 즉, 인터넷 환경에서 사용하는 TCP/IP.와 하위 계층의 기능을 담당하는 LAN 카드 드라이버 루틴은 운영체제 영역에 속한다. TCP/IP를 이용하려면 사용자 공간에서 네트워크 기능을 지원하는 프로그램을 작성해야 한다.

 

1.1 시스템 공간

TCP와 UDP는 시스템 운영체제인 커널 내부에 구현되므로 일반 사용자가 이 기능을 직접 이용할 수는 없다. 대신 소켓 인터페이스라는 전송 계층의 프리미티브를 이용해야 하는데, 소켓은 운영체제에서 시스템 콜 기능으로 구현되므로 사용자 프로그램에서 이를 호출하는 방식으로 사용한다. TCP는 연결형 서비스 제공하고, UDP는 비연결형 서비스를 제공한다.

 인터넷에서 네트워크 계층은 IP로 구현되며, 네트워크 계층은 전송 패킷의 올바른 경로 선택 기능을 제공한다. 네트워크 계층 아래의 계층들은 LAN 카등톼 LAN 카드를 구동하는 드라이버 루틴에 의해 구현된다.

 

1.2 사용자 공간

세션 계층부터 응용 계층까지의 기능은 사용자 프로그램으로 구현된다. 프로그래밍 환경에서 전송 계층의 기능을 제공하는 소켓 시스템 콜을 호출해 TCP와 UDP 기능을 사용할 수 있다. 소켓 시스템은 유닉스, 리눅스, 윈도우즈 운영체제 등 인터넷에 접속 가능한 모든 호스트에서 제공한다.

프로그램에서 소켓을 사용할 때는 소켓마다 부여되는 고유 주소인 포트 번호를 관리해야 한다. 일반 네트워크 프로그램은 포트 하나를 할당해 사용하므로 포트 번호와 사용자 프로그램이 일대일로 대응된다. 인터넷 응용 프로그램의 고유 주소는 IP 주소와 포트 번호의 조합으로 구성된다.

 


2. 프로토콜

TCP/IP 구조

인터넷에서 데이터 전송은 계층 4의 TCP와 UDP, 계층 3D의 IP에 의해 이루어진다. TCP/IP 모델에서는 사용자 데이터의 전송이 TCP, UPD, IP에 의해 이루어지지만, 이들이 올바르게 동작하려면 더 많은 프로토콜이 필요하다.

2.1 TCP/IP 계층 구조

TCP/IP를 사용하는 인터넷 환경에서 관련 프로토콜들의 계층 구조를 설명한다. 맨 위의 응용 프로그램은 TCP와 UDP를 사용해 데이터 송수신 기능을 수행하지만, 네트워크 계층의 IP 프로토콝을 직접 사용하기도 한다.

네트워크 계층의 IP는 사용자 데이터를 전송하는 프로토콜이다. IP의 동작 광에서 전송 오류가 발생하는 경우에 대비해 오류 정보를 전송하는 목적으로 ICMP를 사용한다. ICMP는 IP 프로토콜과 같은 계층으로 간주할 수 있지만, ICMP에서 발생하는 ICMP 메시지는 IP 패킷에 캡슐화 되어 전송된다.

 

더보기

1. OSI 7계층 각각의 역할은?

답변:

  • Application: 사용자와 직접 상호작용, HTTP, FTP 등
  • Presentation: 데이터 형식 변환, 암호화/복호화 (예: JPEG → Binary)
  • Session: 세션 관리 (로그인, 연결 유지/복구)
  • Transport: 데이터 전송 제어, 오류 제어 (TCP, UDP)
  • Network: IP 주소 기반 라우팅 (IP, ICMP)
  • Data Link: MAC 주소 기반 통신, 에러 검출 (Ethernet, ARP)
  • Physical: 전기/광 신호 전송 (케이블, 전파 등)

2. TCP와 UDP 차이점은?

답변:

  • TCP: 연결 지향, 신뢰성 보장, 느리지만 안정적 (예: HTTP, FTP)
  • UDP: 비연결 지향, 신뢰성 없음, 빠름 (예: DNS, 스트리밍)

3. HTTP는 OSI 계층 중 어디에 해당하나요?

답변:

  • Application 계층에 해당합니다. 사용자와 직접 소통하는 애플리케이션 프로토콜이기 때문입니다.

4. 라우터와 스위치의 차이점은?

답변:

  • 라우터: 네트워크 계층, IP 주소 기반으로 네트워크 간 데이터 전달
  • 스위치: 데이터 링크 계층, MAC 주소 기반으로 동일 네트워크 내 데이터 전달

5. 3계층과 4계층의 주요 차이는?

답변:

  • 3계층(Network): 경로 결정, IP 주소로 목적지 결정
  • 4계층(Transport): 신뢰성 보장 여부, TCP/UDP로 전송 방식 결정

6. OSI 계층과 TCP/IP 계층 차이점은?

답변:

  • OSI는 7계층, TCP/IP는 4계층 모델.
  • TCP/IP는 실질적인 구현 기준, OSI는 개념적 표준.
  • OSI의 Presentation/Session은 TCP/IP에 통합됨.

7. HTTP는 왜 TCP를 사용할까?

답변:

  • 웹에서 신뢰성 있는 데이터 전달이 중요하기 때문에, 데이터 손실 방지, 순서 보장 등 TCP 특성이 요구됩니다.

8. DNS는 어느 계층에 속하나요?

답변:

  • DNS는 Application 계층 프로토콜입니다. 도메인 이름을 IP 주소로 변환합니다.

9. MAC 주소와 IP 주소 차이는?

답변:

  • MAC 주소: 물리적 주소, 변하지 않음, LAN 내부 식별
  • IP 주소: 논리적 주소, 라우팅용, 인터넷에서 위치 식별

10. TCP 3-way-handshake 과정 설명해줘

답변:

  1. 클라이언트 → 서버: SYN
  2. 서버 → 클라이언트: SYN + ACK
  3. 클라이언트 → 서버: ACK

'CS > 네트워크' 카테고리의 다른 글

네트워크 기기  (2) 2025.08.14
TCP/IP 4계층 모델  (1) 2025.08.14
네트워크의 기초  (5) 2025.08.11
HTTP  (0) 2025.07.22
OSI 7계층  (5) 2025.07.20