chapter 1. 네트워크의 기본 : 네트워크 아키텍쳐, 프로토콜
호스트 : TCP/IP로 통신하는 PC와 스마트폰, 각종 네트워크 기기전반을 호스트라고 부른다.
데이터를 전송하는 역할을 하는 계층 (TCP/IP 모델 기준)
네트워크 접근 계층
- 유선 이더넷
- 무선 LAN(Wi-Fi)
- PPP (Point-to-Point Protocol)
****점대점 프로토콜(영어: Point-to-Point Protocol, PPP)는 네트워크 분야에서 두 통신 노드 간의 직접적인 연결을 위해 일반적으로 사용되는 데이터 링크 프로토콜이다. 점대점 프로토콜은 인증, 암호화[1]를 통한 전송 및 데이터 압축 기능을 제공한다.
https://ko.wikipedia.org/wiki/점대점_프로토콜
- 데이터 전송 방법
- 레이어2 스위치에 연결된 PC의 인터페이스에서 같은 레이어2 스위치에 연결된 다른 PC의 인터페이스까지 데이터를 전송할 수 있다. 이때 '0', '1'의 디지털 데이터를 전기신호 등의 물리적 신호로 변환해 전송 매체로 전달해 간다.
- 프로토콜이 통신 상대와 같아야할 필요는 없음
인터넷 계층
- 역할
많은 네트워크 사이에서 데이터를 전송하는 역할. 이때 네트워크끼리 연결하고 데이터를 전송하는 기기가 라우터.
- 프로토콜
- IP : 엔드투엔드 통신에 사용하는 프로토콜
- ICMP : IP를 도와주는 프로토콜
- ARP : IP를 도와주는 프로토콜
https://www.notion.so/Chapter-3-3-13-3-23-e18c03aa8e494323a41e8d7f5ae67a2c
- 라우팅 : 라우터에 의한 네트워크 간 전송
- 엔투엔드 통신 : 원격지 네트워크에 연결된 PC 간의 통신
애플리케이션의 동작을 준비하는 계층 (TCP/IP 계층 기준)
트랜스포트층
- 역할
데이터를 적절한 애플리케이션에 배분하는 역할로 우리가 당연한 것처럼 PC로 네트워크를 통해 복수의 애플리케이션을 사용할 수 있는 이유이다.
- 프로토콜과 전송 방법
- TCP (Transmission Control Protocol)
- 어떤 이유로 데이터가 유실되더라도 유실된 데이터를 검출하여 다시 보내기 때문에 신뢰성이 매우 높다.
- UDP (User Diagram Oriented Protocol)
애플리케이션층
- 역할
애플리케이션의 기능을 실행하기 위한 데이터의 형식과 처리 절차 등을 결정한다.
- 프로토콜
- HTTP : 웹브라우저
- SMTP : 전자메일 소프트웨어
- POP3 : 전자메일 소프트웨어
- DHCP : 애플리케이션 통신을 준비하기 위한 프로토콜 (애플리케이션 층에 포함된 프로토콜이라고 해서 반드시 사용되는 것은 아니다)
- DNS : 애플리케이션 통신을 준비하기 위한 프로토콜 (애플리케이션 층에 포함된 프로토콜이라고 해서 반드시 사용되는 것은 아니다)
- 데이터 전송 방식
단순한 '0','1'이 아닌, 문자와 이미지등 사람이 인식할 수 있는 데이터로 표현한다.




데이터 송수신 규칙
프로토콜의 제어정보 '헤더'를 만든다
- 통신 주체인 애플리케이션이 데이터를 주고받게 하려면, 복수의 프로토콜을 조합할 필요가 있고, TCP/IP에서는 각 계층의 4개의 프로토콜을 조합한다. 조합할 때 기능을 실현하기 위한 제어정보(헤더)가 필요하다.
ex ) IP 헤더의 경우 출발지와 도착지의 IP 주소가 헤더 값에 지정됨.
- 캡슐화 - 헤더를 추가하는 작업
- 역캡슐화 - 헤더를 보고 프로토콜을 처리 후, 헤더를 제거하고 다른 프로토콜에 처리 넘김


- FCS(Frame Check Seqeunce) - 에러 체크를 위한 정보
- 상위 계층에서 하위 계층으로 내려가면서 여러 프로토콜의 헤더가 추가되는 캡슐화가 진행되고, 마지막에는 물리적인 신호로 데이터 전체를 변환해 전송 매체로 보내게 된다.


- 물리적인 신호를 0, 1 데이터로 되돌린다
- 이더넷 헤더를 참조하여 자기 앞으로 온 데이터인지 확인하고 맞으면 이더넷헤더, FCS를 제거하고 IP 헤더처리를 상위 계층으로 넘김
- IP 헤더를 참조해 자기 앞으로 데이터인지 확인하고 맞으면 IP 헤더를 제고하고 TCP 로 헤더 처리를 넘김
- TCP 헤더를 참조하여 어느 애플리케이션의 데이터인지 확인하고, TCP 헤더를 제거하고 웹서버 애플리케이션으로 데이터 처리를 넘김
- 웹서버 애플리케이션에서 HTTP 헤더와 데이터를 처리한다.
데이터를 부르는 방법은 다양하다
각 계층의 데이터를 부르는 호칭이 따로 있는데 각각 헤더가 추가되면서 완성이 되면 부르는 이름.
- 애플리케이션 층 : HTTP 메시지
- 트랜스포트층 : TCP - 세그먼트, UDP - 데이터 그램
- 인터넷층 : 패킷 또는 데이터그램
- 네트워크 인터페이스 층 : 프레임
- 라우터가 동작하는 계층과 어떤 데이터를 전송?
- 레이어2 스위치가 동작하는 계층과 어떤 데이터를 전송?
IP 주소
IP 로 데이터 전송 시 목적지의 개수에 따른 전송 방식
- 유니캐스트
- 브로드캐스트
- 멀티캐스트
서브넷 마스크