네트워크와 네트워킹

01. 네트워크와 네트워킹

기본 개념 정리 파트이다. 모르는 것만 간단하게 요점 정리 해야 겠다!

OSI 7계층

  • 7계층 : 애플리케이션 ( NFS, FTP, HTTP…. )
  • 6계층 : 프리젠테이션 ( XDE, XML, ASCI, Java Serialization )
  • 5계층 : 세션 ( Sun RPC, DCE RPC, IIOP, RMI )
  • 4계층 : 트랜스포트 ( TCP, UDP )
  • 3계층 : 네트워크 ( IP )
  • 2계층 : 데이터 링크 ( wire formats for message )
  • 1계층 : 물리 ( wires, signaling )

Bit, frame, packet

IP ( Internet Protocol )

패킷이 상대방에게 안전하게 전송되는 것을 보장하지 않는다. IP는 상위 계층인 트랜스포트 계층에서 패킷을 안전하게 전달하는 신뢰성을 책임진다는 가정하에 IP 프로토콜은 데이터를 효율적으로 보내는 것에만 집중한다.

  • IPv4 - 32bit
  • IPv6 - 128bit

ICMP ( Internet Control Message Protocol )

IP는 내장된 오류처리, 또는 보고 매커니즘이 없다. 이를 보완한 프로토콜이 ICMP이다. 전송 역할은 IP가 담당하고 IP에 ICMP를 덧붙여 추가적인 오류보고와 기타 제어 메세지를 포함시킨다.

TCP ( Transmission Control Protocol )

TCP는 신뢰성 있는 프로토콜이다. 즉, 전송할 데이터가 안전하게 전달되는 것을 보장하는 프로토콜이라는 뜻이다. 전달되는 데이터는 순서를 보장하며 안전하게 전달되는 것을 보장한다. TCP는 연결 지향 프로토콜이다. TCP는 소켓과 포트를 이용해서 동시에 여러 개의 접속을 지원할 수 있다.

IP + TCP -> HTTP ( 80 ) SMTP ( 25 ) POP3 ( 110 ) FTP ( 20, 21 )

UDP보다 속도는 느리고 더 복잡하다. 하지만 신뢰성 있는 전송이 가능하다는 장점 때문에 많은 프로토콜이 TCP를 사용한다.

UDP ( User Datagram Protocol )

UDP는 신뢰성 없는 프로토콜이다. 데이터가 잘 전달되었는지 확인하지 않고 단지 데이터를 보내는 것으로 자신의 임무를 다한 것으로 생각한다. UDP는 음악이나 동영상의 스트리밍 서비스에 적당하다.

인터넷 애플리케이션 프로토콜

OSI 계층 중 7 계층에 속하는 애플리케이션 프로토콜이 자바 개발자들이 실제로 다뤄야 할 부분이다. 메일을 보내고 파일을 전송하고, 웹 사이트에 접속하기 위한 프로토콜이 이미 표준으로 정의되어 있다.

06. TCP/IP 스택

07. 소켓과 포트

08. 보안

출처 : 김성박 송지훈 공저, 『 자바 IO & NIO 네트워크 프로그래밍』, 한빛미디어(2004.9.30), 1장 인용.