컴퓨터 네트워크 프로그래밍
Computer network programming컴퓨터 네트워크 프로그래밍은 프로세스가 컴퓨터 [1]네트워크를 통해 서로 통신할 수 있도록 하는 컴퓨터 프로그램을 작성하는 것을 포함합니다.
커넥션 지향 및 커넥션리스 통신
일반적으로 대부분의 통신은 connection 지향과 connectionless로 나눌 수 있습니다.통신이 커넥션 지향인지 커넥션이 없는지는 애플리케이션 프로그래밍 인터페이스(API)가 아닌 통신 프로토콜에 의해 정의됩니다.커넥션 지향 프로토콜의 예로는 Transmission Control Protocol(TCP) 및 Sequenced Packet Exchange(SPX)가 있으며 커넥션리스 프로토콜의 예로는 UDP, "raw IP", Internetwork Packet Exchange(IPX)가 있습니다.
클라이언트 및 서버
커넥션 지향 통신의 경우 통신 당사자는 일반적으로 서로 다른 역할을 합니다.통상, 한쪽은 착신 접속을 대기하고 있습니다.이쪽은 통상, 「서버」라고 불립니다.다른 파티는 접속을 시작하는 파티입니다.이 파티는 보통 "클라이언트"라고 불립니다.
connectionless 통신의 경우, 통상, 한쪽(서버)은 착신 패킷을 대기하고, 다른 한쪽(클라이언트)은, 「서버」에 송신하는 것으로 인식됩니다.
널리 사용되는 프로토콜 및 API
네트워크 프로그래밍은 전통적으로 OSI/ISO 모델의 여러 계층을 다룹니다(애플리케이션 레벨 프로그래밍의 대부분은 L4 이상에 속합니다).아래 표는 서로 다른 OSI/ISO 계층에 속하는 인기 있는 프로토콜의 몇 가지 예와 이들을 위한 인기 있는 API를 보여줍니다.
OSI/ISO 레이어 | 프로토콜 | API |
---|---|---|
L3(네트워크) | 아이피 | 원시 소켓 |
L4(트랜스포트) | TCP, UDP, SCTP | 버클리 소켓 |
L5(세션) | TLS | OpenSSL |
L7(어플리케이션) | HTTP | 여러가지 |
「 」를 참조해 주세요.
레퍼런스
- W. Richard Stevens: UNIX 네트워크 프로그래밍, Volume 1, Second Edition:네트워킹 API: 소켓과 XTI, 프렌티스 홀, 1998, ISBN0-13-490012-X
- ^ "Chapter 12 - Network Programming". COMP1406 (PDF). 2017. Archived from the original (PDF) on 2020-03-05.
Network Programming involves writing programs that communicate with other programs across a computer network.