2018-5-18 TCP/IP와 통신공부 chapter 1

TCP/IP 프로토콜

  • TCP/IP는 애플리케이션 계층, 트랜스포트 계층, 네트워크 계층, 링크 계층으로 총 4개의 계층으로 구성이 되어있다.
  • 계층화를 한 이유는 사양이 변경되었을 때, 해당하는 부분만 바꾸기 위해서 계층을 나누었다.

애플리케이션 계층

  • 유저에게 제공되는 애플리케이션에서 사용되는 통신의 움직임을 결정
  • FTP/ DNS가 해당된다.

트랜스포트 계층

  • 애플리케이션 계층에 네트워크로 접속되어 있는 2대의 컴퓨터 사이의 데이터 흐름을 제공.
  • 서로다른 성질인 TCP, UDP 2가지 프로토콜이 있다.

네트워크 계층(인터넷 계층)

  • 네트워크 상에서 패킷의 이동을 다룬다.
  • 패킷이란 전송하는 데이터의 최소단위이다.

링크계층

  • 하드웨어적인 부분을 다룬다.

통신의 흐름

  • TCP/IP로 통신을 할 때 계층의 순서대로 거쳐서 상대와 통신을 한다.
  • 송신하는 측은 애플리케이션 계츠엥서부터 내려가고, 수신하는 측은 애플맄이션 계층으로 올라간다.
  • 각 계층을 거칠때 마다 반드시 헤더로 불려지는 해당 계층마다 해당 계층에 필요한 정보를 추가한다.
  • 수신측에서는 각 계층을 거칠때마다 반드시 계층마다 사용한 헤더를 삭제를 한다.
  • 위의 과정을 캡슐화라고 한다.

IP/TCP/DNS

  • IP(Internet Protocol)로 네트워크 계층에 해당이 된다.
  • IP와 IP주소는 다르다.
  • IP의 역할은 개개의 패킷을 상대방에게 전달을 하는 것이다.
  • 전달을 하기위해서는 IP주소와 MAC주소가 필요하다.
  • IP주소는 각 노드에 부여된 주소를 가리키고 MAC주소는 각 네트워크 카드에 할당된 고유의 주소이다.

통신은 ARP를 이용해서 MAC주소에서 한다

  • IP통신은 MAC주소에 의존해서 통신을 한다.
  • ARP는 주소를 해결하기 위한 프로토콜이다. 수신지의 IP주소를 바탕으로 MAC주소를 조사할 수 있다.
  • 목적지까지 중계를 하는 도중에 컴퓨터와 라우터 등의 네트워크 기긱는 목적지에 도착하기까지 대략적인 목적지만을 알고있다.

신뢰성을 담당하는 TCP

  • TCP(Transfer Control Protocol)은 신뢰성 있는 바이트 스트림 서비스를 제공한다.
  • 바이트 스트림 서비스는 용량이 큰 데이터를 보내기 쉽게 단위 패킷으로 작게 분해하여 관리하고 신뢰성 있는 서비스는 상대방에게 보내는 서비스를 의미한다.
  • TCP는 대용량 데이터를 보내기 쉽게 작게 분해하여 상대방에게 보내고, 도착을 확인한다.

  • 데이터가 정확히 도착했는지 유무는 Three way handshaking이라는 방법을 사용을 한다. 이 방법은 패킷을 보내고 나서, 바로 끝내는 것이 아니라, 보내졌는지 여부를 상대에게 확인하러 간다. 이것은 ‘SYN’와 ‘ACK’라는 TCP플래그를 사용한다.
  • 송신측에서는 최초 ‘SYN’ 플래그로 상대에게 접속함과 동시에 패킷을 보내고, 수신측에서는 ‘SYN/ACK’플래그로 송신측에 접속함과 동시에 패킷 수신을 한다. 그리고 송신측이 마지막에 ‘ACK’플래그를 보내 패킷교환이 완료됨을 확인.

이름 해결을 담당하는 DNS

  • DNS(Domain Name Service)는 HTTP와 같이 응용 계층 시스템에 도메인 이름과 IP 주소 이름 확인을 제공한다.

URL, URI

  • URL(Uniform Resource Locator)
  • URI(Uniform Resource Identifiers)
  • Uniform : 통일된 서식을 결정하는 것
  • Resource : 식별 가능한 모든것.
  • Identifier : 식별 가능한 것을 참조하는 오브젝트이다. 식별자라고도 불린다. URI는 스키마를 나타내는 리소스를 식별하기 위한 식별자이다.
Written on May 18, 2018