OSI 모델과 TCP/IP 프로토콜

AngJ·2025년 3월 18일

인터넷 프로토콜

목록 보기
1/1

1. 프로토콜 계층구조 (Protocol Layer)

프로토콜이란?

컴퓨터 또는 전자 기기 간의 원활한 통신을 위해 지키기로 한 규약

  • 두 개체 간의 통신을 할 때 필요
    📌 개체란? 통신에 참여하는 기계

    Maria는 스페인어만 하고, Ann은 영어만 한다고 가정을 했을 때, 둘 다 수화를 할 수 있다면, 이때 프로토콜은 수화
  • 통신은 여러 계층 구조로 분할이 가능한데, 이때 각 계층은 각각의 프로토콜 이 필요함!

💡 떨어진 환경에서 서로 다른 언어를 사용하는 두 사람이 통신하는 과정

2. OSI 모델 (Model)

국제표준화기구(ISO) 표준이 OSI 모델

Layer명역할Device예시
1계층물리 계층0과 1을 아날로그로 변환허브도로, 택배 트럭,
택배 상자
2계층데이터 링크hop-to-hop delivery를 위해
bit를 프레임으로 묶음
스위치, 브릿지상자에 붙이는 송장
(MAC 주소)
3계층네트워크 계층전달되는 길을 찾음라우터주소와 우편번호를 보고 길을 찾음
(IP 주소, 라우팅)
4계층전송 계층전송 시 사고가 나도
수습이 가능하도록 만듦
포트 번호택배를 나눠 보내거나 묶어서 보내기
(TCP/UDP)
5계층세션 계층통신 세션을 설정, 유지, 종료로그인 유지, 세션 유지고객과 택배 회사의 연락
(세션 유지)
6계층표현 계층번역, 암호화, 압축TLS/SSL(HTTPS 보안),
파일 인코딩 변환
주소를 한글에서 영어로 변환
(데이터 변환, 암호화)
7계층응용 계층아래 계층에 요구를 전달웹 브라우저, 이메일, FTP 서버고객이 택배를 주문하고 받음
(웹 브라우저, 이메일)

참고)

  • 네트워크 계층은 해당 길이 올바른 길인지는 모름, Dijkstra 알고리즘 사용
  • 트랜잭션: 일련의 과정, 과정 중 error가 발생했다면 정상적인 상태로 "Rollback" 가능해야 함.

1계층부터 4계층까지는 네트워크, 5계층부터 7계층은 코딩으로 구현해야한다!

통신은 계층-대-계층(Layer-to-Layer)으로 이루어지며 해당되지 않는 계층의 내용은 보지 못한다!


➡️ 정보를 보낼 때, Layer를 지날 때마다 Header를 붙이고 Target에 도착하면 Header를 제거하며 Layer를 통과(계층마다 프로토콜이 다름 )

3. TCP/IP 프로토콜 그룹(Protocol Suite)

TCP/IP 프로토콜 그룹은 OSI 모델보다 먼저 개발됨

  • TCP/IP 프로토콜의 계층은 OSI 모델의 계층과 정확하게 일치하지 않는다.

TCP/IP 프로토콜Layer명통신 단위
1계층물리 계층Bit
2계층데이터 링크 계층Frame
3계층네트워크 계층Datagram
4계층전송 계층Segment, User Datagram
5계층응용 계층Message

참고) 전송 계층(4 Layer): 신뢰성을 높여줌 (reliable)

4. 주소지정 (Addressing)

TCP/IP 프로토콜을 이용한 인터넷은 4개의 서로 다른 계층의 주소가 사용됨

1. 물리 주소 (Physical address) ➡️ 2계층

2. 논리 주소 (Logical address) ➡️ 3계층

3. 포트 주소 (Port address) ➡️ 4계층

4. 응용-특수 주소 (Application-specific Address) ➡️ 5계층

4.1 물리 주소

  • 두 node는 링크(link)로 연결되어있음(LAN에 연결)
    프레임(Frame)은 헤더 내에 물리 주소를 포함, 수신된 데이터는 프레임에 캡슐화
  • 프레임은 LAN을 통해 전달
  • 헤더 안의 목적지 주소가 본인이 아니라면 해당 컴퓨터는 Data를 폐기함
  • 물리 주소는 하나의 물리 네트워크 내에서 고유해야 한다
  • 물리 주소는 48bit(6 byte), 16진법 숫자 12개로 구성되어 사용

4.2 논리 주소

🚨 물리 주소는 hop-to-hop delivery를 하며 변하지만, 논리 주소는 변하지 않는다!

  • 각 장치(컴퓨터 or 라우터)는 각 물리적 연결에 대해 논리 주소와 물리 주소를 쌍으로 갖는다.
  • 라우터는 3개의 네트워크를 연결하고 있으므로, 3쌍(논리 주소, 물리 주소)의 주소를 가진다.

4.3 포트 주소

포트 주소도 hop-to-hop delivery할 때, 변하지 않는다.

  • 두 컴퓨터가 동일한 응용 프로그램(a, j)를 사용하고 있지만, FTP를 사용하는 응용 프로그램의 경우, 하나는 Client 프로그램, 다른 하나는 Server 프로그램이기에 포트 주소가 다를 수 있다는 것에 유의 해야 한다.
  • 포트 주소는 하나의 10진수로 표기 (0 ~ 65535, 2162^{16}개)
profile
항상 왜?를 생각하는 개발자

0개의 댓글