네트워크의 기본 구조
노드 : 네트워크 기기
네트워크 topology
네트워크 상에서 노드와 노드 사이의 연결 구조
망형, 트리형, 링형 등의 유형으로 나뉨
호스트
네트워크의 가장자리에 위치하여 네트워크를 통해 주고받는 정보를 최초로 송신하고 최종 수신하는 노드
예를 들어 노트북으로 구글 홈페이지에 접속했다면 노트북과 구글 서버 컴퓨터가 각각 호스트로서 정보를 주고 받은 것
클라이언트
노트북처럼 요청(Request)을 보내는 호스트
서버
구글의 서버 컴퓨터처럼 응답(Response)을 보내는 호스트
네트워크를 그래프로 간주했을 때 중간 노드는 호스트가 주고받는 정보를 원하는 수신지까지 안정적으로 전송하는 역할
스위치, 라우터, 공유기 등이 중간 노드 역할을 함
LAN과 WAN
LAN(Local Area Network)
가정이나 기업처럼 가까운 거리를 연결하는 한정된 공간에서의 네트워크
WAN(Wide Area Network)
LAN 간 통신으로, WAN이 인터넷을 가능하게 만드는 네트워크
일반적으로 ISP(Internet Service Provider)가 구축하고 관리
패킷 교환 네트워크
패킷(packet)
송수신 되는 데이터의 단위
패킷 단위로 주고받는 정보를 쪼개서 송수신하고 수신지에서 재조립하여 패킷을 주고받음
payload(패킷에서 송수신하고자 하는 데이터)와 헤더(+ 트레일러(패킷에 추가되는 부가 정보))로 구성됨
주소의 개념과 전송 방식
주소
호스트를 특정할 수 있는 정보
패킷의 헤더에 명시되며 대표적으로 IP 주소와 MAC 주소가 있음
유니캐스트
송신지와 수신지가 일대일로 패킷을 주고받는 전송 방식
브로드캐스트
네트워크상의 모든 호스트에게 메시지를 전송하는 방식
브로드캐스트 도메인
브로드캐스트가 전송되는 범위
호스트가 같은 브로드캐스트 도메인에 속해 있는 경우에 같은 LAN이라고 간주
멀티캐스트
네트워크 내의 동일 그룹에 속한 호스트에게만 전송하는 방식
애니캐스트
네트워크 내의 동일 그룹에 속한 호스트 중 가장 가까운 호스트에게 전송하는 방식
두 호스트가 패킷을 주고받는 과정
프로토콜
네트워크에서 통신을 주고받는 노드 간의 합의된 규칙이나 방법
호스트나 네트워크 장비들이 패킷을 이해하려면 같은 프로토콜을 이해해야 하고, 같은 프로토콜로 통신해야 함
네트워크 상에서 여러 프로토콜을 함께 사용할 수 있고 개발자가 기본적으로 알아야 할 프로토콜의 종류가 정해져 있음(IP, TCP, UDP 등)
프로토콜마다 목적과 특징이 다르므로 상황에 적합한 프로토콜을 사용해야 함
프로토콜마다 패킷의 내용이 달라질 수 있음
네트워크 참조 모델
통신이 이루어지는 단계를 계층적으로 표현한 것
패킷을 송신하는 쪽에서는 상위 계층에서 하위 계층으로 정보를 보내고, 패킷을 수신하는 쪽에서는 하위 계층에서 상위 계층으로 정보를 받아들임
OSI 모델
ISO(국제 표준화 기구)에서 만든 네트워크 참조 모델로, 통신 단계를 7개의 계층으로 나눔
물리 계층(Physical Layer)
비트 신호를 주고 받는 계층
유무선 통신 매체를 통해 운반
데이터 링크 계층 (Data Link Layer)
같은 LAN에 속한 호스트끼리 올바르게 정보를 주고받기 위한 계층
같은 네트워크에 속한 호스트를 식별할 수 있는 MAC 주소를 사용
물리 계층을 통해 주고받는 정보에 오류가 없는지 확인
네트워크 계층 (Network Layer)
네트워크 간 통신을 가능하게 하는 계층
네트워크 간 통신 과정에서 호스트를 식별할 수 있는 IP 주소가 필요하고 IP 프로토콜이 사용됨
전송 계층 (Transport Layer)
정확한 패킷을 전송하게 하는 계층
포트라는 정보를 통해 특정 응용 프로그램과 연결 다리 역할을 수행
대표적인 프로토콜에는 TCP, UDP
세션 계층 (Session Layer)
응용 프로그램 간의 연결 상태를 의미하는 세션을 관리하기 위한 계층
세션 연결 상태를 유지하거나 새롭게 생성하고, 연결을 끊는 역할
표현 계층 (Presentation Layer)
인코딩, 압축, 암호화 수행
응용 계층 (Application Layer)
사용자가 네트워크에 접근할 수 있도록 인터페이스를 제공
중요한 프로토콜(HTTP 등)이 다수 포함됨
TCP/IP 모델
구현과 프로토콜에 중점을 둔 네트워크 참조 모델
네트워크 액세스 계층(링크/네트워크 인터페이스 계층으로도 불림)
OSI 모델의 데이터 링크 계층과 유사
인터넷 계층
OSI 모델의 네트워크 계층과 유사
전송 계층
OSI 모델의 전송 계층과 유사
응용 계층
OSI 모델의 세션 계층, 표현 계층, 응용 계층을 합친 것과 유사
캡슐화와 역캡슐화
캡슐화
송신 과정에서 상위 계층의 패킷이 하위 계층의 페이로드로 간주되고 헤더 및 트레일러를 추가해 나가는 과정
역캡슐화
캡슐화 과정에서 붙인 헤더 및 트레일러를 각 계층에서 확인 후 제거하는 과정
각 계층마다 패킷을 지칭하는 이름이 다름
물리 계층 : 심볼/비트
데이터 링크 계층 : 프레임
네트워크 계층 : 패킷/데이터그램
전송 계층 : 세그먼트(TCP), 데이터그램(UDP)
그 이상의 계층 : 데이터/메시지
HTTP Request를 포함한 이더넷 프레임의 프로토콜 헤더 순서
MAC(데이터링크 계층) -> IP(네트워크 계층) -> TCP(전송 계층) -> HTTP(응용 계층)
'CS > 네트워크' 카테고리의 다른 글
소켓 통신 (0) | 2024.12.02 |
---|---|
전송 계층 - TCP와 UDP (2) | 2024.11.29 |