웅진 → 멀티캠퍼스 (전선 1개)
웅진 → 유데미 (전선 추가)
웅진 → 더 많은 컴퓨터들 (각각 전선 추가 필요)
웅진 컴퓨터 1 컴퓨터 2 멀티캠퍼스
| | | |
+------+--------------+--------------+-------------+------+
| 전선 |
+---------------------------------------------------------+
[ 구리 전선 ]
컴퓨터 A ---+
컴퓨터 B ---+ 연결 (데이터 공유)
컴퓨터 C ---+
[ 데이터를 보내는 컴퓨터 ] [ 데이터를 받는 컴퓨터 ]
+--------------------+ +--------------------+
| 2계층 인코더 | | 2계층 디코더 |
| (Framing 추가) | | (Framing 제거) |
+--------------------+ +--------------------+
| ^
v |
+--------------------+ +--------------------+
| 1계층 인코더 | | 1계층 디코더 |
| (아날로그 변조) | | (디지털 변환) |
+--------------------+ +--------------------+
| ^
v |
전선 -------------------------------------> 전선
(아날로그 신호 흐름) (아날로그 신호 수신)
+-----+ +-----+
| 마 |--------| 바 |
+-----+ +-----+
| |
+--------+ +----+----+
| | |
+-----+ +-----+ +-----+
| 가 | | 다 | | 라 |
+-----+ +-----+ +-----+
| | |
+----+ +----+ +----+ +----+ +----+ +----+
| A | | PC | | PC | | PC | | PC | | B |
+----+ +----+ +----+ +----+ +----+ +----+
+-----------+ 데이터 전송 +-----------+
| 컴퓨터 A |------------------->| 라우터 가 |
+-----------+ +-----------+
1. 데이터 생성:
- 원본 데이터에 B 컴퓨터의 IP 주소(예: 61.23.51.25)를 추가.
- 데이터 구조: [ 목적지 IP | 데이터 ]
예: [ 61.23.51.25 | Hello, B! ]
+-----------+ +-----------+
| 라우터 가 |-------------------> | 라우터 마 |
+-----------+ +-----------+
1. 데이터 수신:
- 라우터 가는 패킷을 받아 목적지 IP(61.23.51.25)를 확인.
- 라우터 가는 자신과 직접 연결된 장치 중 해당 IP가 없음을 확인.
2. 데이터 전달:
- 데이터 패킷을 다음 라우터 마에게 전달.
+-----------+ +-----------+
| 라우터 마 |-------------------> | 라우터 바 |
+-----------+ +-----------+
1. 데이터 확인:
- 라우터 마는 데이터 패킷을 열어 목적지 IP를 확인.
- 목적지 IP(61.23.51.25)에 도달하려면 다음 라우터 바로 데이터를 전달해야 함을 결정.
2. 데이터 전달:
- 데이터 패킷을 라우터 바로 전송.
+-----------+ +-----------+
| 라우터 바 |-------------------> | 컴퓨터 B |
+-----------+ +-----------+
1. 데이터 확인:
- 라우터 바는 목적지 IP(61.23.51.25)가 자신과 연결된 컴퓨터 B의 IP 주소임을 확인.
2. 데이터 전달:
- 데이터 패킷을 컴퓨터 B에 전달.
3. 컴퓨터 B:
- 데이터 수신 완료: "Hello, B!"
[ 데이터를 보내는 컴퓨터 ] [ 라우터 ]
+------------------+ +------------------+
| 3계층 인코더 | | 3계층 디코더 |
| [목적지 IP 추가] | | [목적지 IP 확인] |
+------------------+ +------------------+
| ^
v |
+------------------+ +------------------+
| 2계층 인코더 | | 2계층 디코더 |
| [프레임 추가] | | [프레임 제거] |
+------------------+ +------------------+
| ^
v |
+------------------+ +------------------+
| 1계층 인코더 | | 1계층 디코더 |
| [아날로그 변조] | | [디지털 복원] |
+------------------+ +------------------+
| ^
v |
전선 -----------------------------------------> 전선
(아날로그 신호 전송) (아날로그 신호 수신)
[ 라우터 내부 재처리 과정 ]
+------------------+ +------------------+
| 3계층 인코더 | <-------------------------------+ | 3계층 디코더 |
| [목적지 IP 유지/수정] | [목적지 IP 확인] |
+------------------+ +------------------+
| ^
v |
+------------------+ +------------------+
| 2계층 인코더 | | 2계층 디코더 |
| [프레임 추가] | | [프레임 제거] |
+------------------+ +------------------+
| ^
v |
+------------------+ +------------------+
| 1계층 인코더 | | 1계층 디코더 |
| [아날로그 변조] | | [디지털 복원] |
+------------------+ +------------------+
| ^
v |
전선 -----------------------------------------> 전선
(아날로그 신호 전송) (아날로그 신호 수신)
[ 데이터를 보내는 컴퓨터 ] [ 데이터를 받는 컴퓨터 ]
+------------------+ +------------------+
| 4계층 인코더 | | 4계층 디코더 |
| [포트번호 추가] | | [포트번호 확인] |
+------------------+ +------------------+
| ^
v |
+------------------+ +------------------+
| 3계층 인코더 | | 3계층 디코더 |
| [목적지 IP 추가] | | [목적지 IP 확인] |
+------------------+ +------------------+
| ^
v |
+------------------+ +------------------+
| 2계층 인코더 | | 2계층 디코더 |
| [프레임 추가] | | [프레임 제거] |
+------------------+ +------------------+
| ^
v |
+------------------+ +------------------+
| 1계층 인코더 | | 1계층 디코더 |
| [아날로그 변조] | | [디지털 복원] |
+------------------+ +------------------+
| ^
v |
전선 -------------------------------------------> 전선
(아날로그 신호 전송) (아날로그 신호 수신)
[ 수신 데이터 ]
1. [포트번호: 8000 | 데이터: 메시지1]
2. [포트번호: 8000 | 데이터: 메시지2]
3. [포트번호: 9000 | 데이터: 주문정보]
[ 포트번호로 데이터 구분 및 전달 ]
8000 → 줌
9000 → 카카오톡
1. 데이터 생성:
[ 원본 데이터 ] → [ 4계층 인코더 ]
데이터: "Hello, World!"
포트번호 추가: "8000"
결과: [ 포트번호: 8000 | 데이터: Hello, World! ]
2. IP 주소 추가 (3계층):
결과: [ 목적지 IP: 192.168.0.10 | 포트번호: 8000 | 데이터: Hello, World! ]
3. 프레임 추가 (2계층):
결과: [ 프레임: 시작 | 목적지 IP: 192.168.0.10 | 포트번호: 8000 | 데이터: Hello, World! | 프레임: 끝 ]
4. 아날로그 변조 (1계층):
결과: 아날로그 신호 전송.
5. 수신 컴퓨터 디코딩:
- 1계층 디코더: 아날로그 신호 → 디지털 신호 복원.
- 2계층 디코더: 프레임 제거.
- 3계층 디코더: 목적지 IP 확인.
- 4계층 디코더: 포트번호 확인 및 프로세스에 전달.
8000 → 줌
9000 → 카카오톡
[ 데이터를 보내는 컴퓨터 ]
+------------------+
| 4계층 인코더 |
| [포트번호 추가] |
+------------------+
|
v
+------------------+
| 3계층 인코더 |
| [목적지 IP 추가] |
+------------------+
|
v
+------------------+
| 1-2계층 인코더 |
| [프레임 추가 및 |
| 아날로그 변조] |
+------------------+
|
v
[ 전선 ]
(아날로그 신호 전송)
---
[ 데이터를 받는 컴퓨터 ]
+------------------+
| 1-2계층 디코더 |
| [디지털 신호 복원 및 |
| 프레임 제거] |
+------------------+
|
v
+------------------+
| 3계층 디코더 |
| [목적지 IP 확인] |
+------------------+
|
v
+------------------+
| 4계층 디코더 |
| [포트번호 확인] |
+------------------+
|
v
[ 최종 데이터 전달 ]
---
데이터 흐름:
1. [보내는 컴퓨터]:
- 4계층 인코더:
데이터: "data"
포트번호 추가: `Port: 9000`
결과: `[Port: 9000 | data]`
- 3계층 인코더:
목적지 IP 추가: `Destination: 55.10.54.75`
결과: `[Destination: 55.10.54.75 | Port: 9000 | data]`
- 1-2계층 인코더:
프레임 추가 및 아날로그 변조.
결과: `[아날로그 신호 전송]`
2. [전선]:
- 아날로그 신호로 데이터 전송.
3. [받는 컴퓨터]:
- 1-2계층 디코더:
디지털 신호 복원 및 프레임 제거.
결과: `[Destination: 55.10.54.75 | Port: 9000 | data]`
- 3계층 디코더:
목적지 IP 확인.
결과: `[Port: 9000 | data]`
- 4계층 디코더:
포트번호 확인.
결과: `data`가 해당 포트의 프로그램(예: 배달의 부족)으로 전달.
[ OSI 모델 ] [ TCP/IP 모델 ]
+-------------------+ +-------------------+
| 7. 응용 계층 | <-------------> | 응용 계층 |
| (Application) | | (Application) |
+-------------------+ +-------------------+
| 6. 표현 계층 | | |
| (Presentation) | 통합됨 | |
+-------------------+ ---> | |
| 5. 세션 계층 | | |
| (Session) | | |
+-------------------+ +-------------------+
| 4. 전송 계층 | <-------------> | 전송 계층 |
| (Transport) | | (Transport) |
+-------------------+ +-------------------+
| 3. 네트워크 계층 | <-------------> | 인터넷 계층 |
| (Network) | | (Internet) |
+-------------------+ +-------------------+
| 2. 데이터 링크 계층 | <---------> | 네트워크 인터페이스|
| (Data Link) | 통합됨 | (Network Interface)|
+-------------------+ +-------------------+
| 1. 물리 계층 | | |
| (Physical) | | |
+-------------------+ +-------------------+
---
[ 주요 차이점 ]
1. OSI 모델:
- 총 7개의 계층으로 세분화.
- 세션 계층(5), 표현 계층(6), 응용 계층(7)을 독립적으로 나눔.
- 데이터 링크 계층(2)과 물리 계층(1)을 독립적으로 나눔.
2. TCP/IP 모델:
- 총 4개의 계층으로 단순화.
- 응용 계층: OSI의 응용 계층, 표현 계층, 세션 계층이 통합.
- 인터넷 계층: OSI의 네트워크 계층과 동일.
- 네트워크 인터페이스 계층: OSI의 데이터 링크 계층과 물리 계층을 통합.
3. 실질적인 사용:
- 현대 인터넷은 **TCP/IP 모델**을 주로 사용.
- OSI 모델은 개념적 모델로 주로 참고용.
---
[ 데이터 흐름 비교 ]
[ OSI 모델 ] [ TCP/IP 모델 ]
1. 응용 계층 (Application) 1. 응용 계층 (Application)
2. 표현 계층 (Presentation) 통합됨
3. 세션 계층 (Session) 통합됨
4. 전송 계층 (Transport) 2. 전송 계층 (Transport)
5. 네트워크 계층 (Network) 3. 인터넷 계층 (Internet)
6. 데이터 링크 계층 (Data Link) 4. 네트워크 인터페이스 계층
7. 물리 계층 (Physical) 통합됨
[ 데이터 전송 흐름: TCP/IP 모델 기반 ]
[ 데이터 전송측: 서버 컴퓨터 ] [ 데이터 수신측: 클라이언트 컴퓨터 ]
+----------------------+ +-------------------------+
| HTTP encoder | | HTTP decoder |
| [데이터: "Hello World"]| | [데이터: "Hello World"] |
| [상태코드: 500 추가] | | [상태코드: 500 확인]. |
+----------------------+ +--------------------------+
| ^
v |
+-------------------+ +-------------------+
| 4계층 encoder | | 4계층 decoder |
| [포트번호: 9000 추가] | | [포트번호: 9000 확인]|
+-------------------+ +-------------------+
| ^
v |
+-------------------+ +-------------------+
| 1-3계층 encoder | | 1-3계층 decoder |
| [프레임 추가 및 | | [프레임 제거 및 |
| 아날로그 변조] | | 디지털 복원] |
+-------------------+ +-------------------+
| ^
v |
[ 전선 ] ------------------------------------------> [ 전선 ]
(아날로그 신호 전송) (아날로그 신호 수신)
---
[ 전송 단계 요약: 서버 컴퓨터 → 클라이언트 컴퓨터 ]
1. **HTTP encoder**:
- 데이터: "Hello World"
- 상태코드: `500` 추가.
- 결과: `[상태코드: 500 | 데이터: Hello World]`
2. **4계층 encoder**:
- 포트번호: `9000` 추가.
- 결과: `[포트: 9000 | 상태코드: 500 | 데이터: Hello World]`
3. **1-3계층 encoder**:
- 프레임 추가 및 아날로그 변조.
- 결과: `[아날로그 신호로 변환된 데이터]`
4. **전송**:
- 아날로그 신호로 전선 통해 전송.
---
[ 수신 단계 요약: 클라이언트 컴퓨터 ]
1. **1-3계층 decoder**:
- 아날로그 신호 → 디지털 복원.
- 프레임 제거.
- 결과: `[포트: 9000 | 상태코드: 500 | 데이터: Hello World]`
2. **4계층 decoder**:
- 포트번호 확인.
- 결과: `[상태코드: 500 | 데이터: Hello World]`
3. **HTTP decoder**:
- 상태코드 확인.
- 최종 데이터: `"Hello World"`
---
[ TCP/IP 모델 계층 역할 ]
1. **응용 계층 (HTTP)**:
- 데이터 생성 및 상태코드 추가.
- 수신 측에서 상태코드 확인 및 데이터 추출.
2. **전송 계층**:
- 포트번호를 추가하여 프로세스 식별.
- 수신 측에서 포트번호 확인.
3. **인터넷 계층 및 네트워크 인터페이스 계층**:
- 데이터를 프레임으로 캡슐화하고 아날로그 신호로 변조.
- 수신 측에서 디지털 신호로 복원 및 프레임 제거.