네트워크

TCP/IP 4계층 모델

ho-bolt 2022. 6. 18. 19:11

네트워크 계층 모델

인터넷 프로토콜 스위트는 인터넷에서 컴퓨터들이 서로 정보를 주고 받는데 사용되는 프로토콜의 집합이다.
이를 TCP/IP 4계층 모델이나, OSI 7계층 모델로 설명한다.

여기선 TCP/IP 4계층으로 설명하겠다.

애플리케이션 계층


  • FTTP, HTTP SSH,SMTP,DNS, 등 응용 프로그램이 사용되는 프로토콜 계층이다.
  • 웹 서비스, 이메일 등 서비스를 실질적으로 사람들에게 제공한다.
FTP
  • 장치와 장치 간의 파일을 전송하는 데 사용되는 표준 통신 프로토콜
SSH
  • 보안되지 않은 네트워크에서 네트워크 서비스를 안전하게 운영하기 위한 암호화 네트워크 프로토콜
HTTP
  • World Wide Web을 위한 데이터 통신의 기초이자 웹 사이트를 이용하는 데 사용하는 프로토콜
SMTP
  • 전자 메일 전송을 위한 인터넷 표준 통신 프로토콜
DNS
  • 도메인 이름과 IP주소를 매핑해주는 서버
    ex) www.naver.com에 DNS 쿼리가 오면 Root DNS -> .com DNS -> .naver DNS -> .www DNS과정을 거쳐 완벽한 주소를 찾아 IP주소를 매핑한다. 그래서 ip주소가 바뀌어도 사용자들에게 똑같은 도메인 주소를 서비스하는 것이 가능하다.

전송계층


  • 송신자와 수신자를 연결하는 통신 서비스를 제공한다.
  • 연결 지향 데이터 스트림 지원, 신뢰성, 흐름 제어를 제공한다.
  • 애플리케이션과 인터넷 계층 사이의 데이터가 전달될 때의 중계 역할을 한다.
  • ex) TCP, UDP가 있다.
TCP
  • 패킷 사이의 순서를 보장
  • 연결지향 프로토콜을 사용해서 연결을 하여 신뢰성을 구축 및 수신 여부를 확인
  • 가상회선 패킷 교환 방식을 사용
UDP
  • 순서를 보장하지 않고 수신 여부를 확인하지 않음
  • 단순히 데이터만 주는 데이터그램 패킷 교화 방식을 사용
가상회선 패킷 교환 방식

: 가상회선 패킷 교환 방식은 각 패킷에 가상회선 식별자가 포함되며 모든 패킷을 전송하면 가상회선이 해제되고, 패킷들은 전송된 순서대로도착하는 방식을 말한다.

이미지 출처 https://woovictory.github.io/2018/12/28/Network-Packet-Switching-Method/

-> 3,2,1로 이루어진 패킷이 회선을 따라 순서대로 도착하는 것을 볼 수 있다.

데이터그램 패킷 교환 방식

: 패킷이 독립적으로 이동하며 최적의 경로를 선택하여 가는데 하나의 메세지에서 분할된 여러 패킷은 서로 다른 경로로 전송될 수 있고, 도착한 *순서가 다를 수 * 있는 방식이다.

이미지 출처 https://woovictory.github.io/2018/12/28/Network-Packet-Switching-Method/

-> 3,2,1,로 이루어진 패킷이 순서도 다르고 회선을 중심으로 가는 것이 아니라 따로따로 이동하며 순서도 다르게 도착하는 것을 알 수 있다.

TCP 연결 성립 과정

TCP는 신뢰성을 확보할 때 3웨이 핸드쉐이크 라는 작업을 수행한다.

이미지 출처 : https://velog.io/@averycode/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-TCPUDP%EC%99%80-3-Way-Handshake4-Way-Handshake

클라이언트와 서버가 통신할 때 거치는 3단계

  1. SYN 단계
  • 클라에서 서버에 클라의 ISN을 담아 SYN을 수신
  • ISN은 새로운 TCP 연결의 첫 번째 패킷에 할당된 임의의 시퀀스 번호를 말한다.
  • 장치마다 다를 수 있다.
  1. SYN + ACK 단계
  • 서버는 클라의 SYN 수신
  • 서버의 ISN 송신
  • 승인번호로 클라의 ISN+1을 보낸다.
  1. ACK 단계
  • 클라는 서버의 ISN + 1한 값의 승인번호를 담아 ACK를 서버에 보낸다.

: 이렇게 3-웨이 핸드셰이크가 끝나면 신뢰성이 구축되고 데이터 전송을 시작한다.

TCP는 이 과정이 있어서 신뢰성 있는 계층이라 하며 UDP는 이 과정이 없기 때문에 신뢰성이 없는 계층이라 한다.

SYN
- SYNchronization의 약자 === 연결 요청 플래그

ACK
- ACKnowledgement의 약자 === 응답 플래그 

ISN
- Initial Sequence Numbers의 약어 === 초기 네트워크 연결 할 때 할당된 32비트 고유 시퀀스 번호 

인터넷 계층

  • 장치로부터 받으 네으퉈크 패킷을 ip주소로 지정된 목적지로 전송하기 위한 계층
  • IP, ARP, ICMP 등이 존재
  • 패킷을 수신해야할 상대의 주소를 지정하여 데이터를 전달함
  • 상대방이 제대로 받았는지 여부는 보장하지 못하는 비연결형적인 특징

링크 계층

  • 전선, 광섬유, 무선 등으로 실질적으로 데이터를 전달하며 장치 간에 신호를 주고 받는 규칙을 정하는 계층이다.
  • 여기서 물리 계층과 데이터 링크 계층으로 나눌 수 있다.
    • 물리 계층 : 무선 LAN, 유선 LAN을 통해 0과 1로 이루어진 데이터를 보낸다.
    • 데이터 링크 계층 : 이더넷 프레임을 통해 에러 확인, 흐름 제어, 접근 제어를 담당
유선 LAN(IEEE802.3)
  • 유선 LAN을 이루는 이더넷은 IEEE802.3이라는 프로토콜을 따르고 전이중화 통신을 사용한다.

전이중화 통신이란?

전이중화(full duplex)통신은 양쪽 장치가 동시에 송수신할 수 있는 방식을 말함
송신로와 수신로로 나눠서 데이터를 주고 받으며 현대의 고속 이더넷은 이 방식을 기반으로 통신한다.

CSMA/CD

전이중화 통신 전에 사용한 유선 LAN의 반이중화 통신 중 하나가 바로 CSMA/CD이다.
이 방식은 데이터를 보낸 후 충돌이 발생하면 일정 시간 이후 재전송하는 방식을 말한다. 즉 수신로와 송신로를 각각 둔 것이 아니라 한 경로를 기반으로 데이터를 보내기 때문에 데이터를 보낼 때 충돌에 대비해야 한다.

 

 

참고문헌 : 면접을 위한 CS 전공지식 스터디

728x90