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