네트워크는 노드와 간선으로 이루어진 자료구조라는 점에서 그래프의 형태를 띤다고 할 수 있다.
네트워크 기기가 노드, 네트워크 기기 간에 정보를 주고받는 유무선의 통신 매체가 간선
- 네트워크 토폴로자: 네트워크 상에서 노드와 노드 사이의 연결구조
노드가 어떻게 연결되고 배치되느냐에 따라 망형, 트리형, 링형 등의 유형으로 나눌 수 있다.
- 호스트: 정보를 최초로 송신하고 최종으로 수신하는 노드
예) 노트북의 웹 브라우저를 통해 구글 홈페이지에 접속했다면 노트북과 구글의 서버 컴퓨터가 각각 호스트로서 정보를 주고받은 것이다.
- 노트북이 구글의 서버 컴퓨터에게 웹 페이지를 가져다 달라는 요청을 보낸다.
- 구글의 서버 컴퓨터가 노트북에게 웹 페이지로 응답한다.
이 과정에서 노트북 처럼 요청(request)을 보내는 호스트를 클라이언트, 구글의 서버 컴퓨터 처럼 응답(response)을 보내는 호스트를 서버라한다.
클라이언트와 서버는 주고 받는 정보의 방향에 따라 부여된 역할이다.
네트워크를 그래프로 간주했을 때 중간에 위치한 중간 노드는 가장자리에 위치한 호스트가 주고받는 정보들을 원하는 수신지까지 안정적으로 전송하는 역할을 한다. (스위치와 라우터, 공유기등이 해당된다
LAN과 WAN
네트워크는 규모에따라 LAN과 WAN으로 나뉜다.
- LAN: 근거리 네트워크를 의미한다. 이름 그대로 가정집이나 기업처럼 비교적 가까운 거리를 연결하는 한정된 공간에서의 네트워크를 말한다. (집이나 사무실에 있는 공유기를 통해 모든 네트워크 기기가 통신하고 있다면 LAN이 공유기를 기준으로 구축되었다고 할 수 있다.) LAN간의 통신도 빈번하다.
- WAN: 원거리 네트워크를 의미한다. WAN을 통해 LAN간 통신이 이루어진다. WAN이 인터넷을 가능하게 만드는 네트워크라고 할 수 있음. ISP라는 인터넷 서비스 업체가 구축하고 관리한다.
대표적인 ISP 업체: KT, LG유플러스, SK브로드밴드
패킷 교환 네트워크
네트워크를 통해 주고받는 데이터는 한 번에 송수신 되지않고 여러 데이터로 쪼개져서 송수신된다.
- 패킷: 네트워크를 통해 송수신 되는 데이터의 단위
오늘날의 네트워크는 패킷 단위로 주고받는 정보를 쪼개서 송수신하고 수신지에서 재조립하며 패킷을 주고 받는 패킷 교환 네트워크가 대부분이다.
하나의 패킷은 페이로드와 헤더로 구성되어 있다. 때로는 트레일러라는 정보가 포함되기도 한다.
- 페이로드: 패킷에 송수신 하고자하는 데이터
- 헤더,트레일러: 패킷에 추가되는 부가 정보
택배로 따지자면 페이로드는 택배를 통해 송수신하고자하는 물품, 헤더와 트레일러는 택배 앞뒤로 붙는 송장과 같음
주소 개념과 전송 방식
주소: 패킷의 헤더에 명시되는 정보로 대표적인 주소로는 IP주소와 MAC 주소가 있다.
주소를 바탕으로 다양한 수신지 유형을 지정해 패킷을 보낼 수 있다. 수신지를 특정 호스트 하나로 지정할 수도 있고 네트워크 내 모든 호스트를 지정할 수도 있다.
- 유니캐스트: 일대일로 메시지를 주고받는 전송방식
- 브로드캐스트: 네트워크상의 모든 호스트에게 메시지를 전송하는 전송방식. 브로드캐스트가 전송되는 범위를 브로드캐스트 도메인이라고한다. 호스트가 같은 브로드캐스트 도메인에 속해 있는 경우에는 같은 LAN에 속해 있다고 간주한다.
- 멀티캐스트: 네트워크 내의 동일 그룹에 속한 호스트에게만 전송방식
- 애니캐스트: 네트워크 내의 동일 그룹에 속한 호스트 중 가장 가까운 호스트에게 전송하는 방식
두 호스트가 어떻게 패킷을 주고 받습니꺼!!
프로토콜
네트워크에서 통신을 주고받는 노드 간의 합의된 규칙이나 방법을 말한다.
중요한것은 프로토콜마다 목적과 특징이 다르다는것임.
프로토콜은 목적이 있다. 유사한 목적을 지닌 프로토콜들이 존재할 경우 각 프로토콜을 구분 짓는 특징이 존재한다.
- IP: 네트워크 간의 주소를 지정한다는 목적을 가진 프로토콜
- ARP: IP 주소와 MAC 주소를 대응시킨다는 목적
- HTTPS: 보안상 HTTP에 비해 안전하다는 특징
- TCP: UDP에 비해 신뢰성이 높다는 특징
예시들 처럼 프로토콜은 목적과 특징이 다르다. 마찬가지로 각각의 목적과 특징이 다른 프로토콜로 구성된 패킷의 내용 또한 달라질 수 있다.
패킷은 패킷을 구성하는 프로토콜의 목적과 특징이 따라 그에 걸맞는 패킷 헤더를 가진다.
네트워크 참조 모델
호스트 간에 패킷을 주고받는 과정은 택배를 주고받는 과정과 비슷하다.
패킷을 주고받는 과정에도 정형화된 순서가 있고 계층적으로 표현할 수 있다는 것이다.
- 네트워크 참조 모델: 통신이 이루어지는 단계를 계층적으로 표현한 것
패킷을 송신하는 쪽에서는 상위계층에서 하위계층으로 정보를 보내고, 패킷을 수신하는 쪽에서는 하위계층에서 상위계층으로 정보를 받아 들이는것이다.
OSI 모델
국제 표준화 기구에서 만든 네트워크 참조 모델로 통신 단계를 7단계로 나눠 OSI 7계층이라 부른다.
1. 물리계층
최하위 계층으로 비트 신호를 주고받는 계층이다. 네트워크를 통해 주고받는 정보가 0과 1로 이루어진 신호로 구성된다.
물리 계층은 이러한 신호를 유무선 통신 매체를 통해 운반하는 계층이다.
2. 데이터 링크 계층
같은 LAN에 속한 호스트끼리 올바르게 정보를 주고받기 위한 계층이다. 같은 네트워크에 속한 호스트를 식별할 수 있는 주소(MAC)를 사용하고 물리 계층을 통해 주고 받는 정보에 오류가 없는지 확인하기도 한다.
물리계층과 데이터 링크 계층은 서로 밀접하게 연관 되어있고 하드웨어와 밀접하게 맞닿아 있는 계층이다.
3. 네트워크 계층
네트워크 간 통신을 가능하게 하는 계층이다. LAN을 넘어 다른 네트워크와 통신을 주고받기 위해 필요한 계층이다.
네트워크간 통신 과정에서 호스트를 식별할 수 있는 주소(IP)가 필요한데 대표적으로 사용되는 프로토콜이 IP다
4.전송 계층
네트워크를 통해 패킷은 도중에 유실 되거나 순서가 바뀔때가 있다. 이러한 상황에 대비해 신뢰성 있는 전송을 가능하게하는 계층이다.
포트라는 정보를 통해 특정 응용 프로그램과의 연결 다리 역할을 수행하는 계층이기도 하고 대표적인 프로토콜에서는 TCP와 UDP가 있다.
5. 세션 계층
응용 프로그램 간의 연결 상태를 의미하는 세션을 관리하기 위한 계층이다. 응용 프로그램 간의 연결 상태를 유지하거나 새롭게 생성하고 필요시 연결을 끊는 역할을 한다.
6. 표현 계층
번역가 같은 역할을 한다. 인코딩과 압축, 암호화와 같은 작업을 수행한다.
7. 응용 계층
사용자와 가장 밀접하다. 여러 네트워크 서비스를 제공하는 계층으로 중요한 프로토콜들이 다수 포함 되어 있다.
대표적인 프로토콜에는 HTTP,HTTPS,DNS등이 있다.
TCP/IP 모델
TCP/IP 4계층이라고도 불린다. 구현과 프로토콜에 중점을 둔 네트워크 참조 모델이다.
1. 네트워크 액세스 계층
링크계층, 네트워크 인터페이스 계층이라고도 불린다. OSI 데이터 링크 계층과 유사하다.
2. 인터넷 계층
OSI 모델의 네트워크 계층과 유사
3.전송 계층
OSI 모델의 전송 계층과 유사
4. 응용 계층
OSI 모델의 세션,표현,응용 계층을 합친것과 유사하다.
캡슐화와 역캡슐화
프로토콜과 네트워크 참조 모델을 토대로 이뤄지는 패킷의 송수신 과정 중 송신 과정에서는 캡슐화가 이루어지고 수신과정에서는 역캡술화가 이루어진다.
- 패킷을 송신하는 쪽에서는 상위계층 -> 하위계층으로 정보를 보내고 패킷을 수신하는 쪽에서는 하위계층 -> 상위계층으로 정보를 받아들인다.
- 네트워크 계층 구조를 이용하면 프로토콜을 계층별로 구성할 수 있다.
- 하나의 패킷은 헤더와 페이로드를 포함하며, 프로토콜의 목적과 특징에 따라 헤더의 내용은 달라질 수 있음
각 계층에서는 어떤 정보를 송신할 때 상위계층으로부터 내려 받은 패킷을 페이로드삼아 각 계층에 포함된 프로토콜의 각기 다른 목적과 특징에 따라 헤더 혹은 트레일러를 덧붙인 다음 하위계층으로 전달한다.
- 캡슐화: 송신 과정에서 헤더(및 트레일러)를 추가해 나가는 과정을 의미함
- 역캡슐화: 캡슐화 과정에서 붙인 헤더를 각 계층에서 확인한 뒤 제거하는 과정을 의미함
유의해야할 점은 각 계층에서 주고받는 패킷을 지칭하는 이름이 다르다는것이다.
계층 | 패킷의 이름 | |
그 이상의 계층 | 데이터 또는 메시지 | |
전송 계층 | TCP 기반 패킷의 경우 | 세그먼트 |
UDP 기반 패킷의 경우 | 데이터그램 | |
네트워크 계층 | 패킷(이하 IP패킷)또는 데이터그램 | |
데이터 링크 계층 | 프레임 | |
물리계층 | 심볼 또는 비트 |
캡슐화와 역캡슐화 과정
'cs' 카테고리의 다른 글
03. 네트워크 계층 - IP (0) | 2025.03.19 |
---|---|
02. 물리 계층과 데이터 링크 계층 (0) | 2025.03.19 |
06.그래프 (0) | 2025.03.17 |
05.트리 (0) | 2025.03.12 |
03.컴퓨터구조(3,4,5) (1) | 2025.02.05 |