TCP/IP, DNS, URI, URL
TCP/IP
4 Layers
Application layer
Host와 Destination간의 통신 규약을 정한다.
네트워크 상에서 유저 서비스를 제공하거나 어플리케이션 데이터를 전송하기 위해 규약들이 포함된다.
HTTP
FTP
SMTP
DHCP
Transport Layer
유저간 통신(end to end)을 열어주고 정보의 구조나 네트워크에 관계없이 메시지 전송 서비스를 제공한다.
오류 검출 정정(error Control)
검출 – 전달자가 수신자에게 전달하는 동안 노이즈나 다른 장애로 인한 오류를 감지하는 것
정정- 오류를 감지하고 원본 데이터를 다시 구축하는 것.
네트워크 분할(Network Segmentation)
흐름제어(Flow Control) – 두 네트워크 사이에 흐르는 데이터의 속도를 조절하여 Fast Sender가 Slow Receiver에 과도하게 데이터를 전송하지 않게한다.
혼잡 제어(Network Congestion) – 네크워크로 들어가는 정보 소통량을 조절하여 네트워크가 혼잡해지지 않게 조절하는 것.
TCP는 패킷이 빠짐없이 순서대로 들어오도록 한다.
Internet Layer
여러 네트워크에 패킷 전달을 책임진다.
전송자의 주소와 수신자의 주소를 가지고 있다(IP등의 형태)
어느 네트워크에나 패킷을 전송할 수 있게 하고 이 패킷들이 목적지에 도착할 수 있도록 한다.
Link Layer
같은 링크에 연결되어 있는 두 호스트 간에 패킷을 전송할 수 있게 한다.
전달 시 각 계층을 지나며 해당하는 HEADER가 추가가 되며
수신 시 각 계층을 지나며 해당하는 HEADER가 벗겨진다.
http://www.practicalnetworking.net/series/packet-traveling/osi-model/#osi-layer-23
Mac 주소가 필요한 이유
DNS란 도메인 주소를 컴퓨터가 이해할 수 있는 주소(IP주소)로 변경하기 위해 사용된다.
DNS가 사용되는 이유는 301이나 302같은 Redirect 코드가 들어 왔을 때 이 주소를 다시 IP주소로 변경하여 새로운 IP주소로의 TCP/IP 연결을 만든다.
SYN – SYN ACK – ACK – ESTABLISHED
https://www.inetdaemon.com/tutorials/internet/tcp/3-way_handshake.shtml
URI
리소스를 나타하는 조금 모호한 표현식. 여러 캐릭터들이 모인 문자열로 되어있다.
Eg. 내 이름 - 나를 나타내지만 나를 찾는데는 큰 도움이 되지 못한다.
URL
리소스를 찾을 수 있는 주소를 나타낸다.
Eg. 내 주소 - 나를 찾기위해서는 내 주소를 알아야 한다.
https://dev.to/flippedcoding/what-is-the-difference-between-a-uri-and-a-url-4455