본문 바로가기

이것저것 스터디📚/CS 스터디

TCP/IP 4계층

1. TCP/IP 4계층이란?

- OSI 7 계층 : 네트워크 전송 시 데이터 표준을 정리

- TCP/IP 4 계층 : OSI 7 계층 이론을 실제 사용하는 인터넷 표준


2. TCP / IP 개념 정리(선수 지식)

2.1 IP (Internet Protocol)

- 지정한 IP 주소에 데이터의 조각들을 패킷(Packet)이라는 통신 단위로 최대한 빨리 목적지로 보내는 역할

- 조각들의 순서가 뒤바뀌거나 일부가 누락되더라도 크게 상관하지 않고 보내는 데 집중

- 패킷의 순서도 보장할 수 없고 패킷이 중간에 유실되도 방안이 없음

 

2.2 TCP(전송제어 프로토콜)

- 패킷 데이터의 전달을 보증하고 보낸 순서대로 받게 해준다

- 도착한 패킷을 점검하여 줄을 세우고 유실되거나 순서가 변경되면 다시 요청하는 식으로 순서를 보증한다

- TCP는 데이터를 상대방에게 확실히 보내기 위해서 3 way 핸드쉐이킹이라는 방법을 사용한다(이때, 고유의 "SYN", "ACK"라는 TCP 플래그를 사용)

- TCP는 IP의 문제를 보완해준다

 

2.3 TCP 3 way handshake

- 본격적인 데이터 통신 전에 가상 연결 및 패킷을 보내서 확인하는 동작

- SYN : 접속 요청 / ACK : 요청 수락

- SYN : 연결을 생성할 때 클라이언트가 서버에 시퀀스 번호를 보내는 패킷

- SYN-ACK : 시퀀스 번호를 받은 서버가 ACK 값을 생성하여 클라이언트에게 응답하는 패킷

- ACK : ACK 값을 사용하여 응답하는 패킷

TCP의 3 way handshake

2.4 UDP (사용자 데이터그램 프로토콜)

 

- 비 연결지향적 프로토콜

- 데이터 전달을 보증하지 않는다.

- 순서를 보장하지 않는다.

- TCP에 비교해서 기능이 거의 없어 단순하지만, 오로지 빠르게 패킷을 보내는 목적

- IP와 거의 같다고 보면 된다. PORT와 체크섬(메시지를 검증해주는 데이터) 정도만 추가된 형태다.

TCP UDP
연결지향형 프로토콜 비 연결지향형 프로토콜
바이트 스트림을 통한 연결 메세지 스트림을 통한 연결
혼잡제어, 흐름제어 혼잡제어와 흐름제어 지원 x
순서보장, 상대적으로 느림 순서 보장 x, 상대적으로 빠름
신뢰성 있는 데이터 전송 - 안정적 데이터 전송 보장 x
세그먼트 TCP 패킷 데이터그램 UDP 패킷
HTTP, Email, File transfer에서 사용 도메인, 실시간 동영상 서비스에서 사용
ACK 받지 못한 모든 데이터는 재전송한다 데이터를 보낸후에 잘 도착했는지 검사하는 기능 x

3. TCP/IP 4계층 종류

3.1 Network Access Layer( OSI 7 계층에서 물리 + 데이터링크 계층)

 

- 이 계층은 Node-To-Node 간의 신뢰성 있는 데이터 전송을 담당하는 계층이다.

- 알맞은 하드웨어로 데이터가 전달되도록 MAC 주소를 핸들링 하는 것 뿐 아니라, 데이터 패킷을 전기신호로 변환하여 선로를 통해 전달할 수 있게 준비해준다.

 

3.2 Internet Layer(OSI 7 계층에서 네트워크 계층)

 

- IP를 담당하는 계층

- IP를 사용하여 데이터의 원천지와 목적지에 관한 정보를 첨부한다.

- IP는 복잡한 네트워크 망을 통하여 가장 효율적인 방법으로 데이터의 작은 조각들을 보내는 일을 하기 때문에, 패킷 전달 여부를 보증하지 않고, 경로를 설정하여 어떻게든 빨리 보내도록 한다.

 

- 프로토콜

* IP : 비연결 서비스를 제공하며, 발신지와 목적지까지의 라우팅 경로를 설정

* ICMP : IP제어와 메시지 기능을 담당

* ARP : IP 주소를 이용해 상대방의 MAC 주소를 알아오는 프로토콜

* RARP : MAC 주소에 해당하는 IP 주소를 알아오는 프로토콜

 

3.3 Transport Layer(OSI 7 계층에서 전송 계층)

 

- TCP/UDP 를 담당하는 계층

- TCP는 IP 위에서 동작하는 프로토콜로 데이터의 전달을 보증하고 보낸 순서대로 받게해준다.

- 만약 순서가 맞지 않거나 중간에 빠진 부분을 점검하여 다시 요청하는 일을 담당한다.

 

3.4 Application Layer(OSI 7 계층에서 5,6,7 계층)

 

- HTTP / FTP를 담당하는 계층

- 서버나 클라이언트 응용 프로그램이 이 계층에서 동작한다.

- 우리가 알고 있는 브라우저나 텔넷 같은 서비스가 이 계층에서 동작

 

- 프로토콜

* DNS(Domain Name System) : 인터넷에서 사용하는 이름을 해당 IP 주소로 변화해주는 서비스

* SNMP(Simple Network Management Protocol) : 네트워크 장비를 모니터링하고 제어하는 프로토콜

* FTP(File Transfer Protocol) : TCP 환경에서 파일 전송 프로토콜

* TFTP(Trival File Transfer Protocol) : UDP 환경에서 파일 전송 프로토콜

* HTTP(Hypertext Transfer Protocol) : 웹상에서 정보를 주고받을 수 있는 프로토콜


4. TCP/IP 4계층 동작 순서

1. 송신측 클라이언트의 애플리케이션 계층에서 어느 웹 페이지를 보고싶다는 HTTP 요청을 지시

2. 송신측 트랜스포트 계층에서는 애플리케이션 계층에서 받은 데이터(HTTP 메시지)를 통신하기 쉽게 조각내어 안내 번호와 포트 번호(TCP 패킷)를 붙여 네트워크 계층에 전달

3. 네트워크 계층에서는 데이터에 IP 패킷을 추가해서 링크 계층에 전달

4. 링크 계층에서는 수신측 MAC 주소와 이더넷 프레임 추가

5. 수신측 서버는 링크 계층에서 데이터를 받아들여 순서대로 위 계층에 전달하여 애플리케이션 계층까지 도착

6. 수신측 애플리케이션 계층에 도달하면 클라이언트가 발신한 HTTP 리퀘스트를 수신


학습 단계로 잘못된 정보가 있을 수 있습니다. 잘못된 부분에 대해 알려주시면 정정하도록 하겠습니다.

참고: https://inpa.tistory.com/329

 

 

'이것저것 스터디📚 > CS 스터디' 카테고리의 다른 글

TCP 헤더  (0) 2023.09.11
TCP와 UDP  (0) 2023.09.11
'www.google.com'을 브라우저에 입력하면 일어나는 일  (0) 2023.09.04
DNS란?  (0) 2023.09.04
OSI 7계층  (1) 2023.09.04