ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Ch1. 컴퓨터 네트워크와 인터넷
    CS/네트워크 2024. 7. 27. 16:57

     

    <참고문헌>

    James F. KUROSE & Keith W. Ross. (2016). Computer Networking: A Top-Down Approach(7th Edition). Pearson Higher Education

     

    <참고강의>

    이석복(한양대)

    http://www.kocw.net/home/search/kemView.do?kemId=1169634&ar=relateCourse

     

    <그 외>

    chatGPT

     


    1.1 인터넷이란 무엇인가?

    1. hardware and software components (nuts and bolts)
    2. a networking infrastructure that provides services to distributed applications

     

    1.1.1 hardware and software components (nuts and bolts)

    1. Internet : "network of network"
      • Interconnected ISPs
    2. protocols control sending, receiving of messages
      • TCP, IP, HTTP, Skype..

    인터넷의 구성요소들, hierarchy한 구조다

     

    • 인터넷은 다양한 컴퓨팅 장치를 연결하는 거대한 네트워크다. 여기에는 전통적인 데스크탑 PC뿐만 아니라, 노트북, 스마트폰, 태블릿, TV, 자동차, 가전 제품, 시계 등이 포함된다.
    • 이 모든 장치는 네트워크에 연결되어 서로 통신할 수 있으며, 이러한 장치를 '호스트' 또는 '종단 시스템'이라고 부른다.

     

    호스트(host) = 종단 시스템(end system)

    1. 통신 링크(Communication link)와 패킷 스위치(Packet switch) : 종단 시스템 간의 이동이 가능하도록 하는 구성요소 
      • 통신 링크 (Communication Link)
        • 매체 종류:
          • 구리선(Copper Wires): 전통적인 전화선이나 이더넷 케이블과 같은 금속 도체를 사용
          • 광섬유(Fiber Optics): 빛을 이용하여 데이터를 전송하는 섬유로, 매우 높은 전송 속도를 제공
          • 무선(Wireless): 전자기파를 사용하여 데이터를 전송합니다. Wi-Fi, 블루투스, 셀룰러 네트워크가 이에 속한다.
        • 전송 속도:
          • 각 링크는 데이터를 전송하는 속도가 다릅니다.
          • 전송 속도는 초당 비트 수(bps, bits per second)로 측정
        • 기술:
          • DSL (Digital Subscriber Line): 전화선을 사용하여 데이터를 전송
          • Cable Modem: 케이블 TV 라인을 통해 데이터를 전송
          • Ethernet: 유선 네트워크 기술로, LAN(Local Area Network)에서 주로 사용 됨
      • 패킷 스위치 (Packet Switch)
        • 라우터(Router):
          • 네트워크 간의 데이터 패킷을 전달하는 장치
          • 패킷의 목적지 주소를 기반으로 최적의 경로를 선택하여 전송
          • 주로 인터넷과 같은 광범위한 네트워크에서 사용됨
        • 링크 계층 스위치(Link-Layer Switch):
          • LAN(Local Area Network) 내에서 데이터 패킷을 전달하는 장치
          • MAC 주소를 기반으로 패킷을 전달하며, 주로 이더넷 네트워크에서 사용됨

     

    2. ex) Desktop PC, 리눅스 컴퓨터 / 서버(web, e-mail) / mobile computer(mobile, tablet)

    3. 클라이언트와 서버로 구분되기도 함

    4. ISP(Internet Service Provider)를 통해 인터넷에 접속한다

    • ISP는 패킷 스위치와 통신 링크로 이루어진 네트워크로 모바일 무선 접속, 고속 LAN 접속 등을 제공한다
    • 인터넷은 end system을 서로 연결하는 것이므로 IPS들도 서로 연결돼야 한다.

     

    패킷(packet)

    • 송신 종단 시스템은 데이터를 보낼 때 그 데이터를 세그먼트로 나누고 각 세그먼트에 헤더를 붙인다. 이렇게 만들어진 정보 패키지를 패킷이라고 부른다. 
    • 라우터와 스위치 같은 패킷 스위치를 거치며 최적의 경로로 수신 종단 시스템으로 전달된 패킷은 원래의 데이터로 다시 조립된다.

     

    1.1.2 a networking infrastructure that provides services to distributed applications

    • 전자메일, 웹 서핑, 스트리밍, sns, 실시간 교통 정보, 지역기반 추천 시스템 등 서로 데이터를 교환하는 많은 종단 시스템을 포함하고 있기 때문에 분산 애플리케이션이라고 부른다.

     

    1.1.3 Protocol

    A protocol defines the format and the order of messages exchanged between two or more communicating entities, as well as the actions taken on the transmission and/or receipt of a message
    or other event.

     

    네트워크에서 데이터를 주고받기 위해 정의된 일련의 규칙과 절차. 프로토콜은 서로 다른 시스템이나 장치가 통신할 때, 데이터를 어떻게 형식화하고, 송수신하고, 오류를 처리하고, 연결을 유지할지를 정한다.

     

     

    주요 프로토콜의 예와 기능

    1. TCP (Transmission Control Protocol)
      • 역할: 신뢰성 있는 데이터 전송을 제공.
      • 특징: 연결 지향형 프로토콜로, 데이터의 순서 보장과 오류 검출 및 수정 기능을 포함.
      • 사용 예: 웹 브라우징(HTTP), 이메일(SMTP), 파일 전송(FTP).
    2. UDP (User Datagram Protocol)
      • 역할: 빠른 데이터 전송을 제공.
      • 특징: 비연결형 프로토콜로, 데이터 전송의 신뢰성을 보장하지 않지만, 속도가 빠름.
      • 사용 예: 실시간 스트리밍, 온라인 게임, VoIP(Voice over IP).
    3. IP (Internet Protocol)
      • 역할: 데이터 패킷을 목적지로 라우팅.
      • 특징: 주소 지정 및 패킷 전달을 담당. IPv4와 IPv6가 있음.
      • 사용 예: 모든 인터넷 통신.
    4. HTTP (Hypertext Transfer Protocol)
      • 역할: 웹 상에서 하이퍼텍스트 문서(웹 페이지)를 전송.
      • 특징: 클라이언트와 서버 간의 요청-응답 방식.
      • 사용 예: 웹 브라우징.
    5. FTP (File Transfer Protocol)
      • 역할: 파일을 전송.
      • 특징: 클라이언트와 서버 간의 파일 전송을 위한 프로토콜.
      • 사용 예: 파일 업로드 및 다운로드.
    6. SMTP (Simple Mail Transfer Protocol)
      • 역할: 이메일을 전송.
      • 특징: 이메일 클라이언트와 서버 간의 메일 전송을 위한 표준 프로토콜.
      • 사용 예: 이메일 송신.

     

    프로토콜의 역할

    1. 데이터 형식화:
      • 프로토콜은 데이터의 형식을 정의한다. 예를 들어, HTTP 프로토콜은 웹 브라우저와 웹 서버 간에 주고받는 요청과 응답의 형식을 정의
    2. 데이터 송수신:
      • 프로토콜은 데이터를 어떻게 전송하고 수신할지를 정한다. TCP는 데이터의 신뢰성 있는 전송을 보장하기 위해 연결을 설정하고, 패킷의 순서를 유지하며, 손실된 패킷을 재전송
    3. 오류 처리:
      • 프로토콜은 데이터 전송 중 발생할 수 있는 오류를 감지하고 수정하는 방법을 포함한다. TCP는 체크섬을 사용하여 데이터의 무결성을 확인하고 오류가 있는 경우 재전송을 요청한다
    4. 연결 관리:
      • 프로토콜은 통신 세션의 설정, 유지, 종료를 관리한다. 예를 들어, TCP는 통신을 시작하기 전에 3-way handshake 과정을 통해 연결을 설정하고, 통신이 끝나면 연결을 종료한다.

     

    프로토콜 계층

    프로토콜은 계층 구조로 조직되며, 각 계층은 특정 기능을 담당한다. 가장 널리 사용되는 모델은 OSI 모델(Open Systems Interconnection Model)과 TCP/IP 모델이다.

     

    1. OSI 모델:
      • 응용 계층: 사용자에게 네트워크 서비스 제공 (예: HTTP, FTP).
      • 표현 계층: 데이터 형식 변환 및 암호화.
      • 세션 계층: 통신 세션 관리.
      • 전송 계층: 신뢰성 있는 데이터 전송 (예: TCP).
      • 네트워크 계층: 데이터 패킷 라우팅 (예: IP).
      • 데이터 링크 계층: 물리적 주소 지정 및 오류 검출.
      • 물리 계층: 물리적 매체를 통한 비트 전송.
    2. TCP/IP 모델:
      • 응용 계층: 사용자에게 네트워크 서비스 제공 (예: HTTP, FTP, SMTP).
      • 전송 계층: 신뢰성 있는 데이터 전송 (예: TCP, UDP).
      • 인터넷 계층: 데이터 패킷 라우팅 (예: IP).
      • 네트워크 액세스 계층: 데이터 링크 및 물리 계층 기능 포함.

     

     

    1.3 네트워크 코어

    1.3.1 패킷 교환

     

    저장 후 전달(Store-and-forward)

    패킷의 비트를 먼저 저장(buffer =store)한 후, 라우터가 패킷의 모든 비트를 수신한 후에만 출력 링크로 그 패킷을 전송(forward)

     

     

    1.4 패킷교환과  네트워크에서의 지연, 손실과 처리율

     

    큐잉지연(queuing delay)

    • 짧은 기간 동안 라우터에 도착하는 패킷의 전송속도가 크게 증가하면 라우터에서 혼잡이 발생 -> 링크로 전송되기 전에 출력 버퍼에 큐잉된다(대기)

     

    전송지연(transmission delay)

      • 패킷의 모든 비트를 링크로 전송하는 데 필요한 시간
      • 해결방법: bandwidth를 넓힘(좁은 통보다 넓은 통이 더 많이 들어가므로)

     

    전파지연(propagation delay)

    • 비트가 라우터 A 상에서의 링크에서 라우터 B까지의 전파에 필요한 시간

     

     

    댓글

Designed by Tistory.