네트워크의 역사와 발전과정, 네트워크의 기본 구조를 살펴보도록 하자.
네트워크란?
네트워크의 역사
1960년대
- 시분할 시스템(Time Sharing System)과 네트워크
- 과거 1960년대에는, 한대의 대형 컴퓨터의 처리를 짧은 시간으로 나누어 여러 사람이 사용하도록 만들었다.
- 따라서, TSS 단말에서 대형 컴퓨터에 전화를 걸어 접속한 뒤, 마치 이를 전용 컴퓨터처럼 취급하였다.
- 이것이 네트워크의 시초이다.
1970년대
- ARPANET
- 데이터를 패킷이라 부르는 작은 단위로 잘라서 취급하는 패킷 교환 방식이 도입되었다.
네트워크의 데이터 전송 방식
네트워크의 데이터 전송 방식에는 크게 두가지가 있다.
회선 교환 방식(Circuit Exchange Method)
- 일대일 전송로를 먼저 만들고, 교환을 마칠때까지 전송로를 계속 사용하는 방식을 의미한다.
- 위에서 설명한 최초의 TSS 연결 방식을 떠올리면 좋다.
- 주로 과거의 전화선 연결 방식이 이를 따랐다.
- 장점
- 회선을 점유하기 때문에, 안정적인 통신 품질 유지가 가능하다.
- 단점
- 데이터가 흐르지 않을 때에도 회선이 점유되기때문에, 비용 효율이 나쁘다.
패킷 교환 방식(Packet Exchange Method)
- 패킷 교환 네트워크가 헤더 정보를 보고 수신 컴퓨터로 패킷을 전달한다.
- 위에서 설명한 ARPANET 방식을 떠올리면 좋다.
- 장점
- 회선을 점유하지 않고, 데이터를 보낼때만 사용하기 때문에, 비용 효율이 높다.
- 회선의 Utilization이 올라간다.
- 단점
- 구현이 까다롭다.
- 외부 환경에 의해, 패킷이 손실될 우려가 있다.
잠깐, 패킷이란?
- 영어로 '소포' 라는 의미
- 디지털 데이터를 작게 분할 후 헤더를 붙여 패킷으로 만들 수 있다.
- 헤더
- 수신 컴퓨터 정보
- 데이터 중 몇번째에 해당하는 패킷인지에 관한 정보 등
패킷을 다루는 방법에 대한 내용을 지금부터 알아보자.
통신을 위한 규칙, 프로토콜
패킷을 처리하기 위한 규칙
- 모두의 환경은 각각 다르기 때문에, 각 환경에 맞게 패킷을 다룰 수 있는 방법이 필요하다.
- 해당 방법은 모두가 같이 사용해야 한다.
- 따라서 프로토콜을 정의함으로써, 서로 다른 장치 간의 네트워크 통신이 가능하게 한다.
프로토콜의 역할
- 물리적 사양 명시
- LAN 케이블 소재나 커넥터 형태, 그 핀 배열에 이르기까지 네트워크에서 눈에 보이는 것들은 모두 프로토콜에 정의되어 있다.
- 실제로, NIC(Network Interface Card)는 프로토콜에 정의된 대로 타 매체에 패킷을 보낸다.
- 송신 상대 특정 방식 정의
- 패킷의 송신 상대를 특정할 수 있는 방식을 정의해둔다.
- 송신자와 수신자를 구별할 수 있는 "주소 구별법"을 정의해둔다.
- 패킷 구조 정의
- 헤더의 어디에서 어디까지가 어떤 정보를 포함하는지
- 패킷이 어떤 순서로 교환되는지
- 네트워크 노드는 해당 프로토콜을 참조하여 헤더를 해석하고, 송신 상대를 구별한다.
- 신뢰성 확립
- 에러를 알리는 방식을 정의해둔다.
- 재전송을 위한 방식도 정의해둔다.
- 네트워크의 혼잡/흐름을 제어하기 위한 방식 또한 정의해두기도 한다.
- 네트워크 자원이 가득 차서, 예상하지 못한 오버플로우가 일어나지 않도록
- 한정된 네트워크 대역을 모두 함께 잘 공유할 수 있도록 규칙을 설정해둔다.
- 보안 확보
- 상대방이 올바른 통신 상대인지 검증하는 로직 명시
- 중간의 사용자가 패킷을 가로채지 못하도록 방지하기 위한 암호화 로직 명시
- 프로토콜의 정의 방식
- 프로토콜은 계층 별로 정의되어 있다.
- 같은 계층끼리 통신하기 위해서
- 현재 계층에 최적화된 프로토콜을 정의하기 위해서
- 서로 다른 계층끼리 통신하는 방법은 하단 "계층 간 동작 방식" 내용 참고
- 프로토콜은 계층 별로 정의되어 있다.
계층 구조 모델
프로토콜은 계층 별로 정의되어 있다.
또한, 각 계층은 물리적 위치로 구분하는게 아닌, 역할로 구분한다.
각 프로토콜을 선택할 때, 어느 프로토콜 간에 비교를 해야 하는지 알기 위해서,
프로토콜을 계층 별로 분류한 모델을 알아보도록 하자.
TCP/IP 모델
- 실용성을 중시한 구조이다.
- 현재 대부분의 프로토콜은 TCP/IP 참조 모델에 대응하는 형태로 만들어져 있다.
OSI 참조 모델
- 표준화를 위해 만들어진 네트워크 계층 구조 모델이다.
- 지나치게 세세하기 때문에, 실제로 해당 모델에 대응하고 있는 프로토콜은 존재하지 않는다.
- 하지만, 통신 기능을 체계적으로 논의할 때는 매우 유용하다.
- ex) 로드밸런서를 어느걸 쓸까?
- L3 - 네트워크 계층
- L4 - 전송 계층
- L7 - 응용 계층
- ex) 로드밸런서를 어느걸 쓸까?
- “물데네트세프응”으로 암기해보자.
일반적으로 책에서 다루는 모델
- 일반적으로 OSI 7 레이어에서, 응용 계층, 프레젠테이션 계층, 세션 계층을 합쳐 "응용 계층"으로 본다.
- 트러블 슈팅 시에는 일반적으로 물리 계층과 데이터링크 계층을 나누어서 생각한다.
PDU
- PDU란?
- Protocol Data Unit
- 계층 별로 다루는 데이터 단위를 의미한다.
- PDU는 각 계층에서 요구하는 헤더와 페이로드로 구성되어 있다.
- PDU의 종류
- 응용 계층 - 메시지
- 전송 계층 - 세그먼트(TCP)/데이터그램(UDP)
- 네트워크 계층 - 패킷
- 데이터링크 계층 - 프레임
- 물리 계층 - 비트
cf. "패킷"의 모호함
- 패킷은 크게 두 종류가 있다.
- 네트워크 계층에서의 "IP 패킷"
- 네트워크를 통해 흐르는 데이터 "패킷"
- PDU 자체를 패킷이라고 부르기도 한다.
- 패킷이란 단어를 봤을 때, 정확히 어떤 패킷인지 알 수 있도록 명확히 하자.
프로토콜을 결정하는 표준화 단체
프로토콜은 두개의 표준화 단체에서 함께 관리하고 있다.
- IEEE
- I Triple E
- 비교적 하드웨어와 관련한 네트워크 기술의 표준화를 담당한다.
- IEEE802.11 과 같은 IEEE문서를 통한 표준화를 담당한다.
- IETF
- 비교적 소프트웨어와 관련한 네트워크 기술의 표준화를 담당한다.
- RFC 문서를 통한 표준화를 담당한다.
계층 간 동작 방식
지금까지는 같은 계층 내에서의 통신 방식을 이야기해보았다면, 이제는 인접한 상하위 계층 간의 통신 방식을 알아보자.
데이터의 전송
각 계층간에는, 상위 계층의 PDU를 페이로드로 보고, 자신의 헤더를 추가하여 자신의 계층의 PDU로 변환할 수 있다.
- encapsulation
- 각 계층의 페이로드에 헤더를 붙여, 한 단계 아래 계층으로 전달하는 것을 의미한다.
- decapsulation
- 각 계층의 PDU로부터 헤더를 제거하고, 페이로드만을 한단계 위 계층으로 전달하는 것을 의미한다.
상위 계층을 지원하기 위한 방식
프로토콜은 또한, 상위 계층을 지원할 때 두가지 형태로 지원이 가능하다.
- 커넥션 타입
- 안정적이다.
- 데이터를 보낼 수 있는 환경인지 확인
- 확실하게 정해진 순서를 보장
- 전송에는 다소 시간이 걸림
- 예시
- TCP
- 커넥션리스 타입
- 데이터를 보내면서 커넥션을 확립 후, 마음대로 종료
- 상대의 정상 수신을 보장하지 않음
- 빠르다.
- 예시
- UDP
- 이더넷
- IEEE802.11
계층 별 대표 프로토콜
마지막으로, 각 계층 별 대표 프로토콜을 알아보자.
물리 계층 + 데이터링크 계층
- 유선 환경
- 이더넷 (IEEE802.3)
- 무선 환경
- IEEE802.11
네트워크 계층
- IP
트랜스포트 계층
- TCP
- UDP
애플리케이션 계층
- HTTP
- HTTPS
- DNS
- FTP
- 이메일 관련
- IMAP
- POP3
- SMTP
본 내용은 그림으로 공부하는 TCP/IP 구조 도서를 참고하여 작성되었습니다.
'CS Repo > 네트워크 - Top-down Approach + @' 카테고리의 다른 글
네트워크 장비/기기의 종류와 역할 총정리 (0) | 2025.04.11 |
---|---|
PDU, PCI, SDU란? (0) | 2025.04.10 |
백엔드 개발자가 알아야 할 기초 보안 - 인증, 인가, OAuth, OpenID Connect (0) | 2025.03.09 |
OSI 7 Layer, TCP/IP 4 Layer, 그리고 HTTP와 HTTPS (0) | 2025.03.09 |
백엔드 개발자를 위한 HTTP 기본 지식 (0) | 2025.03.08 |