2020년 9월 13일 일요일

Computer Networking 정리 - 개괄


Internet

    In terms of its Hardwrare and software component

        Host - End System

            End System - Internet 의 Edge 에 있어서

            Host - Application 을 host 하고 있어서

            Host 는 Client, Server 로 나뉨. 

            Server 는 우리에게 전달할 데이터들을 저장, 관리하는 Data Centers 이기도 함.

        Network Access Techonology

            DSL(Digital Subscriber Line)

                PC -> DSL Moderm -> Splitter -> Cable -> CO 에 있는 DSLAM -> ...

                이건 집전화케이블이랑 인터넷이랑 연결되었을 때의 이야기

                CO(Central Office) 에 있는 DSLAM(Digital Subscriber Line Access Multiplexer)

                여기로 데이터를 기존의 케이블 등으로 보냄.

                집에선 Splitter 가 CO 에선 DSLAM 이 전화용이랑 인터넷용을 분리해서 보냄.

                이 때 두 채널은 속도가 다름(Upstream Channel, Downstream Channel)

            HFC(Hybrid fiber coax) - TV 케이블

                PC -> Cable Modems -> Coaxial Cable -> Fiber Node -> Fiber Cable -> 

                -> Cable Head End 에 있는 CMTS(Cable Modems Terminate System) -> ...

                DSL Modems - Cable Modems, 

                DSLAM - CMTS : - analog signal from modems to digital signal

                얘도 Cable Modems 이 HFC 를 두 Channel 로 나누고 속도가 서로 다름

                Shared Broadcast medium 이라 Channel 을 공용해 속도가 느려질 수 있음

            FTTH(Fiber to the home)

                CO 로부터 Home 까지 Optical Fiber Path 를 직접 연결

                Direct Fiber - 직접 연결

                AONs(Active Optical Network)

                PONs(Passive Optical Networks)

                    Home -> Home Router -> ONT(Optical Network Terminator) -> 

                    -> Optical Splitter -> Shared Fiber -> CO 에 있는 OLT -> ...

                    OLT(Optical Line Terminator) 는 Optical Signal 을 Digital Signal 로 바꿈

            LAN 구성

                위의 네개는 Broadband Residential Access 로 통신회사 위주지만 이건 아님.

                기업이나 대학 등에서 구축하는 LAN 임.

                Ethernet(Wiired)

                    twisted-pair Copper wire -> Ethernet Switch -> Institutional Router -> ...

                WiFi(IEEE 802.11)           

            Wide-Area Wireless Access(3G, LTE) 

        Physical Media

            Guided Media 

                Twisted-Pair Copper Wire ( ~ 10GB ~)

                    젤 싸고 젤 오래 사용됨

                    UTP(Unshielded twisted pair) 은 LAN 을 위해 많이 사용됨

                    Residential Internet Access 에서 Dial-up modem, DSL modem 등  

                Coaxial Cable()

                    Cable Television 에 많이 사용. 

                    사용자들끼리 선 공유 가능.   

                Fiber Optics ( ~ 100GB ~)

                     비싸서 Backbone of Internet, Overseas Links 등에 많이 쓰임.

            UnGuided Media 

                Terrestrial Radio Channels

                    Personal Devices 에 쓰이는 매우 짧은 거리 유효한 버전

                    LAN 에 쓰이는 와이파이류,

                    Celular Access 에 쓰이는 Wide-area radio channel.

                Satellite Radio Channels

                    GeoStationary Satellites - 위에 고정, 딜레이 280milliseconds. 외딴데 연결.

                    LEO Satellites - 저공에서 여러대가 공전. 서로 연결. 딜레이 작고 발전중. 

        Network Cores

            Packet Transmission Delay

                L bits 의 패킷, Link 의 Transmission rate 인 R bits/sec

                = L/R seconds

            Packet Switching 

                Store-and-Forward Transmission

                    Switch 가 Packet 을 보내기 전에 전체를 다 받아야 한다는 말.

                    N개의 Link 가 있다면 (N - 1 개의 Router) 위 공식은

                    = N * L/R seconds 가 됨.

                    P 개의 패킷을 보낸다면 딜레이가 없는 한 

                    = N * L/P seconds + (P - 1) * L/P seconds 

                    저장용 버퍼를 Output Buffer, 기다리는 시간 Queuing Delays

                    꽉 차면 Packet Loss 가 일어남. 삭제되는건 구현 나름.

                Forwarding Table

                    source header 에 IP Address 로 Forwarding Table 을 index해서

                    그걸 header에 넣고? Outbound Link 를 찾아 패킷을 보냄

                    이때 Routing Protocols 를 이용함

                    실시간으로 Switching 이 가능해야해서 빨라야함.

            Circuit Switching

                Link 의 여러개의 Circuit 을 n 빵하는 전화에 자주 쓰이는 스위칭

                그래서 Transmission Rate 도 Circuit 갯수만큼 n 빵.

                대신 Circuit 은 유지되어서 Packet Loss 가 없으나 조금 복잡함.

                = 1/C * L/R seconds + 초기연결 seconds

                한번만 해놓으면 오래쓸 수 있으니 Switching은 좀 느려도 됨. 

                FDM (Frequency-Devisiion Multiplexing)

                TDM (Time Devision Multiplexing)

        Network to Network

            Network Structure 1 - 계층 2개

            Network Structure 2 - 계층 3개

                Tier-1 ISPs -> Regional ISP (통신회사 등) -> Access ISP

                위 순으로 사용료를 상위 ISP 에 지불하고, 상위일수록 더 넓고 덜 세밀함.

            Network Structure 3 - 계층 n개

            Network Structure 4

                PoP(Point of Presence) - ISP 에 접근하기 위한 입출구. 인터페이스

                Multi Home - 상위 ISP 를 여러개를 두어 안정성 획득.

                Peer - 상위 ISP 쓰면 돈나가니까 가까운 ISP 끼리는 직접 연결

                IXP (Internet Exchange Point) - 여러 ISP 들이 Peer 를 위해 만든 건물, 장치.

            Network Structure 5

                Content Provider Networks - 구글같은 개인 서버가 계층을 자유롭게 Peer 함.

    in terms of an infrastructure for providing services

        Socket Interface, Internet Services


Constrain of Packet-Switched Networks

    Total Nodal Delay

        Processing Delay

            Packet Header 보고 어디로 보낼지 결정. 

            상위 노드에서 올때의 비트단위 오류 해결.

            L2/L3/L4 Switches 는 거의 상수인데 L7 Switches 는 상황따라 다름

            microseconds 이하에 끝남.

        Queuing Delay    

            Output Queue 에서 대기타는 시간. 

            0 ~ microseconds ~ milliseconds 로 상황따라 다름.

            Traffic Intensity

                = 시간 당 들어오는 Packet 수 * L(패킷 길이 같다 가정) / R

                Traffic Intensity must be less than 1. 아님 무한히 큐가 커짐. 

                variation 이 작으면 큐는 거의 생성되지 않음. 하지만 크면 큐가 생성됨.

                Traffic Intensity 가 1에 가까울수록 이러한 분산 때문에

                Ave Queue Delay 가 급격히 커짐.

            Packet Loss 때문에 무한히 QD 가 길어지진 않은데 이것도 고려사항임.

        Transmission Delay

            Link 에 All of the Packet's bits 를 넣는데 걸리는 시간

            Length of Packet = L, Router 끼리의 Transmission Rate = R

            => L / R

            microseconds ~ milliseconds 걸림

        Propagation Delay

            선따라 흐르는 시간. = Distance / Speed.

        End to End Delay

            Queue 에서 안말리고, N-1 Router 를 지난다고 할 때

            = N * (ProcD + TransD + PropD) + (P - 1) * (PropD + TransD + PropD)

            Traceroute

                Num of Router, Name of Router, Address of Router, round-trip delays * 3

                위 순으로 찍히는데, 왕복이라서 round-trip delay 는 누적임.

                근데 돌아올때 큐 상황 때문에 뒤에게 더 큰 경우도 있음.

    Throughput

        Instantaneous Throughput - 우리가 다운로드 할때 mb/sec 하면서 뜨는거

        Average Thoughput - 전체 F bit, T 시간. F / T 로 통채로 나눔.

        Bottleneck Link - 여러 Link 로 나뉘어 있으면 제일 느린놈이 전체 시간을 결정함.

        Bottleneck 의 경우 Throughput 에만 적용되지 Delay 랑은 관계 없음

 

Protocol

    교환할 상대간 Format, Order of Messages, Action 의 약속 

    RFCs(Request for Comments)

        IETF(Internet Engineering Task Force)가 Internet Standards 를 지정하면서 만듦.

        TCP(Transmission Control Protocol)

        IP(Internet Protocol)

        HTTP, SMTP

    IEEE

        IEEE 802 LAN/WAN Standars Commitee

        Ethernet, Wireless WiFi Standardes

    ISO OSI 7 Layers ( Protocol Stack )

        Packet - Header / Payload Field 로 나뉨

        Application Layer - Message

            HTTP, SMTP, FTP(파일용), DNS

            아래 두개는 프로그램 내에서 구현되며, 개발자가 필요할 시 굳건히 만들어질 것.

            Presentation Layer

                데이터 압축, 암화화 / 복호화

            Session Layer

                동기화(checkpoint, recovery), delimiting 

        Transport Layer - Segment

            TCP

                Reliability

                Flow Conrol

                Congestion Control 

            UDP

        Network Layer - Datagrams

            IP

            Route Protocol

        Link Layer - Frame

            Ethernet, WiFi ( 802.111 ), Bluetooth, DOCSIS(cable access network's)

        Physical Layer - Bit 

            twisted-pair copper wire, single-mode fiber optics

 


보안

    Malewares

        Viruses - 직접적인 접근, 메일로 인한 것들

        Worms - 비직접적인 접근, 보안에 취약한 프로그램을 돌렸을 뿐인데 누가 그냥 넣음.

    Sniffing, Man in the Middle Attacks, - 중간에서 도청하거나 패킷 복제 

    end-point masquerading - 자기가 믿을 수 있는 IP 라고 속이고 바이러스 뿌리기

    DDos Attack - Denial of Service 인데, 이게 Distributed Dos 가 된거임.


Ends Systems 는 Communication Links 랑 Packet Switches 로 엮임.


Packet Switches 

    Packet 을 목적지로 전달해주는 일을 함

    Routers - Network Core 에서 많이 쓰임

    Link-Layer Switches - Network Link 에서 많이 쓰임


ISP(Internet Service Providers) 

    End Systems 이 인터넷에 접속하기 위해 접하는 곳

    residential ISP(KT, SKT ..), corporate ISP, university ISP, cellular data ISP 등 있음.

    Communication Links, Packet Switches 로 구성됨

    Upper-tier ISP, lower-tier ISP 가 있음. 상위개체는 고성은 광케이블, 라우터로 하위 개체를 묶어줌.


List