ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • IP(Internet Protocol)?
    CS 2021. 1. 3. 02:10

    IP 즉, 인터넷 프로토콜이란?

     

    지정한 IP 주소(IP address)에 패킷(packet) 단위로 데이터를 전달 한다.

     

    IP packet 정보

    출발지 ip, 목적지 ip, message

     

    클라이언트의 패킷 전달

    클라이언트는 패킷에 정보를 저장하고 인터넷 망에 던진다(?) 이후 노드간 이동을 통해 목적지 서버 ip 까지 찾아가며 전달된다. 

     

    IP protocol의 한계

    비연결성 - 패킷을 받을 대상이 없거나 서비스가 불가능한 상태에도 패킷을 전송한다.

    비신뢰성 - 중간에 패킷이 사라지거나 패킷이 순서대로 오지않을 수 있다.

    프로그램 구분 - 같은 ip를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상이라면?

     

    TCP, UDP

     

    인터넷 프로토콜 스택의 4계층

     

    애플리케이션 - HTTP, FTP

    전송 - TCP, UDP

    인터넷 - IP

    네트워크 인터페이스

     

    애플리케이션 애플리케이션 HTTP,FTP 웹 브라우저, 네트워크 게임,
    채팅프로그램, socket 라이브러리
    os 전송 TCP, UDP TCP, UDP, IP
    인터넷 IP
    네트워크 인터페이스 네트워크 인터페이스 네트워크 인터페이스 LAN 드라이버, LAN 장비

     

    1. 프로그램이 메시지 생성

    2.socket 라이브러리를 통해 전송계층으로 전달

    3.TCP 정보 생성, 메시지 데이터 포함

    4.IP 패킷 생성, TCP 데이터 포함

    5. LAN 카드를 통해 인터넷 으로 전달, 서버로 통신

     

    TCP 세그먼트 정보

    출발지 port, 목적지 port, 전송 제어, 순서, 검증 정보

     

    TCP (Transmission Control Protocol) 전송 제어 프로토콜 특징

    연결 지향 - TCP 3 way Handshake (가상 연결)

    데이터 전달 보증

    순서 보장

    신뢰할 수 있는 프로토콜

    대부분 TCP 사용

     

    TCP 3 way handshake

    syn - 접속요청, ack - 요청 수락 

    1. 클라이언트가 서버에 syn 패킷 전달

    2.서버가 syn 패킷을 받을시 클라이언트에게 syn+ack 패킷 전달

    3.클라이언트가 서버에게 ack 패킷 전달

    4.서버와 클라이언트가 연결되어 데이터를 전송

     

    UDP (User Datagram Protocol) 사용자 데이터그램 프로토콜 특징

     

    연결지향 - 3 way handshake x

    데이터 전달 보증 x, 순서 보장 x

    단순하고 빠르다는 장점 존재, IP와 거의 같지만 port와 checksum이 추가 되어 있다. 애플리케이션에서 추가 작업이 필요하다.

     

    한번에 둘 이상 연결해야 한다면? -> port (같은 IP내에서 프로세스를 구분한다)

     

    0~65535 할당 가능.

    0~1023 : 잘 알려진 포트로 사용하지 않는 것이 좋다.

    FTP - 20, 21

    TELNET - 23

    HTTP - 80

    HTTPS - 443

     

    IP는 기억하기 힘들고 변경될 수 있다. -> DNS 사용

     

    DNS (Domain Name System) 도메인 네임 시스템

    도메인을 통해 DNS 서버에서 IP를 찾아서 사용한다, 전화번호부 개념, 도메인 명을 IP로 변환한다. 

     

    'CS' 카테고리의 다른 글

    메모리? 메인 메모리?  (0) 2021.01.12
    파일 시스템  (0) 2021.01.07
    로드 밸런싱?  (0) 2020.12.22
    해싱(Hashing)?  (0) 2020.12.22
    세마포어? 데드락?  (0) 2020.12.14
Designed by Tistory.