네트워크 프로그래밍

김재민·2022년 1월 6일
0

네트워크

-두 개 이상의 노드가 물리적 또는 노닐적 링크로 연결되어 상호 동작하는 것

일반적으로 서버 - 클라이언트 구조 개념의 프로그래밍이 이루어 짐

네트워크 프로그램의 예

  • Web Server/Client , FTP Server/Client, telnet Server/Client, 채팅

    네트워크 프로그래밍을 하는 방법

  • 표준 API르 ㄹ사용하는 방법 (TCP/IP API (socket))

  • 자체 개발

    따라서 일반적으로 네트워크 프로그래밍이란 작은 의미로 TCP/IP 소켓 프로그래밍을 뜻하는 의미로 많이 사용 됨

    OSI 7 layer TCP/IP 계층구조

    응답
    표준 application 응용 계층
    세션
    전송 TCP/UDP 신뢰성 있는 전송 제공
    네트워크 IP Routing
    데이터 driver
    물리적 HardWare LAN카드

    IPv4

  • 일반적으로 ip라 함은 IPv4를 말함

  • 비 연결성의 신뢰할 수 없는 ㅇatagram 전송 서비스를 제공한다

  • ip datagram을 지정된 목적지에 전달하기 위해 최대의 노력을 다하지만 도착될 것은 보장하지 않는다. 신뢰도가 요구 된다면 상위 계층에서 해결해야 한다

  • tcp는 이를 자체 수행한다.

  • ip의 주요기능은 라우팅이다

전송계층 프로토콜

네트워크 프로토콜은 IP주소를 사용하여 호스트까지만 인식

TCP

  • 데이터 전송을 시작하기 전에 반드시 연결 성립 과정을 거침
  • 연결형 데이터 전송 섭시ㅡ
  • 송신자와 수신자의 상태를 관찰하여 데이ㅓㅌ의 오류나 손실이 발생하지 않고 제대로 수신하기 위한 기능을 제공

UDP

- 별도의 연결 설립 과정을 거치지 않음
- 비연결형 데이터 전송 서비스
- 응용 프로세스를 구분하는 포트번호를 부여하는 것만 존재
- 빠른 전송이 가능하여 실시간 멀티미디어 전송에 유리함
- 자원 사용이 적음

TCP 데이터 구조

|source port | dest port |
|sequence number |
|acknowledgement number |
|d.offs | flags | window size |
| checksum | |
| option |
|data |

PING(Packet Internet Groper)

NFS(Network File system)

  • 네트워크에 연결 된 호스트의 운영체제가 다르면 사용하는 파일 구조가 다르므로 정보를 읽을 수 없다. 표준 파일 구조를 정의하고 서로 다른 파일 구조간에 변환을 통해서 정보를 교환하도록 해 주는 기능을 제공

    SMTP(Simple Mail Transfer Protocol)

    NTP (Network Time protocol)

socket 종류

  • stream socket : TCP
  • datagram socket : UDP
  • raw socket : IP/ICMP
profile
어제의 나보다 나은 오늘의 내가 되자!🧗‍♂️

0개의 댓글