(참고: Fastcampus 강의, 강민철의 인공지능 시대 필수 컴퓨터 공학 지식)
1. OT
Contents
- 네트워크 개요
- 프로토콜과 캡슐화
- 네트워크의 성능
(1) 네트워크 개요
네트워크 = “여러 장치”들이 서로 정보를 주고 받을 수 있는 “통신망”
- LAN: Local Area Network
- WAN: Wide Area Network
인터넷 = 네트워크의 네트워크
컴퓨터 네트워크의 구성요소
- (1) 노드 (Node)
- (2) 간선 ( = 통신 링크 )
- (3) 메세지
a) 노드
- 종단 (end) 시스템, 호스트
- 메세지를 최초로 송신, 생성하는 대상
- “주소”를 통해 위치 특정
- 세 종류
- 유니캐스트: 1대 “1” 통신
- 브로드캐스트: 1대 “다” 통신
- 멀티캐스트: 1대 “그룹” 통신
b) 서버와 클라이언트
특정한 종류의 노드(=호스트)
- 클라이언트: “요청”을 보내는 호스트
- 서버: “응답”을 보내는 호스트
c) (중간) 노드
- 네트워크 장비
- 예시) 라우터, 스위치, 공유기 등
d) 간선 ( = 통신 링크 )
- “유선” 케이블 ( e.g., 트위스티드 페어 케비을, 광케이블 )
- “무선” ( e.g., 와이파이 )
e) 메세지
- 주고 받는 “정보”
- 예시) 웹 페이지, 사진, 동영상
f) LAN vs. WAN
네트워크를 범위에 따라 나눔
- LAN: “근거리”를 연결한 네트워크 (e.g, 가정 내 기기들 간의 연결)
- WAN: “원거리”를 연결한 네트워크 (e.g., 인터넷)
WAN에 접속하는 방법? ISP에 의해 구축
- ISP (Internet Service Provider) 예시
- KT, LG U+, SK 브로드밴드
(2) 프로토콜과 캡슐화
a) 패킷 (Packet) 교환 네트워크
-
[단위] 메세지는 “패킷” 단위로 주고 받는다!
(즉, 데이터는 패킷 단위로 쪼개져서 나눠지고, 도착해서 재조립된다)
b) 회선 (Circuit) 교환 네트워크
-
정해진 회선 (circuit)으로만 통신하는 네트워크
(사전에 연결 수립 작업)
- 따라서, 다른 호스트는 중간에 끼어들 수 없음
- 장&단점
- 장) 전송률 보장
- 단) 회선 이용률 저하
오늘 날은 주로 패킷 (Packet) 교환 네트워크를 사용한다!
c) 패킷 구성 요소
- 헤더 (header): 패킷에 붙일 “부가 정보”
- 페이로드 (payload): 패킷에 보낼 “정보”
- (트레일러): 패킷 “뒤에” 붙일 “부가정보”
d) 프로토콜 (protocol)
장비 간 정보를 주고 받을 “규칙/방법/언어”
(즉, 호스트 간에 합의된 “의사소통 규칙”이다)
- e.g., HTTP, FTP
헤더의 내용은 프로토콜의 영향을 받는다!
\(\rightarrow\) 프로토콜이 달라지면, 헤더도 당연히 달라진다!
( A 프로토콜에서는 aaa 방식으로 헤더를 붙여야함! )
e) 네트워크 참조 모델
송수신 과정에서의 정형화된 단계
예시) OSI 모델 vs. TCP/IP 모델
모델 | 계층 수 | 계층 이름 요약 |
---|---|---|
OSI | 7계층 | 응-표-세-전-네-데-물 |
TCP/IP | 4계층 또는 5계층 | 응-전-인-네-링 (응용-전송-인터넷-링크) |
OSI 계층 | TCP/IP 계층 | 설명 |
---|---|---|
7. 응용(Application) | 응용(Application) | 사용자 서비스 제공 (HTTP, FTP 등) |
6. 표현(Presentation) | (통합됨) | 데이터 형식 변환, 암호화 등 |
5. 세션(Session) | (통합됨) | 세션 관리 (연결 유지 등) |
4. 전송(Transport) | 전송(Transport) | 종단 간 통신 (TCP, UDP) |
3. 네트워크(Network) | 인터넷(Internet) | 주소 지정, 라우팅 (IP) |
2. 데이터링크(Data Link) | 네트워크 액세스/링크(Link) | 프레임 전송, MAC 주소 등 |
1. 물리(Physical) | (통합됨) | 전기/광 신호로 데이터 전달 |
항목 | OSI 모델 | TCP/IP 모델 |
---|---|---|
개발 시기 | 이론적으로 먼저 제안됨 (1980년대) | 실질적인 인터넷 프로토콜로 개발 |
구조 | 이론적, 명확히 7계층 분리 | 실용적, 일부 계층 통합 |
적용 | 참고 모델로 주로 사용됨 | 실제 인터넷에서 사용됨 |
프로토콜 정의 여부 | 없음 (모델만 정의함) | 있음 (TCP, IP 등 포함) |
f) 캡슐화와 역캡슐화
캡슐화 (encapsulation)
-
계층마다 주로 사용되는 protocol은 다르다
- 응용 계층: HTTP
- 전송 계층: TCP
- 네트워크 계층: IP
-
캡슐화 = 계층을 지나면 지날 수록, 헤더가 계속 추가됨
( 상위 계층으로부터 내려받은 패킷을 페이로드로 삼아서, 상위 계층으로부터 받은 정보에 프로토콜에 걸맞는 헤더 (혹은 트레일러)를 덧붙이는 것 )
역캡슐화 (encapsulation)
- 캡슐화 과정에서 붙인 헤더 (및 트레일러)를 각 계층에서 분리하는 것
요약: 컴퓨터 간의 메세지를 주고 받을 때, 캡슐화/역캡슐화 과정을 거치며 통신한다!
PDU: 각 계층에서 캡슐화된 데이터를 지칭
(3) 네트워크의 성능
a) 트래픽
특정 시간 동안 네트워크 내 정보 흐름
( = 얼마나 많은 패킷들이 한 순간 몰리는가 )
- “트래픽이 몰린다” (과부하, 오버헤드)
- 트래픽을 분산한다
b) 전송 속도 & 처리율
단위
- bps(b/s, bits per second)
- Mbps(Mb/s, Megabits per second)
- Gbps(Gb/s, Gigabits per second)
전송속도 & 처리율
- 전송 속도: (기대/이상) 기대 가능한 속도
- 처리율 (Throughput): (현실적) 단위 시간 동안 네트워크를 통해 전송되는 데이터 양
c) 대역폭
-
네트워크 트래픽을 수용할 수 있는 용량
-
송수신 가능한 최대 데이터 양
( = “전송매체의 두께” )
d) 패킷 손실 (Packet loss)
- 얼마나 많은 패킷이 송수신 과정에서 “손실” 되었는가
- 보통 백분율 (%)로 표기