네트워크_OSI 계층과 TCP/IP 계층

황호준·2023년 5월 30일

CS

목록 보기
14/29

OSI 와 TCP

  • OSI 7계층 : 이는 업체 및 개발자가 만드는 디지털 통신 제품과 소프트웨어 프로그램에서 상호 연동될 수 있도록 안내하고 통신 도구 간의 명확한 비교를 쉽게 하는 것이 목적 .
    위 7계층부터 시작해 맨 아래1계층까지 내려온다.
    (7) 응용계층 (Application) : 사용자와 직접적으로 상호작용하며 가장 밀접한 User Interface를 제공하는 계층(크롬,사파리 등등)
    (6) 표현계층 (Presentation) : 데이터의 변환 작업을 하는 계층(암호화,복합화 등)
    (5) 세션계층(Session) : 응용 프로그램 간의 연결을 지원해주는 계층
    (4) 전송계층 (Transport) : 서비스를 구분하고 데이터의 전송 방식을 담당하는 계층(TCP/UDP)
    (3) 네트워크 계층(Network) : 네트워크를 논리적으로 구분하고 연결하는 계층 – 논리적 주소 사용(여러 라우터를 통해 라우팅을 비롯한 패킷 전달 담당)
    (2) 데이터 링크 계층(Data Link) : 물리적 매체에 패킷 데이터를 실어 보내는 계층- 환경에 맞는 다양한 통신 프로토콜지원(두 개의 직접 연결된 노드간 데이터 전송을 제공)
    (1) 물리계층(Physical) : 신호로 변환하여 전송하는 계층(케이블,스위치,컴퓨터 플러그 등 단지 데이터 전달 역할만.)
  • TCP/IP

    (4) Application 계층 : OSI 5,6,7계층에 해당, TCP/IP 기반의 응용 프로그램을 구분할 때 사용
    (3) Transport 계층 : OSI 전송계층 해당, 통신 노드 간의 연결을 제어하고, 자료의 송수신을 담당
    (2) Internet 계층: OSI 네트워크 계층 해당, 통신 노드 간의 IP 패킷을 전송하는 기능 및 라우팅 기능 담당
    (1) Network Access 계층 : OSI 물리계층과 데이터 링크 계층에 해당 ,하드웨어적인 요소와 관련된 모든 것을 지원하는 계층

  • TCP/UDP
    TCP – 인터넷상에서 데이터를 메시지의 형태로 보내기 위해 IP와 함께 사용하는 프로토콜
    UDP – 데이터를 데이터그램 단위로 처리하는 프로토콜

  • 3way-handshake,4way-handshake -TCP의 연결 및 해제 과정

    TCP Connection (3-way handshake)
    - 먼저 open()을 실행한 클라이언트가 SYN을 보내고 SYN_SENT 상태로 대기
    - 서버는 SYN_RCVD 상태로 바꾸고 SYN과 응답 ACK를 보낸다.
    - SYN과 응답 ACK을 받은 클라이언트는 ESTABLISHED 상태로 변경하고 서버에게 응답 ACK를 보낸다
    - 응답 ACK를 받은 서버는 ESTABLISHED 상태로 변경
    TCP Disconnection (4-way handshake)
    - 는먼저 close()를 실행한 클라이언트가 FIN을 보내고 FIN_WAIT1 상태로 대기
    - 서버는 CLOSE_WAIT 으로 바꾸고 응답 ACK를 전달 동시에 해당 포트에 연결되어 있는 어플리케이션에게 close() 요청
    - ACK를 받은 클라이언트는 상태를 FIN_WAIT2로 변경
    - Close() 요청을 받은 서버 어플리케이션은 종료 프로세스를 진행하고 FIN을 클라이언트에 보내 LAST_ACK 상태로 변경
    - FIN을 받은 클라이언트는 ACK를 서버에 다시 전송하고 TIME_WAIT으로 상태를 바꾼다.TIME_WAIT에서 일정시간이 지나면 CLOSED 된다. ACK 를 받은 서버도 포트를 CLOSED로 닫는다.

흐름제어 혼잡제어 오류제어 (TCP 신뢰성 보장)

  • 흐름제어 : 수신측과 송신측 사이의 데이터 처리 속도 차이(흐름)을 해결하기 위한 기법,송신측 전송 속도가 수신측 처리 속도보다 빠를 경우 전송된 패킷이 수신측의 큐를 넘어서 손실될 수 있기 때문에 송신측 패킷 전송량을 제어(Stop and Wait/Sliding Window)
  • 오류제어 : 오류 검출과 재전송을 포함,ARQ(Automatic Repeat Request) 기법을 사용하여 프레임이 손상되었을 경우, 재전송을 통해 오류로 복구한다.
  • ARQ기법은 흐름 제어 기법과 관련되어 있다.(Stop and Wait ARQ/Go-back n ARQ(슬라이딩 윈도우))
  • 혼잡제어 : 송신측의 데이터 전달과 네트워크의 데이터 처리 속도를 해결하기 위한 기법,한 라우터에게 데이터가 몰려 모든 데이터를 처리할 수 없는 경우,호스트들은 재전송을 하게 되고 결국 혼잡만 가중시켜 오버플로우나 데이터 손실이 발생한다. 이러한 네트워크의 혼잡을 피하기 위해 송신측에서 보내는 데이터 전송 속도를 제어하는 것이 혼잡제어

IPv4 VS IPv6

profile
기록 블로그

0개의 댓글