1. What is the Internet?
1. 인터넷의 정의
1) "nuts and bolts" view (= 이렇게 구성된 것이 인터넷이다.)
- 컴퓨팅 능력 있는 기기들의 연결 수가 많다.
- Packet switches (router, switch)
- 연결 link (유선&무선)
- => 네트워크들이 서로 연결되어 또 다른 네트워크를 구성
2) "service" view (= 이런 서비스를 제공하는 것이 인터넷이다.)
2. What is a protocol?
- 네트워크 구성원들 간의 주고받는 메시지에 대한 형식, 순서, field 값에 따라 취할 action을 정의한다.
3. Network Edge
* core = router들의 연결
* access망 = host와 router를 연결, host가 core에 접근하기 위해 거치는 망
* host = client & server
1. Access network
1) cable-based access (케이블 방송)
*splitter = packet들을 주파수 or 시간 등으로 나눠서 실어 보내면 분리해준다.
- 방송용, 데이터용 데이터 두 가지를 동시에 받고, splitter로 분리해서 사용한다.
2) digital subscriber line (전화선 이용)
- 전화용, 데이터 downlink, 데이터 uplink 세 가지를 동시에 받고, splitter로 분리해서 사용한다.
3) 무선
- WLANs(Wireless local area networks) = 무선 LAN (ex) wifi
- Wide-area cellular access networks (ex) 1G~5G
2. Host
- packet 단위로 데이터를 보낸다. (= application 계층에서 온 긴 메시지를 작게 잘라서 network로 보낸다.)
- \(T_{x}\) (transmission delay)= \(\frac{L}{R}\) (초) : L bits인 packet을 이 transmission rate으로 내보내는 데 걸리는 시간
* L (bits), R(bits/sec)
3. Links : physical media
- 송수신자 사이에 있는 연결
- 유선(guided media) = 광섬유, 구리선
- 무선(unguided media) = wifi, cellular망
4. Network core
: router들을 막 연결해 놓은 것
1. Packet switching : host에서 message를 packet으로 잘라서 전달
1) packet은 목적지까지 router들을 통해 길을 찾아 이동
2) store-and-forward : 버퍼에 우선 저장하고, 목적지 주소에 맞는 값을 routing table을 보고 맞는 곳으로 내보냄.
3) queueing(=buffering) : 보내는 것보다 들어오는 속도가 빠를 때, 버퍼에 데이터가 쌓인다.
4) 문제점
- queueing delay : 자기차례가 올 때까지 버퍼에서 기다리는 시간
- packet loss : buffer가 다 찼을 때, 또 보내면 해당 packet은 손실된다.
- out-of-order : 하나의 message를 여러 packet으로 나눠 보내기 때문에 순서 맞춰주는 작업이 필요하다.
+) 회선교환보다 한 번에 더 많은 사용자를 수용할 수 있다.
2. Circuit switching (회선 교환)
1) packet교환 방법 이전에 쓰던 방법
2) 데이터를 전송하기 전에 회선을 만들어야 한다. (=자원을 확보해야 한다.)
3) 자원을 다 쓰면 놓아준다.
(1) 물리적 라인 (2) 주파수(FDM), 시간(TDM)
5. Performance
1. Delay
$$d_{nodal} = d_{proc} + d_{queue} + d_{trans} + d_{pro}$$
* $d_{nodal}$ = 총 지연시간
* $d_{proc}$ = processing 시간, buffer에서 하나 꺼내서 table보고 어디로 보낼지 결정하는 시간
* $d_{queue}$ = queueing delay, 자기 앞의 데이터가 다 처리되고 자기 차례가 오기까지 기다리는 시간
* $d_{trans}$ = transmission delay, packet 하나를 내보내는 데 걸리는 시간
* $d_{pro}$ = propagation delay, 목적지까지 걸리는 시간
2. Loss
= buffer 크기가 유한해서 발생하는 문제
3. Throughput
= 특정 시간에 얼마나 전송할 수 있는가
6. Security
1. malware
- 비정상적으로 동작하는 소프트웨어
- 감염된 host는 *botnet에 등록되고 특정 시스템을 공격하게 함
* botnet : 나쁜 일하는 애들끼리 연결해놓은 것
2. packet "sniffing" (=packet interception)
- A가 B에게 보내고 있는데, C가 엿듣는다.
3. IP snoofing
- 거짓 주소를 사용해서 남이 보낸 것처럼 보낸다. ex) C가 보내는데 보내는 이를 B로 해서 보냄.
7. Protocol layers
- 각 계층마다 프로토콜이 존재한다.
1. 프로토콜 계층
1) Physical 계층
- 비트에 대한 약속
2) Link 계층
- 무선이든 유선이든 에러 없이 주고 받는 것을 확실히 하자
- error control = error detection + error correction
3) Network 계층
- routing(경로 찾기)을 위한 프로토콜
4) Transport 계층
- network에서 제공되는 서비스를 응용(Application)에서 요구되는 서비스로 변환해준다.
=> 보낸 것과 받은 것의 순서가 달라도 상관없는 응용일 경우, 순서 맞출 필요 없다.
- 긴 데이터를 packet 단위로 잘라 보내면 문제점
1. out-of order : 순서를 맞추기 위해 데이터에 번호를 붙여 보내자
2. loss
ex) 1 2 4 5 => 3번 packet 손실 (손실 여부 & 손실 위치를 알아야 한다.)
5) Application 계층
- 메시지 교환 방법, action 등을 정의
- 예시 : HTTP
2. ISO/OSI reference model
1) application 계층
2) presentation 계층
- Application들이 data 의미를 해석하는 것을 가능하게 함 ex) 암호화&압축에 대한 약속
3) session 계층
- transport 간의 관계 ex) 음성&화면 정보 간의 관계
4) transport 계층
5) network 계층
6) link 계층
7) physical 계층
'CS > 컴퓨터망' 카테고리의 다른 글
CH2) Application Layer (0) | 2021.07.07 |
---|