💻 computer science/🌐 network

OSI 7 계층 과 TCP/IP 계층

beomsic 2022. 10. 9. 19:26

계층 모형

현재의 인터넷에서 컴퓨터들이 서로 정보를 주고 받는데 쓰이는 통신규약(프로토콜)의 모음

  • 각 계층은 담당하는 위치마다 처리 역할을 구분해 진행한다.
    • 서로 간의 간섭을 최소화해 사용의 편리성을 높인다.
    • 특정 계층에서 이상이 생겨도 문제 있는 계층만 고쳐서 문제를 해결할 수 있다.
  • 통신이 일어나는 과정을 단계별로 파악하기 용이하다.
  • 다른 계층끼리는 데이터의 전달 과정을 구체적으로 알 필요가 없기 때문에, 데이터의 캡슐화와 은닉이 가능하다.

OSI 7계층


네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것.

네트워크 호환을 위해 OSI 7계층이라는 표준 네트워크 모델을 만들었다.

실제로는 OSI 7 Layer model 이 아닌 TCP/IP 가 표준

1. 물리 계층

  • 전기적, 기계적, 기능적인 특성을 이용해 데이터를 전송
  • 데이터는 0, 1의 비트열 (on, off 의 전기적 신호 상태)로 이루어져 있다.

2. Data Link Layer

  • 물리 주소인 MAC 주소 가 이 계층에 해당
  • 전송 단위 - Frame
  • 네트워크 계층에서 정보를 받아 주소와 제어정보를 헤더와 트레일러에 추가
    • 데이터의 앞뒤에 특정한 비트열을 붙인다 (framing)
  • 브릿지, 스위치

MAC 주소

  • 컴퓨터나 노트북 등 각 장치에는 네트워크에 연결하기 위한 장치(LAN 카드)가 있다.
  • 이를 구별하기 위한 식별 번호 - 6바이트(48비트)로 구성

3. Network Layer

IP주소(논리적 주소) 를 이용해 길을 찾고(routing), 다음 라우터에 패킷을 넘겨주며(forwarding) 인터넷이 가능하게 만드는 계층

  • 가장 중요한 기능 : 데이터를 목적지까지 가장 안전하고 빠르게 전달하는 기능(routing) 이다.
  • 전송 단위 : packet
  • 라우터, L3 Switch, IP 공유기

4. Transport Layer

종단간 (end - to - end) 통신을 활성화하기 위한 계층

  • 송신자와 수신자 간의 신뢰성있고 효율적인 데이터를 전송하기 위해 오류검출 및 복구, 흐름제어와 중복 검사 등을 관리
  • 데이터 전송을 위해 port 번호가 사용된다.
  • 보통 TCP, UDP 프로토콜을 사용

5. Session Layer

통신연결이 손실되는 경우 연결 복구 시도

통신을 하기 위한 세션을 확립하고 유지 중단을 담당한다.

  • 세션 설정, 유지, 종료, 전송 중단시 복구

6. Presentation Layer

데이터 표현이 상이한 응용 프로세스의 독립성을 제공하고 암호화

  • MIME 인코딩, 암호화 등의 동작
  • 해당 데이터가 TEXT 인지 JPG 인지 GIF 인지 구분

7. Application Layer

사용자(Client)와 가장 가까운 계층

사용자가 소프트웨어 application과 소통할 수 있게 한다.

  • HTTP, FTP, SMTP, Telnet 등과 같은 프로토콜이 있다.

TCP / IP 4계층


 

TCP/IP계층 역할 데이터 단위 전송 주소
응용 계층 응용프로그램 간의 데이터 전송 Data / Message - 파일 전송, 이메일, FTP, HTTP, SSH, DNS, SMTP
전송 계층 호스트 간의 자료 송수신 Segment port TCP, UDP
인터넷 계층 데이터 전송을 위한 논리적 주소 지정 및 경로 지정
- 패킷을 최종 목적지까지 라우팅하는 계층
Packet IP IP, ARP
네트워크 연결 계층
(Network Access)
실제 데이터인 프레임 송수신
- MAC 주소를 이용해 알맞은 기기로 데이터 전달
Frame MAC Ethernet, PPP

 

TCP/IP 4계층은 TCP/IP 프로토콜 통신 과정에 초점을 맞춰, OSI 7계층을 좀 더 단순화 시킨 계층

  • 데이터 전송 시, 데이터는 상위 계층에서 하위 계층으로 이동
    • 계층 이동마다 필요한 정보(헤더)가 추가된다.
    • → 캡슐화
  • 데이터 수신 시, 데이터는 하위 계층에서 상위 계층으로 이동
    • 계층 이동마다 추가된 헤더를 읽고 알맞은 행동을 취한 후 헤더 제거
    • → 역캡슐화

1. 네트워크 연결 계층

물리적으로 데이터가 네트워크를 통해 어떻게 전송되는지 정의

에러 검출 / 패킷의 프레임화 담당

  • 데이터 단위 : frame
  • 전송 주소 : mac

2. 인터넷 계층

네트워크상 최종 목적지까지 정확하게 연결되도록 연결성 제공

단말을 구분하기 위해 논리적인 주소 IP 할당

라우팅 기능 처리

  • 경로 설정

패킷 단위 데이터 구성

  • 데이터 단위 : 패킷
  • 전송 주소 : IP

3. 전송 계층

통신 노드 간의 연결 제어 및 자료 송수신 담당

  • 데이터 단위 : segment
  • 전송 주소 : port

4. 응용 계층

사용자와 가장 가까운 계층, 사용자가 소프트웨어 application과 소통할 수 있게 해준다.

응용프로그램들이 데이터를 교환하기 위해 사용하는 프로토콜

  • 데이터 단위 : Data / Message

참고 자료


https://www.youtube.com/watch?v=1pfTxp25MA8&ab_channel=우아한Tech

https://www.youtube.com/watch?v=BEK354TRgZ8&ab_channel=우아한Tech

https://velog.io/@jehjong/개발자-인터뷰-TCPIP-4계층

https://velog.io/@osk3856/TCP-Updated-Model