ocean

1. Network 기본 본문

현대오토에버 모빌리티 SW 스쿨 - 클라우드/Network

1. Network 기본

Leyeun_000 2026. 1. 19. 16:04

목차

1. Protocol

2. OSI 7계층과 TCP/IP

3. Encapsulation & Decapsulation

4. 포트번호


Protocol

  • 규정이나 규약과 관련된 내용
  • 최근에는 여러가지 프로토콜 기술이 이더넷-TCP/IP 기반 프로토콜들로 변경되고 있음.
    • 물리적 측면 : 데이터 전송 매체, 신호 규약, 회선 규격 등으로 이더넷이 널리 쓰임
    • 논리적 측면 : 장치들끼리 통신하기 위한 프로토콜 규격으로 TCP/IP가 널리 쓰임
  • 효율적 통신을 위해 대부분의 프로토콜이 2진수 bit 기반(문자 기반X)
    • bit 기반은 몇 번째 전기 신호는 보내는 사람 주소, 받는 사람 주소, 크기 등 약속되어 있음.이걸 지켜야 통신이 가능

  • 애플리케이션 레벨(사용자)에서는 문자 기반 프로토콜을 사용(HTTP, SMTP 등)
    • bit로 메시지를 전달하지 않고 문자 자체를 이용해 헤더와 헤더 값 데이터를 표현하고 전송
    • 효율성이 비트 기반 프로토콜보다 떨어지지만 다양한 확장이 가능

OSI 7계층과 TCP/IP

1) TCP/IP 프로토콜 스택

    -  최근에는 대부분의 프로토콜이 TCP/IP 프로토콜 스택을 기반으로 되어 있음.

 

Layer Protocol
Application FTP, SSH, TELNET, DNS, SNMP
Transport TCP, UDP
Network IP, ICMP, ARP
Data Link와 Physical Ethernet

 

 

2) OSI 7계층

Layer Data Unit
Application Data
Presentation
Session
Transport Segments
Network Packet
DataLink Frames
Physical Bits
  • 1~4계층 : 하위 계층 → Network Engineer 에게 중요
  • 5~7계층 : 상위계층 → Application Developer에게 중요

 

3) OSI 7계층과 TCP/IP 프로토콜 스택 매핑

OSI 7계층 TCP/IP 프로토콜 스택
Application Application
Presentation
Session
Transport Transport
Network Internet
DataLink Network Access
Physical

 

 

4) OSI 7계층별 이해 - 좀 옛날 내용이다! (굵은 글씨 정도만 눈여겨 보기)

 

1계층(Physical - 물리)

  • 물리적 연결과 관련된 정보를 정의
  • 전기 신호를 전달하는데 초점
  • 주요 장비 : Hub(여러 대의 장비를 연결), Repeater(증폭기), Cable, Connector, Transceiver, TAP 등
    • Hub : 주소의 개념X. →  전기 신호가 들어온 포트를 제외하고 모든 포트에 전기 신호를 전송
                (수신한 신호의 주소를 까서 MAC Address가 일치하면 사용하고 아니면 버림)
    • Repeater : 전기 신호는 마모되기 때문에 중간 중간 신호를 증폭해줘야 함.
    • TAP : 네트워크 모니터링이나 패킷 분석을 하기 위해 전기 신호를 다른 장비로 복제해주는 장비

 

2계층(Data Link)

  • 전기 신호를 모아서 우리가 알아볼 수 있는 데이터 형태로 처리
  • 출발지와 목적지 주소를 확인해서 정확한 주소로 통신이 되도록 하는데 초점
  • 주요 장비 : NIC(네트워크 인터페이스 카드), Switch
    • 🌟 Switch와 HUB의 차이점
      • HUB는 MAC Address를 학습 및 기억하지 않음. 매번 모든 포트에 신호를 보냄.
      • Switch는 MAC Address를 학습 및 기억함. 목적지 주소가 있는 포트로만 신호를 보낼 수 있음.
  • 주소 : MAC address(물리적 주소)를 사용

 

3계층(Network - Internet)

  • 경로 설정(Routing)이 주기능
  • 주요 장비 : Router
  • 논리적인 주소를 이용(IP 주소 - 네트워크 주소와 호스트 주소로 구분)

상황) A가 192.168.0.1 에게 보내고 싶다
① Gateway에 도착하면 통신 대상이 내부 NW인지 외부 NW인지 확인 후 외부 NW인 경우 밖으로 내보낸다.

문제) Router가 모든 컴퓨터의 IP를 알아야 한다. 즉, 이 그림에서 192.168.0.1과 192.168.0.2의 주소를 모두 기억하고 있어야 함.

② 이를 해결하기 위한 것이 subnet mask. IP를 네트워크 주소와 호스트 주소로 나누어서 Router1은 네트워크 주소만 기억하면 된다. 그러면 Router2가 호스트를 구분해서 전달해줌.

 

4계층(Transport - 전송)

  • 해당 데이터들이 정상적으로 잘 보내지도록 확인하는 역할을 수행
  • 패킷의 번호를 인식해서 에러 여부와 메시지 조립 여부를 결정
  • 애플리케이션 구분자(포트번호)와 시퀀스(패킷 보내는 순서 명시), ACK 번호(긍정 응답 - 패킷 받은 순서)을 이용해서 부하를 분산하거나 보안 정책을 수립해 패킷을 통과시키거나 차단하는 기능을 수행
  • 주요 장비 : Load Balancer, Firewall(방화벽)

 

5계층(Session)

  • 양 끝 단의 응용프로세스가 연결을 성립하도록 도와주고 연결이 안정적으로 유지되도록 관리. 작업 완료 후에는 연결을 끊는 역할을 수행
  • 에러 복구와 재전송 담당(물리적이 아니라 논리적으로 하는 것)

 

6계층(Presentation - 표현)

  • 표현 방식이 다른 애플리케이션이나 시스템 간의 통신을 돕기 위해서 동일한 형식으로 변환시키는 역할 수행 ex. 인코딩, 암호화, 압축 등

 

7계층(Application)

  • 최상위 계층으로 애플리케이션 서비스를 수행
  • 네트워크를 사용하는 소프트웨어의 UI 부분이나 사용자 입출력 부분을 정의하는 계층
  • HTTP나 FTP와 같은 실제 서비스가 구동되는 계층

Encapsulation & Decapsulation

  • 캡슐화 과정
    1. 하나의 컴퓨터에서 다른 컴퓨터로 데이터를 전송할 때 Application에서 4계층(Transport)에 내려보낸 데이터에 4계층 헤더(포트번호)를 붙여서 Segment를 만든다.
    2. 3계층 네트워크 계층으로 내려보내서 3계층 헤더(IP)를 붙여서 Packet을 만들고 2계층 데이터링크 계층으로 보내서 2계층 헤더(MAC Address)를를 붙여서 Frame을 만들어서 1층으로 내려보내고, 전기 신호를 만들어서 전송한다.
    3. 받는 쪽에서 각 층에서 하나씩 열어서 헤더에 적힌 정보를 확인하고 본인에게 온 게 맞다면 본인 층의 헤더 부분 제거 후 남은 body 부분을 상위 layer로 올려줌.

포트 번호

  • Known Port(IANA(국제 인터넷 주소 관리 기구)에서 주요 서비스용으로 미리 할당해 놓은 번호
포트번호 애플리케이션
TCP 20, 21 FTP(파일 전송 서비스)
TCP 22 SSH(Secure Shell)
TCP 23 Telnet
TCP 25 SMTP(Simple Mail Transport Protocol)
: 이메일 전송
UDP 49 TACACS(Terminal Access Controller Access Control System)
: 네트워크 장비에 접속하려는 사용자 인증(Authentication) 및 권한 부여(Authorization),
  Accounting - 계정. ID 관련
TCP 53/UDP 53 DNS
UDP 67, 68 Bootstrap Protocol
: 네트워크 장비가 부팅될 때 자신의 IP 주소와 필요한 설정 정보를 서버로부터 할당받기 위한 프로토콜
TCP 80/UDP 80 HTTP 🌟
UDP 123 NTP(Network Time Protocol)
: 네트워크에 연결된 컴퓨터들의 시간을 표준 시간과 동기화해서 사용하기 위한 프로토콜
UDP 161, 162 SNMP(Simple Network Management Protocol)
: 네트워크 관리 프로토콜
TCP 443 HTTPS 🌟

 

  • Registered Ports(1024~49151번)
    • 특정 애플리케이션이나 기업이 등록해서 사용하는 포트
    • 3306(MySQL, Maria DB)
    • 5432(PostgreSQL)
    • 6379(Redis DB)
    • 27017(Mongo DB)
    • 1521(Oracle)
  • Dynamic/Private Ports(49152~65535)
    • 클라이언트가 서버에 접속할 때 임시로 할당받는 포트