HJW's IT Blog

Computer Network: 9주 본문

컴퓨터 네트워크

Computer Network: 9주

kiki1875 2023. 5. 19. 16:06

네트워크 계층

          > 네트워크 계층은 전송 계층의 세그먼트를 보내는 호스트에서 받는 호스트로 전달한다.

          > 송신측에서는 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(수신측)

VC

 

Datagram Networks

          > No call setup

          > 라우터: state를 가지지 않음

          > 각 패킷은 목적지 주소를 가지고 forwarding 된다. (패킷의 헤더에 목적지가 있다.)

          > ip 주소는 너무 많기 때문에, 범위를 설정한다.

Forwarding Table example 1

          

                    > 비효율적 -> 가장 긴 주소 접두사를 사용한다.

                    > 예는 다음과 같다.

Forwarding Table using Longest Prefix Match

            > 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 가 일어난다.

Buffering 허용치

            > Input Port Queuing

                        >> Fabric이 input보다 느리면 --> input port buffer가 오버플로우시

                        >> HOL(Head of the line) Blocking: 큐의 가장 앞에 있는 데이터그램이 다른 데이터그램이 앞으로 오는것을 막는다.

input port queuing

https://codingjw.tistory.com/41#comment13702156

'컴퓨터 네트워크' 카테고리의 다른 글

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