* 프로토콜(Protocol)이란,
: 네트워크에서의 데이터 통신을 위한 규칙
: 송신자 / 수신자 간의 통신 규약
--> 이 프로토콜들의 집합을 네트워크 아키텍처라고 하며, TCP/IP가 대표적이다.
* TCP/IP 4계층
: TCP와 IP가 중심이 되는 네트워크 아키텍처로, 계층구조를 가진다.
각각 계층의 프로토콜이 모두 제기능을 해야 통신이 이뤄진다.
- Application Layer 애플리케이션층 (HTTP, SMTP, POP3, DHCP, DNS..)
: 디지털 신호 <-> 인식할 수 있는 데이터 변환 역할
- Transport Layer 트랜스포트층 (TCP, UDP)
: 호스트 내 다양한 애플리케이션에 적절한 데이터를 배분하는 역할
- Internet Layer 인터넷층 (IP)
: 동일 네트워크인지 관계 없이, 원격 네트워크 상 서로 연결된 호스트 간의 통신 (엔드 투 엔트)
- Network Layer 네트워크 인터페이스층 (이더넷, 무선LAN)
: 동일 네트워크 내 *인터페이스 간에 데이터를 전송하는 역할.
* 인터페이스 : 디지털신호와 물리신호의 경계
디지털신호 (HOST)[]------ 물리신호 -----[](HOST) 디지털신호
* TCP/IP 데이터 송수신
: 4계층 각 프로토콜에서는 데이터에 헤더를 포함 (캡슐화 / 역캡슐화) 하여 처리한다.
Client Web Browser -> Web Server Application 데이터 송신의 예를 들어보자.
1) 웹 브라우저의 데이터 생성
데이터 |
2) Application Layer : HTTP 헤더 + 데이터
HTTP 헤더 | 데이터 |
3) Transport Layer : ++ TCP 헤더
포트를 통해서 이전 계층의 데이터를 전달받음.
이 데이터는 '세그먼트' 이라는 작은 단위로 쪼개지고,
TCP 는 세그먼트 데이터가 정확히 어디서 오는지, 어떤 순서로 재조합되어야 하는지를 알 수 있다.
TCP 헤더 | HTTP 헤더 | 데이터 |
4) Internet Layer : ++ IP 헤더
출발지, 목적지 정보를 헤더에 담아 IP패킷을 만든다.
이 때, 출발지/목적지는 다른 네트워크에 위치해도 상관 없으며,
중간에 존재하는 라우터가 최종 목적지로 도달할 수 있도록 해준다. (라우팅)
IP 헤더 | TCP 헤더 | HTTP 헤더 | 데이터 |
5) Network Layer : ++ 이더넷 헤더, FCS
인터페이스 간에 데이터 송신을 위한 정보를 이더넷 헤더에 담는다.
사용하는 이더넷의 규격에 따라서 물리신호 <-> 디지털 신호
*FCS (Frame Check Sequence) : 데이터 에러 체크
이더넷 헤더 | IP 헤더 | TCP 헤더 | HTTP 헤더 | 데이터 | *FCS |
--> 이렇게 만들어진 데이터를 '프레임' 이라고 부르며, 프레임 단위로 전송매체에서 송수신이 이뤄진다.
[참고] book.naver.com/bookdb/book_detail.nhn?bid=16261339
[참고] velog.io/@rosewwross/TCPIP
'CS > Network' 카테고리의 다른 글
[Network] 공인IP와 사설IP 변환 (NAT, NAPT) (0) | 2021.05.12 |
---|---|
[Network] 데이터 전송시 목적지 설정방식 (유니캐스트, 멀티캐스트, 브로드캐스트) (0) | 2021.05.12 |
[Network] IP와 Port (0) | 2021.05.12 |
[Network] 온프레미스(On-Premise)와 오프프레미스(Off-premise) (0) | 2021.05.07 |
[Network] 네트워크란 무엇인가? (0) | 2021.05.07 |