| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
- lombok
- Google OAuth
- 일급 객체
- builder
- spring security
- OAuth 2.0
- synchronized
- Volatile
- 일급 컬렉션
- factory
- java
- Dependency Injection
- Spring
- Today
- Total
HJW's IT Blog
Computer Network: 9주 본문
네트워크 계층
> 네트워크 계층은 전송 계층의 세그먼트를 보내는 호스트에서 받는 호스트로 전달한다.
> 송신측에서는 segment 들을 암호화 하여 datagram으로 만든다.
> 수신측에서는 받은 segment들을 transport layer 로 전달한다.
> 네트워크 계층의 세가지 주요 동작
>> Forwarding: 패킷을 라우터의 입력에서 올바른 출력으로 옮긴다
>> Routing: 패킷이 송신지에서 수신지로 가는 경로를 정한다
>> Connection Setup: 데이터그램들이 송신되기 전, end-host 와 중간 라우터들은 가상의 연결을 설정한다
<참고: network는 두 호스트간, transport는 두 프로세스간>
> 네트워크 서비스 모델
>> One Datagram
>>> Guaranteed Delivery under 40 msec
>> Flow of Datagrams
>>> 순차적, 최소 대역폭, 패킷간 간격 변경이 제한됨
Virtual Circuit
> Data flow 전, 호출 설정 및 해제가 필요함
> 각 패킷은 목적지 호스트 주소가 아닌 VC identifier 를 가진다
> 경로상의 모든 라우터는 상태를 가진다
> 링크, 라우터 자원은 VC에 할당될 수 있다.
> VC의 구조:
>> 수신지에서 송신지까지의 경로
>> VC numbers
>> Entries in forwarding tables in routers along path
>> VC number는 각 링크에서 바뀔 수 있다.
> 다음과 같이 동작한다
1. Call 시작(송신측)
2. Call 수신(수신측)
3. Call 수락(수신측)
4. Call 연결됨( 송신측)
5. Data flow 시작(송신측)
6. Data received(수신측)

Datagram Networks
> No call setup
> 라우터: state를 가지지 않음
> 각 패킷은 목적지 주소를 가지고 forwarding 된다. (패킷의 헤더에 목적지가 있다.)
> ip 주소는 너무 많기 때문에, 범위를 설정한다.

> 비효율적 -> 가장 긴 주소 접두사를 사용한다.
> 예는 다음과 같다.

> Datagram vs VC.
> Internet(Datagram)
>> Data exchange among computers
>> Many Link types
>> Smart end systems(적응, 조절, 회복할 수 있다)
> ATM(VC)
>> Telephony 에서 진화
>> 사람이 작동한다
>> end-system들이 멍청함
Routers
> 라우터의 두가지 주요 기능
>> 라우팅 알고리즘
>> Forwarding Datagrams
> 분산 스위칭
>> 주어진 데이터그램의 목적지를 기반으로 input port 에 대한 output port를 찾는다(Forwarding Table) 사용
>> Line Speed 내에 처리하는것이 목표
>> 전달속도보다 더 빠르게 도착하는 경우: Queuing
> Switching Fabrics
>> 입력버퍼에서 적절한 출력버퍼로 패킷을 전송
>> 스위칭 속도: 입력에서 출력으로 패킷을 전송할 수 있는 속도
> 스위칭 속도는 n개의 입력이 있을때 line rate * n 배가 되는것이 가장 좋음
>> 3가지 유형
<Memory Switching, Bus Switching, Crossbar Switching>
>> Memory
>> First Generation Routers
>> CPU가 직접 관여하는 switching
>> 패킷이 시스템 메모리에 복사된다
>> 속도가 메모리의 대역폭에 의해 제한

>> BUS
>> 공유되는 버스를 통해 input port 에서 output port로
>> bus 대역폭에 의해 스위칭 속도가 제한

>> Crossbar(interconnected network)
>> bus 대역폭 제한의 한계를 뛰어넘음
>> 다중 프로세서에 프로세서를 연결하기 위해 개발
>> 여러 프로세스가 동시에 작업을 수행하고 데이터를 공유할 수 있게 프로세서 사이의 통신을 지원하는 효율적인 구조

> Output Ports
>> Fabric 에서 Transmission rate 보다 빨리 데이터그램이 도착할 경우 버퍼링이 필요
>> Scheduling Discipline 은 queue 된 데이터그렘에서 고른다
>> Priority Scheduling: 누구를 고르는게 가장 효율적일까??
>> Switch 가 output line 속도를 넘어갈때 도착 속도를 buffering 한다
>> output port가 오버플로우 되면 queuing 과 loss 가 일어난다.

> Input Port Queuing
>> Fabric이 input보다 느리면 --> input port buffer가 오버플로우시
>> HOL(Head of the line) Blocking: 큐의 가장 앞에 있는 데이터그램이 다른 데이터그램이 앞으로 오는것을 막는다.

'컴퓨터 네트워크' 카테고리의 다른 글
| Computer Network: 11주차 (0) | 2023.05.21 |
|---|---|
| Computer Network: 10주차 (0) | 2023.05.20 |
| Chapter 4.5: Routing Algorithm (0) | 2023.05.16 |
| Connection Oriented Transport: TCP (0) | 2023.04.17 |
| TCP: Transmission Control Protocol (0) | 2023.04.06 |